【调优方法】——warmup

【调优方法】——warmup学习率是模型训练中最重要的超参之一,针对学习率的优化有很多种方法,而warmup是其中重要的一种。1.什么是warmupwarmup是一种学习率优化方法(最早出现在ResNet论文中)。在模型训练之初选用较小的学习率,训练一段时间之后(如:10epoches或10000steps)使用预设的学习率进行训练;2.为什么使用warmup2.1理性分析因为模型的weights是随机初始…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

学习率是模型训练中最重要的超参之一,针对学习率的优化有很多种方法,而warmup是其中重要的一种。

1. 什么是warmup

warmup是一种学习率优化方法(最早出现在ResNet论文中)。在模型训练之初选用较小的学习率,训练一段时间之后(如:10epoches或10000steps)使用预设的学习率进行训练;

2. 为什么使用warmup

2.1 理性分析

  1. 因为模型的weights是随机初始化的,可以理解为训练之初模型对数据的“理解程度”为0(即:没有任何先验知识),在第一个epoches中,每个batch的数据对模型来说都是新的,模型会根据输入的数据进行快速调参,此时如果采用较大的学习率的话,有很大的可能使模型对于数据“过拟合”(“学偏”),后续需要更多的轮次才能“拉回来”;
  2. 当模型训练一段时间之后(如:10epoches或10000steps),模型对数据具有一定的先验知识,此时使用较大的学习率模型就不容易学“偏”,可以使用较大的学习率加速模型收敛
  3. 当模型使用较大的学习率训练一段时间之后,模型的分布相对比较稳定,此时不宜从数据中再学到新特点,如果仍使用较大的学习率会破坏模型的稳定性,而使用小学习率更容易获取local optima

2.2 感性分析

  1. 刚开始模型对数据完全不了解,这个时候步子太大,容易扯着dan,此时需要使用小学习率摸着石头过河
  2. 对数据了解了一段时间之后,可以使用大学习率朝着目标大步向前
  3. 快接近目标时,使用小学习率进行探索,此时步子太大,容易错过最近点

3. 常用的warmup

3.1 Constant Warmup

学习率从非常小的数值线性增加到预设值之后保持不变,其学习率的系数如下图所示:
在这里插入图片描述

3.2 Linner Warmup

学习率从非常小的数值线性增加到预设值之后,然后再线性减小。其学习率的系数如下图所示。
在这里插入图片描述

3.3 Cosine Warmup

学习率先从很小的数值线性增加到预设学习率,然后按照cos函数值进行衰减。其学习率系数如下图所示。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201118.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WinRAR去除广告

    WinRAR去除广告WinRAR5.40去除广告方法,屏蔽广告弹窗方法,亲测有效winrar5.50去广告教程(仅供学习使用)[Windows]自己动手winRAR去广告删代码

    2022年4月30日
    34
  • python文本框事件_文本框事件

    python文本框事件_文本框事件1、文本框焦点问题onBlur:当失去输入焦点后产生该事件onFocus:当输入获得焦点后,产生该文件Onchange:当文字值改变时,产生该事件OnseleCT:当文字加亮后,产生该文件onkeyup:每改变,就产生该文件onfocus=”if(value==’文本框里的字’){value=”}”onblur=”if(value==”){value=’文本框里的字’}”>点击时文字…

    2022年10月22日
    0
  • 滑动平均值滤波_m点滑动平均滤波器

    滑动平均值滤波_m点滑动平均滤波器   关于数据采集的滑动平均值滤波的算法      —王超杰    以ADC为例,采集口的模拟量可能夹杂着不同频段,不同峰值的干扰信号,这些干扰信号和要采集的模拟量互相干扰,那么ADC采集的数据量就会偏移原有的真实结果。那么通过硬件与数字滤波两种手段可大大减少采集误差,提高精度。    一般滤波均通过程序算法滤除,其包括去极值滤波、算术平均值滤波、滑动平均值滤波、加…

    2025年7月6日
    1
  • Stack栈的三种含义

    Stack栈的三种含义

    2021年12月7日
    57
  • c++视频转字符画_c++字符数组转化为字符串

    c++视频转字符画_c++字符数组转化为字符串运行此程序需要有graphics图形库#include <stdio.h>#include <graphics.h> // 图形库的头文件#define HEIGHT 8 // 转换后的高度#define WIDTH 8 // 转换后的宽度#define ASCII1 32 // 转换ASCII数量struct ASCII{ char as…

    2022年8月18日
    3
  • 常用电脑密码破解实用技巧

    常用电脑密码破解实用技巧

    2021年7月24日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号