NNDL 实验八 网络优化与正则化(3)不同优化算法比较

目录

7.3 不同优化算法的比较分析

7.3.1 优化算法的实验设定

7.3.1.1 2D可视化实验

7.3.1.2 简单拟合实验

7.3.2 学习率调整

7.3.2.1 AdaGrad算法

7.3.2.2 RMSprop算法

7.3.3 梯度估计修正

7.3.3.1 动量法

7.3.3.2 Adam算法

7.3.4 不同优化器的3D可视化对比

【选做题】


7.3 不同优化算法的比较分析

飞桨AI Studio - 人工智能学习与实训社区 (baidu.com)

除了批大小对模型收敛速度的影响外,学习率梯度估计也是影响神经网络优化的重要因素。

神经网络优化中常用的优化方法也主要是如下两方面的改进,包括:

  • 学习率调整:通过自适应地调整学习率使得优化更稳定。AdaGrad、RMSprop、AdaDelta算法等。
  • 梯度估计修正:通过修正每次迭代时估计的梯度方向来加快收敛速度。动量法、Nesterov加速梯度方法等。

本节还会介绍综合学习率调整和梯度估计修正的优化算法,如Adam算法

7.3.1 优化算法的实验设定

7.3.1.1 2D可视化实验

为了更好地展示不同优化算法的能力对比,我们选择一个二维空间中的凸函数,然后用不同的优化算法来寻找最优解,并可视化梯度下降过程的轨迹

NNDL 实验八 网络优化与正则化(3)不同优化算法比较_第1张图片

7.3.1.2 简单拟合实验

这里我们随机生成一组数据作为数据样本,再构建一个简单的单层前馈神经网络,用于前向计算。

Paddle API对比,验证正确性

分别实例化自定义SimpleBatchGD优化器和调用paddle.optimizer.SGD API, 验证自定义优化器的正确性。

7.3.2 学习率调整

7.3.2.1 AdaGrad算法

7.3.2.2 RMSprop算法

7.3.3 梯度估计修正

7.3.3.1 动量法

用之前积累动量来替代真正的梯度。每次迭代的梯度可以看作加速度。

7.3.3.2 Adam算法

Adam算法(自适应矩估计算法)可以看作动量法RMSprop算法的结合,不但使用动量作为参数更新方向,而且可以自适应调整学习率。

7.3.4 不同优化器的3D可视化对比

百度AI Studio课程_学习成就梦想,AI遇见未来_AI课程 - 百度AI Studio - 人工智能学习与实训社区 (baidu.com)

 NNDL 实验八 网络优化与正则化(3)不同优化算法比较_第2张图片

【选做题】

  1. 编程实现下面的动画
  2. 在动画中增加Adam
  3. 分析解释这个动画

NNDL 实验八 网络优化与正则化(3)不同优化算法比较_第3张图片

CS231n Convolutional Neural Networks for Visual Recognition

你可能感兴趣的:(DeepLearning,算法,人工智能)