文章目录
-
- [1. 深度学习概念](#1. 深度学习概念)
- [2. 深度学习原理](#2. 深度学习原理)
- [3. 深度学习学习方式](#3. 深度学习学习方式)
- [4. 深度学习训练方法](#4. 深度学习训练方法)
1. 深度学习概念
深度学习的概念来源于人工神经网络(Artificical Nerural Network,ANN),所以又被称为深度神经网络(Deep Neural Network, DNN)。人工神经网络主要使用计算机的计算单元和存储单元模拟人类神经大脑系统中大量的神经细胞(神经元)通过神经纤维传导并相互协同工作的原理。
深度学习通过算法构造多层神经网络,经过多层处理,逐渐将初始的底层特征转换为高层特征表示,再用自学习模型便可完成复杂的分类等学习任务。
因此,可将深度学习理解为深度特征学习或深度表示学习。
典型的深度学习模型又卷积神经网络(Convolutional Neural Network,CNN)、循环神经网路(Recurrent Neural Network,RNN)、长短时记忆神经网络(Long Short-Term Memory,LSTM)
深度置信网络(Deep Belief Network ,DBN)。
2. 深度学习原理
传统的机器学习算法需要手工编码特征
,这个过程不仅耗时
,而且需要较高的专业知识和一定的人工参与
才能完成。相比之下,深度学习直接从数据中自动学习各种特征并且进行分类或识别。因此,在解决复杂问题(如目标识别、自然语言处理等)时,传统的机器学习通常把问题分为几块,一个一个地解决再进行组合,但是深度学习则是端到端(end-to-end)的解决。如下图
具体来说,深度学习与机器学习的不同之处在于:
- 强调模型结构的深度,隐藏层一般5、6层,多者甚至十几、几十层。
- 明确特征学习的重要性,逐层进行特征变换,将样本在原空间的特征表示变换到一个新的特征空间。与人工构造特征相比,更能刻画丰富的内在信息
通过设计建立适量的神经元计算节点和多层运算层次结构,选择合适的输入层和输出层,加上网络的学习和调优,从而建立从输入到输出的函数关系,虽然不能100%地找到输入与输出的函数关系,但是可以尽可能地逼近现实的关联关系,进而使用训练成功的网络模型实现对复杂任务处理的自动化需求。
3. 深度学习学习方式
根据训练数据有无标签将深度学习的学习方式分为三类,分别是监督学习,无监督学习和半监督学习。
-
监督学习
将训练样本的数据加入到神经网络的输入段,将期望答案和实际输出作差,可以得到误差信号,通过得到的误差信号调整权值大小,一次来优化模型输出。监督学习算法训练含有很多特征的数据集,不过数据集中的样本都有一个标签或目标。监督学习包含随机变量x及其相关联的值或向量y,然后用x预测y,通常是估计p(y|x),例如Iris数据集注明了每个花卉样本属于什么品种,监督学习算法通过研究该数据集,学习如何通过测量结果将样本划分为3个不同品种。
-
无监督学习
不确定数据标签,直接训练数据,模型根据数据特征进行自动学习,无监督学习算法续联含有很多特征的数据集x,在该数据集上学习出有用的结构性质。在深度学习中,通过学习生成数据集的整个概率分布p(x),显式地入概率估计、隐式地入合成或去噪。还有一些其他类型的无监督任务,如聚类将数据集分为相似样本的集合。
-
半监督学习
介于有监督和无监督之间,不需要给定具体的数据标签,但需要对神经网络的输出进行评价,以此来调整网络参数。
在半监督学习的框架下,p(x)产生的未标记样本和p(x,y)中的标记样本都用于估计p(y|x)。
4. 深度学习训练方法
对深度学习的所有层通过进行训练,复杂度会很高。如果每次只训练一层,偏差就会逐层传递。因此在2006年,Geoffrey Hinten提出了一个训练多层神经网络的有效方法,使原始表示X向上生成的高级表示R和改高级表示R向下生成的X尽可能一致,向上的权重用于"认知",向下的权重用于"生成",通过训练让认知和生成达成一致,也就是保证顶层能正确复原底层的节点。例如顶层的一个节点表示人脸,那么所有人脸的图像应该激活这个节点,并且这个方向向下生成的图像应该能够表现为一个大致的人脸图像。
具体来说,就是第一步逐层构建单层神经元,每次训练一个单层网络;第二步当所有层都训练完成后,使用Wake-Sleep算法进行调优,如下图。
-
使用自下而上的非监督学习。
采用无标签或有标签数据分层训练各层函数,这一步可以看成无监督训练过程,或者特征学习过程。先用数学学习第一层,学习第一层的参数,在学习并得到N-1层后,将N-1的输出作为第N层的输入,训练第N层,从而得到各层的参数。
-
自顶而下的监督学习
基于第1步得到的各层参数来进一步调整多层模型的参数,这一步 是一个有监督训练过程。第1步类似神经网络的随机初始化初值过程, 由于深度学习的第1步不是随机初始化,而是通过学习输入数据的结构 得到,因而这个初值更接近全局最优,从而能够取得更好的效果,所 以深度学习效果好在很大程度上归功于第1步的特征学习过程。