17: 初始化/归一化

在这一课中,我们讨论了神经网络中权重初始化的重要性,并探索了各种改进训练的技术。我们首先介绍 miniai 库的更改,并演示如何使用 HooksCallback 和 ActivationStats 进行更好的可视化。然后,我们深入探讨了神经网络中拥有零均值和单位标准差的重要性,并介绍了 Glorot (Xavier) 初始化方法。

我们还涵盖了方差、标准差和协方差,以及它们在理解数据点之间关系中的重要性。我们创建了一个新颖的广义 ReLU 激活函数,并讨论了用于初始化任何神经网络的逐层序列单位方差 (LSUV) 技术。我们探索了归一化技术,如层归一化 (Layer Normalization) 和批量归一化 (Batch Normalization),并简要提及了其他归一化方法,如实例归一化 (Instance Norm) 和组归一化 (Group Norm)。

最后,我们通过实验不同的批量大小、学习率以及 Accelerated SGD、RMSProp 和 Adam 等优化器来提高性能。

讨论的概念

  • Callback 类和 TrainLearner 子类
  • HooksCallback 和 ActivationStats
  • Glorot (Xavier) 初始化
  • 方差、标准差和协方差
  • 广义 ReLU 激活函数
  • 逐层序列单位方差 (LSUV)
  • 层归一化和批量归一化
  • 实例归一化和组归一化
  • Accelerated SGD、RMSProp 和 Adam 优化器
  • 批量大小和学习率实验

视频

本课论文