Change Landscape
将崎岖的 error surface “铲平”。
当不同的 dimension 差距比较大的时候,就容易导致 error surface 在不同的方向上陡峭程度不同。体现在 $wx$ 对 $L$ 的影响上。
Feature Normalization
注意到时每个 dimension 而不是每个 sequence。
每一层都要做。
不会把所有的 data 都算进去,而是只算一个 batch。
所以被称作 batch normalization。
往里面加 $\beta$ 和 $\gamma$ 来防止平均是 0 对训练造成的影响?
也可以中途加入。
添加自由度?
往往有帮度。
关于 Testing 的时候的 normalization。
由于训练的时候用的是一整个 batch,那么 Testing 的时候怎么办?也要一整个 batch 么?
在 training 的时候计算 moving average。
然后在 Testing 的时候就用这个算好的。
如果用在 CNN 上:1502.03167
Internal Covariate Shift? 可能是错误的解释。为什么好?1805.11604。
可能是一种偶然的发现,还有别的方法解决之前提到的不平整问题。还有一些别的 normalization 的方法。