为解决的问题是:在网络训练的过程中,参数会随着梯度的下降不断更新,这时会存在类似蝴蝶效应的事情发生,当底层参数发生些许的变化时,由于层层的线性变换与非线性激活映射,底层些许的变化会被放大;同时由于底层的参数变化,上层必不可免要去适应变化,从而使模型训练变得困难,其为Internal Covariate Shift(内部协变量移位)。
规范定义为:在深层网络训练的过程中,由于网络中参数变化而引起内部结点数据分布发生变化的过程。
ICS弊端(引起的问题):
(1)学习速度的降低:上层网络不断调整参数来适应输入数据的变化
(2)网络收敛速度变慢:使用sigmoid,tanh激活函数,训练过程易陷入梯度饱和区,也就是说梯度会变得很小甚至接近于0,参数的更新速度就会减慢,进而就会放慢网络的收敛速度。
解决激活函数梯度饱和问题:
(1)更换非饱和性激活函数,如ReLu
(2)激活函数输入分布,保持在一个稳定状态来尽可能避免它们陷入梯度饱和区,即归一化。
缓解ICS(Internal Covariate Shift)方法:
出现的核心原因就是高层输入的变化,所以对每层输入进行优化