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

本文探讨了神经网络优化中的关键因素——学习率和梯度估计,详细介绍了AdaGrad、RMSprop、动量法及Adam等优化算法。通过2D可视化实验和简单拟合展示不同算法的性能,并提供了3D可视化对比。实验旨在帮助理解各种优化器如何影响模型收敛速度和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

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、付费专栏及课程。

余额充值