1. 背景
批量归一化(batch normalization)是为了应对深度模型训练的挑战(对于深层NN,即使输入数据已做标准化,训练中模型参数的更新依然很容易造成靠近输出层输出的剧烈变化,导致难以训练出有效的深度模型),它利用小批量上的均值和标准差,不断调整NN中间输出,从而使整个NN在各层的中间输出的数值更稳定。
批量归一化层能让较深的NN的训练变得更加容易;
标准化处理(均值为0,方差为1)输入数据使各个特征的分布相近,往往更容易训练出有效的模型。 --对于浅层网络非常有效。
2. 应用
2.1 对全连接层做批量归一化
连接层的批量归一化位于仿射函数和激活函数之间。
2.2 对卷积层做批量归一化
卷积层的批量归一化位于卷积计算之后、应用激活函数之前。如果卷积计算输出多个通道,需要对每个通道的输出分别做批量归一化,且每个通道都拥有独立的拉伸和偏移参数,并均为标量。
2.3 预测时的批量归一化
批量归一化层在训练和预测模式下的计算结果是不一样的。训练时选取批量大小为N(一般设置较大一点)的样本的均值和方差;预测时通过移动平均估算整个训练数据集的样本均值和方差,使用它们得到确定的输出。
1万+

被折叠的 条评论
为什么被折叠?



