在有关权重初始化文献的许多来源中,我发现保持激活通过层保持稳定是一个好主意,即确保它们在通过层时保持大致相同的大小/数量级。有时暗示这与避免梯度爆炸或消失有关。
例如在这篇博客文章中:
在向前的步骤中,激活(然后是梯度)可以很快变得非常大或非常小——这是因为我们重复了很多矩阵乘法。这些影响中的任何一个对训练都是致命的。
但为什么?对我来说,这似乎是不合理的,我不明白为什么不稳定的激活会意味着不稳定的梯度。我唯一能想到的是,如果我们有一条权重为的边将激活的节点连接到具有预激活的节点,我们有以下公式:
仅仅是因为激活出现在该公式中吗?我不确定,因为我发现没有任何来源明确说明这一点。但是如果微分抵消了的影响,例如当我们通过层时激活变得非常大,但微分变得非常小,并且它取消了吗?