深度学习优化器与正则化方法解析
1. 动量梯度下降法
在训练过程中,使用带有动量的小批量梯度下降法(Mini - batch Gradient Descent with Momentum)。它比普通小批量梯度下降法的曲线更具噪声,因为动量有时会使我们越过目标位置,导致误差出现峰值。在测试数据中,单纯使用小批量随机梯度下降(SGD)大约需要5000个周期才能使误差接近0,而使用动量法,仅需600多个周期就能达到相近效果。
动量法虽能帮助我们更快学习,但也带来新问题,即选择动量值γ。我们可以凭借经验和直觉选取该值,也可通过超参数搜索来找到能带来最佳结果的值。
2. Nesterov动量法
动量法让我们借助过去的信息辅助训练,而Nesterov动量法的核心思想是展望未来。它不仅使用当前位置的梯度,还会使用预期下一步到达位置的梯度,利用“未来的梯度”来辅助当前训练。
具体步骤如下:
1. 假设权重初始在位置A,最近一次更新后到达位置B。
2. 找到从A到B的变化量m,并将其按γ缩放。
3. 不直接计算B点的梯度,而是先将缩放后的动量加到B上,得到“预测”误差P,这是对下一步在误差曲面上位置的估计。
4. 计算P点的梯度g,并按常规缩放得到ηg。
5. 将缩放后的动量γm和缩放后的梯度ηg加到B上,得到新点C。
Nesterov动量法实际上是动量技术的升级版,虽仍需选择γ值,但无需新增其他参数,通常学习速度更快且噪声更小。
3. Adagrad算法
Adagrad(自适应梯度学习)算法的主要作用是为每个权重自适应地调整梯度大小,实现逐
深度学习优化器与正则化方法详解
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



