zoukankan      html  css  js  c++  java
  • 学习率

    1. 学习率:

      学习率(Learning rate)作为监督学习以及深度学习中重要的超参,其决定着目标函数能否收敛到局部最小值以及何时收敛到最小值。合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。

    2. 学习率举例:

      这里以梯度下降为例,来观察一下不同的学习率对代价函数的收敛过程的影响(这里以代价函数为凸函数为例):
      回顾一下梯度下降的代码:
          

      当学习率设置的过小时,收敛过程如下:

      

       当学习率设置的过大时,收敛过程如下:

      

       因此可知,当学习率设置的过小时,收敛过程将变得十分缓慢。而当学习率设置的过大时,梯度可能会在最小值附近来回震荡,甚至可能无法收敛。

    3. 学习率的调整:

    选择一个合适的学习率,对于模型的训练将至关重要。下面来了解一些学习率调整的方法:

    2.1 离散下降(discrete staircase)

      对于深度学习来说,每 轮学习,学习率减半。对于监督学习来说,初始设置一个较大的学习率,然后随着迭代次数的增加,减小学习率。

    2.2 指数减缓(exponential decay)

      对于深度学习来说,学习率按训练轮数增长指数差值递减。例如:

     

      又或者公式为:

     

      其中epoch_num为当前epoch的迭代轮数。不过第二种方法会引入另一个超参 k 。

    2.3 分数减缓(1/t decay)

     对于深度学习来说,学习率按照公式      变化, decay_rate控制减缓幅度。

  • 相关阅读:
    MQ消息队列(2)—— Java消息服务接口(JMS)
    MQ消息队列(1)—— 概念和使用场景
    SpringBoot — HelloWorld开发部署
    redis的配置文件介绍
    Redis info 参数详解
    10 分钟彻底理解 Redis 的持久化和主从复制
    Docker Yearning + Inception SQL审核平台搭建
    Inception SQL审核注解
    运行python脚本后台执行
    解决yum [Errno 256] No more mirrors to try
  • 原文地址:https://www.cnblogs.com/skzxc/p/13301070.html
Copyright © 2011-2022 走看看