结合Normalization和Whitening SW: Switchable Whitening for Deep Representation Learning

这是上一篇博客记录的商汤IBN-Net作者团队的进一步工作。IBN-Net是结合了BN和IN,这篇则是结合了归一化和白化。IBN-Net中的BN和IN的占比是通过大量实验手工设定的,而这篇论文则是训练中学习到的,因此称为Switchable Whitening。在分类、语义分割、领域迁移,图像风格迁移上都能获得性能提升。代码以及ImageNet预训练权重已开源

结合Normalization和Whitening SW: Switchable Whitening for Deep Representation Learning
Xingang Pan, Xiaohang Zhan, Jianping Shi, Xiaoou Tang, Ping Luo
CUHK-SenseTime Joint Lab, The Chinese University of Hong Kong, SenseTime Group Limited, The University of Hong Kong, 2019


Introduction

图一展示了性能提升效果,以及改模块针对不同类型任务,所学到的权重的不同。
图1

同时SW学到的权重也能回答一些问题:

  1. 对高级视觉任务如分类和领域迁移,IW有用吗?
    IW对图片的外观差异以及领域间差异处理得很好,对高级任务是有用的
  2. 当已使用了白化时,标准化还有必要么?
    从结果看,仅使用白化(BW+IW)的SW已经能接近加上归一化的SW效果了,说明使用白化后,不太需要标准化了。

Normalization
归一化是通过对样本的激活值进行统计,得到均值与方差,将激活值分布变成标准分布,加速训练并增强泛化性。IN常用于图片生成,而LN被证明在RNN中有效。

Whitening
归一化只是让输出值回到标准分布,但它们之间的相关性并没有被去掉。谷歌的BN论文中论证时就提到了,他们想做的是白化,只不过由于计算的昂贵,才退而求其次使用了归一化。

Switchable Whitening (SW)

CNN的数据由NCWH四个维度组成。则对batch中某个样本的白化操作如下:

其中$\mu$和$\Sigma$是从数据中计算出的均值向量和协方差矩阵,$1$是全1的列向量。BW的统计是在NWH三个维度,而IW的统计仅在HW上。

Switchable Whitening的做法实际是结合以上所有白化和归一化方法他们各自得到的均值和协方差统计来进行白化:

其中$\Omega$是不同方法得到的统计值集合。本论文主要分析了两类,只结合了白化的$\Omega=\{bw,iw\}$以及包括白化和标注化的$\Omega=\{bw,iw,bn,in,ln\}$。$\omega_k$用于控制不同统计的重要程度。实践中,$\omega_k$是被对应参数$\lambda_k$通过softmax控制的。$\omega_{k}=\frac{e^{\lambda_{k}}}{\sum_{z \in \Omega} e^{\lambda_{z}}}$。类似的,$\omega_{k}^{\prime} $通过另一个参数$\lambda_{k}^{\prime}$控制。

后续还介绍了使用牛顿迭代法来计算$\hat \Sigma ^{-1/2}$,替代奇异值分解SVD以获得加速。

复杂度分析
复杂度分析见表1

Alt text

可以看到,Normalization的时间复杂度与NCHW四个维度都相关。而白化则更相关与特征通道数。可以使用group分组白化,来降低复杂度。

Experiments

实验结果显示在分类、语义分割、领域迁移,图像风格迁移上,SW都能获得性能提升。

Alt text

Alt text

Alt text

运行时间对比如下,少量的速度换来了更优秀的性能:
Alt text

不同归一化层的风格迁移效果:
Alt text

Analysis on SW

还有一个很重要的信息是,从SW训练出来的各归一化在不同层权重中我们能分析些什么。

Learning Dynamics.
权重都是初始化为相等的。图6、图7是不同层各权重随着训练的变化曲线。

Alt text

Alt text

可以观察到一些有趣现象:

  1. 在不同任务中学习动态(Learning Dynamics)差别很大。例如CIFAR-10中SW多选择了IW,偶尔使用BW。而Cityscape中BW和BN是用得最多的
  2. SW在不同层学得的表现差别很大
  3. $\omega_k$与$\omega_k^{\prime}$的表现大部分时间具有相关性,而有时相歧。

Importance Ratios for Various Tasks.
图8是不同任务中权重比值。
Alt text

论文给出了以下评论:

  1. 对于语义分割,SW更侧重于BW和BN。而分类任务中更多的使用了IW。这是因为分类训练集中图片间的差异性要大于分割训练集。因此需要更多的IW来消除数据内部的差异。
  2. 语义分割在进行领域迁移时,相比普通训练会得到更多的IW与IN。因为IW和IN有助于降低两个领域间的特征差异。
  3. 在图像风格迁移任务中,SW非常激进地倒向了IW。这一现象与大家熟知的IW对风格迁移很有用相符合。