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可视化实验

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

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)

 

【选做题】

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

CS231n Convolutional Neural Networks for Visual Recognition

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值