Separate to Adapt: Open Set Domain Adaptation via Progressive Separation论文笔记
Abstract
Domain adaptation问题在利用源域的标注数据为未标记的目标域学习准确的分类器方面已经有较大成功,但是Open Set Domain Adaptation问题中的目标域中存在未知类,而未知类所占的比例对解决问题的方案的性能影响很大。在源域与目标域对齐的时候,如果不将目标域中的未知类排除,会造成已知类与未知类的不匹配而形成负迁移。
本文提出分离适配(Separate to Adapt (STA)),一种端到端的开集域适配方法。这种方法采用由粗到细的加权机制,逐步分离未知类和已知类的样本,同时加权它们对特征分布对齐的影响。
经过验证,该方法适用于目标域的各种开放类型且效果很好。
Introduction
背景
目前计算机视觉方面的提升大多数是得益于大量带注释的训练数据,而在实际的运用中这样的数据并不多。而不同领域的数据又来自不同的分布。领域差距可能导致模型在目标领域做出错误预测。而现有的领域适应方法无论是通过特征级还是像素级的分布匹配来弥补领域差距,其方法大都假设源域和目标域共享相同的标签,即封闭集域适应。
本文研究的背景是在开集域适应(OSDA)中,目标域拥有源域中所有的类,而且目标域中存在未知类。
开集域适配的两个挑战
(1)减轻域间差异的影响
(2)未知类的存在可能会造成负迁移
已知处理OSDA问题的少数方法的缺陷:
迭代分配变换(Assign-and-Transform-Iteratively (ATI) ):使用一个基于距离的度量来迭代地标记未知样本
开集反向传播(Open Set Back-Propagation (OSBP) ):尝试解决源域中没有未知类的问题
两种方法都需要一些阈值超参数来区分已知类和未知类,而设置超参数还需要目标域类别的先验知识,而在现实中的开放性可能是变化比较大的,所以超参数难以选择,而且依赖于预定义超参数的方法需要大量的超参数选择工作
⭐作者的方法
文章提出分离适应( Separate to Adapt (STA)),在不同的开放程度下解决开集域适应问题。
作者使用域间对抗学习的框架,并且为源域中的分类器添加了一个类:unknown class。
目标域中的已知类与未知类的主要区别在于:目标域的已知类与源域的已知类区别仅在于分布偏移,而目标域的未知类与源域的未知类区别更大,既有域间隙,也有语义间隙。
由此,作者开发了一个由粗到细的分离管道组成的渐进分离机制。
第一步是用源数据训练多二元分类器,以估计目标域中的数据和每个源类之间的相似性。
第二步中,我们选择相似度极高和极低的数据作为已知和未知类别的数据,并用它们训练细粒度二元分类器,对所有目标域样本进行精细分离
在这两个步骤之间迭代,并使用实例权重来拒绝对抗域适应中未知类的样本
图中左边表示在进行了源数据训练多二元分类器之后,通过产生的初步权值来从目标域中区分出未知类。图中的虚线是二元分类器为每个类产生的决策边界。
图中中间是训练细粒度二元分类器来得到更精确的权重,目标域中的已知类以及未知类都已经分离开来。
图中的右边表示经过最后的分布对齐,目标域中的共享类已经域源域的相应类别对齐。
Related Work
封闭域自适应(Closed Set Domain Adaptation)
封闭集域自适应方法寻求减轻由域差异带来的性能下降。典型的方法是最小化特征分布之间的距离
- 深度自适应网络(Deep Adaptation Network (DAN) ):增加了自适应层,最小化分布的内核嵌入之间的最大平均差异(MMD)
- 中心矩差异(Central Moment Discrepancy (CMD) ):通过仅匹配一阶和二阶矩同样实现了域自适应。
- 剩余转移网络(Residual Transfer Network (RTN)):通过增加一个快捷连接和熵最小化标准来改进DAN
- 联合适应网络(Joint Adaptation Network (JAN)):匹配源域和目标域的特征和标签的联合分布。
- 领域对抗神经网络(Domain Adversarial Neural Network (DANN))、对抗性区分域适应(Adversarial Discriminative Domain Adaptation (ADDA)):使用领域鉴别器来区分两个领域,同时学习特征提取器来混淆领域对抗训练范例中的领域鉴别器
- 条件域对抗网络(Conditional Domain Adversarial Network (CDAN)):通过匹配标签和特征的联合分布来改进DANN
开集识别(Open Set Recognition)
即如何能正确的区分已知类别并拒绝其它未知类别。
- 1-vs-set模型:从边际距离描绘决策空间,开放集SVM分配概率分数以拒绝未知样本,进一步改进了紧凑的减少概率模型。
- 引入OpenMax层:利用深层神经网络进行开集识别
在开放集识别场景中,存在不属于训练数据集中的类的离群值。然而,在开放集域自适应中,两个域的共享类中的目标样本和源样本进一步遵循不同的分布,使得任务更具挑战性。
开集域自适应(Open Set Domain Adaptation)
分配和变换迭代(Assign-and-Transform-Iteratively (ATI))利用每个目标域样本的特征和每个源类别的中心之间的距离来决定目标样本属于源类别之一还是未知类别。
开集反向传播(Open Set Back-Propagation (OSBP) ):训练特征生成器来衡量目标域的样本偏离预训练的阈值而被分为未知类的概率。在对抗训练框架中训练其特征提取器和分类器。
两种方法在开集的开放度变化很大的情况下会出现问题。
作者开发的分离适配网络(Separate to Adapt (STA) )不需要在已知类和未知类之间手动选择阈值参数。
Method
Open Set Domain Adaptation
基本的符号说明
D s = ( X i s , Y i s ) i = 1 n s D_s = {(X_i^s,Y_i^s)}^{n_s}_{i=1} Ds=(Xis,Yis)i=1ns表示源域的 n s n_s ns个有标注的数据; D t = { X j t } j = 1 n t D_t = \{ {X_j^t}\}^{n_t}_{j=1} Dt={ Xjt}j=1nt 表示 n t n_t nt个无标签的数据。
C s C_s Cs表示源域中的类别; C t C_t Ct表示目标域中的类别,而且 C s ⊂ C t C_s⊂C_t Cs⊂Ct;而 C t / s C_{t/s} Ct/