Two at Once: Enhancing Learning and Generalization Capacities via IBN-Net论文笔记

论文主要贡献有3点:1)IN学习到的是对形状变换,比如颜色,风格,虚拟的或现实的不敏感的特征,而BN是保留纹理相关的特征;2)灵活,能够用到很多的架构;3)在迁移学习的时候不需要目标领域的数据就能够提高网络的表现。
目的是:解决输入图片的外观不变性。
方法是将IN和BN结合起来,IBN-Net。
结果是:IBN-Net能够学习捕获和消除外观的变换,而保持学到的特征的区别性。
结构特性:将IN和BN的特性保留在浅层网络部分,深层使用BN学到的特征。为什么这么用呢?这幅图解释了原因:
这里写图片描述
浅层的外观不同的feature divergence较大,到深层就变小;而内容不同的feature divergence在浅层较小,在深层较大。所以浅层使用IN,深层使用BN,但是由于BN的巨大的作用,所以浅层也保留使用BN。
引入IN的一些规则:1)处理浅层的形状不变性而不影响深层的纹理差异,所以只在CNN前一半使用;2)为了包含浅层纹理,在使用IN的地方,一半使用IN,一半使用BN。

论文是基于ResNet进行实验的。作者在ResNet前三组conv2 x~conv4 x使用IN和BN的组合,conv5 x只是用BN。在使用BN和IN的组,具体使用细节如图:
这里写图片描述
为什么这么使用,只在第一个normalization层使用,而没有在剩下的层使用,主要有3个理由:1)由于identity path的必要性【9】,所以只在residual path加入IN;2)由于残差函数F(x,{Wi })是与identity 路径的x结合,所以没有在后边使用IN;3)来自于第二条设计规则。这个变体被称为IBN-Net-a。
另一个变体是IBN-Net-b:由于信息已经在两个路径结合后被保留,所以在后边增加IN,如图:
这里写图片描述
为了保持ResNet的最优化,作者只在前三个卷积后边增加IN:conv1,conv2 x, conv3 x。
当然除了前边两个变体,作者还研究了一些有趣的形式:
这里写图片描述

为了保持特征的一般性和区分性,将输入分别输入IN和BN,得到IBN-c,然后将输出进行拼接,这当然增加了参数。类似的得到了IBN-d,IBN-a&d,IBN-ax2。

作者通过实验得出了一些结论,但是我觉得不同网络结构使用这些IBN变体得出的结论可能不一定和论文一样,具体效果怎样,还需要结合特定网络结构进行实验。

然后接下来分析一下Feature Divergence
我们记某个层输出的某个通道的特征的均值为F,假设F符合均值为µ 方差为 σ2 的Gaussian distribution。那么这个通道在不同领域的对称KL散度为:
这里写图片描述
这里写图片描述为第i个通道的对称KL散度,那么这个层的平均特征散度为:
这里写图片描述
C是这个层的通道个数。该度量提供了不同特征分布(A,B)之间的距离的度量。
再讲一下作者为验证IN对外观信息和内容信息的效果,所做的对比实验:作者做了三个实验:1)Cityscapes-GTA5,体现的是真实场景和虚拟场景的效果;2)photo-Monet,体现的是分格的不同;3)ImageNet-1k的验证集,体现的是内容的不同。实验结果如图:
这里写图片描述
通过对比a和b,我们发现IBN-Net确实降低了由于外观不同产生的特征散度。这个效果一直持续到不加IN的网络的深层。通过c可以看出,特征的内容信息被BN很好的保留了。
模型的泛化能力和模型的能力是相关的。IBN-Net为什么这么强,作者分析,1)直观的外表的不同,帮助模型更好的适应外表高度差异性的训练数据,然后提取他们的共同部分;2)即使是在一个数据集中,训练和测试数据之间也存在差异,那么很强的泛化能力能够提升网络性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值