04 BN-GoogLeNet-V2的学习笔记
一、Batch Normalization 层中的加减乘除是什么意思?
1 .在训练阶段,在激化函数之前加入BN层操作,所输入到BN层的数据分别进行:求取batch size 的均值、求取batch size 的方差、减均值除标准差、对标准化后的值乘以 gamma 加beta.
二、Batch Normalization 层中均值和标准差通过什么方式得到?
1 .在训练阶段:均值和方差通过指数滑动平均统计得来(补充:gamma和beta通过梯度反向传播不断更新)
2.在测试阶段:均值和方差不变,gamma和beta也不再变化
三、采用Batch Normalization 对神经网络带来怎样的收益?
1 . 最重要的一点:BN大大加速了神经神经训练,缩短深度卷积神经网络的收敛时间。
2 .BN解决了内部协变量偏移(ICS)问题
四、读完该论文,对你的启发点有哪些?
1 .加入BN层,可大大加快训练速度:最直观的理解,GoogLeNet-V1当初从训练开始到收敛,大概耗费了826个epoch;当加入BN层,缩短一大半,并且BN-*30的准确率比其高很多
2.0均值、1标准差的数据分布可加速网络训练
3.ICS现象:输入数据分布的变化,导致模型训练困难,对深度神经网络影响较大
4.在卷积层中的BN,不仅考虑batch维度,还要考虑特征维度,以feature map维度进行求取均值和方差
5.堆叠使用2个3 * 3卷积,全面替换5 * 5卷积,并给予更多的卷积核数量
6.BN在网络中计算步骤,如图所示:
五、本篇论文的学习笔记及总结