动手学深度学习v2补充解释

动手学深度学习v2

个人不理解的地方,进行一些原理的证明或是详细解释。

每层的输出和梯度都看作随机变量,让他们的均值和方差都保持一致

来源:14 模型初始化和激活函数

如果每层的输出和梯度都具有相同的均值和方差,那么在反向传播过程中,梯度会保持相同的比例。这样,梯度值在各层之间就不会发生太大的变化,从而减轻梯度消失或爆炸的问题。

假设每层的输出和梯度都具有相同的均值和方差,即: $$E[h^t] = E[g^t] = 0$$ $$Var[h^t] = Var[g^t] = \sigma^2$$ 在反向传播过程中,梯度是通过链式法则计算的: $$g^{t-1} = \frac{d}{dh^{t-1}} L(h^t, y)$$ 其中,$L$ 是损失函数。 根据链式法则,我们有: $$g^{t-1} = \sigma’(W^th^{t-1}) W^t$$ 其中,$\sigma$ 是激活函数。 由于 $h^{t-1}$ 和 $g^t$ 都具有相同的均值和方差,因此 $\sigma’(W^th^{t-1})$ 也具有相同的均值和方差。 因此,我们有: $$E[g^{t-1}] = \sigma’(0) E[W^t] = 0$$ $$Var[g^{t-1}] = \sigma’^2(0) Var[W^t] = \sigma^2$$ 因此,在反向传播过程中,梯度的均值保持为零,而梯度的方差保持为 $\sigma^2$。 也就是说,在反向传播过程中,梯度会保持相同的比例。

-------------未完待续欢迎下次光临-------------
谢谢你想打赏的心~