Xavier初始化保障循环神经网络稳定性 | AI生成和翻译

Home 2025.11

为什么RNN需要Xavier初始化?

RNN(循环神经网络)依赖Xavier(亦称Glorot)初始化来配置权重矩阵——包括Wxh(输入到隐藏层)、Whh(隐藏层到隐藏层,即循环权重)和Why(隐藏层到输出层)——以维持稳定的训练动态。代码中采用的高斯(正态)分布缩放形式通过sqrt(1 / fan_in)实现,其中fan_in是该层的输入神经元数量。这能将权重方差保持在1 / fan_in左右,确保输入信号不会被过度放大或压缩。

以下是这对RNN至关重要的原因,以及为什么简单的[0,1]均匀分布随机初始化会引发问题:

1. 保持跨层和跨时间步的信号方差

2. 适应层维度变化

3. 通过时间反向传播的梯度流

替代方案与[0,1]初始化可能”有效”的场景

简而言之,Xavier的核心在于稳定性优先:通过设置维度感知的适中权重,让梯度自由流动。而随机[0,1]初始化过于粗糙——就像未经动平衡就直接飙车。

延伸阅读:
理解深度前馈神经网络训练难点(Glorot & Bengio, 2010)
循环神经网络正则化(Zaremba等,关于RNN初始化问题)


Back

x-ai/grok-4-fast

Donate