前言:
最近在看域自适应相关的文章,看到了一篇cvpr2019(orcal)的文章,觉得挺有意思的就记录下来.
文章题目是:Taking A Closer Look at Domain Shift: Category-level Adversaries for Semantics Consistent Domain Adaptation
摘要:
传统的大多数域自适应(domain adaptation)方法在做feature space的域自适应时使用的都是全局融合策略(global alignment strategy),这样会导致一个问题:有一些类别原本的特征分布已经对齐了,但是由于优化目标是global alignment,所以可能导致原本已经对齐的class feature经过对抗训练之后又不对齐了:所以本文提出了一种类层级的对抗训练,对已经对齐的class不再进行域自适应,只对那些还没有对齐的类域自适应.
方法简介:
为了达到上述目的,文章中构建了local alignment map,这个图会评估每个特征中category-level对齐的程度,然后在对抗损失图中赋予不同的权重.
如下图就是根据对齐程度来添加一个权重,如果已经对齐了,那权重就会非常小
这个权重图是通过余弦距离来计算的,距离越近,权重就会越小.这个权重图就代表了每个像素点类不变性(domain-invariant)的层次
而为了能够计算出这个权重图,确定每个像素点的域不变层次,文章中采用了co-trianing的方法,即构建了两个分类层(C1, C2),对每张输入图,通过比较这两张分类图每个像素点之间的距离就可以求出其域不变性的层次.
而为了保证每个分类层有尽可能不相同的参数,文章中使用了权重差异损失,目的就是希望C1和C2之间的权重差异越大越好.
总结:
1.本文创新型地使用了基于category-level 的local alignment策略而不是global alignment,避免了已经对齐的类通过对抗训练之后又变得不对齐了
2.为了实现该想法,文章借用了co-training的策略,构建了两个差异较大的分类层从而希望得到domain-invarinat的像素点,找到那些已经对齐的像素点,不让他们进行对抗训练,从而实现了进行local alignment的目的!!!