What does the gradient flowing through batch normalization looks like ?
反向传播梯度下降权值参数更新公式的推导全依赖于复合函数求梯度时的链式法则。
1. Batch Normalization
给定输入样本
Batch Normalization 的过程如下:
仿射变换(affine transformation)
h=XW+b
显然h∈RN×H batch normalization 变换:
y=γh^+β 其中
γ,β 是待学习的参数,h^ 是h 去均值和方差归一化的形式:h^=(h−μ)(σ2+ϵ)−1/2 进一步其标量形式如下:
hˆkl=(hkl−μl)(σ2l+ϵ)−1/2
l={1,…,H} ,μ 和σ 分别是对矩阵h∈RN×H 的各个属性列,求均值和方差,最终构成的均值向量和方差向量。μl=1N∑phpl,σ2l=1N∑p(hpl−μl)2
2. ∂L∂h,∂L∂γ,∂L∂β 的计算
首先我们来看损失函数
又由于:
由链式法则可知:
显然其中
又由于:
所以:
根据