IBN-Net
Two at Once: Enhancing Learning and Generalization Capacities via IBN-Net
https://arxiv.org/abs/1807.09441
Xingang Pan1, Ping Luo1, Jianping Shi2, and Xiaoou Tang1
出自商汤, ECCV2018
Question
如何提高backbone更好的泛化性, 使得在模型迁移, 跨域学习等任务仍能有效利用原有模型提取特征的能力.
模型提取特征的能力, 受到外观, 颜色, 风格,光照, 分辨率等因素的影响, 为了提高模型的泛化能力, 可以通过增强卷积神经网络对于外观特征的提取来解决, 诸如增加最大池化, 空洞卷积, 可以提高模型空间变换不变性. 另外一方面, 通过适当扩充数据集, 增加光照变化, 色彩通道变化也可以增强模型的泛化能力.
如果说, 数据域差异过大, 直接迁移就会产生灾难性遗忘, 在单一域训练的模型无法直接应用在另一个域上, 是否可以通过设计深层的网络结构去解决外观的多样性?
Methodology
Instance Normalization (IN)
IN可以学习到图片外观的不变性.
将图片风格转换莫奈(Monet)和梵高(Van Gogh)的样式©, 输入到带有IN 的autoencoder中, 输出的图片风格一致, 利用IN消除了风格对CNN的影响.
Monet:
Van Gogh:
Batch Normalization(BN)
BN学习到与内容相关的最重要的某些信息.
IBN-net
- 蓝条: 同一张图片, CNN对原始风格图片与monet风格图片提特征, 通过KL divergence 计算每一层特征的差异.
- 橘条: CNN对两个类别的图片提取特征, 通过KL divergence 计算每一层特征的差异.
通过实验发现, 风格的差异集中在网络浅层, 语义的差异集中在网络深层.
所以网络设计的原则:
- 为了减少由浅层外观引起的特征差异,同时又不干扰深层的内容区分,我们仅在CNN的浅半部分添加IN层.
- 为了在浅层中也保留图像语义信息,我们将原始BN层替换为IN以获得一半的特征,将BN替换为另一一半(IBN-a) 或者在block 输出后接一个IN, 保持原始结构不变(IBN-b).
Achievement
在实验中, IBN-a 对性能有所提升, IBN-b 对模型泛化性提升较为明显.
IBN 是以resnet 为蓝图
IBN-a:
- 在前三个layer中, 将每个blcok中第一个BN替换为IBN.
IBN-b: - 在模型输入层, 将BN替换为IN.
- 在前两个个layer中, 将每个blcok中addition后添加IN.
Reference
https://www.cnblogs.com/pprp/p/12657836.html