zoukankan      html  css  js  c++  java
  • Pytorch学习笔记09----SGD的参数几个重要的参数:学习率 (learning rate)、Weight Decay 权值衰减、Momentum 动量

    1.学习率 (learning rate)

    学习率 (learning rate),控制模型的学习进度 :

    学习率(Learning Rate,常用η表示。)是一个超参数,考虑到损失梯度,它控制着我们在多大程度上调整网络的权重。值越低,沿着向下的斜率就越慢。虽然这可能是一个好主意(使用低学习率),以确保我们不会错过任何局部最小值;但也有可能意味着我,将耗费很久的时间来收敛——特别是当我们陷入平坦区(plateau region)的时候。

    通常,学习率是由用户随机配置的。在最好的情况下,用户可以利用过去的经验(或者其他类型的学习材料)来获得关于设置学习率最佳值的直觉。

    因此,很难做到这一点。下图演示了配置学习率时可能会遇到的不同场景。

    此外,学习率会影响模型收敛到局部最小值的速度(也就是达到最佳的精度)。因此,在正确的方向做出正确的选择,意味着我们只需更少的时间来训练模型。

    训练时,学习率的下降过程:

    学习率大小的影响:

     学习率 大学习率 小
    学习速度
    使用时间点 刚开始训练时 一定轮数过后
    副作用 1.易损失值爆炸;2.易振荡。 1.易过拟合;2.收敛速度慢。

    学习率设置

    在训练过程中,一般根据训练轮数设置动态变化的学习率。

    • 刚开始训练时:学习率以 0.01 ~ 0.001 为宜。
    • 一定轮数过后:逐渐减缓。
    • 接近训练结束:学习速率的衰减应该在100倍以上。
  • 相关阅读:
    【原创】用一个登陆的例子详细学习ObjectC基本语法
    一篇不错的讲解Java异常的文章(转载)
    在XML文件中定义动画(1)
    列表异步线程加载图片
    如何解决加载大图片时内存溢出的问题
    ImageView加载当地和网络图片
    不等号运算符<>
    vue回到顶部组件
    js实现多标签页效果
    微信小程序播放视频发送弹幕效果
  • 原文地址:https://www.cnblogs.com/luckyplj/p/13404994.html
Copyright © 2011-2022 走看看