提升模型跨场景的泛化能力
是实际应用不可避免的问题。本文介绍了我们的两个工作对此进行的探索,分别收录于 ECCV 2018 和 ICCV 2019。本文侧重讲述工作背后的思路,希望对读者有所启示。
作者丨潘新钢
学校丨香港中文大学博士生
研究方向丨计算机视觉
提升模型对于图像外观变化的适应性是计算机视觉中一个重要问题。当测试数据与训练数据有较大外观差异时(例如真实数据 Cityscapes 与虚拟数据 GTA5),模型的性能会显著下降,该问题通常被称为域间隙(domain gap)。目前对此的常用解决方案是迁移学习(transfer learning)或域适应(domain adaptation)。
这些方案针对训练方式进行改进,但是受限于模型自身的性能,当模型适应于域 A 时,它对域 B 的适应性通常会下降。一种更理想的情况是一个模型就可以适应多样的图像外观。因此,我们考虑一种更加基本的方案:改进模型本身,即在模型中引入对图像的外观不变性(appearance invariance)。
在神经网络中,不变性是一种很有用的特性。例如,常用的 max pooling 引入了局部空间不变性,使神经网络对图片的局部空间变化有更好的适应性。我们希望通过引入外观不变性,使得即使输入图片中物体的亮度,颜色,风格等发生变化,也不会影响模型的输出结果。例如在分类任务中达到如下效果:
输出:羊驼
为了引入外观不变性,我们首先想到的是从图像风格迁移(style transfer)工作中寻找线索。图像风格迁移可以将图 A 的风格转换成图 B 的,这里的风格包括图像纹理、颜色、明暗等视觉因素,与我们关注的图像外观有很大的重叠。那么如果存在一种变换能够将所有图片的风格变化成同一种风格,这就是我们想要的外观不变性。这样的变换是否存在呢,答案是肯定的,并且十分简洁。
在图像风格迁移领域,学者们发现在 ImageNet 上训练过的 VGG 网络的特征各个通道的均值与标准差很好地编码了图像的风格信息,因此通过调整该均值与标准差,再经过一个额外训练的 decoder,就可以实现风格迁移,该方法称作 adaptive instance normalization [1]。那么如果我们将所有图片的神经网络特征的各个通道的均值与标准差通过 instance normalization(IN)变得相同,就消除了这些图片在风格上的差异,即引入了风格不变性。
▲ 我们通过一个小实验验证这个想法。如图,IN确实可以一定程度上消除图片在风格上的差异
不变性与判别力的trade-off
那么为了在模型中引入外观不变性,最直接的方法就是将 BN 都换成 IN。但事实上这样会显著降低模型性能,这也是为什么 IN 之前一直没有被用在高级视觉任务中(分类,检测等)。
这是因为,IN 虽然引入了不变性,但是减少了判别力(discriminative power)。因为 IN 操作损失了特征的均值与标准差信息,而实际上它们不仅表达风格信息,也表达了对任务有用的类别等信息。事实上,随着网络加深,特征的均值与标准差表达的外观信息越来越少,语义信息越来越多,如下图所示:
▲ 随着层数加深,图像风格差异造成的特征散度越来越少,图像类别差异造成的特征散度越来越大
因此,为了引入外观不变性同时尽可能保留判别力。我们在模型前半部分(如 ResNet 前三组 residual groups)引入少量 IN,深层保留 BN。只通过这样微小的改动就可以在不改变模型复杂度的情况下显著提升性能,我们把这种网络设计称作 IBN-Net(具体设计方式参见原论文
[2]
)。
▲ IBN-Net在ImageNet上显著提升各个模型性能(数字越低越好)
由于在模型设计上引入了外观不变性,在 domain adaptation 任务中,即使不使用目标域的数据,IBN-Net 也可以实现跨域的效果提升:
在 person ReID 任务中,模型对图片中人物外观变化的适应性尤为重要,基于 ResNet50 的 IBN-Net 甚至可以超过 SE-ResNeXt101:
▲
表格来自 https://github.com/michuanhaohao/reid-strong-baseline [3]
巧合的是,在我们投稿后两个月,arxiv 上就有韩国学者放出动机几乎一样的工作 [4]。
从IBN-Net到Switchable Whitening
随后,为了更合理地引入外观不变性以及提升模型对不同任务的适应性,我们基于以下因素对 IBN-Net 进行了拓展:
1. 图像风格迁移领域的学者发现协方差比标准差更好地编码了图像风格信息
[5]
;
2. 白化(whitening = center + scale + decorrelate)比标准化(standardization = center + scale)有更好的优化性质,即使得 SGD 更接近 NGD(自然梯度)
[6]
;
3. IBN-Net 中 IN 与 BN 的数量依赖手工设计,并非最优,且不同任务需要的各种 normalization 数量可能不同。
因此,我们将各种不同的白化 (BW, IW) 和标准化 (BN, IN, LN) 方法统一于一种通用的形式,并且各种方法的比重可以根据特定任务学习,称作自适配白化(Switchable Whitening,以下简称 SW)
[7]
。
具体而言,这些白化/标准化方法的区别可归纳为均值和协方差的计算方式不同,因此我们用可学习的权重系数对这些统计量进行加权平均,再用得到的均值和协方差进行白化操作,即:
其中 和 是特定的白化/标准化方法的均值和协方差矩阵, 是对应的可直接通过反向传播学习的比例系数,例如:
对于batch whitening(BW),有:
对于 instance whitening(IW),有:
BN 和 IN 可以看作 BW 和 IW 只考虑协方差矩阵对角线的形式,例如。
通常通过 SVD 来计算,但这在现有的库中 GPU 实现的效率很低,因此我们借助
[8]
中的牛顿法进行加速,使得 SW 带来的额外开销可以接受。
受益于更灵活的统计量形式和可选择性,SW 带来了更显著的性能提升:
▲
ImageNet validation set结果(数字越低越好)
▲ SW基于强大的PSPNet101上也能取得不错的提升,在ADE20K上达到SOTA
在实例分割任务中也显著超越 SyncBN 和 GN,并被 mmlab 检测天团用在了 COCO 比赛中。
▲ 在backbone中为节省计算量只有部分BN替换成了SW,具体请参见论文或代码
SW 在不同任务中倾向于选择不同的白化/标准化统计量,体现出适应性:
▲ SW在不同任务中学到的各种统计量的比重,上下分别对应于两种setting
例如,在图像风格迁移任务中,SW 会倾向于选择 IW,而在图像风格迁移领域中,学者们也经历了 BN->IN->IW 的探索。有趣的是 SW 的选择性与人的探索结果相一致。另外,SW 在分类任务中比在分割任务中会倾向于选择更多的 IW,我们推测这是因为分类任务中数据的外观多样性更大,因此需要更多的外观不变性来应对。
小结与讨论
1. IN/IW 以损失信息为代价带来不变性。从
[9]
的角度也可以理解为,使用了 IN/IW 的模型对每一张测试图片做了 domain adaptation。另外,由于 IN/IW 不针对特定目标域,所以也是一种 domain generalization 方法。
2. 在图像理解任务中,对一个模型使用任何一种归一化方式都非最优,最优情况介于 IN/IW 的不变性和 BN/BW 的判别力之间。关于不变性与判别力之间 trade-off 的讨论在 deep learning 之前就有,参见
[10]
。
3. 通往跨场景泛化能力更强的模型仍有很长的路要走,除了本文关注的外观变化,旋转、视角、背景等的变化都可能导致模型性能的显著下降
[11]
,这些还需要更多后续的工作来解决。
论文:
https://arxiv.org/abs/1807.09441
代码:
https://github.com/XingangPan/IBN-Net
论文:
https://arxiv.org/abs/1904.09739
代码:
https://github.com/XingangPan/Switchable-Whitening
Reference
[1] Huang, Xun, and Serge Belongie. "Arbitrary style transfer in real-time with adaptive instance normalization." ICCV2017.
[2] Pan, Xingang, et al. "Two at once: Enhancing learning and generalization capacities via ibn-net." ECCV2018.
[3] Luo, Hao, et al. "A Strong Baseline and Batch Normalization Neck for Deep Person Re-identification." arXiv preprint arXiv:1906.08332(2019).
[4] Nam, Hyeonseob, and Hyo-Eun Kim. "Batch-instance normalization for adaptively style-invariant neural networks." NIPS2018.
[5] Li, Yijun, et al. "Universal style transfer via feature transforms." NIPS2017.
[6] Desjardins, Guillaume, Karen Simonyan, and Razvan Pascanu. "Natural neural networks." NIPS2015.
[7] Pan, Xingang, et al. "Switchable whitening for deep representation learning." ICCV2019.
[8] Huang, Lei, et al. "Iterative Normalization: Beyond Standardization towards Efficient Whitening." CVPR2019.
[9] Li, Yanghao, et al. "Revisiting batch normalization for practical domain adaptation."arXiv preprint arXiv:1603.04779(2016).
[10] Varma, Manik, and Debajyoti Ray. "Learning the discriminative power-invariance trade-off." ICCV2007.
[11] Barbu, Andrei, et al. "ObjectNet: A large-scale bias-controlled dataset for pushing the limits of object recognition models."NIPS2019.