(四十二)论文阅读 | 归一化之BGN


简介

在这里插入图片描述

图1:论文原文

归一化在深度神经网络中起到重要作用,主要表现在防止梯度爆炸和梯度弥散,同时还能加速模型的收敛和缓解过拟合效应。其中最经典的归一化方法是批量归一化 B a t c h   N o r m a l i z a t i o n ,   B N {\rm Batch\ Normalization,\ BN} Batch Normalization, BN),后续出现了对其的改进如实例归一化 I n s t a n c e   N o r m a l i z a t i o n ,   I N {\rm Instance\ Normalization,\ IN} Instance Normalization, IN)、层归一化 L a y e r   N o r m a l i z a t i o n ,   L N {\rm Layer\ Normalization,\ LN} Layer Normalization, LN)、组归一化 G r o u p   N o r m a l i z a t i o n ,   G N {\rm Group\ Normalization,\ GN} Group Normalization, GN)和位置归一化 P o s i t i o n a l   N o r m a l i z a t i o n ,   P N {\rm Positional\ Normalization,\ PN} Positional Normalization, PN)等。本文介绍的论文提出一种新的归一化方法批量组归一化 B a t c h   G r o u p   N o r m a l i z a t i o n ,   B G N {\rm Batch\ Group\ Normalization,\ BGN} Batch Group Normalization, BGN),效果优于以前的归一化方法。实验结果为在 I m a g e N e t {\rm ImageNet} ImageNet数据集上的分类效果比 B N {\rm BN} BN高出近 10 10 10个点。论文原文


0. Abstract

深度卷积神经网络的训练难以收敛且耗时,而归一化是一种有效的解决办法。在以往的归一化方法中, B N {\rm BN} BN在大中批次的模型训练中表现良好且适用于多种视觉任务,然而其在小批次上的表现欠佳。作者发现 B N {\rm BN} BN在极大的批次下存在饱和现象,如每个线程 128 128 128幅图像;同时小批次下也存在效果变差的情况。因此,在不改变其他参数和训练环境的情况下, G B N {\rm GBN} GBN的提出用于缓解在极大和小批次下归一化效果变差的问题。使用 G N {\rm GN} GN中的组技术以及利用参数 G {\rm G} G控制用于计算的特征实例数,对于不同大小的批次既不产生噪音也不会发生混淆。实验证明 G B N {\rm GBN} GBN的效果好于 B N {\rm BN} BN L N {\rm LN} LN G N {\rm GN} GN P N {\rm PN} PN等方法,同时也适用于大多数的视觉任务,包括图像分类、神经架构搜索、对抗学习、小样本学习和无监督域自适应等。

论文贡献:(一)提出新的归一化方法 B G N {\rm BGN} BGN;(二) B G N {\rm BGN} BGN不引入额外的学习参数;(三) B G N {\rm BGN} BGN在多项任务上均取得 S O T A {\rm SOTA} SOTA


1. Introduction

A l e x N e t {\rm AlexNet} AlexNet被提出以来,深度卷积神经网络在众多视觉任务如图像分类、目标检测和图像分割等中大受欢迎。 D C N N s {\rm DCNNs} DCNNs通常由卷积层、归一化层和激活层等组成,而归一化层对于提高模型性能和加速训练至关重要。

B N {\rm BN} BN是早期使用较多的归一化方法,它通过计算特征图的批次、高度和宽度的均值和方差而对其归一化,然后使用再缩放和再平移重新调整特征图以保留 D C N N s {\rm DCNNs} DCNNs的表达能力。基于 B N {\rm BN} BN的工作又相继出现许多其他的归一化方法,如 L N {\rm LN} LN提出在 R N N {\rm RNN} RNN中沿通道、宽度和高度来归一化特征图; W N {\rm WN} WN提出对权重向量进行参数化,以监督图像识别、生成建模和深度强化学习; D N {\rm DN} DN是包含 B N {\rm BN} BN L N {\rm LN} LN的特殊情况,是一种被用于图像分类、语言建模和超分辨率等中的归一化方法; I N {\rm IN} IN基于特征图的高度和宽度进行归一化,使用于快速风格化中; N P {\rm NP} NP从网络层的分布中独立地估计数据来进行归一化,而非从数据中统计数据特征; G N {\rm GN} GN将特征图的通道划分成组,然后基于每个组内的通道、高度和宽度来进行归一化; P N {\rm PN} PN提出沿通道维度来得到统计特征,常用于生成网络。

在这些归一化方法中, B N {\rm BN} BN在大中批次的情况下能够很好地发挥作用,但其在小批次上的效果会减弱。此外,论文实验证明了 B N {\rm BN} BN在极大批次下会存在饱和现象。 G N {\rm GN} GN在各种批次下都能够取得较好的效果,但其在大中批次下的效果不如 B N {\rm BN} BN。而上述提到的其它归一化方法仅适用于特定的任务。

在论文中, B G N {\rm BGN} BGN不需要学习其他参数。通常上,小批次的训练结果要好于单批次和全批次,因为单批次训练可能引入噪声而全批次训练难以选择具有代表性的梯度。基于此,作者认为在归一化计算中特征实例的数目也应该进行相应的调整。

B G N {\rm BGN} BGN的提出用于缓解 B N {\rm BN} BN G N {\rm GN} GN中的退化和减弱现象,它将通道、高度和宽度合并成一个维度,并将新合成的维度分解成特征组数,最后计算整个小型批次和特征组的统计信息。超参数 G {\rm G} G用于控制划分的特征层数,并对不同的批次提供合适的统计信息。


2. Related Work

Why normalization works? B N {\rm BN} BN的有效性归因于内部协变量偏移,其中每一层的输入分布都会发生变化。因此,较低的学习率和有效的参数初始化对于确保在不进行归一化的 D C N N {\rm DCNN} DCNN中进行良好的训练至关重要。例如, S a n t u r k a r {\rm Santurkar} Santurkar提到 B N {\rm BN} BN对于内部协变量偏移的作用有限,而是平稳了优化以得到稳定的梯度和更加快速的训练; B j o r c k {\rm Bjorck} Bjorck提到更大的学习率是 B N {\rm BN} BN能够更快收敛的主要原因; A r o r a {\rm Arora} Arora提到 B N {\rm BN} BN在减小学习率中的作用; L u o {\rm Luo} Luo提到 B N {\rm BN} BN和正则化具有相同的特征; O L S {\rm OLS} OLS在有无 B N {\rm BN} BN的情况下对梯度下降作了比较; F a n {\rm Fan} Fan提到通过模糊神经网络, B N {\rm BN} BN能够估计由广义汉明距离引起的偏差; Y a n g {\rm Yang} Yang提到 B N {\rm BN} BN引起了无残差结构的 D C N N s {\rm DCNNs} DCNNs中的梯度爆炸; L i {\rm Li} Li解释了 B N {\rm BN} BN d r o p o u t {\rm dropout} dropout之间的不兼容性; Z h a n g {\rm Zhang} Zhang提出 B N {\rm BN} BN并不是稳定训练、更大的学习率、加速收敛和改善正则化的唯一途径,还可以通过更好的初始化实现; H o u {\rm Hou} Hou提到归一化层在 L S T M {\rm LSTM} LSTM中能够引入更加稳定的梯度。上述对 B N {\rm BN} BN的解释并不统一。

Improvements C e n t e r e d   W N {\rm Centered\ WN} Centered WN添加一个可学习参数来调整 W N {\rm WN} WN的权重因子; R e c u r r e n t   B N {\rm Recurrent\ BN} Recurrent BN提出在 R N N s {\rm RNNs} RNNs中不仅将 B N {\rm BN} BN用于输入层到隐藏层之间,也将其用于隐藏层到隐藏层之间; B a t c h   R e n o r m a l i z a t i o n {\rm Batch\ Renormalization} Batch Renormalization提出减少 B N {\rm BN} BN对小批次的依赖; C h o {\rm Cho} Cho提出将 R i e m a n n i a n {\rm Riemannian} Riemannian在权重向量空间与 B N {\rm BN} BN结合,提高了 B N {\rm BN} BN在各 D C N N {\rm DCNN} DCNN中的性能; E v a l N o r m {\rm EvalNorm} EvalNorm提出在评估过程中估计校正后的归一化统计数据,以解决 B N {\rm BN} BN性能下降的问题; M o v i n g   A v e r a g e   B N {\rm Moving\ Average\ BN} Moving Average BN提出使用反向传播中的批统计特征;基于 L N {\rm LN} LN A d a p t i v e   N o r m a l i z a t i o n {\rm Adaptive\ Normalization} Adaptive Normalization提出使用新的变换函数来修改偏置和增益; R o o t   M e a n   S q u a r e   L N {\rm Root\ Mean\ Square\ LN} Root Mean Square LN提出在 L N {\rm LN} LN中丢弃再中心化而保持再缩放。

研究者也正研究非线性归一化技术。例如, Z C A {\rm ZCA} ZCA代替了 B N {\rm BN} BN中的中心化和缩放操作,得到 D e c o r r e l a t e d   B N {\rm Decorrelated\ BN} Decorrelated BN I t e r a t i v e   N o r m a l i z a t i o n {\rm Iterative\ Normalization} Iterative Normalization提出使用牛顿迭代法以避免 D e c o r r e l a t e d   B N {\rm Decorrelated\ BN} Decorrelated BN中的特征分解; S p e c t r a l   N o r m a l i z a t i o n {\rm Spectral\ Normalization} Spectral Normalization提出在 G A N s {\rm GANs} GANs和对抗训练中归一化权重的频谱范数。

学习归一化也得到相关研究,可以将之前不同的归一化方法结合起来以获得更好的效果。例如, B I N {\rm BIN} BIN基于可训练参数结合 B N {\rm BN} BN I N {\rm IN} IN的输出特征图,用于风格迁移任务; S N {\rm SN} SN提出在 B N {\rm BN} BN I N {\rm IN} IN L N {\rm LN} LN中将均值和方差替换成可学习参数; S p a r e   S N {\rm Spare\ SN} Spare SN使用 S p a r s e M a x {\rm SparseMax} SparseMax S N {\rm SN} SN中引入可学习参数;在实例级 M e t a   N o r m a l i z a t i o n {\rm Meta\ Normalization} Meta Normalization中,前向传播的特征和反向传播的梯度用于学习归一化参数。

Others 归一化可以作为直接实现任务的方法。例如, H u a n g {\rm Huang} Huang将内容特征的均值和方差与样式特征的均值和方差对齐,可以实现实时风格转换;将统计特征从源域转换到目标域可以实现域自适应性;将 B N {\rm BN} BN结合可学习任务可以完成新的任务;其他还有如交叉域任务、全局协方差池化网络、多任务学习、 U D A {\rm UDA} UDA、医疗领域和场景文本检测等的归一化方法; K N {\rm KN} KN提出结合 D C N N {\rm DCNN} DCNN中的多个层;针对低精度计算中的数值稳定性, H o f f e r {\rm Hoffer} Hoffer提出使用 1 1 1范数和无穷范数代替 2 2 2范数。


3. Methodology

对于深度为 L {\rm L} L的深度卷积神经网络,对于特征图 F l , l ∈ [ 1 , L ] \mathcal F^l,l\in[1,\rm L] Fl,l[1,L],通常用四维向量 ( N , C , H , W ) ({\rm N,C,H,W}) (N,C,H,W)表示,具体含义分别为批次大小、通道数、高和宽。简单地,令 n ∈ [ 1 , N ] , c ∈ [ 1 , C ] , h ∈ [ 1 , H ] , w ∈ [ 1 , W ] n\in[1, {\rm N}],c\in[1, {\rm C}],h\in[1, {\rm H}],w\in[1, {\rm W}] n[1,N],c[1,C],h[1,H],w[1,W]为相应的批次、通道、宽和高。则第 l + 1 l+1 l+1层特征图的计算可由以下公式计算得到: F l + 1 = ψ ( θ ( ϕ ( F l , w l , b l ) , γ l , β l ) ) (1) \mathcal F^{l+1}=\psi(\theta(\phi(\mathcal F^l,w^l,b^l),\gamma^l,\beta^l))\tag{1} Fl+1=ψ(θ(ϕ(Fl,wl,bl),γl,βl))(1)

其中, w l w^l wl b l b^l bl是卷积层中可学习的权重和偏置项参数, γ l \gamma^l γl β l \beta^l βl是归一化层中可学习的缩放和平移参数, ψ ( ⋅ ) \psi(\cdot) ψ()是激活函数, θ ( ⋅ ) \theta(\cdot) θ()是归一化函数, ϕ ( ⋅ ) \phi(\cdot) ϕ()是卷积函数。

归一化操作大致包含四个步骤: ( 1 ) (1) (1)将特征图划分为特征组; ( 2 ) (2) (2)计算每个特征组的均值和方差; ( 3 ) (3) (3)基于计算结果归一化每个特征组; ( 4 ) (4) (4)再次对特征图进行缩放和平移,以恢复 D C N N {\rm DCNN} DCNN所学习到的特征。如在 B N {\rm BN} BN中,基于通道将原特征图划分,均值 μ c \mu_c μc和方差 δ c 2 \delta_c^2 δc2的计算公式如下: μ c = 1 N × H × W ∑ n = 1 N ∑ h = 1 H ∑ w = 1 W f n , c , h , w (2) \mu_c=\frac{1}{\rm N\times H\times W}\sum_{n=1}^{\rm N}\sum_{h=1}^{\rm H}\sum_{w=1}^{\rm W}f_{n,c,h,w}\tag{2} μc=N×H×W1n=1Nh=1Hw=1Wfn,c,h,w(2)

δ c 2 = 1 N × H × W ∑ n = 1 N ∑ h = 1 H ∑ w = 1 W ( f n , c , h , w − μ c ) 2 (3) \delta_c^2=\frac{1}{\rm N\times H\times W}\sum_{n=1}^{\rm N}\sum_{h=1}^{\rm H}\sum_{w=1}^{\rm W}(f_{n,c,h,w}-\mu_c)^2\tag{3} δc2=N×H×W1n=1Nh=1Hw=1W(fn,c,h,wμc)2(3)

然后通过以下公式归一化特征图: f ^ n , c , h , w = f n , c , h , w − μ c δ c 2 + ϵ (4) \hat f_{n,c,h,w}=\frac{f_{n,c,h,w}-\mu_c}{\sqrt{\delta_c^2+\epsilon}}\tag{4} f^n,c,h,w=δc2+ϵ fn,c,h,wμc(4)

为了不丢失模型所学习到的特征,额外引入两个参数: f n , c , h , w ′ = γ c f ^ n , c , h , w + β c (5) f'_{n,c,h,w}=\gamma_c\hat f_{n,c,h,w}+\beta_c\tag{5} fn,c,h,w=γcf^n,c,h,w+βc(5)

但是, B N {\rm BN} BN在小批次中表现较差。为此, G N {\rm GN} GN的提出用于缓解该问题,其计算公式如下: μ n , g = 1 N × H × W ∑ m = ( g − 1 ) ⋅ M + 1 g ⋅ M ∑ h = 1 H ∑ w = 1 W (6) \mu_{n,g}=\frac{1}{\rm N\times H\times W}\sum_{m=(g-1)\cdot \rm M+1}^{\rm g\cdot\rm M}\sum_{h=1}^{\rm H}\sum_{w=1}^{\rm W}\tag{6} μn,g=N×H×W1m=(g1)M+1gMh=1Hw=1W(6)

δ n , g 2 = 1 N × H × W ∑ m = ( g − 1 ) ⋅ M + 1 g ⋅ M ∑ h = 1 H ∑ w = 1 W ( f n , c , h , w − μ c ) 2 (7) \delta_{n,g}^2=\frac{1}{\rm N\times H\times W}\sum_{m=(g-1)\cdot \rm M+1}^{\rm g\cdot\rm M}\sum_{h=1}^{\rm H}\sum_{w=1}^{\rm W}(f_{n,c,h,w}-\mu_c)^2\tag{7} δn,g2=N×H×W1m=(g1)M+1gMh=1Hw=1W(fn,c,h,wμc)2(7)

其中, g ∈ [ 1 , G ] g\in[1,\rm G] g[1,G] G {\rm G} G是一个表示组数的超参数, M = C / / G {\rm M=C//G} M=C//G表示整除。 G N {\rm GN} GN在各个批次大小下的表现均较好,但其在大中批次的表现不如 B N {\rm BN} BN

作者猜想 B N {\rm BN} BN在小批次中表现较差的主要原因是噪声, B G N {\rm BGN} BGN基于 G N {\rm GN} GN中的分组计数来控制用于计算的特征数。具体地,首先将通道、高度和宽度维度合并成一个新的维度得到 F N × D l \mathcal F_{\rm N\times D}^{\rm l} FN×Dl,其中 D = C × H × W {\rm D=C\times H\times W} D=C×H×W。均值和方差的计算公式如下: μ g = 1 N × S ∑ n = 1 N ∑ d = ( g − 1 ) ⋅ S + 1 g ⋅ S f n , d (8) \mu_g=\frac{1}{\rm N\times S}\sum_{n=1}^{\rm N}\sum_{d=(g-1)\cdot \rm S+1}^{\rm g\cdot S}f_{n,d}\tag{8} μg=N×S1n=1Nd=(g1)S+1gSfn,d(8)

δ g 2 = 1 N × S ∑ n = 1 N ∑ d = ( g − 1 ) ⋅ S + 1 g ⋅ S ( f n , d − μ g ) 2 (9) \delta_g^2=\frac{1}{\rm N\times S}\sum_{n=1}^{\rm N}\sum_{d=(g-1)\cdot \rm S+1}^{\rm g\cdot S}(f_{n,d}-\mu_g)^2\tag{9} δg2=N×S1n=1Nd=(g1)S+1gS(fn,dμg)2(9)

其中, G {\rm G} G表示合成的新维度被划分的组数, S = M / G {\rm S=M/G} S=M/G表示每个特征组中的实例数。当训练时所用批次较小时,较小的 G {\rm G} G用于控制将所有实例用于计算;当训练时所用批次较大时,较大的 G {\rm G} G用于控制将较少实例用于计算。其他参数的含义与 B N {\rm BN} BN相同。

Relation to General Batch Group Normalization (GBGN) 相比于 G B G N {\rm GBGN} GBGN B G N {\rm BGN} BGN的贡献如下:

  1. 首先提出BN在极端大的批次下存在饱和现象;
  2. 首先提出BN在极端大和小批次存在退化的原因是噪声;
  3. 提出在通道、高和宽中使用组技术;
  4. 实验证明了 G B N {\rm GBN} GBN在图像分类、 N A S {\rm NAS} NAS、对抗学习、 F S L {\rm FSL} FSL U D A {\rm UDA} UDA等任务上的有效性。

4. Experiments

在这里插入图片描述

图2:批次大小和组数的对比实验

上图是 R e s N e t \rm ResNet ResNet- 50 50 50 I m a g e N e t {\rm ImageNet} ImageNet数据集上的分类结果对比。纵向对比是使用极端大和极端小批次,横向对比是超参数 G {\rm G} G的设置。实验结果也验证了 B G N {\rm BGN} BGN在大批次上设置较大 G {\rm G} G值和在小批次上设置较小 G {\rm G} G值假设的有效性。

在这里插入图片描述

图3:各归一化方法在不同批次下的对比实验

文中还有在其他任务上 G B N {\rm GBN} GBN同其他归一化方法的比较,实验结果大多是 G B N {\rm GBN} GBN的表现更好。


5. Conclusion

B G N {\rm BGN} BGN基于 B N {\rm BN} BN G N {\rm GN} GN得到,其在各个任务上均取得了较好的结果,文中的实验部分也论证了这一点。


参考

  1. Zhou X Y, Sun J, Ye N, et al. Batch Group Normalization[J]. arXiv preprint arXiv:2012.02782, 2020.


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值