可视化的BatchNorm--它的工作方式以及为什么神经网络需要它

Batch Norm是现代深度学习从业者工具包的重要组成部分。在Batch Norm论文中将其引入后不久,它就被认为是在创建可以更快训练的更深层神经网络方面具有变革性的工具。
Batch Norm是一个神经网络层,现在已广泛用于许多体系结构中。它经常作为“线性”或“卷积”块的一部分被添加,并有助于在训练过程中稳定网络。
在本文中,我们将探讨什么是Batch Norm,为什么需要它以及它是如何工作的。
但是,在讨论Batch Norm本身之前,让我们先介绍一下Normalization的背景知识。

归一化输入数据

将数据输入到深度学习模型时,标准做法是将数据归一化为零均值和单位方差。 这是什么意思,为什么我们要这样做?
假设输入数据包含多个特征x1,x2,…xn。每个功能可能具有不同的值范围。例如,特征x1的值可能在1到5之间,而特征x2的值可能在1000到99999之间。
因此,对于每个特征列,我们分别获取数据集中所有样本的值,然后计算均值和方差。 然后使用以下公式对值进行归一化。
在下图中,我们可以看到标准化数据的效果。 现在,原始值(蓝色)以零(红色)为中心。 这样可以确保所有要素值现在都在同一比例尺上。
为了了解没有进行标准化的情况,我们来看一个示例,该示例仅具有两个功能截然不同的功能。 由于网络输出是每个特征向量的线性组合,因此这意味着网络将为每个特征学习权重,这些权重也处于不同的比例上。 否则,large feature只会淹没small feature。
然后,在梯度下降过程中,为了“移动”损失,网络将不得不对一个权重进行较大的更新,而不是对另一个权重进行更新。这可能会导致梯度下降轨迹沿一维来回振荡,从而需要更多的步骤才能达到最小值。
在这种情况下,loss landscape看起来像一条狭窄的峡谷。 我们可以沿两个方向分解梯度。 它在一个维度上较陡峭,而在另一个维度上则平缓得多。
由于其较大的梯度,我们最终对一个权重进行了较大的更新。 这将导致梯度下降反弹到斜率的另一侧。 另一方面,沿着第二方向的较小坡度会导致我们进行较小的权重更新,从而采取较小的步骤。 这种不均匀的轨迹使网络收敛需要更长的时间。
取而代之的是,如果特征的比例相同,则损失情况像碗一样更均匀。 然后,梯度下降可以平稳地进行到最小。

Batch Norm的必要性

既然我们了解了什么是规范化,那么需要BatchNorm的原因就变得清晰起来了。
考虑网络的任何隐藏层。 上一层的激活只是该层的输入。 例如,从下图中的第2层的角度来看,如果我们“空白”所有先前的层,则来自第1层的激活与原始输入没有什么不同。
要求我们对第一层的输入进行规范化的逻辑也将适用于这些隐藏层中的每一个。
换句话说,如果我们能够以某种方式归一化每个先前层的激活,则梯度下降将在训练过程中更好地收敛。 这正是Batch Norm层为我们所做的。

BatchNorm是怎样起作用的

Batch Norm只是插入在隐藏层和下一个隐藏层之间的另一个网络层。它的工作是从第一个隐藏层获取输出并对其进行规范化,然后再将其作为下一个隐藏层的输入。
就像任何网络层的参数(例如权重,偏差)一样,批处理规范层也具有自己的参数:
两个可学习的参数称为beta和gamma。
两个不可学习的参数(均值移动平均值和方差移动平均值)被保存为Batch Norm层的“状态”的一部分。
这些参数是每个Batch Norm层的。因此,如果我们在网络中具有三个隐藏层和三个Batch Norm层,则对于这三个层,我们将具有三个可学习的beta和gamma参数。对于“移动平均”参数也是如此。
在训练过程中,我们一次向网络馈送一小批数据。 在前向传递过程中,网络的每一层都处理该最小批处理数据。
Batch Norm层按以下方式处理其数据:

1.激活

来自上一层的激活作为输入传递到BatchNorm。 数据中的每个特征都有一个激活向量。

2.计算均值和方差

对于每个激活向量,分别计算mini-batch中所有值的均值和方差。

3.归一化

使用相应的均值和方差为每个激活特征向量计算归一化值。 这些归一化的值现在具有零均值和单位方差。

4.缩放和移位

此步骤是Batch Norm引入的巨大创新,从而赋予了它强大的功能。与要求所有归一化的值均具有零均值和单位方差的输入层不同,批处理范数允许其值移位(至不同的均值)并缩放(至不同的方差)。它通过将标准化值乘以系数beta并向其添加系数gamma来实现。请注意,这是逐元素乘法,而不是矩阵乘法。
使这项创新独具匠心的是,这些因素不是超参数(即不是模型设计人员提供的常数),而是网络学习的可训练参数。 换句话说,每个Batch Norm层都可以为其自身最佳地找到最佳因素,从而可以对归一化的值进行移位和缩放以获得最佳预测。

5.移动平均

此外,批处理范本还保留均值和方差的指数移动平均线(EMA)的运行计数。在训练期间,它仅计算此EMA,但不对其执行任何操作。在训练结束时,它只是将该值保存为图层状态的一部分,以供推理阶段使用。
我们稍后会谈到推理时回到这一点。 移动平均线计算使用标量“动量”,由下面的alpha表示。这是一个超参数,仅用于Batch Norm移动平均值,不应与Optimizer中使用的动量混淆。

Vector Shapes

在下面,我们可以看到这些向量的形状。 用红色突出显示了为特定特征计算向量时所涉及的值。 但是,请记住,所有特征向量都是在单个矩阵运算中计算的。

前向传播后,我们照常进行梯度回传。 计算所有层权重以及Batch Norm层中所有beta和gamma参数的梯度并完成更新。

BatchNorm在推理阶段

如上所述,在训练期间,批处理范数从计算小批处理的均值和方差开始。 但是,在推理过程中,我们只有一个样本,而不是小批量。 在这种情况下,我们如何获得均值和方差?
这是两个移动平均值参数的输入-我们在训练期间计算出的参数,并与模型一起保存。在推理过程中,我们将那些保存的均值和方差值用于批处理范数。
理想情况下,在训练期间,我们可以计算并保存完整数据的均值和方差。 但这将是非常昂贵的,因为我们必须在训练过程中将整个数据集的值保留在内存中。 取而代之的是,移动平均线可以很好地替代数据的均值和方差。 由于计算是增量式的,因此效率更高得多,我们只需要记住最新的移动平均线即可。

Batch Norm层的放置顺序

在激活之前和之后,对于将Batch Norm层放置在体系结构中的位置有两种意见。尽管我认为您会发现文献中经常提到的两种选择,但原始论文还是放在了之前。有人说“之后”会带来更好的结果。

在激活之前和之后,对于将Batch Norm层放置在体系结构中的位置有两种意见。尽管我认为您会发现文献中经常提到的两种选择,但原始论文还是放在了之前。有人说“之后”会带来更好的结果。

Conclusion

Batch Norm是一个非常有用的层,您最终将在网络体系结构中经常使用它。希望这可以使您对Batch Norm的工作原理有很好的了解。
(0)

相关推荐

  • 【AI初识境】深度学习模型中的Normalization,你懂了多少?

    这是<AI初识境>第6篇,这次我们说说Normalization.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 数据经过归一化和标准化后可以加快梯度下降的求解速度,这就是Ba ...

  • 支持向量机(SVM)的约束和无约束优化、理论和实现

    优化是机器学习领域最有趣的主题之一.我们日常生活中遇到的大多数问题都是通过数值优化方法解决的.在这篇文章中,让我们研究一些基本的数值优化算法,以找到任意给定函数(这对于凸函数最有效)的局部最优解.让我 ...

  • AdvProp:两组Batch Normalization助你在CNN对抗训练中高效涨点

    作者丨皮特潘 审稿|邓富城 编辑丨极市平台 极市导读 CNN能被轻易的攻击是其最大的弱点之一,本文介绍的AdvProp创造性提出了在一个网络中使用两组可以切换的BN,并利用附加的BN去处理对抗样本,实 ...

  • 梯度消失和梯度爆炸问题的最完整解析

    作者丨奥雷利安 · 杰龙 来源丨机械工业出版社<机器学习实战:基于Scikit-Learn.Keras和TensorFlow> 编辑丨极市平台 极市导读 机器学习"四大名著&qu ...

  • 让领导最满意的工作方式(胜读十年书)

    为广大干部阅读和学习提供参考. 来源:党建网微平台 1.汇报工作说结果 汇报工作不是要告诉领导你的工作过程多艰辛,你多么不容易.要做到举重若轻,一定要把结果汇报给领导,结果思维是第一思维. 2.请示工 ...

  • 用意识流创作,是一种完全不同的工作方式

    神译局5小时前 关注 用意识流工作,一种完全不同的工作方式,你将学习它是什么,以及如何简单地实现它. 神译局是36氪旗下编译团队,关注科技.商业.职场.生活等领域,重点介绍国外的新技术.新观点.新风向 ...

  • (4)高效管理者的七种工作方式

    高效管理者的七种工作方式 1.汇报工作说结果 汇报工作不是要告诉领导你的工作过程多艰辛,你多么不容易.要做到举重若轻,一定要把结果汇报给领导,"结果思维"是第一思维. 2.请示工作 ...

  • 给你一组好图,让你彻底搞懂PLC的工作方式

    PLC循环扫描过程 千言万语,不如一张图来得详细: 看不懂没关系,下面有分解动作 以下四图用来解释,按钮第一次按下到释放的过程 --灯点亮. 图1.按钮按下前的程序状态 图2.按钮按下,PLC的第一个 ...

  • 遇到不同工作方式,怎么办?

    做项目的人都有自己的一套工作方式. 有一些项目规模不大,可以完全交给某一个人,项目负责人有绝对的话语权.主动权在自己,那么倒还好说,按照自己的方式来.但有的项目规模较大,或是重要性很高的时候,项目上的 ...

  • 最好的工作方式:用老板的标准要求自己!

    在任何一个公司中,最赚便宜的是两种人,一种人勇于开拓进取,收获是自己的,失败是上司或老板的,更重要的是,这种人把自己的退路留给了老板或上司去照顾.另一种人是有开放心态的人,他们谦虚,他们可以有效接受别 ...

  • 改善工作方式,消除“Zoom疲劳”

    关注我们,打造行业领先企业 学者.高管和心理健康专业人士逐渐意识到一种叫做"Zoom疲劳"的现象.Zoom是一个流行的在线视频聊天品牌,但这种现象并不仅限于该平台.由于越来越多地使 ...

  • 你的工作方式正在发生改变,居然还不知道灵活用工是什么?

    随着数字化经济的突飞猛进,成为自由职业者变成了越来越多人的目标. 2020年,对于全世界人民而言是一个特殊的年份,对于千千万万的职场人而言更是一份挑战.新冠疫情的爆发促使灵活用工市场用工激增,传统的全 ...

  • 我们的工作方式并不是工作 | 书评:《没有电子邮件的世界》

    在他这本最新出版的著作中,卡尔·纽波特(Cal Newport)大声说出了值得深思的道理:"从来没有人停下来思考我们的工作方式是否真是工作."(30页) 它不是.而纽波特说,我们并 ...