版权声明:https://blog.csdn.net/z0n1l2 https://blog.csdn.net/z0n1l2/article/details/85858338
输入
Xi=(xi0,xi1,...,xi(n−1))
i∈[0,m−1] batch-size等于m,特征维度n
输出
Yi=(yi0,yi1,...,yi(n−1))
i∈[0,m−1] 维度和输入
X一致
前向计算
-
均值
μ=μ0,μ1,...,μn 其中
μp=m1∑ixip
-
方差
σ=σ0,σ1,...,σn 其中
σp=m1∑i(xip−μp)2
-
中间结果
xip=σp2+ϵ
xip−μp
-
结果
yip=γpxip+βp 其中
参数
γ=γ0,γ1,...,γn−1 和
β=β0,β1,...,βn−1
是learnable parameters
反向计算
∂xij∂O=kl∑∂ykl∂O∂xij∂ykl=kl∑∂ykl∂O∂xij∂ykl∂xij∂xij=kl∑∂ykl∂Oγl∂xij∂xij(1)
∂xij∂xij=σl2+ϵ∂xij∂(xkl−μl)σl2+ϵ
−∂xij∂σl2+ϵ
(xkl−μl)(2)
∂xij∂(xkl−μl)=δkiδlj−δljm1(3)
其中
δpq={1p=q0else
这个符号可以替代推导过程中的if-else,遇到求和号可以消除
∂xij∂σl2+ϵ
=m1σl2+ϵ
1δlj(xil−μl)(4)
(3)(4)带入(2)得到
∂xij∂xij=δljσl2+ϵ(δki−m1)σl2+ϵ
−mσl2+ϵ
1(xkl−μl)(xil−μl)
上式带入公式(1)得到
∂xij∂O=mσj2+ϵ
(σj2+ϵ)γj((σj2+ϵ)(m∂yjj∂O−k∑∂ykj∂O)−(xij−μj)(xkj−μj)k∑∂ykj∂O)(done)