Warmup小记中,有哪些实用的热身方法分享?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1192个文字,预计阅读时间需要5分钟。
目录- 什么是warmup- 为什么用warmup- learning rate schedule- warmup in transformer- 关于warmup参数- 什么是warmup- 热身,在刚开始训练时以很小的学习率进行训练,使网络熟悉数据,逐渐增加学习率,让网络学习更有效。
目录- 什么是warmup
- 为什么用warmup
- learning rate schedule
- learning rate schedule
- warmup in transformer
- 关于warmup参数
热身,在刚刚开始训练时以很小的学习率进行训练,使得网络熟悉数据,随着训练的进行学习率慢慢变大,到了一定程度,以设置的初始学习率进行训练,接着过了一些inter后,学习率再慢慢变小;
学习率变化:上升——平稳——下降
为什么用warmup- 有助于减缓模型在初始阶段对mini-batch的提前过拟合现象,保持分布的平稳
- 有助于保持模型深层的稳定性
可以认为,刚开始模型对数据的“分布”理解为零,或者是说“均匀分布”(当然这取决于你的初始化);在第一轮训练的时候,每个数据点对模型来说都是新的,模型会很快地进行数据分布修正,如果这时候学习率就很大,极有可能导致开始的时候就对该数据“过拟合”,后面要通过多轮训练才能拉回来,浪费时间。当训练了一段时间(比如两轮、三轮)后,模型已经对每个数据点看过几遍了,或者说对当前的batch而言有了一些正确的先验,较大的学习率就不那么容易会使模型学偏,所以可以适当调大学习率。
本文共计1192个文字,预计阅读时间需要5分钟。
目录- 什么是warmup- 为什么用warmup- learning rate schedule- warmup in transformer- 关于warmup参数- 什么是warmup- 热身,在刚开始训练时以很小的学习率进行训练,使网络熟悉数据,逐渐增加学习率,让网络学习更有效。
目录- 什么是warmup
- 为什么用warmup
- learning rate schedule
- learning rate schedule
- warmup in transformer
- 关于warmup参数
热身,在刚刚开始训练时以很小的学习率进行训练,使得网络熟悉数据,随着训练的进行学习率慢慢变大,到了一定程度,以设置的初始学习率进行训练,接着过了一些inter后,学习率再慢慢变小;
学习率变化:上升——平稳——下降
为什么用warmup- 有助于减缓模型在初始阶段对mini-batch的提前过拟合现象,保持分布的平稳
- 有助于保持模型深层的稳定性
可以认为,刚开始模型对数据的“分布”理解为零,或者是说“均匀分布”(当然这取决于你的初始化);在第一轮训练的时候,每个数据点对模型来说都是新的,模型会很快地进行数据分布修正,如果这时候学习率就很大,极有可能导致开始的时候就对该数据“过拟合”,后面要通过多轮训练才能拉回来,浪费时间。当训练了一段时间(比如两轮、三轮)后,模型已经对每个数据点看过几遍了,或者说对当前的batch而言有了一些正确的先验,较大的学习率就不那么容易会使模型学偏,所以可以适当调大学习率。

