收藏 分享(赏)

深度学习研究进展.pdf

上传人:精品资料 文档编号:8886466 上传时间:2019-07-15 格式:PDF 页数:11 大小:500.64KB
下载 相关 举报
深度学习研究进展.pdf_第1页
第1页 / 共11页
深度学习研究进展.pdf_第2页
第2页 / 共11页
深度学习研究进展.pdf_第3页
第3页 / 共11页
深度学习研究进展.pdf_第4页
第4页 / 共11页
深度学习研究进展.pdf_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、书书书收 稿 日期 : 2013-09-17; 修回日期 : 2013-11-05 基金项目 : 国家 “973”计划资助项目 ( 2012CB720500); 国家自然科学基金资助项目( 21006127) ; 中国 石油大学 ( 北京 ) 基础学科研究基金资助项目 ( JCXK-2011-07)作者简介 : 刘建伟 ( 1966-), 男 , 副研究员 , 博士 , 主要研究方向为智能信息处理 、复杂系统分析 、预测与控制 、算法分析与设计 ( liujw cup educn); 刘媛 ( 1989-), 女 , 硕士研究生 , 主要研究方向为机器学习 ; 罗雄麟 ( 1963-), 男

2、, 教授 , 博士 , 主要研究方向为智能控制 深度学习研究进展*刘 建 伟 , 刘 媛 , 罗雄麟( 中 国 石油大学 自动化研究所 , 北京 102249)摘 要 : 鉴于深度学习的重要性 , 综述了深度学习的研究进展 。首先概述了深度学习具有的优点 , 由此说明了引入深度学习的必要性 ; 然后描述了三种典型的深度学习模型 , 包括卷积神经网络模型 、深度信任网络模型和堆栈自编码网络模型 , 并对近几年深度学习在初始化方法 、网络层数和激活函数的选择 、模型结构 、学习算法和实际应用这四个方面的研究新进展进行了综述 ; 最后探讨了深度学习在理论分析 、数据表示与模型 、特征提取 、训练与优

3、化求解和研究拓展这五个方面中有待进一步研究解决的问题 。关键词 : 深度学习 ; 神经网络 ; 模型 ; 表示 ; 堆栈 ; 预训练中图分类号 : TP181 文献标志码 : A 文章编号 : 1001-3695( 2014) 07-1921-10doi: 103969/j issn1001-3695201407001esearch and development on deep learningLIU Jian-wei, LIU Yuan, LUO Xiong-lin( esearch Institute of Automation, China University of Petroleu

4、m, Beijing 102249, China)Abstract: In view of the significance of deep learning, this paper reviewed the research and development on deep learningFirstly, this paper summarized the advantage of deep learning, and illustrated the necessity of introducing deep learning Sec-ondly, it described three ki

5、nds of typical deep learning models, included convolutional neural network model, deep belief net-work model, and stacked auto-encoder network model Thirdly, it reviewed new research and development on deep learning inrecent years, included the choice of initialization methods, the number of network

6、 layers, and activation function, model struc-ture, learning algorithms, and practical application Finally, it presented the problems to be solved in aspects of theoreticalanalysis, representation and model of data, feature extraction, training and optimization, and research extensionKey words: deep

7、 learning; neural network; model; representation; stacking; pre-training0 引 言许 多 研究表明 , 为了能够学习表示高阶抽象概念的复杂函数 , 解决目标识别 、语音感知和语言理解等人工智能相关的任务 , 需要引入深度学习 ( deep learning) 。深度学习架构由多层非线性运算单元组成 , 每个较低层的输出作为更高层的输入 ,可以从大量输入数据中学习有效的特征表示 , 学习到的高阶表示中包含输入数据的许多结构信息 , 是一种从数据中提取表示的好方法 , 能够用于分类 、回归和信息检索等特定问题中 。深度学习的概

8、念起源于人工神经网络的研究 , 有多个隐层的多层感知器是深度学习模型的一个很好的范例 。对神经网络而言 , 深度指的是网络学习得到的函数中非线性运算组合水平的数量 。当前神经网络的学习算法多是针对较低水平的网络结构 , 将这种网络称为浅结构神经网络 , 如一个输入层 、一个隐层和一个输出层的神经网络 ; 与此相反 , 将非线性运算组合水平较高的网络称为深度结构神经网络 , 如一个输入层 、三个隐层和一个输出层的神经网络 。深度学习与浅学习相比具有许多优点 , 说明了引入深度学习的必要性 :a) 在网络表达复杂目标函数的能力方面 , 浅结构神经网络有时无法很好地实现高变函数等复杂高维函数的表示

9、, 而用深度结构神经网络能够较好地表征 。b) 在网络结构的计算复杂度方面 , 当用深度为 k 的网络结构能够紧凑地表达某一函数时 , 在采用深度小于 k 的网络结构表达该函数时 , 可能需要增加指数级规模数量的计算因子 , 大大增加了计算的复杂度 。另外 , 需要利用训练样本对计算因子中的参数值进行调整 , 当一个网络结构的训练样本数量有限而计算因子数量增加时 , 其泛化能力会变得很差 。c) 在仿生学角度方面 , 深度学习网络结构是对人类大脑皮层的最好模拟 。与大脑皮层一样 , 深度学习对输入数据的处理是分层进行的 , 用每一层神经网络提取原始数据不同水平的特征 。d) 在信息共享方面 ,

10、 深度学习获得的多重水平的提取特征可以在类似的不同任务中重复使用 , 相当于对任务求解提供了一些无监督的数据 , 可以获得更多的有用信息 。深度学习比浅学习具有更强的表示能力 , 而由于深度的增加使得非凸目标函数产生的局部最优解是造成学习困难的主要因素 。反向传播基于局部梯度下降 , 从一些随机初始点开始运行 , 通常陷入局部极值 , 并随着网络深度的增加而恶化 , 不能很好地求解深度结构神经网络问题 。2006 年 , Hinton 等人 1提出的用于深度信任网络 ( deep belief network, DBN) 的无 监督第 31 卷 第 7 期2014 年 7 月计算机应用研究Ap

11、plication esearch of ComputersVol. 31 No. 7Jul 2014学习 算法 , 解决了深度学习模型优化困难的问题 。求解 DBN方法的核心是贪婪逐层预训练算法 , 在与网络大小和深度呈线性的时间复杂度上优化 DBN 的权值 , 将求解的问题分解成为若干更简单的子问题进行求解 。从具有开创性的文献 1 发表之后 , Bengio、Hinton、Jarrett、Larochelle、Lee、anzato、Salakhut-dinov、Taylor 和 Vincent 等大量研究人员 2 13对深度学习进行了广泛的研究以提高 和 应用深度学习技术 。Bengio

12、 和 anzato等人 2, 12提 出 用无监督学习初始化每一层神经网络的想法 ;Erhan 等人 14尝试 理解无监督学习对深度学习过程起帮助作用的原因 ; Glorot 等人 15研究深度结构神经网络的原始训练过程 失 败的原因 。许多研讨会 , 如 the 2009 ICML Workshop onLearning Feature Hierarchies, the 2008 NIPS Deep Learning Work-shop: Foundations and Future Directions, the 2009 NIPS Workshopon Deep Learning for

13、 Speech ecognition and elated Applications以及 the 2010 IEEE Trans on Audio, Speech, and Language Pro-cessing 等 , 都致力于深度学习及其在信号处理领域的应用 。文献 16 对深度学习进行了较为全面的综述 , 基于无监督学习技术提出贪婪逐层预训练学习过程用于初始化深度学习模型的参数 , 从底层开始训练每层神经网络形成输入的表示 , 在无监督初始化之后 , 堆栈各层神经网络转换为深度监督前馈神经网络 , 用梯度下降进行微调 。用于深度学习的学习方法主要集中在学习数据的有用表示 , 在神经网络

14、较高层中使学习到的特征不随变化的因素而变化 , 对实际数据中的突发变化具有更强的鲁棒性 17。文 献 18 给出了训练深度学习模型的相关技巧 , 尤其是受限玻尔兹曼机 ( restricted Boltzmann machine,BM) , 许多来自神经网络训练的想法也可以用于深度结构神经网络学习 19, 20。Bengio 在文 献 21 中给出了用于不同种类深度结构神经网络的训练方法的指导意见 。深度学习方法已经被成功用于文本数据学习任务和视觉识别任务上 8, 9, 22 28。鉴于深度学习的理论意义和实际应用价值 , 国 内 对深度结构的研究尚处于起步阶段 , 这方面已经发表的文献相对较

15、少而且多是侧重于应用领域 , 与国外已有综述文献 16, 21 相比 ,本文系统综述了深度学习的最新研究进展 , 为进一步深入研究深度学习理论和拓展其应用领域奠定了一定的基础 。1 深度 学习概述1. 1 深度学习表示模型和网络结构深度学习方法试图找到数据的内部结构 , 发现变量之间的真 正 关系形式 。大量研究表明 , 数据表示的方式对训练学习的成功产生很大的影响 , 好的表示能够消除输入数据中与学习任务无关因素的改变对学习性能的影响 , 同时保留对学习任务有用的信息 29, 30。深度学习中数据的表示有 局 部表示 ( local representation) 、分布表示 ( distr

16、ibuted representation) 31, 32和 稀 疏分布表示( sparse distributed representation) 33 35三 种 表示形式 。学习输入层 、隐层和输出层的单元均取值 0 或 1。举个简单的例子 ,整数 i 1, 2, , N 的局部表示为向量 r( i) , 该向量有 N 位 ,由 1 个 1 和 N 1 个 0 组成 , 即 rj( i) = 1i = j。分布表示中的输入 模式由一组特征表示 , 这些特征可能存在相互包含关系 , 并且在统计意义上相互 独立 。对于例子中相同整数的分布表示有 log2N 位 的 向量 , 这种表示更为紧凑

17、 , 在解决降维和局部泛化限制方面起到帮助作用 。稀疏分布表示介于完全局部表示和非稀疏分布表示之间 , 稀疏性的意思为表示向量中的许多单元取值为 0。对于特定的任务需要选择合适的表示形式才能对学习性能起到改进的作用 。当表示一个特定的输入分布时 ,一些结构是不可能的 , 因为它们不相容 。例如在语言建模中 ,运用局部表示可以直接用词汇表中的索引编码词的特性 , 而在句法特征 、形态学特征和语义特征提取中 , 运用分布表示可以通过连接一个向量指示器来表示一个词 。分布表示由于其具有的优点 , 常常用于深度学习中表示数据的结构 。由于聚类簇之间在本质上互相不存在包含关系 , 因此聚类算法不专门建立

18、分布表示 , 而独立成分分析 ( independent component analysis,ICA) 36和 主 成分分析 ( principal component analysis, PCA) 37通常用来构造数据的分布表示 。典型的深度学习模型有卷积神经网络 ( convolutional neuralnetwork) 、DBN 和堆栈自编码网络 ( stacked auto-encoder net-work) 模 型 等 , 下面对这些模型进行描述 。1. 1. 1 卷积神经网络模型在无监督预训练出现之前 , 训练深度神经网络通常非常困难 , 而其中一个特例是卷积神经网络 。卷积神

19、经网络受视觉系统的结构启发而产生 。第一个卷积神经网络计算模型是在Fukushima 38的神经认知机中提 出 的 , 基于神经元之间的局部连接和分层组织图像转换 , 将有相同参数的神经元应用于前一层神经网络的不同位置 , 得到一种平移不变神经网络结构形式 。后来 , LeCun 等人 39, 40在该 思想的基础上 , 用误差梯度设计并训练卷积神经网络 , 在一些模式识别任务上得到优越的性能 。至今 , 基于卷积神经网络的模式识别系统是最好的实现系统之一 , 尤其在手写体字符识别任务上表现出非凡的性能 。LeCun 的卷积神经网络由卷积层和子抽样层两种类型的神经网络层组成 。每一层有一个拓扑

20、图结构 , 即在接收域内 ,每个神经元与输入图像中某个位置对应的固定二维位置编码信息关联 。在每层的各个位置分布着许多不同的神经元 , 每个神经元有一组输入权值 , 这些权值与前一层神经网络矩形块中的神经元关联 ; 同一组权值和不同输入矩形块与不同位置的神经元关联 。卷积神经网络是多层的感知器神经网络 , 每层由多个二维平面块组成 , 每个平面块由多个独立神经元组成 41。为了使网络对平移 、旋 转 、比例缩放以及其他形式的变换具有不 变性 , 对网络的结构进行一些约束限制 :a) 特征提取 。每一个神经元从上一层的局部接收域得到输入 , 迫使其提取局部特征 。b) 特征映射 。网络的每一个计

21、算层由多个特征映射组成 , 每个特征映射都以二维平面的形式存在 , 平面中的神经元在约束下共享相同的权值集 。c) 子抽样 。该计算层跟随在卷积层后 , 实现局部平均和子抽样 , 使特征映射的输出对平移等变换的敏感度下降 。图 1 是一个用于手写体字符识别的卷积神经网络 , 由一个输入层 、四个隐层和一个输出层组成 。由图 1 可以看出 , 与完全连接的多层前馈感知器网络相比 , 卷积神经网络通过使用接收域的局部连接 , 限制了网络结构 。卷积神经网络的另一个特点是权值共享 , 图中包含大量连接权值 , 但是由于同一隐层的神经元共享同一权值集 , 大大减少了自由参数的数量 。卷积神经网络本质上

22、实现一种输入到输出的映射关系 , 能够学习大量输入与输出之间的映射关系 , 不需要任何输入和输2291 计算机应用研 究 第 31 卷出之间的精确数学表达式 , 只要用已知的模式对卷积神经网络加以 训练 , 就可以使网络具有输入输出之间的映射能力 。卷积神经网络执行的是有监督训练 , 在开始训练前 , 用一些不同的小随机数对网络的所有权值进行初始化 。卷积神经网络的训练分为两个阶段 :a) 向 前 传播阶段 。从样本集中抽取一个样本 ( X, YP) , 将X 输入 给网络 , 信息从输入层经过逐级变换传送到输出层 , 计算相应的实际输出 :OP= Fn( ( F2( F1( XW1) W2)

23、 ) Wn) ( 1)b) 向 后 传播阶段 , 也称为误差传播阶段 。计算实际输出OP与 理 想输出 YP的 差 异 :Ep=12j( ypj opj)2( 2)并按最小化误差的方法调整权值矩阵 。卷积神经网络的特征检测层通过训练数据来进行学习 , 避免了显式的特征提取 , 而是隐式地从训练数据中学习特征 , 而且同一特征映射面上 的神经元权值相同 , 网络可以并行学习 ,这也是卷积神经网 络相对于其他神经网络的一个优势 。权值共享降低了网络的复杂性 , 特别是多维向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度 。卷积神经网络的成功依赖于两个假设 : a) 每个

24、神经元有非常少的输入 , 这有助于将梯度在尽可能多的层中进行传播 ;b) 分层局部连接结构是非常强的先验结构 , 特别适合计算机视觉任务 , 如果整个网络的参数处于合适的区域 , 基于梯度的优化算法能得到很好的学习效果 。卷积神经网络的网络结构更接近实际的生物神经网络 , 在语音识别和图像处理方面具有独特的优越性 , 尤其是在视觉图像处理领域进行的实验 , 得到了很好的结果 。1. 1. 2 深度信任网络模型DBN 可以解释为贝叶斯概率生成模型 , 由多层随机隐变量组成 , 上面的两层具有无向对称连接 , 下面的层得到来自上一层的自顶向下的有向连接 , 最底层单元的状态为可见输入数据向量 。D

25、BN 由若干结构单元堆栈组成 , 如图 2 所示 , 结构单元通常为 BM。堆栈中每个 BM 单元的可视层神经元数量等于前一 BM 单元的隐层神经元数量 。根据深度学习机制 ,采用输入样例训练第一层 BM 单元 , 并利用其输出训练第二层 BM 模型 , 将 BM 模型进行堆栈通过增加层来改善模型性能 。在无监督预训练过程中 , DBN 编码输入到顶层 BM 后解码顶层的状态到最底层的单元实现输入的重构 。BM 的无向图模型如图 3 所示 , 作为 DBN 的结构单元 ,BM 与每一层 DBN 共享参数 。BM 是一种特殊形式的玻尔兹曼机 ( Boltzmann machine,BM) , 变

26、量之间的图模型连接形式有限制 , 只有可见层节点与隐层节点之间有连接权值 , 而可见层节点与可见层节点及隐层节点与隐层节点之间无连接 。BM 是基于能量的无向图概率模型 , 用输入 x 和隐变量 h 的能量函数定义联合概率分布为p( x, h) =e energy( x, h)Z( 3)将式 ( 3) 中 的归一化常量 Z =x, he energy( x, h)称为 配分函数 。可观察的输入 x 的边际概率分布为p( x) =hp( x, h) =he energy( x, h)Z( 4)引入自由能将式 ( 4) 变 为p( x) =e freeEnergy( x)Z( 5)式 ( 5) 中

27、 Z =xe freeEnergy( x), 即freeEnergy( x) = loghe energy( x, h)( 6)引 入 表示模型的参数 , 对 式 ( 5) 取对数并求导可得log p( x)= freeEnergy( x)+1Z珓xe freeEnergy( 珓x)freeEnergy(珓x)=freeEnergy( x)+珓xp(珓x)freeEnergy(珓x)( 7)BM 的配分函数求解非常困难 , 因此用对数似然梯度log p( x)的近似值来训练 42, 用服从数据分布的样例 x p( x) 和服从模型分布 的 样例珓x p(珓x) 上的自由能梯度定义模型参数更新规

28、则Eplog p( x) = EpfreeEnergy( x) + EpfreeEnergy(珓x) ( 8)其中 :p 是训练数据集的经验概率 分 布 , p 是模型概率分布 , Ep和Ep是在相应概率分布下的期望值 。式 ( 8) 中的第一项很容易计算 得到 , 通常用子训练样本的均值近似代替 ; 第二项 包含从模型p 中采样得到的样本 , 通常采用一些近似采样出的样本代替算法 。可以用近似极大似然随机梯度下降算法训练 BM, 通常用蒙特卡罗马尔可夫链 ( Monte-Carlo Markov chain, MCMC) 方法来得到模型样例 , 更详细的描述内容参见文献 16, 18 。BM

29、 的典型训练算法有变分近似法 、随机近似法 ( stochasticapproximation procedure, SAP) 43, 44、对 比 散度算法 ( contrastivedivergence, CD) 45、持续对比散度 算 法 ( persistent contrastivedivergence, PCD) 、快速持续对比散度算法 ( fast persistent con-trastive divergence, FPCD) 46和 回 火 MCMC 算法 47等 。3291第 7 期 刘 建伟 , 等 : 深度学习研究进展1. 1. 3 堆栈自编码网络模型堆栈自编码网络的

30、结 构与 DBN 类似 , 由若干结构单元堆栈组成 , 不同之处在于其结构单元为自编码模型 ( auto-en-coder) 而不是 BM。自编码模型是一个两层的神经网络 , 第一层称为编码层 ,第二层称为解码层 。如图 4 所示 , 训练该模型的目的是用编码器 c( ) 将输入 x 编码成表示 c( x) , 再用解码器 g( ) 从c( x) 表示中解码重构输入 r( x) = g( c( x) ) 。因此 , 自编码模型的输出是其输入本身 , 通过最小化重构误差 L( r( x), x) 来执行训练 。当隐层是线性的 , 并且 L( r( x), x) =r( x) x2是 平方 误差时

31、 , c( x) 训练网络将输入投影到数据的主分量空间中 ,此时自编码模型的作用等效于 PCA; 当隐层非线性时 , 与 PCA不同 , 得到的表示可以堆栈成多层 , 自编码模型能够得到多模态输入分布 2, 17, 48。重 构误差的概率分布可以解释为 非归一化对数概率密度函数这种特殊形式的能量函数 13, 意 味 着有低重构误差的样例对应的模型具有更高的概率 。给定 c( x) ,将均方差准则推广到最小化重构负对数似然函数的情况 :E = log p( x|c( x) ) ( 9)能量函数中的稀疏项可用于有固定表示的情 形 3, 12, 并用于产生更强的保持几何变换 不变性的特征 。当输入

32、xi是 二 值或者二项概率时 , 损失函数为 log p( x|c( x) = ixilog gi( c( x) +( 1 xi) log( 1 gi( c( x) ) ( 10)c( x) 并不 是对所有 x 都具有最小损失的压缩表示 , 而是 x的失真压缩表示 , 因此学习的目的是使编码 c( x) 为输入的分布表示 , 可学习到数据中的主要因素 , 使其输出成为所有样例的有损压缩表示 。在无约束的情况下 , 有 n 维输入并且编码维数至少为 n 的自编码模型只能学习恒等 函 数 , 没有编码效果 。文献 2 中进行的实验表明 , 在实际情况下 , 用随机梯度下降方法训练目标函数 , 当隐

33、单元个数多于输入数据个数时 , 非线性自编码模型能够产生有用的表示 。自编码模型的重构误差的梯度与 BM的 CD 更新规则表达式存在对应关系 。堆栈自编码网络的结构单元除了上述的自编码模型之外 ,还可以使用自编码模型的一些变形 , 如降噪自编码模型和收缩自编码模型等 。降噪自编码模型避免了一般的自编码模型可能会学习得到无编码功能的恒等函数和需要样本的个数大于样本的维数的限制 , 尝试通过最小化降噪重构误差 , 从含随机噪声的数据中重构真实的原始输入 49。降噪自编码模型 使用由少量样本组成的微批次样本执行随机梯度下降算法 , 这样可以充分利用图 处理单元 ( graphical process

34、ing unit, GPU) 的矩阵到矩阵快速运算使得算法能够更快地收敛 。文献 50 中说明降噪自编码模型与得分匹配方法直接相关 。得分匹配是一种归纳原理 , 当所求解的问题易于处理时 , 可以用来代替极大似然求解过程 。得分匹配的目标函数是模型得分和产生数据的真实概率密度的得分之间的平方差 , 其中模型得分是似然函数对输入的梯度log p( x)x, 而 生 成数据的概率密度是未知的 。当把自编码模型的重构误差作为能量函数时 , 来自自编码模型的样例重构表示 r(珓x) 通常从低概率 ( 高能量 ) 结构输入到附近的高概率 ( 低能量 ) 结构 , 因此重构和输入之间的差值 r(珓x) 珓

35、x 是概率即模型得分 ( models score) 的一个最大增长方向 ; 另一方面 , 取一个训练样本 x 并将其随机加入噪声后记为珓x, 通常得到一个较低概率的近邻 , 即向量 x 珓x 表示概率快速增长的方向 。在重构损失函数选为平方误差的情况下 , 这两个差值 r(珓x) 珓x 和 x珓x 的平方差就是降噪重构误差 ( r(珓x) x)2。收缩自编码模型的 训练目标函数是重构误差和收缩罚项( contraction penalty) 的总和 , 通过最小化该目标函数使已学习到的表示 c( x) 尽量对输入 x 保持不变 51。为了避免出现平凡解 , 编码器权值趋于零 而解码器权值趋于

36、无穷 , 并 且收缩自编码模型采用固定的权值 , 令解码器权值为编码器权值的置换阵 。与其他自编码模型相比 , 收缩自编码模型趋于找到尽量少的几个特征值 , 特征值的数量对应局部秩和局部维数 。收缩自编码模型可以利用隐单元建立复杂非线性流形模型 。1. 2 深度学习训练算法实验结果表明 , 对深度结构神经网络采用随机初始化的方法 , 基于梯度的优化使训练结果陷入局部极值 , 而找不到全局最优值 , 并且随着网络结构层次的加深 , 更难以得到好的泛化性能 , 使得深度结构神经网络在随机初始化后得到的学习结果甚至不如只有一个或两个隐层的浅结构神经网络得到的学习结果好 52。由于随机初始化深度结构神

37、经网 络的参数得到的训练结果和泛化性能都很不理想 , 在 2006 年以前 , 深度结构神经网络在机器学习领域文献中并没有进行过多讨论 1, 2。通过实验研究发现 , 用无监督学习算法对深度结构神经网络进行逐层预训练 , 能够得到较好的学习结果 。最 初 的实验对每层采用 BM 生成模型 , 后来的实验采用自编码模型来训练每一层 , 两种模型得到相似的实验结果 。一些实验和研究结果证明了无监督预训练相比随机初始化具有很大的优势 , 无监督预训练不仅初始化网络得到好的初始参数值 , 而且可以提取关于输入分布的有用信息 , 有助于网络找到更好的全局最优解 53, 54。对 深 度学习来说 , 无监

38、督学习和半监督学习是成功的学习算法的关键组成部分 , 主要原因包括以下几个方面 :a) 与半监督学习类似 , 深度学习中缺少有类标签的样本 ,并且样例大多无类标签 。b) 逐层的无监督学习利用结构层上的可用信息进行学习 , 避免了监督学习梯度传播的问题 , 可减少对监督准则函数梯度给出的不可靠更新方向的依赖 。c) 无监督学习使得监督学习的参数进入一个合适的预置区域内 , 在此区域内进行梯度下降能够得到很好的解 。d) 在利用深度结构神经网络构造一个监督分类器时 , 无监督学习可看做学习先验信息 , 使得深度结构神经网络训练结果的参数在大多情况下都具有意义 。e) 在深度结构神经网络的每一层采

39、用无监督学习将一个问题分解成若干与多重表示水平提取有关的子问题 , 是一种常用4291 计算机应用研 究 第 31 卷的可行方法 , 可提取输入分布较高水平表示的重要特征信息 。基于 上述思想 , Hinton 等人在 2006 年引入了 DBN 并给出了一种训练该网络的贪婪逐层预训练算法 1。贪 婪 逐层无监督预训练学习的基本思想为 : 首先采用无监督学习算法对深度结构神经网络的较低层进行训练 , 生成第一层深度结构神经网络的初始参数值 ; 然后将第一层的输出作为另外一层的输入 ,同样采用无监督学习算法对该层参数进行初始化 。在对多层进行初始化后 , 用监督学习算法对整个深度结构神经网络进行

40、微调 , 得到的学习性能具有很大程度的提高 。以堆栈自编码网络为例 , 深度结构神经网络的训练过程如下所示 :a) 将第一层作为一个自编码模型 , 采用无监督训练 , 使原始输入的重建误差最小 。b) 将自编码模型的隐单元输出作为另一层的输入 。c) 按步骤 b) 迭代初始化每一层的参数 。d) 采用最后一个隐层的输出作为输入施加于一个有监督的层 ( 通常为输出层 ) , 并初始化该层的参数 。e) 根据监督准则调整深度结构神经网络的所有参数 , 堆栈所有自编码模型组成堆栈自编码网络 。基本的无监督学习方法在 2006 年被 Hinton 等人提出用于训练深度结构神经网络 1, 2, 12,

41、55, 该方法的学习步骤如下 :a) 令 h0( x) = x 为可观察的原始输入 x 的最 低阶表示 。b) 对 l =1, , L, 训练无监督学习模型 , 将可观察数据看做 l 1 阶上表示的训练样例 hl 1( x) , 训练后产生下一阶的表示 hl( x) = l( hl 1( x) ) 。随后出现了一些该算法的变形拓展 , 最常见的是有监督的微 调 方法 1, 2, 12, 56, 该方法的学习步骤如下所示 :a) 初始化监督预测器 。( a) 用参数表示函数 hL( x) 。( b) 将 hL( x) 作为输入得到线性或非线性预测器 。b) 基 于 已标记训练样本对 ( x, y

42、) 采用监督训练准则微调监督预测器 , 在表示阶段和预测器阶段优化参数 。2 深度学习研究的新进展由于深度学习能够很好地解决一些复杂问题 , 近 年 来许多研究人员对其进行了深入研究 , 出现了许多有关深度学习研究的新进展 。下面分别从初始化方法 、网络层数和激活函数的选择 、模型结构 、学习算法和实际应用这四个方面对近几年深度学习研究的新进展进行介绍 。2. 1 初始化方法 、网络层数和激活函数的选择研究人员试图搞清网络初始值的设定与学习结果之间的关系 。Erhan 等人 14在 轨 迹可视化研究中指出即使从相近的值开始训练深度结构神经网络 , 不同的初始值也会学习到不同的局部极值 , 同时

43、发现用无监督预训练初始化模型的参数学习得到的极值与随机初始化学习得到的极值差异比较大 , 用无监督预训练初始化模型的参数学习得到的模型具有更好的泛化误差 。Bengio 与 Krueger 等人 57, 58指 出 用特定的方法设定训练样例的初始分布和排列顺序可以产生更好的训练结果 , 用特定的方法初始化参数 , 使其与均匀采样得到的参数不同 , 会对梯度下降算法训练的结果产生很大的影响 。Glorot 等人 15指出 通过设定一组初始权值使得每一层深度结构神经网 络的 Ja-cobian 矩阵的奇异值接近 1, 在很大程度上减小了监督深度结构神经网络和有预训练过程设定初值的深度结构神经网络之

44、间的学习结果差异 。另外 , 用于深度学习的学习算法通常包含许多超参数 , 文献 21 给出了这些超参数的选择指导性意见 ,推荐一些常用的超参数 , 尤其适用于基于反向传播的学习算法和基于梯度的优化算法中 ; 并讨论了如何解决有许多可调超参数的问题 , 描述了实际用于有效训练常用的大型深度结构神经网络的超参数的影响因素 , 指出深度学习训练中存在的困难 。选择不同的网络隐层数和不同的非线性激活函数会对学习结果产生不同的影响 。Glorot 等人 15, 59研究了隐层非线性映射关系的选择和网络的深度相互影响的问题 , 讨 论 了随机初始化的标准梯度下降算法用于深度结构神经网络学习得到不好的学习

45、性能的原因 。Glorot 等人观察不同非线性激活函数对学习结果的影响 , 得到逻辑斯蒂 S 型激活单元的均值会驱使顶层和隐层进入饱和 , 因而逻辑斯蒂 S 型激活单元不适合用随机初始化梯度算法学习深度结构神经网络 ; 并据此提出了标准梯度下降算法的一种新的初始化方案来得到更快的收敛速度 ,为理解深度结构神经网络使用和不使用无监督预训练的性能差异作出了新的贡献 。Bengio 等人 60, 61从理论上说明深度学习结构的表示能力随着 神经网络深度的增加以指数的形式增加 , 但是这种增加的额外表示能力会引起相应局部极值数量的增 加 , 使得在其中寻找最优值变得困难 。2. 2 模型结构1) DB

46、N 的结构及其变种 采用二值可见单元和隐单元BM 作为结构单元的 DBN, 在 MNIST 等数据集上表现出很好的性能 。近几年 , 具有连续值单元的 BM, 如 mcBM 28、mPoT 模 型 62和 spike-and-slab BM 63等已经成功应用 。Spike-and-slab BM 中 spike 表 示 以 0 为中心的离散概率分布 ,slab 表示在连续域上的稠密均匀分布 , 可以用吉布斯采样对spike-and-slab BM 进行有效推断 , 得到优越的学习性能 。2) 和 积网络 深度学习最主要的困难是配分函数的学习 , 如何选择深度结构神经网络的结构使得配分函数更容

47、易计算 ? Poon 等人 64提出一种新的深度模型结构 和 积网 络( sum-product network, SPN) , 引入多层隐单元表示配分函数 ,使得配分函数更容易计算 。SPN 是有根节点的有向无环图 , 图中的叶节点为变量 , 中间节点执行和运算与积运算 , 连接节点的边带有权值 , 它们在 Caltech-101 和 Olivetti 两个数据集上进行实验证明了 SPN 的性能优于 DBN 和最近邻方法 。3) 基于 rectified 单元的学习 Glorot 与 Mesnil 等人 59, 65, 66用降噪自编码模型来 处理高维输入数据 。与通常的 S 型和正切非线性

48、隐单元相比 , 该自编码模型使用 rectified 单元 , 使隐单元产生更加稀疏的表示 。在此之前 , 文献 67 已经对随机rectified 单元进行了介绍 ; 对于高维稀疏数据 , Dauphin 等人 68采用抽样重构算法 , 训练过程只需要计算随机选择的很小的样本 子集的重构和重构误 差 , 在很大程度上提高了学习速度 , 实验结果显示提速了 20 倍 。Glorot 等人 59提出在深度结 构 神经网络中 , 在图像分类和情感分类问题中用 rectified 非线性神经元代替双曲正切或 S 型神经元 , 指出 rectified 神经元网络在零点产生与双曲正切神经元网络相当或者

49、有更好的性能 , 能够产生有真正零点的稀疏表示 , 非常适合本质稀疏数据的建模 , 在理解训练纯粹深度监督神经网络的困难 , 搞清使用或不使用无5291第 7 期 刘 建伟 , 等 : 深度学习研究进展监督预训练学习的神经网络造成的性能差异方面 , 可以 看做新的里程碑 ; Glorot 等人还提出用增加 L1 正则化项来促进模型稀疏性 , 使用无穷大的激活函数防止算法运行过程中可能引起的数值问题 。在此之前 , Nair 等人 67提 出 在 BM 环境中 rec-tified 神经元产生的效果比逻辑斯蒂 S 型激活单元好 , 他们用无限数量的权值相同但是负偏差变大的一组单元替换二值单元 , 生成用于 BM 的更好的一类隐

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报