欢迎光临散文网 会员登陆 & 注册

06 深度学习之相关技巧

2020-03-24 00:08 作者:荟呀荟学习  | 我要投稿

1.参数的更新

        神经网络的学习的目的是找到使损失函数的值尽可能小的参数,解决这个问题的过程称为最优化。

  • SGD

        随机梯度下降法的缺点:如果函数的形状非均向(anisotropic),比如呈延伸状,搜索的路径就会非常低效。SGD低效的根本原因是,梯度的方向并没有指向最小值的方向。

  • Momentum(动量)

        Momentum参照小球在碗中滚动的物理规则进行移动。

αv:对应物理上的地面摩擦或空气阻力,α设定为 0.9之类的值。η:表示学习率。偏L/偏W表示损失函数关于 W的梯度
  • AdaGrad

        AdaGrad为参数的每个元素适当地调整更新步伐。

        (1)学习率衰减方法

        即随着学习的进行,使学习率逐渐减小。AdaGrad会为参数的每个元素适当地调整学习率,与此同时进行学习。

        (2)数学式

偏L/偏W表示损失函数关于 W的梯度,η表示学习率,h保存了以前的所有梯度值的平方和,圆心符号表示对应矩阵元素的乘法

        (3)参数更新

在更新参数时,通过乘以1/根号h,就可以调整学习的尺度。可以按参数的元素进行学习率衰减,使变动大的参数的学习率逐渐减小。

  • Adam

        直观地讲,就是融合了 Momentum和 AdaGrad的方法,实现参数空间的高效搜索。

  • 各优化方法的比较图

各优化方法的比较图

2.权重的初始值

  • 隐藏层的激活值的分布,层次加深的深度学习中,梯度消失的问题可能会更加严重。

  • ReLU的权重初始值

3.Batch Normalization

  • 优点:

    (1)可以使学习快速进行(可以增大学习率)。

    (2)不那么依赖初始值(对于初始值不用那么神经质)。

    (3)抑制过拟合(降低Dropout等的必要性)。

  • 数学式

一开始 γ = 1,β = 0,然后再通过学习调整到合适的值。
  • 结论

    通过使用 Batch Norm,可以推动学习的进行。并且,对权重初始值变得健壮(“对初始值健壮”表示不那么依赖初始值)。

3.正则化

  • 过拟合

    模型拥有大量参数、表现力强。训练数据少。

  • 权值衰减

    权值衰减是一直以来经常被使用的一种抑制过拟合的方法,该方法通过在学习的过程中对大的权重进行惩罚,来抑制过拟合。

    解决方法:L2范数的权值衰减方法。

  • Dropout

    Dropout是一种在学习的过程中随机删除神经元的方法选出隐藏层的神经元,然后将其删除。Dropout 将集成学习的效果(模拟地)通过一个网络实现了。

4.超参数的验证

  • 超参数

    比如各层的神经元数量、batch大小、参数更新时的学习率或权值衰减等。

  • 验证数据

    调整超参数时,必须使用超参数专用的确认数据。训练数据用于参数(权重和偏置)的学习,验证数据用于超参数的性能评估。

  • 超参数的最优化

    步骤0  设定超参数的范围。

    步骤1  从设定的超参数范围中随机采样。

    步骤2  使用步骤1中采样到的超参数的值进行学习,通过验证数据评估识别精度(但是要将epoch设置得很小)。

    步骤3  重复步骤1和步骤2(100次等),根据它们的识别精度的结果,缩小超参数的范围。


06 深度学习之相关技巧的评论 (共 条)

分享到微博请遵守国家法律