神经网络中的批量归一化

Whi*_*ger 7 machine-learning normalization neural-network

我对ANN仍然相当新,我只是阅读批量标准化论文(http://arxiv.org/pdf/1502.03167.pdf),但我不确定我是否正在做他们正在做的事情(以及更多重要的是,它为什么有效)

所以假设我有两层L1和L2,其中L1产生输出并将它们发送到L2中的神经元.批量标准化只需从L1获取所有输出(即每个神经元的每一个输出,获得|L1| X |L2|完全连接网络的数字的整体向量),将它们标准化为0和SD为1,然后将它们提供给L2中各自的神经元(加上应用他们在论文中讨论的γ和β的线性变换)?

如果确实如此,这对NN有何帮助?关于不断分配的特别之处是什么?

cfh*_*cfh 16

在网络的标准SGD训练期间,隐藏层的输入分布将改变,因为隐藏层之前的隐藏层也在不断变化.这被称为协变量变换,可能是一个问题; 比如看,这里.

众所周知,如果训练数据被"白化",则神经网络会聚得更快,即,以每个分量具有高斯分布并且独立于其他分量的方式变换.参见论文中引用的论文(LeCun等,1998b)和(Wiesler&Ney,2011).

作者的想法现在不仅将这种白化应用于输入层,而且还应用于每个中间层的输入.在整个输入数据集上执行此操作太昂贵,因此他们可以按批次执行此操作.他们声称这可以大大加快培训过程,也可以作为一种正规化.