极客时间
21天打卡行动 23/21
<<人工智能基础课25>>深度学习中的优化
回答老师问题:
既然优化方法包含不同的切入角度,那么你觉得哪一种优化方法可能具有更好的效果呢?
如何选择优化算法
1 对于稀疏数据,尽量使用学习率可自适应的优化方法,不用手动调节,而且最好采用默认值。
2 SGD通常训练时间更长,但是在好的初始化和学习率调度方案的情况下(很多论文都用SGD),结果更可靠。
3 如果在意更快的收敛,并且需要训练较深较复杂的网络时,推荐使用学习率自适应的优化方法。
4 Adadelta,RMSprop,Adam是比较相近的算法,在相似的情况下表现差不多 。Adam 就是在 RMSprop 的基础上加了 bias-correction 和 momentum,随着梯度变得稀疏,Adam 比 RMSprop 效果会好。整体来讲,Adam 是最好的选择。
[来源:https://www.cnblogs.com/zingp/p/11352012.html]
今日所学:
1,病态矩阵是科学计算不愿打交道的对象,因为数值精度导致的不可避免的舍入误差可能会给输出带来巨大的偏离,正所谓“差之毫厘,谬以千里”。在神经网络的训练中,病态矩阵的影响体现在梯度下降的不稳定性上。当应用随机梯度下降解决优化问题时,病态矩阵对输入的敏感性会导致很小的更新步长也会增加代价函数,使学习的速度变得异常缓慢;
2,深度神经网络面临的另一个挑战是局部极小值的问题;
3,点是梯度为 0 的临界点,但它既不是极大值也不是极小值。从函数图像上看,多变量函数的鞍点在一个方向上向上弯曲,在另一个方向上则向下弯曲,从而形成了类似马鞍的形状。由于牛顿法的目标是寻找梯度为零的临界点,因而会受鞍点的影响较大,高维空间中鞍点数目的激增就会严重限制牛顿法的性能。
4,。随机梯度下降法(stochastic gradient descent)就是在传统机器学习和深度神经网络中都能发挥作用的经典算法。
5,随机梯度下降法是原始梯度下降法的一种改良,
6,在随机梯度下降法的基础上进行改进可以得到其他的优化方式,改进的手段主要有两种:一种是随机降低噪声,另一种是使用二阶导数近似。
7,降噪方法正是为了抑制噪声的影响应运而生,降噪的方式既包括提升单次梯度估计的精度,也包括提升迭代过程的精度,常用的算法包括动态采样、梯度聚合和迭代平均三类
8,动态采样和梯度聚合两类方法是通过使用固定的步长来获得线性的收敛速度,进而实现降噪;
9,迭代平均方法不是通过对梯度估计求平均,而是对每次迭代得到的参数结果求平均来实现降噪。
10,要提升随机梯度下降法的性能,还可以通过使用二阶导数近似的信息来抑制高度非线性和病态目标函数的不利影响。
11,其他随机剃度下降算法:典型的例子包括动量方法(momentum)、加速下降方法(accelerated gradient descent)和坐标下降方法(coordinate descent)。
关键字:凸优化问题,Hessian 矩阵,病态矩阵
总结重点:
1,深度学习中的优化需要解决病态矩阵、局部极小值和鞍点等问题;
2,深度学习优化中的降噪方法包括动态采样、梯度聚合和迭代平均;
3,深度学习优化中的二阶导数近似方法是对原始牛顿法的各种改进;
4,其他优化方法包括动量方法、加速下降方法和坐标下降方法。
展开