没有合适的资源?快使用搜索试试~ 我知道了~
Input normalization is extensively used in training neu-ral networks for decades [19] and shows good theoreticalproperties in optimization for linear models [20,47]. It usespopulation statistics for normalization that can be calculateddirectly from the available training data. A natural idea is toextend normalization for the activation in a network. How-ever, normalizing activation is more challenging since thedistribution of internal activation varies, which leads to theestimation of population statistics for normalization inaccu-rate [7, 28]. A network with activation normalized by thepopulation statistics shows the training instability [12].Batch normalization (BN) [16] addresses itself to normal-ize the activation using mini-batch statistics during train-ing, but the estimated population statistics during infer-ence/test. BN ensures the normalized mini-batch outputstandardized over each iteration, enabling stable training,7630深入研究网络中批量归一化的估计偏移0黄磊1 * 周毅2 王天1 罗杰1 刘向龙101 北京航空航天大学人工智能学院,中国 2 东南大学计算机网络与信息集成教育部重点实验室,中国0摘要0批量归一化(BN)是深度学习中的一个里程碑技术。它在训练期间使用小批量统计量对激活进行归一化,但在推理期间使用估计的总体统计量。本文重点研究总体统计量的估计。我们定义了BN的估计偏移量,以定量地衡量其估计的总体统计量与期望值之间的差异。我们的主要观察结果是,由于网络中的BN堆叠,估计偏移量可以累积,这对测试性能产生了不利影响。我们进一步发现,无批量归一化(BFN)可以阻止这种估计偏移量的累积。这些观察结果激发了我们设计XBNBlock的动机,该块在残差式网络的瓶颈块中用BFN替换了一个BN。在ImageNet和COCO基准测试中的实验证明,XBNBlock始终显著提高了不同架构(包括ResNet和ResNeXt)的性能,并且似乎对分布偏移更具鲁棒性。01. 引言0* 通讯作者。电子邮件:huangleiAI@buaa.edu.cn0ESM0数据集0输入层 第1层 第2层 第3层 第4层0(a) 每层中带有BN的网络0数据集0ESM0��� �� ��0输入层 第1层 第2层 第3层 第4层0���0(b) 网络中BN和BFN混合在不同层中 图1.主要观察结果的说明。红色矩形和绿色圆代表线性和非线性变换,分别。给定训练和测试数据的分布偏移,我们展示了在训练和测试期间每个BN层后的归一化输出分布,并计算了估计的总体统计量与期望值之间的差异的大小(称为ESM,详见第4.2节)。0高效优化[1, 13, 16, 36]和潜在的泛化[3, 13,48]。它已广泛应用于各种架构[9, 11, 44, 45, 50,54],并在各个领域成功传播[12, 24,35]。尽管BN的普遍成功,但在某些场景中应用时仍存在问题[4,12]。BN的一个臭名昭著的局限性是其小批量大小问题-随着批量大小变小,BN的误差迅速增加[41,48]。此外,如果训练和测试数据之间存在协变量偏移,那么具有天真BN的网络的性能会显著降低[2, 22, 29,37]。尽管这些问题在不同的场景和背景下都会出现,但似乎BN用于推理的估计总体统计量是它们之间的联系:1)如果在测试期间纠正了BN的估计总体统计量,可以缓解BN的小批量大小问题[41, 43];2)并且一个模型size training [41, 43]. These strategies do not affect thetraining scheme of the model. Li et al. [22] propose adaptivebatch normalization (AdaBN) for domain adaptation, wherethe estimation of BN statistics for the available target domainis modulated during test. This idea is further exploited toimprove robustness under covariate shift of the input datawith corruptions [2,37]. Another line of works correct thenormalization statistics for small-batch-size training by opti-mizing [41,43] the sample weight during inference, seekingfor that the normalized output by population statistics aresimilar to those observed using mini-batch statistics duringtraining. Besides, there are works considering the prediction-time batch settings [29,42] for deep generative model [42]and preventing covariate shift of the test data [29], where themini-batch statistics from the test data are used for inference.Compared to the works shown in above, our work fo-cuses on investigating the estimation shift of BN in a net-work. Our observation, that the estimation shift of BN canbe accumulated in a network, provides clues to explain whya network with stacked BNs has significantly degeneratedperformance under small-batch-size training, and why thepopulation statistics of BN in each layer needs to be adaptedif there exists covariate shift for input data during test. Be-sides, we design XBNBlock with BN and BFN mixed toblock the accumulation of estimation shift of BNs.7640如果基于可用的测试数据调整BN的估计人口统计数据,它对未见过的领域数据(损坏的图像)更具鲁棒性[2, 22,37]。本文系统地研究了人口统计数据的估计方法。我们引入了BN的期望人口统计数据,考虑到训练过程中激活函数的人口统计数据具有变化分布的不确定性(详见第4.2节)。如果BN的估计人口统计数据与期望值不相等,我们将其称为估计偏移,并设计实验定量地研究估计偏移对批量归一化网络的影响。我们的主要观察是BN的估计偏移可以在网络中累积(图1(a))。这个观察结果提供了解释为什么使用BN的网络在小批量训练下性能显著退化,以及为什么在测试过程中如果输入数据存在分布偏移,BN的人口统计数据需要进行调整。我们进一步发现,无批量归一化(BFN)-在批量维度上独立地对每个样本进行归一化-可以阻止估计偏移的累积。如果发生分布偏移,这可以减轻网络性能的退化。这些观察结果激发了我们设计XBNBlock的动机,该块在残差式网络[9,50]的瓶颈部分用BFN替换了一个BN。我们将提出的XBNBlock应用于ResNet[9]和ResNeXt[50]架构,并在ImageNet[35]和COCO[24]基准测试上进行实验。XBNBlock在两种架构上都能提高性能,ImageNet的top-1准确率绝对增益为0.6%~1.1%,COCO使用FasterR-CNN[34]的边界框AP增益为0.86%~1.62%,COCO使用MaskR-CNN[8]的边界框AP(掩膜AP)增益为0.56%~2.06%(0.22%~1.18%)。此外,XBNBlock对分布偏移似乎更具鲁棒性。02. 相关工作0估计和利用人口统计数据。批量归一化(BN)存在小批量大小问题,因为人口统计数据的估计可能不准确。为了解决这个问题,提出了各种无批量归一化(BFN)方法[1, 21,48],例如,层归一化(LN)[1]和组归一化(GN)[1]。这些方法在训练和推断过程中对每个样本执行相同的归一化操作。另一种减少训练和推断之间差异的方法是在训练过程中将估计的人口统计数据与小批量统计数据结合起来进行归一化[6, 15, 40,51-53]。这些方法可能在小批量大小下优于仅估计问题的BN训练[16, 17,26],但在批量大小适中时通常表现较差。一些方法仅关注在推断过程中估计修正的归一化统计数据,用于域适应[22]、对抗干扰[2, 29, 37]或小批量训练[41, 43]。0将BN与其他归一化方法结合。研究还进行了通过组合不同的归一化策略在层中构建归一化模块的工作。Luo等人提出了可切换归一化(SN)[26],通过学习它们的重要性权重(由softmax函数计算)在不同的归一化方法之间进行切换。这个想法通过引入稀疏约束[39]、白化操作[32]和动态计算重要性权重[56]进一步扩展。其他方法则处理了在特定场景中组合归一化方法,包括图像风格转换[30]、图像到图像的转换[18]、领域泛化[38]和元学习场景[5]。与这些旨在在层中构建归一化模块的方法不同,我们提出的XBNBlock是一个将BN和BFN混合在不同层中的构建块。此外,我们的观察结果是,BFN可以阻止网络中BN的估计偏移的累积,这为解释将BN与其他归一化方法结合的上述方法的成功提供了一个新的视角。我们的工作与IBN-Net[31]密切相关,它将实例归一化(IN)[46]和BN作为构建块进行了精心整合,并可以包装到几个深度网络中以提高其性能。需要注意的是,IBN-Net精心设计了IN的位置和通道数,而我们的XBNBlock的设计更简化。此外,IBN-Net的动机是IN可以学习到不受样式影响的特征[46],从而有益于泛化,而我们的XBNBlock的动机是BFN可以缓解BN的估计偏移。7650,从而避免了如果存在不准确的估计时BN的退化测试性能。在这里,我们强调我们的观察结果,即BFN(例如IN)可以阻止估计偏移的累积,这也为解释IBN-Net在测试性能上的成功提供了一个合理的解释,特别是在存在分布偏移的场景中。03.初步0批归一化。设x∈Rd为多层感知机(MLP)给定层的d维输入。在训练过程中,批归一化通过1/m对每个神经元/通道在m个小批量数据中进行归一化。0ˆxj = BNtrain(xj) = xj - μj0σ2j + ϵ,j = 1, 2, ..., d,(1)0其中μj = 1/m∑mi=1x(i)j,σ2j = 1/m∑mi=1(x(i)j - μj)20分别是每个神经元的小批量均值和方差,ϵ是一个小的数以防止数值不稳定。在推断/测试过程中,批次输入的总体均值˜μ和方差˜σ2是BN进行确定性预测[16]所需的。0ˆxj = BNinf(xj) = xj - ˜μj√0˜σ2, j = 1, 2, ..., d,(2)0即使输入层的人口统计数据{˜μ,˜σ2}不明确(在第4.1节中说明),它们的估计{ˆμ,ˆσ2}通常在方程2中使用,通过计算不同训练迭代t上的小批量统计的滑动平均值来计算,更新因子α如下:ˆμt = (1 -α)ˆμt-1 + αμt-1,(ˆσt)2 = (1 - α)(ˆσt-1)2 + α(σt-1)2。0BN在训练和推断过程中的差异限制了它在循环神经网络[1]中的使用,或者对于小批量训练[48]会影响性能,因为对于人口统计的估计可能不准确。无批次归一化。存在无批次归一化的方法,以避免沿批次维度进行归一化,从而避免对人口统计的估计。这些方法在训练和推断过程中使用一致的操作。其中一种代表性方法是层归一化(LN)[1],它在每个训练样本的神经元中对层输入进行标准化,如下所示:0ˆxj = LN(xj) = xj − μ0σ2 + ϵ,j = 1, 2, ..., d,(4)0其中μ = 1/d∑di=1xj和σ2 = 1/d∑di=1(xj −μ)2分别是每个样本的均值和方差。LN进一步通过组归一化(GN)[48]进行了推广,将神经元分成组,并在每个组的神经元内部进行标准化。通过01 BN通常使用额外的可学习的缩放和偏移参数[16],我们将它们省略,因为它们与归一化的讨论无关。0相对于LN,改变组数的GN比LN更灵活,使其能够在限制为小批量训练的视觉任务(例如目标检测和分割[48])上取得良好的性能。虽然这些BFN方法在某些情况下可以很好地工作,但它们无法与大多数情况下的BN的性能相匹配,并且在CNN架构中并不常用。04. Batch Normalization的估计偏移0我们首先说明BN的人口统计数据是不明确定义的,然后设计全面的实验来研究BN的估计偏移。04.1. BN的预期人口统计数据0设S为训练集,{St}Tt=1为从S中采样的小批量数据。考虑一个带有BN的神经网络Fψ,θ(S) =Fpostψ(BN(Fpreθ(S))),我们将X = Fpreθ(S)和�X =BN(X)。某个训练集S的人口统计数据是明确定义的,并且可以通过{St}Tt=1的小批量统计数据直接进行良好的估计。然而,由于参数θ在每次迭代中的更新,激活X =Fpreθ(S)的人口统计数据是不明确定义的,因为X在训练过程中会发生变化。实际上,X的小批量样本是Xt =Fpreθt(St),对于t =1,...,T,它不仅取决于小批量输入St,还取决于模型序列{Fpreθt(∙)}Tt=1。因此,X的人口统计数据应该是训练集S和变化的模型序列{Fpreθt(∙)}Tt=1的函数。尽管从统计学的角度来看,明确定义X的人口统计数据是困难的,但我们注意到,子网络Fpostψ(∙)的小批量输入�Xt始终是标准化分布。因此,X的理想人口统计数据应该确保标准化输出在测试集上是标准化的。我们隐式地定义BN的预期人口统计数据如下。0定义1设F˜ψ,˜θ(∙)是在训练集S上训练的模型。给定测试集S',我们称{˜μ,˜σ2}为BN的预期人口统计数据,其中˜μ(˜σ2)是BN的输入X =Fpre˜θ(S')的均值(方差)。0请注意,BN的预期人口统计数据是在训练模型F˜ψ,˜θ(∙)在测试集S'上的输入条件下定义的,而不是在训练集S上的输入条件下定义的,因为X =Fpre˜θ(S)的人口统计数据仅考虑最后一个训练模型Fpre˜θ(∙),而不考虑模型序列{Fpreθt(∙)}Tt=1。实际上,一旦模型训练完成,可以很容易地计算出X =Fpre˜θ(S)的人口统计数据,如[16, 26,49]所介绍的。然而,它们通常比运行平均值在方程式3中显示的使用的方法具有更差的泛化性能。020406080100012345020406080Epochs024681012ESM�Layer 4Layer 8Layer 12Layer 16Layer 2020406080Epochs020406080100321282565121024246ESM�321282565121024020406080Epochs024681012ESM�32128256512102476600 20 40 60 80个周期0训练 测试00 20 40 60 80个周期0ESM�0第4层第8层第12层第16层第20层0(c) 不同层的BN的ESM σ 图2.使用训练集S等于测试集S'的实验。我们训练一个具有每层128个神经元的20层MLP进行MNIST分类。S和S'是原始MNIST测试集的10,000个样本。我们使用全批量梯度下降法训练80个epoch(迭代),学习率为0.1。使用常用的滑动平均(方程2)计算BN的估计人群统计数据,更新因子α=0.9。我们还尝试了其他配置(例如,改变学习率、更新因子α和网络的深度),并在卷积神经网络(CNNs)上进行了进一步的实验。我们得到了类似的结果(详见补充材料)。00 4 8 12 16 层0(c) BN在任意(第16层)层的ESM σ 图3.使用从测试集S'中采样的训练集S的实验。我们按照图2中的相同实验设置进行,只是使用了不同大小的训练集S来调节训练和测试集之间的分0σ 2 test ∥ 2 用于评估输入的分布偏移(称为ESM σ相对于第0层),其中σ 2 train(σ 2 test)是训练(测试)集的方差。04.2. 对估计偏移的研究0给定BN的期望人群统计数据,如果其估计的人群统计数据不等于期望值,我们将其称为BN的估计偏移。研究BN的估计偏移如何影响批归一化网络的性能是很重要的。因此,我们希望定量地测量估计统计数据和期望统计数据之间的差异的大小。0定义2 令 ˜ μ ( ˜ σ 2 ) 为BN的期望人群均值(方差),令 ˆμ ( ˆ σ 2 )为估计值。我们将估计偏移幅度(ESM)定义为它们之间的L2范数。例如,ESM μ = ∥ ˆ μ − ˜ μ ∥ 2 和 ESM σ = ∥ √0在接下来的几节中,我们设计实验来研究BN的估计偏移如何影响批归一化网络的性能以及如何进行修正。04.2.1 网络中估计偏移的累积0我们考虑两种实验设置:1)在设置一中,我们使用训练集S等于测试集S'来研究BN的估计偏移,在没有输入数据的分布偏移的情况下;2)在设置二中,训练集S是从测试集S'中采样得到的。我们改变S的大小来调节训练和测试集之间的分布偏移。0设置一。实验设置和结果的详细信息如图2所示。我们观察到在前30个epoch中,训练误差和测试误差之间存在显著差距。需要注意的是,如果BN在训练和推断过程中采用相同的操作,那么在这个设置中,训练误差和测试误差应该在迭代过程中保持一致。在图2(b)和(c)中,BN在某些层的ESMμ和ESMσ在前30个epoch中显著大于零,然后逐渐收敛到零。这种现象清楚地表明,训练和测试之间的误差差距主要是由于BN对人群统计数据的不准确估计造成的。一个重要的观察是,在前30个epoch中,更深层的BN的ESM μ和ESMσ可能具有更高的值。这个观察意味着,较低层的BN的估计将影响到上层的估计。如果较低层的BN受到估计偏移的影响,这将导致输入在训练和测试之间在上层之间发生分布偏移。因此,由于BN层的堆叠,人群统计数据的不准确估计可能会被潜在地累积/复合。0设置二。在这个设置中,训练集S是从测试集S'中采样的,并且我们改变训练集的大小| S|来调节训练集和测试集之间的分布偏移。我们希望看到不同分布的变化。020406080Epochs020406080100Error (%)BNTrainingGNBNTrainingBNTestGNBNTest020406080Epochs024681012ESM�Layer 4Layer 8Layer 12Layer 16Layer 2012345Layer0246ESM�BN-32GNBN-32BN-1024GNBN-1024321282565121024Size of training set020406080Error (%)BNGNBN7670(b) 不同层的BN的ESM σ0分布偏移影响网络中BN的群体统计估计。实验设置和结果的详细信息如图3所示。我们发现,从图3(b)中可以看出,当减小采样训练集的大小时,分布偏移可能更大。此外,所有BN层的ESMσ明显大于零,并且在使用较少样本训练的模型中,BN层的ESMσ更高。此外,从图3(a)中可以观察到,所有模型都可以在训练时达到零训练误差,但如果模型在使用较少样本的训练集上训练,则测试误差显著更高。这些观察表明,训练集和测试集之间的输入分布偏移会导致BN的估计偏移,这对测试性能有不利影响。例如,我们发现当使用32个训练样本时,没有BN的模型的测试误差为57.73%,而有BN的模型的测试误差为73.02%。一个重要的观察是,在训练结束时,深层BN的ESMσ可能具有更高的值。这个观察提供了显著的证据,支持BN的估计偏移可能由于BN层的堆叠而累积。此外,如果模型在训练集上的分布偏移更大,使用较少的训练样本进行训练,则估计偏移会更严重。在这里,我们强调将BN的预期群体统计定义为F ˜ θ ( S ′ )而不是F ˜ θ ( S)是很重要的。我们注意到在这个实验中,BN的ESMσ逐渐收敛到一个稳定值(图3(c)),这表明运行平均值(公式2)使用的估计收敛到训练集上训练模型的估计[16,26](即F ˜ θ ( S ))。如果在F ˜ θ ( S )上定义ESMσ,则ESMσ将为零。这不是我们期望的,因为它提供不了诊断在训练集上使用较少样本进行训练的模型在测试集上遭受更大分布偏移的退化测试性能的信息,如本实验所示。总之,根据以上实验,我们认为在堆叠BN的网络中,BN的估计偏移可能会累积,这可能对网络的测试性能产生不利影响,特别是在发生分布偏移的情况下。0(b) 测试误差 图5.BN和GN混合网络的实验。我们按照图3中所示的相同设置进行实验,只是将网络中的奇数层的BN替换为GN。这里,'N'表示模型在训练集上使用N个样本进行训练。04.2.2 阻止估计偏移的累积0我们实验证明,如果在网络中插入一个GN,可以缓解BN估计偏移的累积。我们将奇数层的BN替换为GN,并将这个网络称为'GNBN'。我们按照4.2.1节中的前两个实验设置进行实验,并在图4和图5中展示结果。我们发现从图4(a)中可以看出,在前30个epoch中,训练和测试之间的误差差距显著减小。重要的是,从图4(b)中可以看出,训练过程中BN在所有层之间的ESMσ几乎相同。这意味着奇数层的GN可能阻止了其两个相邻层的BN估计偏移的累积。从图5(a)中我们可以观察到,'GNBN'中的BN的ESMσ明显低于原始网络('BN')。此外,在训练结束时,不同层的BN的ESMσ没有明显差异。这些观察进一步证实了GN可以阻止其两个相邻层的BN估计偏移的累积。我们将这归因于GN在训练和推断(对于每个样本)中的一致操作,这确保了后续层的输入具有几乎相同的分布。估计偏移的阻塞确保了网络的性能显著提高,如图5(b)中'GNBN'与'BN'的比较所示。根据以上实验,我们认为BN的估计偏移可以在网络中被GN等BN阻塞,这可以缓解网络的性能退化,如果存在分布偏移的话。05.视觉识别任务的评估0在本节中,我们首先设计了一种卷积块,然后验证了它在ImageNet分类[35]以及COCO检测和分割[24]中的有效性。05.1. 提出的XBNBlock0我们设计了XBNBlock,将瓶颈中的一个BN2替换为BFN(图6(a)),这在残差式网络中广泛使用[9,50]。图6(b)展示了我们提出的'XBNBlock-P2',其中我们替换了第二个02我们实验证明,在瓶颈中用BFN替换两个BN通常会导致性能下降。FullXBNBlockXBNBlock-D2 XBNBlock-D4 XBNBlock-D8Architectures7274767880Accuracy (%)76.4871.6075.73BN:76.2976.57 76.7377.1976.8977.3977.4074.99304050607080BNXBNBlockGNXBNBlockIN7680Conv 1x10ReLU0Conv 3x30ReLU0Conv 1x10ReLU0BN0BN0BN0Conv 1x10ReLU0Conv 3x30ReLU0Conv 1x10ReLU0BN0BN0BFN0(b)XBNBlock-P2 图6. 瓶颈 vs我们的'XBNBlock-P2',将瓶颈的第二个BN替换为BFN。0方法 准确率(%)0基线(BN)76.29 GN 75.73XBNBlock GN -P1 77.08XBNBlock GN -P2 77.40XBNBlock GN -P3 76.760表1.在XBNBlock中应用不同位置时的结果。我们评估了Top-1验证准确率。0将BN层替换为BFN。我们还考虑了其他位置,并在第5.2.1节中比较了它们的性能。对于卷积输入X ∈ R d × m × H ×W,其中H和W是特征图的高度和宽度,CNN中使用的BN和BFN都计算在H和W维度上的均值/方差。本文主要使用GN作为BFN(称为XBNBlockGN),考虑到GN通过改变其组数更灵活地控制归一化输出的约束[14]。我们还尝试了IN,它仅计算样本每个通道在H和W维度上的均值/方差,并对归一化输出提供更强的约束。例如,IN确保每个通道的分布标准化,而GN确保每个组(多个通道)的分布标准化。05.2. ImageNet分类0我们在包含1,000个类别的ImageNet数据集上进行实验[35]。我们使用官方的1.28M训练图像作为训练集,并在验证集上使用单个224×224像素的裁剪进行Top-1准确率评估,验证集包含50k张图像。我们的实现基于PyTorch[33]。我们主要在ResNet[9]和ResNeXt[50]模型中应用我们的XBNBlock来验证其有效性。更多其他架构的结果请参考补充材料。05.2.1 ResNet-50的消融研究0我们采用广泛使用的训练协议来比较ResNet/ResNeXt在ImageNet分类[9]上的性能:我们使用小批量大小为256的随机梯度下降(SGD),动量为0.9,权重衰减为0.0001。我们训练100个epoch。初始学习率设置为0.1,在30、60和90个epoch时除以10。我们的基准是使用BN[16]训练的ResNet-50。0GN0IN0图7.在网络中应用XBNBlock时,不同位置的Top-1验证准确率。'Full'表示将所有BN替换为GN/IN的网络。00 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 噪声幅度0准确率(%)0图8.在估计的总体统计数据上施加不同噪声幅度时的Top-1验证准确率。结果是在5个随机种子上平均得到的。如果瓶颈/XBNBlock的第一个BN在推断过程中使用{ ˆ μ δ , ˆ σ 2 δ}进行归一化,则将其称为'扰动块'。这里ResNet-50的前六个块都是'扰动块'。我们还使用其他块作为'扰动块'进行实验,并得到类似的观察结果(详见补充材料)。0XBNBlock中BFN的位置。我们研究在XBNBlock中应用BFN的位置。我们使用GN(组数为g=64)作为BFN。我们考虑三种XBNBlock变体,分别替换瓶颈中的第一个、第二个和第三个BN,并将它们称为'XBNBlock-P1'、'XBNBlock-P2'和'XBNBlock-P3'。我们将这些XBNBlocks替换为ResNet-50的所有瓶颈,并在表1中报告结果。我们可以看到所有具有XBNBlock的网络都明显优于基准模型。需要注意的是,所有BN都被GN替换的网络只有75.63%的验证准确率,比基准模型更差。这个结果暗示了由于多个堆叠的BN的累积,BN的估计偏移可能存在。GN可以阻止BN估计偏移的累积,从而提高具有BN的网络的性能。我们观察到'XBNBlock-P2'获得了最佳性能,我们将'XBNBlock-P2'(图6)作为我们默认的XBNBlock在接下来的实验中。0网络中XBNBlock的位置。我们还研究了在网络中应用XBNBlock的位置。ResNet-50中有16个瓶颈,我们考虑0我们还尝试了其他组数,见补充材料。LSMixUpCOSLS + MixUP + COS7690方法 ResNet-50 ResNet-101 ResNeXt-50 ResNeXt-1010基准模型(BN) [16] 76.29 77.65 77.06 79.17 GN [48] 75.73 77.18 75.67 78.02IBN-Net* [31] 77.46 78.61 – 79.12 SN* [26] 76.90 77.99 – –0XBNBlock GN(我们的) 77.40 78.21 77.66 79.84 XBNBlock GN-D2(我们的)77.39 78.63 77.63 79.720表2. ResNets [9]和ResNeXts [50]在ImageNet上的Top-1准确率(%)。‘*’表示结果来自相应的论文。0基准模型(BN) 76.70 76.75 76.72 77.16 XBNBlock GN 77.4177.70 77.60 78.220表3.使用先进的训练策略在ResNet-50上的Top-1准确率(%)。'LS'表示标签平滑,'COS'表示余弦学习率衰减。0有三种替代XBNBlocks的瓶颈的变体:(1)XBNBlock-D2:将第{2n,n =1,2,...,8}个瓶颈替换为XBNBlocks;(2)XBNBlock-D4:将第{4n,n =1,2,3,4}个瓶颈替换为XBNBlocks;(3)XBNBlock-D8:将第{8n,n =1,2}个瓶颈替换为XBNBlocks。我们研究了XBNBlock中的GN和IN,并称之为'XBNBlock GN'和'XBNBlockIN'。结果如图7所示。我们观察到所有的'XBNBlockGN'模型的验证准确率都优于基准模型,并且具有更少XBNBlockGN的网络性能更差。我们还发现,'XBNBlockIN-D4'的验证准确率为77.19%,优于基准模型(76.29%),而XBNBlockIN只有74.99%。我们将这种现象归因于IN对归一化输出提供了更强的约束力,这可以影响模型的表示能力,例如,XBNBlockIN的训练准确率只有77.93%,明显低于基准模型的80.29%。在接下来的部分,我们将展示这种约束力使得模型更加稳健。对分布偏移的稳健性。如第4.2.2节所讨论的,BFN可以阻止BN估计偏移的累积,这表明具有BFN的模型可能比分布偏移更稳健。我们设计实验来验证这个论点。我们扰动BN的估计均值和方差如下:� ˆ μ δ = (1 + δ μ)ˆ μ, δ μ � uniform ( − Δ , Δ) ˆ σ 2 δ = (1 + δ σ )ˆ σ 2 , δ σ �uniform ( − Δ , Δ) , (5)0其中Δ表示噪声幅度。图8显示,基准模型('BN')的验证准确率随着噪声幅度的增加而显著降低,而XBNBlock GN /XBNBlockIN对于这种扰动更加稳定。这表明,在BFN的训练和推断过程中进行一致的归一化操作可以潜在地减少层中的分布偏移,并提高模型的稳健性。我们还注意到XBNBlockIN比XBNBlockGN更稳健,我们将这归因于IN在归一化输出上提供了比GN更强的约束力,从而给出了一个更稳定的分布来防止分布偏移。05.2.2 对更大模型的实验0我们验证了XBNBlock在ResNet-101[9]、ResNeXt-50和ResNeXt-101[50]上的有效性。基线是使用BN训练的原始网络,我们还使用GN训练模型。结果如表2所示。我们可以看到我们的方法始终以显著的优势改进了基线(BN)在所有架构上的性能。我们的方法在性能上与IBN-Net[31]相当。请注意,IBN-Net精心设计了网络中IN的位置和通道数,而我们的XBNBlock的设计更简化。我们认为我们的观察结果,即BFN(例如IN)可以阻止BN估计偏移的累积,也为IBN-Net在其良好性能方面的成功提供了合理的解释,特别是在具有分布偏移的场景中(例如领域自适应和迁移学习任务[31])。0高级训练策略。除了第5.2.1节中描述的标准训练策略外,我们还使用更高级的训练策略进行实验:1)使用100个周期进行余弦学习率衰减训练[25];2)使用平滑标签[10],平滑因子为0.1;3)使用混合训练[55],混合因子为0.2。XBNBlock始终以显著的优势超越基线。表3显示了ResNet-50的结果,请参阅补充材料以获取ResNet-101和ResNeXt-50的结果。0向白化方向。请注意,我们的方法也可以使用最近提出的分组白化(GW)[14]作为BFN。通过在我们的设计中应用GW,我们的XBNBlock在归一化(白化)方法中超越了最先进的方法。例如,我们的方法在ResNet-101上获得了79.18%的验证准确率,而基线(BN)为77.65%,增益为1.53%。详情请参阅补充材料。05.3. 在COCO上的检测和分割我们在COCO基准测试[24]上进行目标检测和分割的实验。我们使用基于公开可用代码库'maskrcnn-benchmark'[27]的Faster R-CNN[34]和MaskR-CNN[8]框架。我们在COCO2017训练集上训练模型,并在COCO2017验证集上进行评估。我们报告了平均精度(AP)作为边界框检测(AP bbox)和实例分割(APmask)的标准COCO指标[24]。我们尝试了从预训练模型进行微调和从头开始训练的实验。7700ResNet-50 ResNext-10102fc头盒子 4conv1fc头盒子 2fc头盒子 4conv1fc头盒子0Method AP bbox AP mask AP bbox AP mask AP bbox AP mask AP bbox AP mask0BN† 37.40 34.01 37.51 33.68 42.13 37.78 42.24 37.53 GN 37.55 34.06 39.02 34.37 41.47 37.1742.18 37.53 XBNBlock GN 38.19 34.57 39.57 34.86 42.69 38.00 43.43 38.680表4. 使用MaskR-CNN框架在COCO上的检测和分割结果(%),该框架在[27]中实现。基于ResNet-50主干的模型使用1x的学习率调度(90k次迭代)和批量大小为16在八个GPU上进行训练。基于ResNeXt-101主干的模型使用1x的学习率调度(180k次迭代)和批量大小为8在八个GPU上进行训练。0Method 2fc头盒子 4conv1fc头盒子0BN† 36.31 36.85 GN 36.62 37.86 XBN
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功