Machine learning 神经网络中的批量归一化

Machine learning 神经网络中的批量归一化,machine-learning,neural-network,normalization,Machine Learning,Neural Network,Normalization,我对ANN还是一个新手,我只是在读批处理规范化论文(),但我不确定我是否了解他们在做什么(更重要的是,它为什么有效) 假设我有两层L1和L2,L1产生输出并将它们发送给L2中的神经元。批量标准化仅获取L1的所有输出(即,每个神经元的每个输出,对于完全连接的网络,获得|L1 | X | L2 |数字的总向量),将其标准化为平均值为0,SD为1,然后将其馈送到L2中各自的神经元(加上他们在论文中讨论的伽马和贝塔的线性变换) 如果确实是这样,这对神经网络有什么帮助?恒定分布有什么特别之处?在网络的标准

我对ANN还是一个新手,我只是在读批处理规范化论文(),但我不确定我是否了解他们在做什么(更重要的是,它为什么有效)

假设我有两层L1和L2,L1产生输出并将它们发送给L2中的神经元。批量标准化仅获取L1的所有输出(即,每个神经元的每个输出,对于完全连接的网络,获得
|L1 | X | L2 |
数字的总向量),将其标准化为平均值为0,SD为1,然后将其馈送到L2中各自的神经元(加上他们在论文中讨论的伽马和贝塔的线性变换)


如果确实是这样,这对神经网络有什么帮助?恒定分布有什么特别之处?

在网络的标准SGD训练过程中,输入到隐藏层的分布将发生变化,因为之前的隐藏层也在不断变化。这被称为协变量移位,可能是一个问题;参见恩斯

众所周知,如果训练数据是“白化”的,神经网络收敛速度更快,也就是说,以这样一种方式进行变换,即每个分量都具有高斯分布,并且独立于其他分量。参见论文中引用的论文(LeCun et al.,1998b)和(Wiesler&Ney,2011)

作者现在的想法是,不仅要将这种白化应用于输入层,还要应用于每个中间层的输入。对整个输入数据集进行白化成本太高,因此他们改为成批进行白化。他们声称,这可以大大加快训练过程,也可以作为一种规则化