网问答>>深度学习中的优化器学习总结
问题
已解决

深度学习中的优化器学习总结

时间:2024-08-12 00:00:26
深度学习中的优化器学习总结
最佳回答
梯度下降法1.批梯度下降法(Batch Gradient Descent)一次迭代训练所有样本,样本总数为n, 学习训练的模型参数为W,代价函数为J(W),输入和输出的样本分别为X^i,Y^i, 则代价函数关于模型参数的偏导数即相关梯度为ΔJ(W),学习率为η_t优点:理想状态下经过足够多的迭代后可以达到全局最优;缺点:对于大数据集,训练速度会很慢2.随机梯度下降法(Stochastic Gradient Descent)为了加快收敛速度,每次训练的都是随机的一个样本;优点:训练速度快,引入了噪声(随机选取样本),使得可能会避迹晌免陷入局部最优解;3.Mini-Batch Gradient DescentBGD 和 SGD的折中方案, batch_size = 1, 就是 SGD, batch_size = m 就是Mini-Batch Gradient Descent,(现在深度学习中很多直接把Mini-Batch Gradient Descent 简称为SGD, 提到SGD 一般指的就是Mini-Batch Gradient Descent;优点:mini-batch gradient descent 相对SGD在下降的时候,相对平滑些(相对稳定),不像SGD那样震荡的比较厉害。缺点:增加了一个超参数 batch_size,要去调这个超参数;动量优化法1.Momentum从训练集中取一个大小为n的小批量{X^1,X^2,...,X^n}样本,对应的真实值分别为Y^i,则Momentum优化表达式为其中v_t表示 t 时刻积攒的加速度,α表示动力的大小,一般取值为0.9;动量主要解决SGD的两个问题:一是随机梯度的方法(引入的噪声);二是Hessian矩阵病态问题(不是很理解)。理解策略为:由于当前权值的改变会受到上一次权值改变的影响,类似于小球向下滚动的时候带上了惯性。这样可以加快小球向下滚动的速度。2.牛顿加速度梯度法(Nesterov Accelerated Gradient)理解策略:在Momentun中小球会盲目地跟从下坡的梯度,容易发生错误。所以需要一个更聪明的小球,能提前知道它要去哪里,还要知道走到坡底的时候速度慢下来而不是又冲上另一个坡。计算W_tαv_{t1}可以表示小球下一个位置大概在哪里。从而可以提前知道下一个位置的梯度,然后使用到当前位置来更新参数。自适应学习率优化算法1.AdaGrad算法假定一个多分类问题,i表示第i个分类,t表示第t迭代同时也表示分类i累计出现的次数。η_0表示初始的学习率取值一般为0.01,是一个取值很小的数(一般为1e-8)为了避免分母为0。W_t表示t时刻即第t迭代模型的参数,g_{t,i}=ΔJ(W_{t,i})表示t时刻,指定分类i,代价函数J()关于W的梯度。从表达式可以看出,对出现比较多的类别数据,Adagrad给予越来越小的学习率,而对于比较少的类别数据,会给予较大的学习率。因此Adagrad适用于数据稀疏或者分布不平衡的数据集。Adagrad 的主要优势在于不需要人为的调节学习率,它可以自动调节;缺点在于,随着迭代次数增多,学习率会越来越小,最终会趋近于0。2.RMSProp算法RMSProp算法修改了AdaGrad的梯度积累为指数加权的移动平均,使得其在非凸设定下效果更好其中,W_t表示t时刻即第t迭代模型的参数,g_t=ΔJ(W_t)表示t次迭代代价函数关于W的梯度大小,E[g^2]t表示前t次的梯度平方的均值。α表示动力(通常设置为0.9),η0表示全局初始学习率。是一个取值很小的数(一般为1e-8)为了避免分母为0。RMSProp借鉴了Adagrad的思想,观察表达式,分母为sqrt(E[g^2]_t+)。由于取了个加权平均,避免了学习率越来越低的问题,而且能自适应地调节源差学习率。RMSProp算法在经验上已经被证明是一种有效且实用的深度神经网络优化算法。目前它是深度学习从业者经常采用的优化方法之一。3. AdaDelta算法AdaGrad算法和RMSProp算法都需要指定全局学习率,AdaDelta算法结合两种算法每次参数的更新步长即:AdaDelta不需要设置一个默认的全局学习率优点:在模型训练的初期和中期雹州皮,AdaDelta表现很好,加速效果不错,训练速度快。缺点:在模型训练的后期,模型会反复地在局部最小值附近抖动。4. Adam算法Adam中动量直接并入了梯度一阶矩(指数加权)的估计,Adam包括偏置修正,修正从原点初始化的一阶矩(动量项)和(非中心的)二阶矩估计其中,m_t和v_t分别为一阶动量项和二阶动量项。β_1,β_2为动力值大小通常分别取0.9和0.999;m^t,v^t分别为各自的修正值。Adam通常被认为对超参数的选择相当鲁棒
时间:2024-08-12 00:00:29
本类最有帮助
Copyright © 2008-2013 www.wangwenda.com All rights reserved.冀ICP备12000710号-1
投诉邮箱: