美文网首页我爱编程嵌牛IT观察
深度学习超参数简单理解

深度学习超参数简单理解

作者: F_DM_fk | 来源:发表于2017-12-03 12:16 被阅读0次

姓名:冯坤 学号:16050310070 物理与光电工程学院

【嵌牛导读】:说到这些参数就会想到Stochastic Gradient Descent (SGD)!其实这些参数在caffe.proto中 对caffe网络中出现的各项参数做了详细的解释。

【嵌牛鼻子】:深度学习超参数

【嵌牛提问】:深度学习超参数该如何理解?

【嵌牛正文】:

深度学习超参数简单理解 Learning Rate

学习率决定了权值更新的速度,设置得太大会使结果超过最优值,太小会使下降速度过慢。仅靠人为干预调整参数需要不断修改学习率,因此后面3种参数都是基于自适应的思路提出的解决方案。后面3中参数分别为:Weight Decay 权值衰减,Momentum 动量和Learning Rate Decay 学习率衰减。

深度学习超参数简单理解

Weight decay

在实际应用中,为了避免网络的过拟合,必须对价值函数(Cost function)加入一些正则项,在SGD中加入

这一正则项对这个Cost function进行规范化:

深度学习超参数简单理解

上面这个公式基本思想就是减小不重要的参数对最后结果的影响,网络中有用的权重则不会收到Weight decay影响。

在机器学习或者模式识别中,会出现overfitting,而当网络逐渐overfitting时网络权值逐渐变大,因此,为了避免出现overfitting,会给误差函数添加一个惩罚项,常用的惩罚项是所有权重的平方乘以一个衰减常量之和。其用来惩罚大的权值。

Momentum

动量来源于牛顿定律,基本思想是为了找到最优加入“惯性”的影响,当误差曲面中存在平坦区域,SGD就可以更快的学习。

深度学习超参数简单理解

Learning Rate Decay

该方法是为了提高SGD寻优能力,具体就是每次迭代的时候减少学习率的大小。

深度学习超参数简单理解

接下来是我在知乎查询到的一点资料(整理了供大家参考学习):

weight decay(权值衰减)的使用既不是为了提高收敛精确度也不是为了提高收敛速度,其最终目的是防止过拟合。在损失函数中,weight decay是放在正则项(regularization)前面的一个系数,正则项一般指示模型的复杂度,所以weight decay的作用是调节模型复杂度对损失函数的影响,若weight decay很大,则复杂的模型损失函数的值也就大。

momentum是梯度下降法中一种常用的加速技术。对于一般的SGD,其表达式为

深度学习超参数简单理解

,沿负梯度方向下降。而带momentum项的SGD则写生如下形式:

深度学习超参数简单理解

其中

即momentum系数,通俗的理解上面式子就是,如果上一次的momentum(即

)与这一次的负梯度方向是相同的,那这次下降的幅度就会加大,所以这样做能够达到加速收敛的过程。

normalization(batch normalization)。batch normalization的是指在神经网络中激活函数的前面,将

按照特征进行normalization,这样做的好处有三点:

提高梯度在网络中的流动。Normalization能够使特征全部缩放到[0,1],这样在反向传播时候的梯度都是在1左右,避免了梯度消失现象。

提升学习速率。归一化后的数据能够快速的达到收敛。

减少模型训练对初始化的依赖。

相关文章

  • 深度学习超参数简单理解

    姓名:冯坤 学号:16050310070 物理与光电工程学院 【嵌牛导读】:说到这些参数就会想到Stochasti...

  • 深度网络调参

    重要的超参数 深度学习网络有很多超参数,下面列出了一些比较重要,常常需要调节的超参数。 最重要学习率 较重要min...

  • 【DL碎片4】深度学习中的的超参数调节

    深度学习中的的超参数调节 我们平时一直都在说“调参、调参”,但实际上,不是调“参数”,而是调“超参数”。 一、参数...

  • 深度模型训练方法

    深度模型拥有很多超参: 学习步长:alpha momentum 梯度下降参数:beta Adam 梯度下降参数:b...

  • 深度神经网络超参

    模型的参数:就是模型可以根据数据可以自动学习出的变量,应该就是参数。比如,深度学习的权重,偏差等超参数:就是用来确...

  • 如何让你的Python项目变得更优雅

    yacs--Python项目配置系统 最近深度学习的项目准备上线,但是做深度学习的小伙伴都会被网络中的众多超参数弄...

  • 如何使用prune_low_magnitude实现模型剪枝?

    首先,理解深度学习模型剪枝的理论基础:深度学习模型,存在着大量冗余地节点(过参数化,Over-parameters...

  • 神经网络训练中,Epoch、Batch Size和iterati

    在我们进行深度学习时,会设置epoch,Batch size、iteration等参数,这些参数的概念与理解至关重...

  • 深度学习入门--超参数优化

    神经网络中,除了权重偏置等参数,超参数也是一个很重要的概念。权重偏置可以通过学习自动更新,而超参数必须人为设定。 ...

  • 训练集/验证集/测试集的区别

    深度学习模型的参数分为普通参数和超参数: 普通参数:在模型训练的过程中可以被梯度下降所更新的,也就是训练集所更新的...

网友评论

    本文标题:深度学习超参数简单理解

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