Datawhale X 李宏毅苹果书 AI夏令营_深度学习基础学习心得Task2

本次学习主要针对自适应学习率;介绍了Adagrad,RMSprop和Adam优化器

1、为什么需要自适应学习率:

训练一个网络,在走到临界点的时候损失不再下降,而梯度并没有变得很小。相当于下坡路在两步之间,而步子迈大了,直接把下坡路跳过了,又走到上坡路上了。在这时候就需要把学习率(步幅)调低一点让梯度继续下降。

但是常规的 学习率下降方法是不够用的,我们希望在梯度大的时候走慢点,在梯度小的时候走快点,所以需要引入自适应学习率

2、Adagrad

Adagrad就可以做到上述的功能。更新公式:

其中η/σ这一项是不断更新的学习率,σ又随着迭代不断更新,新的σ来自之前每次迭代的梯度。根据公式可以看到梯度g小了,σ就小了,η/σ就大了,反之亦然。

3、RMSprop

公式:

可以看到每一阶段的σ都来自于继承于前一阶段,所以这种算法也是包含了过往所有的梯度信息,与Adagrad不同的是α是一个可以调整的超参数,可以根据需要来调整当前梯度的重要程度,如果设置α比较小,则代表比较侧重于当前梯度,在梯度下降大的时候可以很快的刹车。

4、Adam

Adam 可以看作 RMSprop 加上动量,其使用动量作为参数更新方向,并且能够自适应调整学习率。

5、学习率退火、预热

在训练后期遇到了梯度很小,而距离很近的情况时,积累的σ会变得很小,步伐会变得很大,导致往其他方向走,虽然能够修正回来,但是我们希望避免这种情况

因此引入学习率退火,即实时调整η大小,让η随着迭代不断变小,步伐也可以不断变小。

预热的方法是让学习率先变大后变小

##########################

本次学习了不同优化器调整学习率的策略,在我做课题的时候一般都是用Adam,问了别人也都说时Adam最好用,通过本次学习深入了解了它为什么好。通过查询资料了解到RMSprop更适合CNN网络,因为RMSprop 的平滑效果有助于加快收敛速度,以及RNN,因为这些模型的梯度更新具有较强的波动性;Adagrad更适合例如文本分类、自然语言处理(NLP)中的词嵌入训练等场景,因为不同的词汇或特征可能出现的频率差异很大。

相关推荐
张人玉2 小时前
人工智能——猴子摘香蕉问题
人工智能
草莓屁屁我不吃2 小时前
Siri因ChatGPT-4o升级:我们的个人信息还安全吗?
人工智能·安全·chatgpt·chatgpt-4o
小言从不摸鱼2 小时前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
AI科研视界2 小时前
ChatGPT+2:修订初始AI安全性和超级智能假设
人工智能·chatgpt
霍格沃兹测试开发学社测试人社区2 小时前
人工智能 | 基于ChatGPT开发人工智能服务平台
软件测试·人工智能·测试开发·chatgpt
小R资源3 小时前
3款免费的GPT类工具
人工智能·gpt·chatgpt·ai作画·ai模型·国内免费
artificiali5 小时前
Anaconda配置pytorch的基本操作
人工智能·pytorch·python
酱香编程,风雨兼程6 小时前
深度学习——基础知识
人工智能·深度学习
Lossya6 小时前
【机器学习】参数学习的基本概念以及贝叶斯网络的参数学习和马尔可夫随机场的参数学习
人工智能·学习·机器学习·贝叶斯网络·马尔科夫随机场·参数学习
#include<菜鸡>7 小时前
动手学深度学习(pytorch土堆)-04torchvision中数据集的使用
人工智能·pytorch·深度学习