深度学习及其优化方法_第1页
深度学习及其优化方法_第2页
深度学习及其优化方法_第3页
深度学习及其优化方法_第4页
深度学习及其优化方法_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深度学习及其优化方法第一页,共五十一页,编辑于2023年,星期日Outline深度学习基本介绍LossFunction一般形式及数学概念深度学习梯度优化方法深度学习优化方法2/25第二页,共五十一页,编辑于2023年,星期日深度学习的概念3/25什么是deeplearning?

深度学习:一种基于无监督特征学习和特征层次结构的学习方法。

本质:通过构建多隐层的模型和海量训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。含多隐层的多层感知器就是一种深度学习结构。第三页,共五十一页,编辑于2023年,星期日DL训练过程4/25深度学习的基本思想:对于DeepLearning,需要自动地学习特征,假设有一堆输入I,输出是O,设计一个系统S(有n层),形象地表示为:I=>S1=>S2=>.....=>Sn=>O,通过调整系统中参数,使得它的输出仍然是输入I,那么就可以自动地获取得到输入I的一系列层次特征,即S1,...,Sn。用自下而上的无监督学习1)逐层构建单层神经元。2)每层采用wake-sleep算法进行调优。每次仅调整一层,逐层调整。第四页,共五十一页,编辑于2023年,星期日5/25第二步:自顶向下的监督学习

这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(如,SVM等),而后通过带标签数据的监督学习,利用梯度下降法去微调整个网络参数。DL训练过程第五页,共五十一页,编辑于2023年,星期日6/25深度学习的具体模型及方法:1、自动编码器(AutoEncoder)2、稀疏自动编码器(SparseAutoEncoder)3、限制波尔兹曼机(RestrictedBoltzmannMachine)4、深信度网络(DeepBeliefNetworks)5、卷积神经网络(ConvolutionalNeuralNetworks)DL训练过程第六页,共五十一页,编辑于2023年,星期日自动编码器7/251、自动编码器(AutoEncoder)通过调整encoder和decoder的参数,使得重构误差最小,就得到了输入input信号的第一个表示了,也就是编码code了。因为是无标签数据,所以误差的来源就是直接重构后与原输入相比得到。第七页,共五十一页,编辑于2023年,星期日稀疏自动编码器8/25如上图,其实就是限制每次得到的表达code尽量稀疏。因为稀疏的表达往往比其他的表达要有效。2、稀疏自动编码器(SparseAutoEncoder)AutoEncoder的基础上加上L1的Regularity限制(L1主要是约束每一层中的节点中大部分都要为0,只有少数不为0),就可以得到SparseAutoEncoder法。第八页,共五十一页,编辑于2023年,星期日RBM9/253、限制波尔兹曼机(RBM)定义:假设有一个二部图,同层节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所有的节点都是随机二值(0,1)变量节点,同时假设全概率分布p(v,h)满足Boltzmann分布,称这个模型是RBM。第九页,共五十一页,编辑于2023年,星期日RBM10/25给定隐层h的基础上,可视层的概率确定:(可视层节点之间是条件独立的)给定可视层v的基础上,隐层的概率确定:给定一个满足独立同分布的样本集:D={v(1),

v(2),…,

v(N)},我们需要学习参数θ={W,a,b}。

最大似然估计:对最大对数似然函数求导,就可以得到L最大时对应的参数W了。第十页,共五十一页,编辑于2023年,星期日DBN11/25DBNs由多个限制玻尔兹曼机(RBM)层组成,一个典型的神经网络类型如下图所示。第十一页,共五十一页,编辑于2023年,星期日CNN12/255、卷积神经网络(ConvolutionalNeuralNetworks)卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。CNNs是第一个真正成功训练多层网络结构的学习算法。核心思想:局部感受野、权值共享以及时间或空间子采样这三种结构思想结合起来获得某种程度的位移、尺度、形变不变性。第十二页,共五十一页,编辑于2023年,星期日LossFunction一般形式13/25第十三页,共五十一页,编辑于2023年,星期日LossFunction一般形式14/25回归函数及目标函数以均方误差作为目标函数(损失函数),目的是使其值最小化,用于优化上式。第十四页,共五十一页,编辑于2023年,星期日数学概念15/251、梯度(一阶导数)某一点的梯度方向是在该点坡度最陡的方向,而梯度的大小告诉我们坡度到底有多陡;对于一个含有n个变量的标量函数,即函数输入一个n维的向量,输出一个数值,梯度可以定义为:第十五页,共五十一页,编辑于2023年,星期日数学概念16/252、Hesse矩阵(二阶导数)Hesse矩阵常被应用于牛顿法解决的大规模优化问题,主要形式如下:当f(x)是下列形式:其中

x为列向量,A是n阶对称矩阵,b是n维列向量,c是常数。f(x)梯度是Ax+b,Hesse矩阵等于A。第十六页,共五十一页,编辑于2023年,星期日数学概念17/253、Jacobian矩阵Jacobian矩阵实际上是向量值函数的梯度矩阵,假设F:Rn→Rm是一个从n维欧氏空间转换到m维欧氏空间的函数。这个函数由m个实函数组成:这些函数的偏导数(如果存在)可以组成一个m行n列的矩阵(mbyn),这就是所谓的雅可比矩阵:第十七页,共五十一页,编辑于2023年,星期日优化方法18/251、GradientDescentGradientdescent(steepestdescent),也叫批量梯度下降法BatchGradientDescent,BSD,利用一阶的梯度信息找到函数局部最优解的一种方法,主要迭代公式如下:其中,是第k次迭代我们选择移动的方向,是第k次迭代用linesearch方法选择移动的距离,每次移动的距离系数可以相同,也可以不同,有时候我们也叫学习率(learningrate)。第十八页,共五十一页,编辑于2023年,星期日优化方法19/251、GradientDescent该方法利用目标函数的局部性质,得到局部最优解,具有一定的“盲目性”,如果目标函数是一个凸优化问题,那么局部最优解就是全局最优解;每一次迭代的移动方向都与出发点的等高线垂直,此外,锯齿现象(zig-zagging)将会导致收敛速度变慢:

第十九页,共五十一页,编辑于2023年,星期日优化方法20/252、Newton’smethod牛顿法则是利用局部的一阶和二阶偏导信息,推测整个目标函数的形状;进而可以求得出近似函数的全局最小值,然后将当前的最小值设定近似函数的最小值;相比最速下降法,牛顿法带有一定对全局的预测性,收敛性质也更优良。

第二十页,共五十一页,编辑于2023年,星期日优化方法21/252、Newton’smethod推导过程如下:利用Taylor级数求得原目标函数的二阶近似:把

x看做自变量,所有带有xk的项看做常量,令一阶导数为0,即可求近似函数的最小值:即:将当前的最小值设定近似函数的最小值(或者乘以步长)。第二十一页,共五十一页,编辑于2023年,星期日优化方法22/252、Newton’smethod牛顿法主要存在的问题是:Hesse矩阵不可逆时无法计算;矩阵的逆计算复杂为n的立方,当问题规模比较大时,计算量很大;解决的办法是采用拟牛顿法如BFGS,L-BFGS,DFP,Broyden’sAlgorithm进行近似;如果初始值离局部极小值太远,Taylor展开并不能对原函数进行良好的近似。第二十二页,共五十一页,编辑于2023年,星期日优化方法23/252、Newton’smethod在牛顿法的迭代中,需要计算海赛矩阵的逆矩阵H-1这一计算比较复杂,考虑用一个n阶矩阵来近似代替H-1,这就是拟牛顿法的基本思路。DFP(Davidon-Fletcher-Powell)使用一个n阶矩阵Gk+1来近似H-1BFGS(Broyden-Fletcher-Goldfarb-Shanno)使用一个n阶矩阵Bk来逼近HL-BFGS(Limited-BFGS):由于上述两种拟牛顿法都要保存一个n阶矩阵,对于内存消耗非常大,因此在此基础上提出了一种节约内存的方法L-BFGS。第二十三页,共五十一页,编辑于2023年,星期日优化方法24/253、ConjugateGradients共轭梯度法是介于最速下降法与牛顿法之间的一个方法;它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点;避免牛顿法需要存储和计算Hesse矩阵并求逆的缺点.共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也是解大型非线性最优化最有效的算法之一。与最速梯度下降的不同,共轭梯度的优点主要体现在选择搜索方向上:第二十四页,共五十一页,编辑于2023年,星期日优化方法25/253、ConjugateGradients共轭方向:如上图,d(1)方向与二次函数的等值线相切,d(1)

的共轭方向d(2)

则指向椭圆的中心。对于二维二次函数,若在两个共轭方向上进行一维搜索,经过两次迭代必然达到最小点。第二十五页,共五十一页,编辑于2023年,星期日优化方法26/253、ConjugateGradients确定了移动方向(GD:垂直于等值线,CG:共轭方向),并在该方向上搜索极小值点(恰好与该处的等值线相切),然后移动到最小值点,重复以上过程,过程如下图:第二十六页,共五十一页,编辑于2023年,星期日优化方法27/254、随机梯度下降算法(SGD)第二十七页,共五十一页,编辑于2023年,星期日优化方法28/254、随机梯度下降算法(SGD)SGD是最速梯度下降法的变种,每次只使用一个样本,迭代一次计算量为n2,当m很大的时候,随机梯度下降迭代一次的速度要远高于梯度下降:梯度下降需要把m个样本全部带入计算,迭代一次计算量为m*n2第二十八页,共五十一页,编辑于2023年,星期日优化方法29/255、

Mini-batchGradientDescent介于BSD和SGD之间的一种优化算法,每次选取一定量的训练样本进行迭代;速度比BSD快,比SGD慢;精度比BSD低,比SGD高。选择n个训练样本(n<m,m为总训练集样本数)在这n个样本中进行n次迭代,每次使用1个样本对n次迭代得出的n个gradient进行加权平均再并求和,作为这一次mini-batch下降梯度;不断在训练集中重复以上步骤,直到收敛。第二十九页,共五十一页,编辑于2023年,星期日优化方法30/255、

Mini-batchGradientDescent其思想是:SGD就是每一次迭代计算mini-batch的梯度,然后对参数进行更新;其中,是学习率,是梯度,SGD完全依赖于当前batch的梯度,可理解为允许当前batch的梯度多大程度影响参数更新。第三十页,共五十一页,编辑于2023年,星期日优化方法31/255、

Mini-batchGradientDescent面临的挑战:learningrate选取比较困难对于稀疏数据或者特征,有时我们可能想更新快一些;对于常出现的特征更新慢一些,这时候SGD就不太能满足要求了;SGD容易收敛到局部最优,并且在某些情况下可能被困在鞍点

第三十一页,共五十一页,编辑于2023年,星期日优化方法-Momentum32/25momentum是模拟物理里动量的概念,积累之前的动量来替代真正的梯度:其中,是动量因子。

第三十二页,共五十一页,编辑于2023年,星期日优化方法-Momentum33/25

SGDwithoutmomentumSGDwithmomentum第三十三页,共五十一页,编辑于2023年,星期日优化方法-Momentum34/25特点:下降初期时,使用上一次参数更新,下降方向一致,乘上较大的能够进行很好的加速;下降中后期时,在局部最小值来回震荡的时候,,使得更新幅度增大,跳出陷阱;在梯度改变方向的时候,能够减少更新;总之,momentum项能够在相关方向加速SGD,抑制振荡,从而加快收敛。

第三十四页,共五十一页,编辑于2023年,星期日优化方法-Nesterov35/25nesterov项在梯度更新时做一个校正,避免前进太快,同时提高灵敏度:并没有直接改变当前梯度,所以Nesterov的改进就是让之前的动量直接影响当前的梯度。即:因此,加上nesterov项后,梯度在大的跳跃后,进行计算对当前梯度进行校正。

第三十五页,共五十一页,编辑于2023年,星期日优化方法-Nesterov36/25momentum首先计算一个梯度(短的蓝色向量),然后在加速更新梯度的方向进行一个大的跳跃(长的蓝色向量),nesterov项首先在之前加速的梯度方向进行一个大的跳跃(棕色向量),计算梯度然后进行校正(绿色梯向量):momentum项和nesterov项都是为了使梯度更新更加灵活,对不同情况有针对性。第三十六页,共五十一页,编辑于2023年,星期日优化方法-Adagrad37/25Adagrad其实是对学习率进行了一个约束,即:对从1到进行一个递推形成一个约束项regularizer第三十七页,共五十一页,编辑于2023年,星期日优化方法-Adagrad38/25特点:前期较小时候,regularizer较大,能够放大梯度;后期较大的时候,regularizer较小,能够约束梯度;适合处理稀疏梯度。缺点:仍依赖于人工设置一个全局学习率;设置过大的话,会使regularizer过于敏感,对梯度的调节太大;中后期,分母上梯度平方的累加将会越来越大,使

,训练提前结束。

第三十八页,共五十一页,编辑于2023年,星期日优化方法-Adadelta39/25Adadelta是对Adagrad的扩展,Adagrad会累加之前所有的梯度平方,而Adadelta只累加固定大小的项,并且也不直接存储这些项,仅仅是近似计算对应的平均值。即:其实Adadelta还是依赖于全局学习率的,但作者做了一定处理,经过近似牛顿迭代法之后:

此时Adadelta已经不用依赖于全局学习率了第三十九页,共五十一页,编辑于2023年,星期日优化方法-Adadelta40/25特点:

训练初中期,加速效果不错,很快;训练后期,反复在局部最小值附近抖动。第四十页,共五十一页,编辑于2023年,星期日优化方法-RMSprop41/25RMSprop可以算作Adadelta的一个特例:当时,就变为了求梯度平方和的平均数;如果再求根的话,就变成了RMS(均方根):此时,这个RMS就可以作为学习率的一个约束:

第四十一页,共五十一页,编辑于2023年,星期日优化方法-RMSprop42/25RMSprop:其实RMSprop依然依赖于全局学习率;RMSprop算是Adagrad的一种发展,和Adadelta的变体,效果趋于二者之间;适合处理非平稳目标-对于RNN效果很好。

第四十二页,共五十一页,编辑于2023年,星期日优化方法-Adam43/25Adam(AdaptiveMomentEstimation)本质上是带有动量项的RMSprop,它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率;Adam的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳。

第四十三页,共五十一页,编辑于2023年,星期日优化方法-Adam44/25公式如下:其中,、分别是对梯度的一阶矩估计和二阶矩估计,可以看作对期望、的估计;、是对、的校正,这样可以近似为对期望的无偏估计。对学习率形成一个动态约束,而且有明确的范围。第四十四页,共五十一页,编辑于2023年,星期日优化方法-Adam45/25特点:结合了Adagrad善于处理稀疏梯度和RMSprop善于处理非平稳目标的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论