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

下载本文档

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

文档简介

1、深度学习(Deep Learning)及其优化方法1/25报告人:胡海根报告人:胡海根E-mail: 浙江工业大学计算机学院Outline 深度学习基本介绍Loss Function一般形式及数学概念一般形式及数学概念深度学习梯度优化方法深度学习梯度优化方法深度学习优化方法深度学习优化方法2/25深度学习的概念深度学习的概念3/25u什么是deep learning? 深度学习:一种基于无监督特征学习和特征层次结构的学习方法。 本质:通过构建多隐层的模型和海量训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。u含多隐层的多层感知器就是一种深度学习结构。DL训练过程训练过程4/25u

2、深度学习的基本思想: 对于Deep Learning,需要自动地学习特征,假设有一堆输入I,输出是O,设计一个系统S(有n层),形象地表示为: I =S1=S2=.=Sn = O,通过调整系统中参数,使得它的输出仍然是输入I,那么就可以自动地获取得到输入I的一系列层次特征,即S1,., Sn。u用自下而上的无监督学习 1)逐层构建单层神经元。 2)每层采用wake-sleep算法进行调优。每次仅调整一层,逐层调整。5/25u第二步:自顶向下的监督学习 这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(如,SVM等),而后通过带标签数据的监督学习,利用梯度下降法去微调整个

3、网络参数。DL训练过程训练过程6/25u深度学习的具体模型及方法:u1、自动编码器( AutoEncoder )u2、稀疏自动编码器(Sparse AutoEncoder)u3、限制波尔兹曼机(Restricted Boltzmann Machine)u4、深信度网络(Deep Belief Networks)u5、卷积神经网络(Convolutional Neural Networks)DL训练过程训练过程自动编码器自动编码器7/25u1、自动编码器( AutoEncoder )通过调整encoder和decoder的参数,使得重构误差最小,就得到了输入input信号的第一个表示了,也就是编

4、码code了。u因为是无标签数据,所以误差的来源就是直接重构后与原输入相比得到。稀疏自动编码器稀疏自动编码器8/25u如上图,其实就是限制每次得到的表达code尽量稀疏。因为稀疏的表达往往比其他的表达要有效。u2、稀疏自动编码器(Sparse AutoEncoder)AutoEncoder的基础上加上L1的Regularity限制(L1主要是约束每一层中的节点中大部分都要为0,只有少数不为0),就可以得到Sparse AutoEncoder法。RBM9/25u3、限制波尔兹曼机(RBM) 定义:假设有一个二部图,同层节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假

5、设所有的节点都是随机二值(0,1)变量节点,同时假设全概率分布p(v,h)满足Boltzmann分布,称这个模型是RBM。RBM10/25u给定隐层h的基础上,可视层的概率确定:(可视层节点之间是条件独立的)u给定可视层v的基础上,隐层的概率确定:u给定一个满足独立同分布的样本集:D=v(1), v(2), v(N),我们需要学习参数=W,a,b。 最大似然估计:对最大对数似然函数求导,就可以得到L最大时对应的参数W了。DBN11/25uDBNs由多个限制玻尔兹曼机(RBM)层组成,一个典型的神经网络类型如下图所示。CNN12/25u5、卷积神经网络(Convolutional Neural

6、Networks)卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。CNNs是第一个真正成功训练多层网络结构的学习算法。核心思想:局部感受野、权值共享以及时间或空间子采样这三种结构思想结合起来获得某种程度的位移、尺度、形变不变性。Loss Function一般形式一般形式13/25Loss Function一般形式一般形式14/25u回归函数及目标函数u以均方误差作为目标函数(损失函数),目的是使其值最小化,用于优化上式。数学概念数学概念15/251、梯度(一阶导数)u某一点的梯度方向是在该点坡度最陡的方向,而梯度的大小告诉我们坡度到底有多陡;u对于一个

7、含有 n 个变量的标量函数,即函数输入一个 n 维 的向量,输出一个数值,梯度可以定义为:数学概念数学概念16/252、Hesse 矩阵(二阶导数)uHesse 矩阵常被应用于牛顿法解决的大规模优化问题,主要形式如下:u当 f(x) 是下列形式:其中 x为列向量,A 是 n 阶对称矩阵,b 是 n 维列向量, c 是常数。f(x) 梯度是 Ax+b, Hesse 矩阵等于 A。数学概念数学概念17/253、Jacobian 矩阵uJacobian 矩阵实际上是向量值函数的梯度矩阵,假设F:RnRm 是一个从n维欧氏空间转换到m维欧氏空间的函数。这个函数由m个实函数组成: u这些函数的偏导数(如

8、果存在)可以组成一个m行n列的矩阵(m by n),这就是所谓的雅可比矩阵:优化方法优化方法18/251、Gradient DescentuGradient descent(steepest descent),也叫批量梯度下降法Batch Gradient Descent,BSD,利用一阶的梯度信息找到函数局部最优解的一种方法,主要迭代公式如下: 其中, 是第 k 次迭代我们选择移动的方向, 是第 k 次迭代用 line search 方法选择移动的距离,每次移动的距离系数可以相同,也可以不同,有时候我们也叫学习率(learning rate)。kkkkpxx1kpk优化方法优化方法19/25

9、1、Gradient Descentu该方法利用目标函数的局部性质,得到局部最优解,具有一定的“盲目性”,如果目标函数是一个凸优化问题,那么局部最优解就是全局最优解;u每一次迭代的移动方向都与出发点的等高线垂直,此外,锯齿现象( zig-zagging)将会导致收敛速度变慢:优化方法优化方法20/252、Newtons methodu牛顿法则是利用局部的一阶和二阶偏导信息,推测整个目标函数的形状;u进而可以求得出近似函数的全局最小值,然后将当前的最小值设定近似函数的最小值;u相比最速下降法,牛顿法带有一定对全局的预测性,收敛性质也更优良。优化方法优化方法21/252、Newtons metho

10、du推导过程如下: u利用 Taylor 级数求得原目标函数的二阶近似:u把 x 看做自变量,所有带有 xk 的项看做常量,令一阶导数为 0 ,即可求近似函数的最小值:即:u 将当前的最小值设定近似函数的最小值(或者乘以步长)。优化方法优化方法22/252、Newtons methodu牛顿法主要存在的问题是:uHesse 矩阵不可逆时无法计算;u矩阵的逆计算复杂为 n 的立方,当问题规模比较大时,计算量很大;u解决的办法是采用拟牛顿法如 BFGS, L-BFGS, DFP, Broydens Algorithm 进行近似;u如果初始值离局部极小值太远,Taylor 展开并不能对原函数进行良好

11、的近似。优化方法优化方法23/252、Newtons methodu在牛顿法的迭代中,需要计算海赛矩阵的逆矩阵H-1这一计算比较复杂,考虑用一个n阶矩阵来近似代替H-1,这就是拟牛顿法的基本思路。uDFP(Davidon-Fletcher-Powell)使用一个n阶矩阵Gk+1来近似H-1uBFGS(Broyden-Fletcher-Goldfarb-Shanno)使用一个n阶矩阵Bk来逼近HuL-BFGS(Limited -BFGS ):由于上述两种拟牛顿法都要保存一个n阶矩阵,对于内存消耗非常大,因此在此基础上提出了一种节约内存的方法L-BFGS。优化方法优化方法24/253、Conjug

12、ate Gradientsu共轭梯度法是介于最速下降法与牛顿法之间的一个方法;u它仅需利用一阶导数信息,u但克服了最速下降法收敛慢的缺点;u避免牛顿法需要存储和计算Hesse矩阵并求逆的缺点.u共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也是解大型非线性最优化最有效的算法之一。u与最速梯度下降的不同,共轭梯度的优点主要体现在选择搜索方向上:优化方法优化方法25/253、Conjugate Gradientsu共轭方向:u如上图,d(1) 方向与二次函数的等值线相切, d(1) 的共轭方向 d(2) 则指向椭圆的中心。对于二维二次函数,若在两个共轭方向上进行一维搜索,经过两次迭代必然达到

13、最小点。优化方法优化方法26/253、Conjugate Gradientsu确定了移动方向(GD:垂直于等值线,CG:共轭方向),并在该方向上搜索极小值点(恰好与该处的等值线相切),然后移动到最小值点,重复以上过程,过程如下图:优化方法优化方法27/254、随机梯度下降算法(SGD)优化方法优化方法28/254、随机梯度下降算法(SGD)uSGD是最速梯度下降法的变种,每次只使用一个样本,迭代一次计算量为n2,当m很大的时候,随机梯度下降迭代一次的速度要远高于梯度下降:u梯度下降需要把m个样本全部带入计算,迭代一次计算量为m*n2优化方法优化方法29/255、 Mini-batch Grad

14、ient Descentu介于BSD和SGD之间的一种优化算法,每次选取一定量的训练样本进行迭代;u速度比BSD快,比SGD慢;精度比BSD低,比SGD高。u选择n个训练样本(nm,m为总训练集样本数)u在这n个样本中进行n次迭代,每次使用1个样本u对n次迭代得出的n个gradient进行加权平均再并求和,作为这一次mini-batch下降梯度;u不断在训练集中重复以上步骤,直到收敛。优化方法优化方法30/255、 Mini-batch Gradient Descentu其思想是:SGD就是每一次迭代计算mini-batch的梯度,然后对参数进行更新;u其中,是学习率, 是梯度,SGD完全依赖

15、于当前batch的梯度,可理解为允许当前batch的梯度多大程度影响参数更新。tg优化方法优化方法31/255、 Mini-batch Gradient Descentu面临的挑战:ulearning rate选取比较困难u对于稀疏数据或者特征,有时我们可能想更新快一些;u对于常出现的特征更新慢一些,这时候SGD就不太能满足要求了;uSGD容易收敛到局部最优,并且在某些情况下可能被困在鞍点优化方法优化方法-Momentum32/25umomentum是模拟物理里动量的概念,积累之前的动量来替代真正的梯度:其中, 是动量因子。优化方法优化方法-Momentum33/25SGD without m

16、omentumSGD with momentum优化方法优化方法-Momentum34/25u特点:u下降初期时,使用上一次参数更新,下降方向一致,乘上较大的 能够进行很好的加速;u下降中后期时,在局部最小值来回震荡的时候, , 使得更新幅度增大,跳出陷阱;u在梯度改变方向的时候, 能够减少更新;u总之,momentum项能够在相关方向加速SGD,抑制振荡,从而加快收敛。优化方法优化方法-Nesterov35/25unesterov项在梯度更新时做一个校正,避免前进太快,同时提高灵敏度:u 并没有直接改变当前梯度 ,所以Nesterov的改进就是让之前的动量直接影响当前的梯度。即:u 因此,加

17、上nesterov项后,梯度在大的跳跃后,进行计算对当前梯度进行校正。 优化方法优化方法-Nesterov36/25umomentum首先计算一个梯度(短的蓝色向量),然后在加速更新梯度的方向进行一个大的跳跃(长的蓝色向量),nesterov项首先在之前加速的梯度方向进行一个大的跳跃(棕色向量),计算梯度然后进行校正(绿色梯向量):u momentum项和nesterov项都是为了使梯度更新更加灵活,对不同情况有针对性。优化方法优化方法-Adagrad37/25uAdagrad其实是对学习率进行了一个约束,即:u 对 从1到 进行一个递推形成一个约束项regularizer优化方法优化方法-A

18、dagrad38/25u特点:特点:u前期 较小时候,regularizer较大,能够放大梯度 ;u后期 较大的时候,regularizer较小,能够约束梯度; u适合处理稀疏梯度。 u缺点:缺点:u仍依赖于人工设置一个全局学习率; u 设置过大的话,会使regularizer过于敏感,对梯度的调节太大; u中后期,分母上梯度平方的累加将会越来越大,使 ,训练提前结束。优化方法优化方法-Adadelta39/25uAdadelta是对Adagrad的扩展, Adagrad会累加之前所有的梯度平方,而Adadelta只累加固定大小的项,并且也不直接存储这些项,仅仅是近似计算对应的平均值。即: u

19、其实Adadelta还是依赖于全局学习率的,但作者做了一定处理,经过近似牛顿迭代法之后: 此时Adadelta已经不用依赖于全局学习率了优化方法优化方法-Adadelta40/25u特点:特点: u训练初中期,加速效果不错,很快;u训练后期,反复在局部最小值附近抖动。优化方法优化方法-RMSprop41/25uRMSprop可以算作Adadelta的一个特例:u当 时, 就变为了求梯度平方和的平均数;u如果再求根的话,就变成了RMS(均方根):u此时,这个RMS就可以作为学习率的一个约束:优化方法优化方法-RMSprop42/25uRMSprop:u其实RMSprop依然依赖于全局学习率;uR

20、MSprop算是Adagrad的一种发展,和Adadelta的变体,效果趋于二者之间;u适合处理非平稳目标 - 对于RNN效果很好。优化方法优化方法-Adam43/25uAdam(Adaptive Moment Estimation)本质上是带有动量项的RMSprop,u它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率;uAdam的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳。优化方法优化方法-Adam44/25u公式如下:其中, 、 分别是对梯度的一阶矩估计和二阶矩估计,可以看作对期望 、 的估计; 、 是对 、 的校正,这样可以近似为对期望的无偏估

21、计。 u 对学习率形成一个动态约束,而且有明确的范围。优化方法优化方法-Adam45/25u特点:u结合了Adagrad善于处理稀疏梯度和RMSprop善于处理非平稳目标的优点;u对内存需求较小;u为不同的参数计算不同的自适应学习率;u也适用于大多非凸优化 - 适用于大数据集和高维空间优化方法优化方法-Adamax46/25uAdamax是Adam的一种变体,此方法对学习率的上限提供了一个更简单的范围:u可以看出,Adamax学习率的边界范围更简单优化方法优化方法-Nadam47/25uNadam类似于带有Nesterov动量项的Adam :优化方法优化方法-Nadam48/25u可以看出,Nadam对学习率有了更强的约束,同时对梯度的更新也有更直接的影响;u一般而言,在想使用带动量的RMSprop,或者Adam的地方,大多可以使用Nadam取得更好的效果。优化方法优化方法-Visualization of algorithms49/25优化方法优化方法-Visualization of algorithms50/25Adagrad, Adadelta, RMSprop, 和 Adam效果明显优化方法优化方法-建议建议51/25u对于稀疏数

温馨提示

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

评论

0/150

提交评论