跟李沐学AI随记-6-数值稳定性&模型初始化和激活函数

182 阅读2分钟

数值稳定性

不稳定梯度带来的风险不止在于数值表示; 不稳定梯度也威胁到我们优化算法的稳定性。

我们可能面临一些问题。 要么是梯度爆炸(gradient exploding)问题: 参数更新过大,破坏了模型的稳定收敛;

要么是梯度消失(gradient vanishing)问题: 参数更新过小,在每次更新时几乎不会移动,导致模型无法学习。(无法让神经网络更深)

对sigmoid函数

image.png 当sigmoid函数的输入很大或是很小时,它的梯度都会消失。 此外,当反向传播通过许多层时,除非我们在刚刚好的地方, 这些地方sigmoid函数的输入接近于零,否则整个乘积的梯度可能会消失。

神经网络中的对称性

  • 假设我们有一个简单的多层感知机,它有一个隐藏层和两个隐藏单元。在这种情况下,我们可以对第一层的权重W(1)进行重排列, 并且同样对输出层的权重进行重排列,可以获得相同的函数。 第一个隐藏单元与第二个隐藏单元没有什么特别的区别。 换句话说,我们在每一层的隐藏单元之间具有排列对称性

如何让训练更稳定?

  • 这确实是很麻烦的问题。
    • 目标:让梯度值在合理的范围内
    • 将乘法变加法-ResNet,LSTM
    • 归一化(梯度归一化,梯度裁剪)
    • 合适的权重初值和激活函数

权重初始化

  • 在合适区间内随机初始参数

环境和分布偏移

  • 考虑数据分布可能发生变化的各种方式,以及为挽救模型性能可能采取的措施。

  • 协变量偏移

    • 假设:虽然输入的分布可能随时间而改变, 但标签函数没有改变
      image.png
  • 标签偏移

    • 标签偏移(label shift)描述了与协变量偏移相反的问题。 这里我们假设标签边缘概率P(y)可以改变, 但是类别条件分布P(X∣y)在不同的领域之间保持不变。
    • 当我们认为y导致x时,标签偏移是一个合理的假设。 例如,预测患者的疾病,我们可以根据症状来判断, 即使疾病的相对流行率随着时间的推移而变化。
  • 概念偏移

    • 就是对同一名词,在不同场景下可能有着不同的意思