前言
在一个网络中, 如果训练数据的分布同测试数据时, 训练最有效率, 因为此时根据训练数据计算出的梯度最接近真实的梯度, 因此使用此梯度对参数进行优化最高效.
推理
神经网络的目的就是输入一批数据, 根据这批数据的分布, 预测真实数据的分布, 我们一般将这里的数据数据称之为训练数据.
如果把第一层, 也就是最底层网络去掉, 剩下的网络称之为 子网络 , 那么 子网络 的目的与原网络相同, 同样是输入一批数据, 根据这批数据的分布, 预测真实数据的分布, 而这里的输入数据就是训练数据经过第一层网络后的输出数据, 此时目的不变, 那么同样适用上面那个原则, 即输入数据的分布于测试数据的分布越接近, 那么该网络的优化越高效. 依此类推, 这个结论适用于任何层次的子网络.
结论
因此, 我们就应当考虑这样一个问题, 要尽量保证数据在经过每一层网络时, 其分布保持不变, 也就是数据在输入每一层网络之前, 其分布都与测试数据接近, 那么可以使得整个网络的训练是高效的.
ICS
ICS问题(internal covariate shift), 就是说, 如果训练数据在经过网络的每一层后其分布都 发生了变化, 通过上述论证可知, 此时就不能保证整个网络的优化过程是高效的, 甚至说会极大地降低网络的优化效率.