梯度

什么是梯度?

  • 梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。

  • 当函数为一维函数的时候,梯度其实就是导数。

[[梯度爆炸]] 以及 [[梯度消失]]

  • 解决方法

    • ReLU 等激活函数替代 sigmoid 函数

      • ReLU 的导数在正数部分恒等于 1
    • [[Batch Normalization]]

    • LSTM 结构设计代替 RNN

    • [[梯度裁剪]]

    • 权重正则化 [[Regularization]],通过对网络权重做正则限制过拟合

      • Loss=(yWTx)2+αW2\operatorname{Loss}=\left(\mathrm{y}-\mathrm{W}^{\mathrm{T}} \mathrm{x}\right)^2+\alpha\|\mathrm{W}\|^2

      • 发生梯度爆炸时,权值的范数就会变得非常大,通过正则化项,一直梯度爆炸的发生。

    • [[ResNet]]

[[DNN]] 不同层学习的速度差异很大,在网络中靠近输出的层学习情况很好,靠近输入的层学习很慢,有时甚至训练很久,前几层权值和刚开始随机初始化的值差不多。梯度消失、爆炸的根本原因在于反向传播训练法则。

image.png

作者

Ryen Xiang

发布于

2024-10-05

更新于

2024-10-05

许可协议


网络回响

评论