batch_size的作用
原因:
损失函数在顶层,顶层训练的比较快
数据在底层,数据发生变化,所有都变化,最后那些层需要学习多次,收敛变慢
在改变底部数据时,避免顶部重新训练
作为可学习的b与r,
作用在:
全连接和卷积层的输出上,激活函数前。(bn是线性变化,激活函数增加非线性)
在输入上
全连接,作用在特征维度。
● 其次在归一化过程中使用的均值和标准差是在mini-batch上计算的,它们相对整个数据集的均值标准差,具有一定的噪声,这就使得BN有轻微的正则化效果。
● BN中 a和 b的作用:因为我们不知道每一层做归一化是不是一定会更好,也不知需要归一化到什么程度,所以设置这两个参数让模型自己去学到合适的归一化。
● 需要注意的是,在batch_size很小时,BN的效果会变得很差。因为均值和标准差的噪声太大了
● 训练时和测试时的不同点:测试时用的均值和方差是全部训练数据的均值和方差。
一般不改变模型精度