Covariate 协变量:在实验的设计中,协变量是一个独立变量(解释变量),不为实验者所操纵,但仍影响实验结果。
whiting : https://blog.csdn.net/elaine_bao/article/details/50890491
《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》:https://blog.csdn.net/sinat_34474705/article/details/77848264 https://arxiv.org/abs/1502.03167
CNN 和RNN的normalization的引入
原文:https://blog.csdn.net/malefactor/article/details/51549771
- CNN:
把一个FilterMap看成一个整体,可以想象成是一个Filter Map对应DNN隐层中的一个神经元,所以一个Filter Map的所有神经元共享一个Scale和Shift参数,Mini-Batch里m个实例的统计量均值和方差是在pq个神经元里共享,就是说从mp*q个激活里面算Filter Map全局的均值和方差,这体现了Filter Map的共享参数特性,当然在实际计算的时候每个神经元还是各算各的BN转换值,只不过采用的统计量和Scale,shift参数用的都是共享的同一套值而已。
- RNN:
“Batch normalized recurrent neural networks”这个工作是最早尝试将BN引入RNN的,它构建了5层的RNN和LSTM,它的结论是:水平方向的BN对效果有损害作用,垂直方向BN能够加快参数收敛速度,但是相对基准无BN对照组实验看可能存在过拟合问题。但是这个过拟合是由于训练数据规模不够还是模型造成的并无结论。
“Deep speech 2: End-to-end speech recognition in english and mandarin.”这个工作也尝试将BN引入RNN,也得出了水平方向的BN不可行,垂直方向的BN对加快收敛速度和提升分类效果有帮助,这点和第一个工作结论一致。另外,新的结论是:在训练数据足够大的情况下,如果垂直方向网络深度不深的话,垂直方向的BN效果也会有损害作用,这个其实和工作一的结论基本一致,也说明了这个过拟合不是训练数据不够导致的,而是浅层模型加入BN效果不好。但是如果垂直方向深度足够深,那么加入BN无论是训练速度还是分类效果都获得了提高。
“Recurrent Batch Normalization”是最新的工作,16年4月份的论文。它的实验结果推翻了上面两个工作的结论。证明了水平方向BN是能够加快训练收敛速度以及同时提升模型泛化能力的。论文作者认为前面两个工作之所以BN在水平方向上不行,很可能主要是BN的Scale参数设置不太合理导致的,他们的结论是:Scale参数要足够小才能获得好的实验效果,如果太大会阻碍信息传播。
摘要
我们已经知道LSTM的参数重组(比如说weight normalization)给RNN带来了batch normalization的好处。然而过去的工作仅仅把batch normalization应用在RNN的输入层到隐含层的转化中,我们证明了去batch-normalize是可能的并且是有益的
原文地址:https://www.cnblogs.com/forPrometheus-jun/p/10516892.html