论文:Maximum Classifier Discrepancy for Unsupervised Domain Adaptation

论文:Maximum Classifier Discrepancy for Unsupervised Domain Adaptation

437 次阅读

会议:CVPR2018, Oral

研究任务: Unsupervised Domain Adaptation

通过带标签的source domain的图片和标签训练得到一个网络模型,利用target image 进行domain adaptation 操作,使得source domain训练的网络模型也能够应用在target image上。

关于这个研究任务具体是研究什么的,具体请参考以前的文章

AI图像分割算法 | 带你了解最近减小域间差异分割算法LSD-seg

当前使用的方法

如下图,一般的分类或者分割网络包括下采样的特征生成模块和分类模块,图片输入网络,通过特征生成模块提取为图片特征,再利用分类模块预测图片的类别,利用已有的标签对网络进行训练。

这个网络在分类网络的基础上添加了一个判别网络,主要利用对抗学习来对齐两个数据集图片特征的分布,只要图片特征的分布一样,那么源域图片训练的分类器也就可以应用在目标域图片上了,这样是不是就可以减轻数据集之间差异带来的问题。

但是,作者认为,这种方法存在一点问题。

1)它仅仅对齐图片特征的分布,并没有考虑类别边界,我们使用的分类器是完全由源域图片训练得到的。

这样可能导致,目标图片通过特征生成模块,可能生成类别模糊的特征,也就是,如上图左图中,在分类边界出现一些分类错误的特征。

2)由于每个数据集的特征,使得不能完全对齐

这篇文章主要就是希望解决这个问题,他提出了使用两个独立的分类模块,通过训练从而具有不同特点,那些类别模糊的特征通过两个不同分类器可能会被分为不同的类别,如图片中看见的分类矛盾的阴影区域,作者希望通过度量并且最小化这种分类矛盾区域,来解决这个问题,得到比较好的分类结果。

关于符号

网络结构

首先,看一下他的网络,与一般的网络(上述网络)不同,它由一个特征生成器和两个独立的类别分类器构成。

训练过程

训练的过程中,第一步,我们利用有标签的源域图片和标签训练特征生成器和两个分类器,利用分类Loss来优化他们。两个分类器,使用不同的方法初始化,并且独立训练,得到两个不同的分类器。

Step A : Train on source

通过第一步,我们可以得到两个不同的分类器,像我们之前说的,这两个分类器,可能会将来自目标图片的类别模糊的特征分类为不同的类别,如上面这幅图中表示。

我们将两个分类器之间的分类不一致定义为两个分类器预测的分值的差的绝对值,如上面这个公式,分类差异

第二步,我们固定特征生成器的参数,通过最大化分类差异,来训练两个分类器,保证分类准确同时又突出类别模糊的特征。

通过第二步训练,我们最大化了两个分类器之间的差异,如第二幅图展示的

第三步,我们固定两个分类器的参数,通过最小化分类差异,来优化特征生成器。

通过这三步的迭代训练,我们希望最终,源域和目标域图片通过特征生成器得到的特征更加相近,使得两个分类器的分类一致,检测不出两个数据集之间的类别差异。这样我们就完成了我们的训练。

结果

这篇论文在分类和分割两个任务上进行实验,实验结果如下所示

classification

Semantic Segmentation(GTA5 to Cityscapes)

总结

利用两个独立的分类器对齐源域和目标域图片特征分布

(1)利用源域图片训练特征生成器和分类器

(2)利用目标域图片最大化分类差异训练两个分类器

(3)利用目标域图片最小化分类差异训练特征生成器

(4)多次迭代训练

(5)最终使得特征生成器生成的特征越来越接近,消除分类差异

Mulanshine