知识|深度学习开源框架caffe中的这些超参数你知道吗 前端信息 百家号|05-29 00:54 关注

来源:互联网 发布:ubuntu anaconda 启动 编辑:程序博客网 时间:2024/06/11 03:09

from:https://baijiahao.baidu.com/po/feed/share?wfr=spider&for=pc&context=%7B%22sourceFrom%22%3A%22bjh%22%2C%22nid%22%3A%22news_3960259049607189919%22%7D

配置文件中的参数:
base_lr: 0.001lr_policy: "step"gamma: 0.1stepsize: 50000display: 20average_loss: 100momentum: 0.9weight_decay: 0.0005
一、前四个参数都是关于学习率的设置,初始设置大小为0.001,方式为step;
二、average_loss,是指你在命令行中看到的第一个loss,是100次的平均;
三、weight decay(权值衰减)的使用既不是为了提高收敛精确度也不是为了提高收敛速度,其最终目的是防止过拟合。
在损失函数中,weight decay是放在正则项(regularization)前面的一个系数,正则项一般指示模型的复杂度,所以weight decay的作用是调节模型复杂度对损失函数的影响,若weight decay很大,则复杂的模型损失函数的值也就大。
四、momentum是梯度下降法中一种常用的加速技术。对于一般的SGD,其表达式为:
其中x沿负梯度方向下降。而带momentum项的SGD则写生如下形式:
其中β即momentum系数,通俗的理解上面式子就是,如果上一次的momentum与这一次的负梯度方向是相同的,那这次下降的幅度就会加大,所以这样做能够达到加速收敛的过程。
五、normalization,batch normalization的是指在神经网络中激活函数的前面,将
按照特征进行normalization,这样做的好处有三点:
1、提高梯度在网络中的流动。Normalization能够使特征全部缩放到[0,1],这样在反向传播时候的梯度都是在1左右,避免了梯度消失现象。
2、提升学习速率。归一化后的数据能够快速的达到收敛。
3、减少模型训练对初始化的依赖。

原创粉丝点击