分享
计算机系统结构-吕倩倩-年会论文.docx
下载文档

ID:3499186

大小:44.71KB

页数:5页

格式:DOCX

时间:2024-05-16

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
计算机系统 结构 吕倩倩 年会 论文
深度学习综述 吕倩倩作者简介:吕倩倩,女,信息科学与工程学院,导师:张瑞生,研究方向:服务计算 (兰州大学 信息学院,甘肃 兰州 730000) 摘要:深度学习是机器学习领域的一个重要分支,2006年Hinton等人在SCIENCE上发表的文章,引起了深度学习的新浪潮。它的核心思想是大数据和深度模型,目前已经在各个领域中取得了优秀的成果。本文主要包括深度学习的由来,深度学习各个模型的具体算法以及应用现状,深度学习目前面临的机遇和挑战等方面。 关键字:深度学习;深信度网络;卷积神经网络;受限玻尔兹曼机 Abstract: Deep learning is a new area of machine learning(ML) research, which gets the coming of “big data + depth model”, its motivation is to build neural network that simulates the human brain to analyze and learn. Deep learning has already made remarkable achievement both in research and commercial areas. This paper discussed the origin of deep learning, then analyzed virtue brought by deep learning. It introduced the main stream deep learning algorithm and their applications. Finally it concluded the problem remaining and development orientation. Key words: deep learning; feature learning; DBN; CNN; RBM 1 引言 2006年,加拿大多伦多大学教授、机器学习领域的泰斗Hinton和他的学生Ruslan Salakhutdinov在《科学》上发表了一篇文章,开启了深度学习在学术界和工业界的浪潮[1]。这篇文章有两个主要观点:1、很多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻划,从而有利于可视化或分类;2、深度神经网络在训练上的难度,可以通过“逐层初始化”来有效克服,且是通过无监督学习实现的。此外,基于深信度网(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。 2012年6月,《纽约时报》披露了谷歌的Google Brain项目,吸引了公众的广泛关注.这个项目是由著名的斯坦福大学的机器学习教授Ng和在大规模计算机系统方面的世界顶尖专家Dean共同主导, 用I6 000个CPU Core的并行计算平台训练一种称为“深度神经网络(deep neural networks,DNN)的机器学习模型,在语音识别和图像识别等领域获得了巨大的成功.2012年11月,微软在中国天津的一次活动上公开演示了一个全自动的同声传译系统,讲演者用英文演讲,后台的计算机一气呵成自动完成语音识别、英中机器翻译和中文语音合成,效果非常流畅.据报道,后面支撑的关键技术也是DNN,或者深度学习(deep learning,DL)L2].2013年的1月,在中国最大的互联网搜索引擎公司百度的年会上,创始人兼CEO李彦宏高调宣布要成立百度研究院,其中第一个重点方向的就是深度学习,并为此而成立Institute of Deep I earning(IDL).这是百度成立10多年以来第一次成立研究院 j.2014年4月,《麻省理工学院技术评论》(MIT Technology Review)杂志将深度学习列为2013年十大突破性技术(breakthrough technology)之首。语音识别和计算机视觉的研究见文献[2][3]4]。 2 典型的深度学习算法 这里我们描述和分析了已经用来训练深度网络的5种算法,DBM,DBN,CNN, Stacked Autoassociators,Sparse Coding 2.1 DBM(Deep Boltzmann Machines)和DBN(Deep Belief Net) DBN是目前研究和应用都比较广泛的深度学习结构。DBN解决传统BP算法训练多层神经网络的难题:A) 需要大量含标签训练样本集;B) 较慢的收敛速度;C) 因不合适的参数选择陷入局部最优。 DBM由一系列受限波尔兹曼机(RBM)单元组成。RBM是一种典型神经网络,如图2所示。该网络可视层和隐层单元彼此互连(层内无连接)。隐单元可获取输入可视单元的高阶相关性。相比传统sigmoid信度网络,RBM权值的学习相对容易。为获取生成型权值,预训练采用无监督贪心逐层方式来实现。在训练过程中,首先将可视向量值映射给隐单元;然后可视单元由隐层单元重建;这些新可视单元再次映射给隐单元,这样就获取新的隐单元。执行这种反复步骤叫做吉布斯采样。 RBM在给定模型参数条件下的联合分布为: p(v,h;θ)=exp⁡(−E(v,h;θ)/Z , Z=Σ⁡Σexp⁡(−𝐸(𝑣,ℎ;𝜃))ℎ𝑣 是归一化因子。 模型赋予可视向量v的边际概率为: p(v;θ)=Σexp⁡(−𝐸(𝑣,ℎ;𝜃))ℎ/Z 对伯努利-伯努利RBM能量函数定义为: E(v,h;θ)=−Σ⁡Σ𝑤𝑖𝑗𝐽𝑗=1𝐼𝑖=1𝑣𝑖ℎ𝑗−Σ𝑏𝑖𝑣𝑖𝐼𝑖=1−Σ𝑎𝑗ℎ𝑗𝐽𝑗=1 其中:𝑤𝑖𝑗为可视单元和隐层连接权值;𝑏𝑖和𝑎𝑗是偏置量;𝐼和𝐽是可视单元和隐单元的数目。 条件概率如下计算: p(ℎ𝑗=1/v;θ)=σ⁡(⁡Σ𝑤𝑖𝑗𝑣𝑖𝐼𝑖=1+𝑎𝑗) p(𝑣𝑖=1/h;θ)=σ(⁡Σ𝑤𝑖𝑗ℎ𝑗𝐽𝑗=1+𝑏𝑖) ,其中σ(x)=1/(1+exp(x))。 类似地,对高斯-伯努利RBM能量函数定义为: E(v,h;θ)=−Σ⁡Σ𝑤𝑖𝑗𝐽𝑗=1𝐼𝑖=1𝑣𝑖ℎ𝑗+12Σ(𝑣𝑖−𝑏𝑗)2𝐼𝑖=1−Σ𝑎𝑗ℎ𝑗𝐽𝑗=1 其对应的条件概率变成:p(ℎ𝑗=1/v;θ)=σ⁡(⁡Σ𝑤𝑖𝑗𝑣𝑖𝐼𝑖=1+𝑎𝑗) p(vi=1/h;θ)=N(⁡ΣwijhjJj=1+bi,1) 其中:𝑣𝑖是满足均值为ΣwijhjJj=1+bi,方差为1的高斯分布的实数值。 这样做的理由是如果可视层不是二值的,其可以通过高斯-伯努利转换为二值的。即高斯—伯努利RBMs可将实值随机变量转换到二进制随机变量,然后再进一步利用伯努利—伯努利RBMs处理。 利用对数似然概率log⁡(p(v;θ))梯度,可推导出RBM的权值更新准则:Δ𝑤𝑖𝑗=𝐸𝑑(𝑣𝑖hj)−𝐸𝑚𝑜𝑑𝑒𝑙(𝑣𝑖hj) 其中:𝐸𝑑𝑎𝑡𝑎(𝑣𝑖hj)是在观测数据训练集中的期望;𝐸𝑚𝑜𝑑𝑒𝑙(𝑣𝑖hj)是模型中定义的期望。精心训练RBM对成功应用深度学习是一个关键。 通过自底向上组合多个RBM可以构建一个DBM,如图3所示。应用高斯—伯努利RBM或伯努利—伯努利RBM。可用隐单元的输出作为训练上层伯努利—伯努利RBM的输入。第二层伯努利和伯努利的输出作为第三层的输入等。如果我们在靠近可视层的部分使用贝叶斯信念网络(即有向图模型,当然这里依然限制层中节点之间没有链接),而在最远离可视层的部分使用RBM,我们可以得到DeepBelief Net(DBN)。这样逐层高效的学习策略理论证明可参见文献[11]。它指出上述逐层学习程序提高了训练数据基于混合模型的似然概率的变化下界。 2.2 CNN(Convolutional Neural Networks) 卷积神经网络(CNN)是第一个真正成功训练多层网络结构的学习算法。受视觉系统结构的启示,当具有相同参数的神经元应用于前一层的不同位置时,一种变换不变性特征就可获取了。LeCun等人沿着这种思路,利用BP算法设计并训练了CNN。CNN作为深度学习框架是基于最小化预处理数据要求而产生的。受早期的时间延迟神经网络影响,CNN靠共享时域权值降低复杂度。CNN是一个利用空间关系减少参数数目以提高一般前向BP训练的一种拓扑结构。 CNN在MNIST数据库中的手写体识别应用情况。 图1:卷积神经网络的概念示范 输入图像通过和三个可训练的滤波器和可加偏置进行卷积,滤波过程如图1,卷积后在C1层产生三个特征映射图,然后特征映射图中每组的四个像素再进行求和,加权值,加偏置,通过一个Sigmoid函数得到三个S2层的特征映射图。这些映射图再进过滤波得到C3层。这个层级结构再和S2一样产生S4。最终,这些像素值被光栅化,并连接成一个向量输入到传统的神经网络,得到输出。 一般地,C层为特征提取层,每个神经元的输入与前一层的局部感受野相连,并提取该局部的特征,一旦该局部特征被提取后,它与其他特征间的位置关系也随之确定下来;S层是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射为一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。 此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数,降低了网络参数选择的复杂度。卷积神经网络中的每一个特征提取层(C-层)都紧跟着一个用来求局部平均与二次提取的计算层(S-层),这种特有的两次特征提取结构使网络在识别时对输入样本有较高的畸变容忍能力。 2.3 Sparse Coding 稀疏编码算法是一种无监督学习方法,它用来寻找一组“超完备”基向量来更高效地表示样本数据。稀疏编码算法的目的就是找到一组基向量∅𝑖,使得我们能将输入向量X表示为这些基向量的线性组合:X=Σ𝑎𝑖𝑘𝑖=1∅𝑖 虽然形如主成分分析技术(PCA)能使我们方便地找到一组“完备”基向量,但是这里我们想要做的是找到一组“超完备”基向量来表示输入向量(也就是说,k> n)。超完备基的好处是它们能更有效地找出隐含在输入数据内部的结构与模式。此外加了一个评判标准“稀疏性”来解决因超完备而导致的退化问题,即只有很少的几个非零元素或只有很少的几个远大于零的元素。 代价函数定义如下:𝑚𝑖𝑛𝑖𝑚𝑖𝑧(𝑗),∅𝑖Σ||𝑋𝑗−Σ𝑎𝑖(𝑗)∅𝑖||𝑘𝑖=12𝑚𝑗=1+𝜆Σ𝑆(𝑎𝑖(𝑗))𝑘𝑖=1 其中:𝑆(.)是一个稀疏代价函数,而第一项为重构误差项,常量𝜆是一个变量,用来控制这两项式子的相对重要性。 Sparse coding分为两个部分: 1)Training阶段:给定一系列的输入[x1, x 2, …],我们需要学习得到一组基[Φ1, Φ2, …],也就是字典。训练过程就是一个重复迭代的过程,我们交替的更改a和Φ使得上面目标函数最小。 每次迭代分两步: a)固定字典Φ[k],然后调整a[k],使得上式,即目标函数最小。 b)然后固定住a [k],调整Φ[k],使得上式,即目标函数最小。 不断迭代,直至收敛。这样就可以得到一组可以良好表示这一系列x的基,也就是字典。 2)Coding阶段:给定一个新的图片x,由上面得到的字典,通过解一个LASSO问题得到稀疏向量a。这个稀疏向量就是这个输入向量x的一个稀疏表达。 3 总结与展望 深度学习的实质,是通过构建具有深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。本质上,深度学习就是一种层次特征学习。 深度学习目前仍有大量工作需要研究。模型方面是否有其他更为有效且有理论依据的深度模型学习算法。此外有效的可并行训练算法也是值得研究的一个方向。当前基于最小批处理的随机梯度优化算法很难在多计算机中进行并行训练。单个机器GPU对大规模数据识别或相似任务数据集并不适用。在深度学习应用拓展方面,如何合理充分利用深度学习在增强传统学习算法的性能仍是目前各领域的研究。深度机器学习的训练时间过长,常常需要几个星期的训练时间,如果能合并训练,提高训练速度,则会大大提高深度机器学习的实用性。这些问题都有待解决。 参考文献 [1]G.E.HINTON, Reducing the dimensionality of data with neural networks. Science, 2006 [2]G.E. HINTON. Image Net Classification with Deep Convolutional Neural Networks, NIPS 2012. [3]CLEMENT FARABET. Learning Hierarchical Features for Scene Labeling, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013. [4] Koray Kavukcuoglu. Learning Convolutional Feature Hierachies for Visual Recognition, Advances in Neural Information Processing Systems(NIPS 2010), 23, 2010.

此文档下载收益归作者所有

下载文档
收起
展开