当前位置: 首页 > 知识库问答 >
问题:

卷积神经网络批量归一化中均值和方差的计算

黄跃
2023-03-14

请问以下对卷积神经网络中批量归一化的理解是否正确?

如下图所示,均值和方差是使用当前小批量中各个示例生成的相同特征图上的所有单元格计算的,即它们是跨h、w和m轴计算的。

共有3个答案

萧焱
2023-03-14

图中正确描述了批次标准。

在batch Norm中,我们使用整个批次中相同通道的空间特征图计算平均值和方差。如果你看你所附的图片,它可能听起来很混乱,因为在该图片中,数据是单通道的,这意味着每个网格/矩阵代表一个数据样本,然而,如果你想到彩色图像,这些将需要3个这样的网格/矩阵来代表一个数据样本,因为它们每个样本有3个通道(RGB)。因此,在您的图片中,您可以考虑从每个网格/矩阵中提取相同的元素(索引),然后计算它们的平均值和方差。

因此,您的图片确实正确地显示了Batch Norm的均值和方差计算,但是当您想到多通道数据时,您可能会感到困惑,因为图片只适合理解单通道数据。为了让这种情况(多通道)更清楚一些,您可以考虑使用彩色图像数据集。因此,在每个批次中,都有许多图像,每个图像有3个通道,红色、绿色和蓝色(要可视化,请将红色视为矩阵,绿色视为矩阵,蓝色视为矩阵,因此每个图像有3个矩阵)。因此,在BatchNorm中,您现在要做的是(假设批量大小为32)获取红色通道的所有32个矩阵,并计算它们的平均值和方差,类似地,您将对绿色和蓝色通道重复此过程,因此这就是您对多通道数据所做的。

翟冯浩
2023-03-14

对哈立德和伊万回答的跟进,如上所示。

这是我最初提出的关于BN的问题所在的更大的“背景”图。我正在绘制这个图表,以帮助自己理解卷积神经网络是如何在每一步上工作的,尤其是在可能发生混淆的地方。在该图上,显示将在每个特征映射/通道上分别执行BN。

此处显示了完整的图表(WIP)。

边永贞
2023-03-14

看来你是正确的。经验平均值和方差在除特征维度之外的所有维度上进行测量。然后计算z分数以将迷你批次标准化为means=0std=1。此外,然后使用两个可学习的参数gammabeta对其进行缩放偏移。

以下是批次规范化层的描述:

 类似资料:
  • 我是卷积神经网络新手,对特征映射和如何在图像上进行卷积来提取特征有概念。我很高兴知道一些关于在CNN应用批量标准化的细节。 我知道什么是特征图和不同的元素是权重在每一个特征图。但我不能理解什么是位置或空间位置。 我完全不能理解下面的句子“在alg.1中,我们让B是一个特征映射中的所有值的集合,它跨越了一个小批处理的元素和空间位置。” 如果有人能用更简单的术语来解释我,我会很高兴的

  • 注意: 本教程适用于对Tensorflow有丰富经验的用户,并假定用户有机器学习相关领域的专业知识和经验。 概述 对CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组大小为32x32的RGB图像进行分类,这些图像涵盖了10个类别: 飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船以及卡车。 想了解更多信息请参考CIFAR-10 page,以及Alex Kriz

  • 卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络

  • 我正试图开发一个一维卷积神经网络,该网络具有残余连接和批量归一化功能,基于《心脏病专家级心律失常检测与卷积神经网络》,使用keras。这是迄今为止的代码: 这是我试图建立的简化模型的图表。 本文中描述的模型使用递增数量的过滤器: 该网络由16个剩余块组成,每个块有2个卷积层。卷积层都具有16个滤波器长度,并且具有64k个滤波器,其中k从1开始,并且每4个剩余块递增一次。每个备用残差块将其输入再采样

  • 主要问题 我无法理解特定图层的权重图。我使用了一种“无学习”的方法: 我用千层面作为我的神经网络库。 情节很好,但我不知道该怎么解释。 神经网络结构 im使用的结构: 以下是前3层的权重: **关于图片** 所以对我来说,它们看起来是随机的,我无法解释它们! 然而,在Cs231上,它说: Conv/FC过滤器。第二种常见策略是将权重可视化。这些通常在第一个CONV层上最容易解释,该层直接查看原始像

  • 我正在尝试实现批处理规范化(http://arxiv.org/pdf/1502.03167.pdf)在我的卷积神经网络中,我真的很困惑,我应该围绕什么轴来计算均值和方差。 如果conv层的输入为3*224*224*32的形状,其中: 3-输入通道 224*224-单通道形状 32-小批量大小 以下公式中的轴应该是多少?平均值=numpy。平均值(输入层,轴=?) 并且,如果完全连接层的输入为100