1 表示学习
- 为了提高机器学习系统的准确率,我们就需要将输入信息转换为有效的特征,或者更一般性地称为表示.如果有一种算法可以自动地学习出有效的特征,并提高最终机器学习模型的性能,那么这种学习就可以叫作表示学习。
- 在表示学习中,有两个核心问题:一是“什么是一个好的表示”;二是“如何学习到好的表示”。
1.1 局部表示和分散式表示
- 局部表示:使用高维度的向量,每个向量的第i为为1,其它维度为0.
- 分散式表示:将一种语义分配到不同的基向量中。例如颜色的RGB表示
2 深度学习
为了学习一种好的表示,需要构建具有一定“深度”的模型,并通过学习算法来让模型自动学习出好的特征表示(从底层特征,到中层特征,再到高层特征), 从而最终提升预测模型的准确率.所谓“深度”是指原始据进行非线性特征转换的次数。如果把一个表示学习系统看作一个有向图结构,深度也可以看作从输入节点到输出节点所经过的最长路径的长度. 这样我们就需要一种学习方法可以从数据中学习一个“深度模型”,这就是深度学习(Deep Learning,DL).深度学习是机器学习的一个子问题,其主要目的是从数据中自动学习到有效的特征表示。
- 端到端学习:是指在学习过程中不进行分模块或分阶段训练,直接优化任务的总体目标。在端到端学习中,一般不需要明确地给出不同模块或阶段的功能,中间过程不需要人为干预。端到端学习的训练数据“输入-输出”对的形式,无须提供其他额外信息。因此,端到端学习和深度学习一样,都是要解决贡献度分配问题。目前,大部分采用神经网络模型的深度学习也可以看作一种端到端的学习。
3 神经网络
- 在机器学习领域,神经网络是指由很多人工神经元构成的网络结构模型,这些人工神经元之间的连接强度是可学习的参数。
- “当神经元 A的一个轴突和神经元B很近,足以对它产生影响,并且持续地、重复地参与了对神经元B的兴奋,那么在这两个神经元或其中之一会发生某种生长过程或新陈代谢变化,以致神经元A作为能使 神经元B兴奋的细胞之一,它的效能加强了。”这个机制称为赫布理论。
- 人工神经网络是为模拟人脑神经网络而设计的一种计算模型,它从结构、实现机理和功能上模拟人脑神经网络。人工神经网络与生物神经元类似,由多个节 点(人工神经元)互相连接而成,可以用来对数据之间的复杂关系进行建模。不同节点之间的连接被赋予了不同的权重,每个权重代表了一个节点对另一个节点的影响大小。每个节点代表一种特定函数,来自其他节点的信息经过其相应的权重综合计算,输入到一个激活函数中并得到一个新的活性值(兴奋或抑制)。
4 常用的深度学习框架
- Theano: 用来高效地定义、优化和计算张量数据的数学表达式.Theano可以透明地使用GPU和高效的符号微分
- Caffe:主要用于计算机视觉,Caffe用C++和Python实现,但可以通过配置文件来实现所要的网络结构,不需要编码。
- TensorFlow:Google公司开发的深度学习框架。操作对象为多维数组即张量
- PyTorch:由Facebook、NVIDIA、Twitter等公司开发维护的深度学习框架。在需要动态改变神经网络结构的任务中有着明显的优势。
- 飞桨:百度开发的一个高效和可扩展的深度学习框架,同时支持动态图和静态图.飞桨提供强大的深度学习并行技术,可以同时支持稠密参数和稀疏参数场景的超大规模深度学习并行训练,支持千亿规模参数 和数百个节点的高效并行训练。
ps:深度学习相关的会议
- 国际表示学习会议
- 神经信息处理系统年会
- 国际机器学习会议
- 国际人工智能联合会议
- 美国人工智能协会年会