美文网首页
余弦退火+周期性重启+warm-up

余弦退火+周期性重启+warm-up

作者: 星光下的胖子 | 来源:发表于2021-04-20 18:03 被阅读0次

一、概念

余弦退货
\eta_t = \eta_{min} + \frac{1}{2}(\eta_{max}-\eta_{min})(1 + \cos(\frac{T_{cur}}{T_{i}}\pi))

学习率预热warm-up:开始训练时,使用一个较小的学习率。

  • 权重初始化是随机的,若一开始使用一个较大的学习率,可能带来模型的不稳定。

二、代码实现

import numpy as np
import matplotlib.pyplot as plt

def lr_schedule_cosine(lr_min, lr_max, per_epochs):
    def compute(epoch):
        return lr_min + 0.5 * (lr_max - lr_min) * (1 + np.cos(epoch / per_epochs * np.pi))
    return compute

# 余弦退火策略
draw_x = np.arange(300)
draw_y1 = list(map(lr_schedule_cosine(1e-4, 1e-1, 300), draw_x))
draw_y2 = list(map(lr_schedule_cosine(1e-4, 1e-1, 150), draw_x))
plt.subplot(121), plt.plot(draw_x, draw_y1, "b-")
plt.subplot(122), plt.plot(draw_x, draw_y2, "r-")
plt.show()

# 周期性重启
draw_x = np.arange(300)
draw_y = list(map(lr_schedule_cosine(1e-4, 1e-1, 100), draw_x % 100))
plt.plot(draw_x, draw_y, "b-")
plt.show()

# 学习率预热warm-up:初始训练时,使用一个较小的学习率
# 这是一个简单的warm-up策略,你可以进一步优化
lr_warm_up_alpha = 1e-2  # 学习率的初始warm-up系数
lr_warm_up_schedule = {  # warm-up策略
    5: 3e-2,   # epoch=5时,系数为0.03
    10: 1e-1,  # epoch=10时,系数为0.1
    15: 3e-1,  # epoch=15时,系数为0.3
    20: 1      # epoch=20时,回归cosine,所以系数为1
}
def get_lr(epoch):
    global lr_warm_up_alpha
    if epoch in lr_warm_up_schedule:
        lr_warm_up_alpha = lr_warm_up_schedule[epoch]
    lr_select = lr_schedule_cosine(1e-4, 1e-1, 100)(epoch % 100)
    return lr_select * lr_warm_up_alpha
draw_x = np.arange(300)
draw_y = list(map(get_lr, draw_x))
plt.plot(draw_x, draw_y, "b-")
plt.show()

可视化结果:

相关文章

  • 余弦退火+周期性重启+warm-up

    一、概念 余弦退货: 学习率预热warm-up:开始训练时,使用一个较小的学习率。 权重初始化是随机的,若一开始使...

  • 热身组合 V0.2

    Warm-up A: --动作演示3轮,每个动作30秒 Warm-up B: --动作演示3轮,每个动作30秒 W...

  • 模型评估——余弦距离的应用

    余弦相似度和余弦距离: 余弦相似度取值范围为[-1,1] 余弦距离:1-余弦相似度,取值为 [0,2] 余弦距离和...

  • Warm-up

    (外事秘书接老板前的通知信函,确认信息及告知安排) Dear David, This is Hala from E...

  • Apline容器启动Crontab任务

    Dockerfile 例子: 如果只关心周期性运行,可以使用重启机制来实现docker-compose.yml 例子:

  • Pod健康检查

    探针 探针有两种: livenessProbe:周期性检查 Pod 资源是否存活,若失败将重启容器。 readin...

  • 今日试讲问题总结

    warm-up watch a video and try to answer 1.what were they ...

  • 余弦相似度计算

    1. 余弦相似度: 余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角余弦值来评估他们的相似度。余弦相似度将向...

  • 玻璃器皿退火炉网带@客户下错订单的退火炉网带

    玻璃器皿退火炉网带@客户下错订单的退火炉网带 退火炉和烤花炉都是玻璃厂制作玻璃器皿常用的设备,退火炉的质量,寿命,...

  • 退火炉网带@玻璃退火炉网带@退火炉网带厂家

    退火炉网带@玻璃退火炉网带@退火炉网带厂家 今天来谈一谈关于玻璃器皿退火炉网带的价格 很多客户来询价的时候,上来就...

网友评论

      本文标题:余弦退火+周期性重启+warm-up

      本文链接:https://www.haomeiwen.com/subject/klwnlltx.html