一、深度学习的定义

1、定义

  1. wiki:深度学习是机器学习的分支,它试图使用包含复杂结构或者由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。
  2. 李彦宏:简单的说,深度学习就是一个函数集,如此而已。
  3. 深度学习将特征提取和分类结合到一个框架中,用数据学习特征,是一种可以自动学习特征的方法。
  4. 深度学习是一种特征学习方法,把原始的数据通过非线性的复杂模型转换为更高层次、更抽象的表达。

2、相关背景知识

深度学习起源于神经网络,但现在已超越了这个框架。至今已有数种深度学习框架,如深度神经网络、卷积神经网络和深度置信网络和递归神经网络等,已被应用计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

深度学习的动机在于建立可以模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像、文本和声音等。深度学习通过学习一种深层非线性网络结构,只需简单的网络结构即可实现复杂函数的逼近,并展现了强大的从大量无标注样本集中学习数据集本质特征的能力。深度学习能够获得可更好地表示数据的特征,同时由于模型的层次深(通常有5层、6层,甚至10多层的隐层节点,“深”的好处是可以控制隐层节点的数目为输入节点数目的多项式倍而非多达指数倍)、表达能力强,因此有能力表示大规模数据

3、一些问题

神经网络面临的问题:

  • 理论分析难度大
  • 训练方法需要经验和技巧
  • 计算量大、优化求解难度大
  • BP算法中的梯度弥散或者消失问题(误差随着层数的增加指数递减),只能处理浅层(小于等于3)

层数的影响

多层:

  • 多层表示更符合人类的学习方式:从一个单词的发音到大脑的理解之间存在多个隐层,这与深度学习的过程很一致。
  • 可以自动生成数据模型,用较少的参数表示复杂的函数。
  • 在分层训练的过程中,本应用于修正模型参数的误差随着层数的增加指数递减,这导致了模型训练的效率低下

浅层:

  • 有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受到一定制约。
  • 需要依靠人工来抽取样本的特征,手工选取特征是一件非常费力的事情,能不能选取好很大程度上靠经验和运气。

二、深度学习的框架

1.深度神经网络DNN

DNN是层数很深的全连接网络,层数决定了神经网络对数据的刻画能力——利用每层更少的神经元拟合更加复杂的函数。2006年Hinton利用预训练方法缓解了局部最优解问题,将隐含层推动到了7层,揭开了深度学习的浪潮。(注意这里的“深度”并没有固定的定义——在语音识别领域,4层就认为是比较深的了;而在图像识别领域20层的模型屡见不鲜。2016年提出的highway network以及深度残差学习(deep residual learning)进一步杜绝了梯度消失达到了一百多层。)

优点:

  • 更好的数据刻画能力。

缺点:

  • 参数数量膨胀(训练开销大),没有考虑数据的固有局部特征(如图像中的轮廓、边界等等)。

2.卷积神经网络CNN

卷积神经网络更改了神经网络的结构,不再是全连接的结构了,大量的减少了网络的参数;同时,通过参数共享进一步减少了网络参数。它考虑到了空间结构和局部特征,非常适用于图像处理领域。 
优点:

  • 具有位移、缩放以及其他形式扭曲不变性
  • 隐式地从训练数据中进行学习,避免了显式的特征抽取
  • 同一特征映射面上的神经元权值相同,所以网络可以并行学习
  • 布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度,在语音识别和图像处理方面有着独特的优越性

3.循环神经网络RNN

鉴于深度学习在现实任务中的广泛适用性,它已经吸引了众多技术专家、投资者和非专业人员的关注。尽管深度学习最著名的成果是使用前馈卷积神经网络(convnets)来解决计算机视觉问题,少数公众的注意力已经投入到使用递归神经网络来对时间关系进行建模。

在普通的全连接网络或者CNN中,每层神经元的信号只能向上传播,样本的处理在各个时刻独立,因此又称为前馈神经网络。而在RNN中,神经元的输出可以在下一个时间戳直接作用到自身;即第i层的神经元在m时刻的输入包含i-1层在该时刻的输出以及其自身在m-1时刻的输出。在此基础上发展出了长短期记忆LSTM网络。 
优点:

  • 可以对时间序列上的变化建模,适用于处理语音、自然语言等领域

4.深度置信网络DBN

深度置信网络(deep belief networks,DBN)是一种包含多层隐单元的概率生成模型,可被视为多层简单学习模型组合而成的复合模型。可以作为深度神经网络的预训练部分,并为网络提供初始权重,再使用反向传播或者其他判定算法作为调优的手段。

总结

虽然我们可以对深度学习的各种方法进行分类,但是广义上来说NN或者DNN是包含了其它各种变种方法的。在实际使用中往往也是多种结构的融合。 
另外深度学习的结构多种多样,除了上文提到的结构,还会出现其他的结构。