• deeplearning 重要调参参数分析


    reference: https://blog.csdn.net/jningwei/article/details/79243800

    learning rate:学习率,控制模型的学习进度,决定权值更新的速度。也叫做步长,即反向传播算法的 

                                           

      学习率的设置

         在训练开始时,根据迭代次数动态设置学习率。

         刚开始时,学习率以0.01~0.001 为宜,一定轮数后,开始下降,在快结束时学习率的衰减应该在100倍以上。由于迁移学习,模型已在原始数据上收敛,应设置较小的学习率(<= 0.00001),

    在新数据上进行微调。

     学习率缓解机制

       

    目标函数损失值看lr

     理想情况下的损失曲线应该是滑梯式的,绿线所示:

    分析 :红线一开始就上扬,说明初始学习率过大,从而导致震荡,应该减小学习率。

                黄线初始学习率较小,loss曲线收敛缓慢,易过拟合,应增大初始学习率。

                紫线初始学习率过大,导致无法过拟合,应减小学习率。

    权重衰减 

                为了避免网络的过拟合,对cost function引入正则项,作用是减小不重要参数对最后结果的影响,有用的权重不会受到weight decay的影响。过拟合时权重值逐渐变大,在loss function增加一个惩罚项。不是为了提高收敛速度或是收敛精度,正则项指示模型的复杂度,权重衰减调节模型复杂度对损失函数的影响。

                                 

         

    Momentum

               基本思想是为了找到最优加入“惯性”的影响,当误差曲面中存在平坦区域时,SGD可以更快的学习。

                                 

    Learning Rate Decay

               目的是为了提高SGD的寻优化能力,每次迭代的时候减小学习率的大小。

    BN的好处:BN在NeuralNetwork 的激活函数之前,将wx+b按照特征进行标准化处理。

                       1.Normalization可以使特征缩放至【0,1】,在反向传播时梯度在1左右,避免梯度消失。

                       2.提高学习速率,标准化后更快达到收敛。

                       3.减少模型对初始化的依赖。

     batch大小的作用

                batch决定梯度下降的方向。如果batch size为全体数据集,则确定的方向可以更好的代表样本总体,更加准确的朝向极值的方向。缺点是内存的限制。

       如果设置为1,即为在线学习,每次修正方向都以各自样本的梯度方向修正,难以收敛。

                在合理的范围内增大batch_size可以提高内存利用率,减少跑完整个数据集的所需要的迭代次数,加快了相对于相同数据量的处理速度。一般设置为8的倍数。

               

  • 相关阅读:
    rsync同步公网yum源搭建本地yum仓库
    为smokeping添加日志开启debug
    python中if __name__ == '__main__':的作用
    使用telnet访问百度
    RRDtool绘制lvs连接数图形
    HTML表格
    ip netns
    redis动态扩展内存
    route命令
    设置nginx日志滚动
  • 原文地址:https://www.cnblogs.com/fourmi/p/9828489.html
Copyright © 2020-2023  润新知