摘要:深度学习是一类新兴的多层神经网络学习算法。因其缓解了传统训练算法的局部最小性, 引起机器学习领域的广泛关注。首先论述了深度学习兴起渊源, 分析了算法的优越性, 并介绍了主流学习算法及应用现状,最后总结当前存在的问题及发展方向。
引言:
深度学习的概念源于人工神经网络的研究, 含多隐层的多层感知器(MLP) 就是一个深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示( 属性类别或特征) , 以发现数据的分布式特征表示[1]。BP算法作为传统训练多层网络的典型算法, 实际上对仅含几层网络, 该训练方法就已很不理想[2]。深度结构( 涉及多个非线性处理单元层) 非凸目标代价函数中普遍存在的局部最小是训练困难的主要来源。Bengio 等人[ 3,4 ]基于深信度网(DBN ) 提出非监督贪心逐层训练算法, 为解决深层结构相关的优化难题带来希望, 随后提出多层自动编码器深层结构。此外Lecun等人[5]提出的卷积神经网络(CNNs) 是第一个真正多层结构学习算法。它利用空间相对关系减少参数数目以提高BP训练性能。此外深度学习还出现许多变形结构如去噪自动编码器[6]、DCN[7]、sumprodct[8]
等。
当前多数分类、 回归等学习方法为浅层结构算法, 其局限
性在于有限样本和计算单元情况下对复杂函数的表示能力有
限, 针对复杂分类问题其泛化能力受到一定制约[2]。深度学
习可通过学习一种深层非线性网络结构, 实现复杂函数逼近,
表征输入数据分布式表示, 并展现了强大的从少数样本集中学
习数据集本质特征的能力[1,9]。
本文意在向读者介绍这一刚刚兴起的深度学习新技术。
深度学习神经学启示及理论依据
1.深度学习神经学启示
尽管人类每时每刻都要面临着大量的感知数据, 却总能以 一种灵巧方式获取值得注意的重要信息。模仿人脑那样高效 准确地表示信息一直是人工智能研究领域的核心挑战。神经 科学研究人员利用解剖学知识发现哺乳类动物大脑表示信息 的方式: 通过感官信号从视网膜传递到前额大脑皮质再到运动 神经的时间, 推断出大脑皮质并未直接地对数据进行特征提取 处理, 而是使接收到的刺激信号通过一个复杂的层状网络模 型, 进而获取观测数据展现的规则[ 10~12 ]。也就是说, 人脑并不 是直接根据外部世界在视网膜上投影, 而是根据经聚集和分解 过程处理后的信息来识别物体。因此视皮层的功能是对感知 信号进行特征提取和计算, 而不仅仅是简单的重现视网膜的图 像[13]。人类感知系统这种明确的层次结构表明, 极大地降低 了视觉系统处理的数据量, 并保留了物体有用的结构信息。对 于要提取具有潜在复杂结构规则的自然图像、 视频、 语音和音 乐等结构丰富数据, 深度学习能够获取其本质特征。
受大脑结构分层次启发, 神经网络研究人员一直致力于多 层神经网络的研究。B P算法是经典的梯度下降并采用随机选 定初始值的多层网络训练算法。但因输入与输出间非线性映 射使网络误差函数或能量函数空间是一个含多个极小点的非 线性空间, 搜索方向仅是使网络误差或能量减小的方向, 因而
经常收敛到局部最小, 并随网络层数增加情况更加严重。理论
和实验表明 B P算法不适于训练具有多隐层单元的深度结
构[14]。此原因在一定程度上阻碍了深度学习的发展, 并将大
多数机器学习和信号处理研究, 从神经网络转移到相对较容易
训练的浅层学习结构。
传统机器学习和信号处理技术探索仅含单层非线性变换 的浅层学习结构。浅层模型的一个共性是仅含单个将原始输 入信号转换到特定问题空间特征的简单结构。典型的浅层学 习结构包括传统隐马尔可夫模型 (HMM) 、 条件随机场 (CRFs ) 、 最大熵模型(MaxEnt ) 、 支持向量机( SVMs ) 、 核回归及 仅含单隐层的多层感知器(MLP) 等。
2.浅层结构函数表示能力的局限性
早期浅层结构局限性结论是关于利用逻辑门电路实现函 数奇偶性问题。利用一个深度为0(logd ) 的网络用 0(d) 个 计算节点去计算一个d比特和的奇偶性, 而对于两层网络则需 要指数倍数目的计算单元。随后又有学者指出可以利用深度 为 K的多项式级的逻辑门电路实现的函数, 对于 k-1层电路 需要指数倍的计算节点。文献[9] 指出深度学习结构可以很 简洁地表示复杂函数, 否则一个不合适的结构模型将需要数目 非常大的计算单元。这里简洁包含三方面内容:
a) 需要的数 据量特别是带类标记的样本;
b) 需要的计算单元的数目;
c) 需 要的人为先验知识。
例如多项式
可以高效地 ( 相对于需训练的计算单元数目) 利用 0(mn) 运算量表示成和 积(sum-product) 结构, 如果表示成积和结构, 将需要0(nm) 计 算量。此外文献[15 ] 指出存在一大类函数不能用浅层电路表 示。这些数学结果指出了浅层学习网络的局限性, 激发了利用 深度网络对复杂函数建模的动机。
3.局部表示、 分布式表示和稀疏表示
最近许多研究者已经研究了分布式表示的一个变体, 它介
于纯粹局部表示和稠密分布式表示之间— — —稀疏表示。它的
思想是尽量要求所获取表示中只有少数维是有效的, 使绝大多
数维设为0或接近于 0的无效维。目的是尽量找出信号的主
要驱动源。
基于模板匹配的模型可认为含两层计算单元, 第一层构建
对输入数据进行匹配的多个模板, 每一匹配单元可输出一匹
配度; 第二层采用特定机制融合第一层的输出匹配度。典型基
于局部匹配的例子是核方法。
这里 b 和 α i形成第二计算层。核函数 K( x, xi ) 将输入x
匹配到训练样本 xi, 并在全局范围求和。式(1) 的结果可作为
分类器的区分类标签, 或者回归预测器的预测值。利有局部核
函数的核方法能获取泛化性能, 因其利用光滑性的先验知识,
即目标函数可利用光滑函数逼近。在监督学习中, 由训练样本
(xi,yi)组建预测器, 当输入 x与 xi靠近时, 输出接近 yi。通常
这是合理假设, 但文献[ 9 ] 中指出当目标函数非常复杂时, 这
样的模型泛化能力很差。其原因是利用局部估计学习算法表
示函数时。一个局部估计子将输入空间进行切分, 并需要不同
自由度参数来描述目标函数在每一区域的形状。当函数较为
复杂时, 需要利用参数进行描述的区域数目也是巨大的。固定
核函数的这种局限性已引起基于先验知识设计核函数的研究,
而如果缺乏足够的先验知识是否可通过学习获取一个核函数?
该问题同样引起大量研究。
Lanckriet
等人[ 16 ]提出利用半正定
规划技术学习数据的核矩阵, 然后利用该核矩阵获取较好的泛
化性能。然而当学习到的核函数相互关联时, 能否获取更加简
洁的表示。深度学习即基于这种思想并通过多次网络学习输
入样本的分布式表示, 被认为是较有前景的方法。
分布式表示[ 17 ]是在机器学习和神经网络研究中可以处理 维数灾难, 和局部泛化限制的一个古老的思想。如图 1所示, 分布式表示由一系列有可能是统计独立的显著特征组成, 与局 部泛化的方法向对比, 基于分布式表示的可区分模式的数目与 分布式表示的维数( 学习到的特征) 是指数倍关系的。参数数 目上的减少对统计机器学习是非常有意义的, 因为不仅可以降 低运算量, 同时仅需相对较少的样本即可避免过拟合现象的发 生。而聚类算法和最近邻算法等局部表示算法将输入空间切 分如图 1左侧所示, 不同局部之间是互斥的, 不能形成简洁的 分布式表示。I C A、 P C A和 R B M等算法用较少的特征将输入 空间切分如图 1右侧所示, 并构建分布式表示, 参数数目和需 要的样本数要比子区域的数目少得多, 这也是为什么会对未观 测数据泛化的原因。P C A和 I C A可以获取输入的主要分量信 息, 但对于输出信号数目小于输入信号数目时, 不能很好地解 决欠定问题。文献[ 1 8 ] 中提出了利用自联想神经网络来提取 数据的非线性主分量的方法, 该学习方法的目的是通过事物的 部分信息或者带噪声的信息来还原事物的本来信息。自联想 神经网络的隐层节点数目少于输入节点数目时, 可认为在自联 想过程中, 这些隐层能够保留数据集中的主要信息。多层神经 网络和Boltzmann机已被用于学习分布式表征。文献[ 19] 已 证明利用 DBN学习特征空间对高斯过程回归的性能进行提 高。深度学习算法可以看成核机器学习中一个优越的特征表 示方法。文献[ 2 ] 指出单个决策树的泛化性能随目标函数变 量增加而降低。多个树的集成( 森林) 比单个树更加强大, 也 是因为增加了一个第三层, 并潜在地形成分布式表示, 可表达 与子树数目指数倍个的分布。
4.深度学习成功的关键
深度学习具有多层非线性映射的深层结构, 可以完成复杂
的函数逼近是深度学习优势之一; 此外深度学习理论上可获取
分布式表示, 即可通过逐层学习算法获取输入数据的主要驱动
变量。该优势是通过深度学习的非监督预训练算法完成。通
过生成性训练可避免因网络函数表达能力过强, 而出现过拟合
情况。但由于单层有限的计算能力, 通过多层映射单元可提取
出主要的结构信息。文献[14] 深入分析并通过实验验证了贪
婪层次非监督深度学习方法优势所在。
典型的深度学习结构
深度学习涉及相当广泛的机器学习技术和结构, 根据这些
结构和技术应用的方式。可以将其分成如下三类:
a ) 生成性深度结构。该结构描述数据的高阶相关特性,
或观测数据和相应类别的联合概率分布。
b ) 区分性深度结构。目的是提供对模式分类的区分性能
力。通常描述数据的后验分布。
c ) 混合型结构。它的目标是区分性的, 但通常利用了生
成型结构的输出会更易优化。
1.生成型深度结构
文献[ 2 1 ] 首次提出的 D B N是目前研究和应用都比较广
泛的深度学习结构。与传统区分型神经网络不同, 可获取观测
数据和标签的联合概率分布, 这方便了先验概率和后验概率的
估计, 而区分型模型仅能对后验概率进行估计。D B N解决传
统 B P算法训练多层神经网络的难题: a ) 需要大量含标签训练
样本集; b ) 较慢的收敛速度; c ) 因不合适的参数选择陷入局部
最优。
D B N由一系列受限波尔兹曼机( R B M) 单元组成。R B M
是一种典型神经网络, 如图2所示。该网络可视层和隐层单元
彼此互连( 层内无连接) 。隐单元可获取输入可视单元的高阶
相关性。相比传统 s i g m o i d信度网络, R B M权值的学习相对容
易。为获取生成性权值, 预训练采用无监督贪心逐层方式来实
现。在训练过程中, 首先将可视向量值映射给隐单元; 然后可
视单元由隐层单元重建; 这些新可视单元再次映射给隐单元,
这样就获取新的隐单元。执行这种反复步骤叫做吉布斯采样。
其中: vi是满足均值为
, 方差为1的高斯分布的实数
值。高斯—伯努利 R B Ms 可将实值随机变量转换到二进制随
机变量, 然后再进一步利用伯努利—伯努利 R B Ms 处理。利用
对数似然概率 l o g( p ( v ; θ ) 梯度, 可推导出 R B M的权值更新
准则:
其中:
是在观测数据训练集中的期望;
是
模型中定义的期望。精心训练 R B M对成功应用深度学习是一
个关键。文献[ 2 0 ] 提供了对 R B M实际训练的指导。
通过自底向上组合多个 R B M可以构建一个 D B N , 如图 3
所示。应用高斯—伯努利 R B M或伯努利—伯努利 R B M。可
用隐单元的输出作为训练上层伯努利—伯努利 R B M的输入。
第二层伯努利和伯努利的输出作为第三层的输入等。这个逐
层高效的学习策略理论证明可参见文献[ 2 1 ] 。它指出上述逐
层学习程序提高了训练数据基于混合模型的似然概率的变化
下界。
![](https://i-blog.csdnimg.cn/blog_migrate/10cad9e893a5a3d2a200efc88899e36a.png)
2.区分性深度结构
卷积神经网络( C N N s ) 是第一个真正成功训练多层网络结
构的学习算法。与 D B N s 不同, 它属于区分性训练算法。受视
觉系统结构的启示, 当具有相同参数的神经元应用于前一层的
不同位置时, 一种变换不变性特征就可获取了。后来 L e C u n
等人沿着这种思路, 利用 B P算法设计并训练了 C N N s 。C N N s
作为深度学习框架是基于最小化预处理数据要求而产生的。
受早期的时间延迟神经网络影响, C N N s 靠共享时域权值降低
复杂度。C N N s 是一个利用空间关系减少参数数目以提高一般
前向 B P训练的一种拓扑结构, 并在多个实验中获取了较好性
能[ 5 ,2 2 ]。在 C N N s 中被称做局部感受区域的图像的一小部分
作为分层结构的最底层输入。信息通过不同的网络层次进行
传递, 因此在每一层能够获取对平移、 缩放和旋转不变的观测
数据的显著特征。
文献[ 5 ,2 2 ] 描述 C N N s 在 MN I S T数据库中的手写体识别
应用情况。如图4所示, 本质上, 输入图形与一系列已训练的
滤波器系数进行卷积操作。后经加性偏置和压缩、 特征归一化
等。最初阶段伴随进一步降维的下采样( C x ) 提供对空域变化
的鲁棒性。下采样特征映射经加权后的可调偏置, 最终利用激
活函数进行传递。组合多个上述映射层如图 5所示可获取层
间关系和空域信息。这样 C N N s 适于图像处理和理解。国内
学者夏丁胤[ 2 3 ]将这种网络应用于网络图像标注中。最近
C N N s 已应用于包括人脸检测、 文件分析和语音检测中等不同
机器学习的问题中。
文献[ 7 ] 近期提出一新的深度学习算法。D C N如图 6所
示, 每层子模块是含单隐层和两个可训练的加权层神经网络。
D C N是由一系列分层子模块串联组成。模块第一个线性输入
层对应输入特征维数, 隐层是一系列非线性参数可调单元, 第
二线性输出包含线性输出单元及原始输入数据。最顶模块的
输出代表分类目标单元。例如, 如果 D C N设定用于实现数字
识别, 输出可表示成 1~1 0的 0 1编码。如用于语音识别, 输
入对应语音波形采样或波形提取特征, 如功率谱或倒谱系数,
输出单元代表不同音素。
3.混合型结构
分性部分。现有典型的生成性单元通常最终用于区分性任务。
深度学习应用现状
深度学习在信号处理中的应用对象不仅包含语音、 图像和
视频, 同样也包含文本、 语言、 和传递人类可获知的语义信息。
传统的 ML P已经在语音识别领域应用多年, 在单独使用的情
况下它们的性能远低于利用 G MM H MM的系统。最近, 凭借
具有很强区分性能力的 D B N s 和序列建模能力的 H MMs , 深度
学习技术成功应用于语音, 大词汇量连续语音识别( L V C
S R ) [ 2 4 ]任务。文献[ 2 5 ] 利用五层 D B N来替换 G MM H MM中
的高斯混合模型, 并利用单音素状态作为建模单元进行语音识
别。文献[ 2 6 ] 中, N a i r 等人提出在顶层利用三阶波尔兹曼机
的改进型 D B N , 并将该 D B N应用于三维物体识别任务 N O R B
数据库, 给出了接近于历史最好识别误差结果, 特别地, 它指出
D B N实质上优于 S V Ms 等浅层模型。文献[ 2 7 ] 提出了 t R B M,
并利用自动编码器对舌轮廓进行实时提取。与一般训练不同
的是, 它首先采用利用样本数据和人工提取的轮廓数据都同时
作为训练样本输入, 经正常的自动编码器输出; 训练完毕后, 利
用提出的 t R B M对顶层进行改进, 以使仅有感知图像作为输入
对舌轮廓进行预测。此外深度学习在语言文件处理的研究日
益受到普遍关注。利用神经网络对语言建模已有很长的历史,
在语音识别, 机器翻译, 文本信息检索和自然语言处理方面具
有重要应用。最近, 深层网络已经开始吸引语言处理和信息检
索方面的研究人员的注意。文献[ 2 8 ] 利用基于D B N的多任务
学习技术来解决机器字译问题, 这可以推广到更困难的机器翻
译问题。利用 D B N和深度自动编码器对文件检索可以显示基
于单词特征, 与广泛应用的语义分析相比具有明显优势, 可令
文献检索更容易, 这一思想已被初步扩展到音频文件检索和语
音识别类问题[ 2 9 ]。
4.总结展望
深度学习已成功应用于多种模式分类问题。这一领域虽
处于发展初期, 但它的发展无疑会对机器学习和人工智能系统
产生影响。同时仍存在某些不适合处理的特定任务, 譬如语言
辨识, 生成性预训练提取的特征仅能描述潜在的语音变化, 不
会包含足够的不同语言间的区分性信息。虹膜识别等每类样
本仅含单个样本的模式分类问题也是不能很好完成的任务。
深度学习目前仍有大量工作需要研究。模型方面是否有
其他更为有效且有理论依据的深度模型学习算法。探索新的
特征提取模型是值得深入研究的内容。此外有效的可并行训
练算法也是值得研究的一个方向。当前基于最小批处理的随
机梯度优化算法很难在多计算机中进行并行训练。通常办法
是利用图形处理单元加速学习过程。然而单个机器 G P U对大
规模数据识别或相似任务数据集并不适用。在深度学习应用
拓展方面, 如何合理充分利用深度学习在增强传统学习算法的
性能仍是目前各领域的研究重点。
参考文献略
|