“Self-Challenging Improves Cross-Domain Generalization”阅读笔记
1 Motivation
1) 分类模型在域内取得了很好的判别效果,但跨域表现受限;
2) 卷积神经网络过度依赖对反向传播有重要影响的少数特征,导致其对于图像特征学习不够全面。
2 Contribution
1) 提出自挑战算法,强迫模型从弱势特征中归纳图像属性;
2) 提升了卷积神经网络模型的泛化能力。
3 Approach
3.1 表征自挑战(RSC)原理
所谓自挑战,就是强迫模型从对分类结果贡献更小的特征中学习如何分类。RSC想要解决的问题,其实是同一标签物体跨域判别不准确的问题,而不是学习不同物体的泛化表示,比如说,域 D 1 D_1 D1中的猫都有“胖胖的脸”这个属性,如果只针对 D 1 D_1 D1设计分类模型,那只需要根据“胖胖的脸”就能完成任务,可对于不同域中猫的图像来说,它们共有的属性可能是“胡须”、“耳朵”等相似的特征,RSC期望在域 D 1 D_1 D1更多关注这种不同域间都共享的通用表征,以实现更强的跨域泛化性。
RSC方法通过以梯度为判断标准,对所有特征求梯度,梯度值较大者表明该特征对模型分类结果影响较大,为了使模型不过度依赖这些容易的特征,在训练时将其抹去(置零),强迫模型从其他更不受关注的特征中学习类别信息,进而平衡模型从不同特征中提取信息的强度,其思想如下图所示(从上到下分别为原始模型,RSC训练,RSC训练后模型,中间颜色深浅表示梯度值高低):
![](http://little_z_c.gitee.io/imagebed/Disentanglement%E7%9B%B8%E5%85%B3/%E2%80%9CSelf-Challenging%20Improves%20Cross-Domain%20Generalization%E2%80%9D%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/1.png)
该方法理解起来还是很容易的,对于一个分类任务,其输入为图像-标签对 < x , y > <\mathbf{x},\mathbf{y}> <x,y>,图像经过神经网络 f ( ⋅ , θ ) f(·,\theta) f(⋅,θ)做出对应的类别预测,网络的训练损失为:
![](http://little_z_c.gitee.io/imagebed/Disentanglement%E7%9B%B8%E5%85%B3/%E2%80%9CSelf-Challenging%20Improves%20Cross-Domain%20Generalization%E2%80%9D%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/2.png)
上面就是一个很传统的分类任务的表现形式,损失函数 l ( ⋅ , ⋅ ) l(·,·) l(⋅,⋅)通常是交叉熵函数。
将 f ( ⋅ , θ ) f(·,\theta) f(⋅,θ)的最后一个进行类别预测的模块记为 h ( ⋅ , θ top ) h(·,{\theta}^{\text{top}}) h(⋅,θtop),记 h ( ⋅ , θ top ) h(·,{\theta}^{\text{top}}) h(⋅,θtop)的输入特征为 z \mathbf{z} z。
可以计算最后 h ( ⋅ , θ top ) h(·,{\theta}^{\text{top}}) h(⋅,θtop)关于 z \mathbf{z} z的梯度:
![](http://little_z_c.gitee.io/imagebed/Disentanglement%E7%9B%B8%E5%85%B3/%E2%80%9CSelf-Challenging%20Improves%20Cross-Domain%20Generalization%E2%80%9D%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/3.png)
这里的 ⨀ \bigodot ⨀表示点乘,这里的梯度表示 z \mathbf{z} z的不同维度对 h (