zoukankan      html  css  js  c++  java
  • Open Set Domain Adaptation学习笔记

    Open Set Domain Adaptation学习笔记

    方法概述

    Busto等人在提出开集域适应任务的同时,也提出了迭代分配变换(Assign-and Transform-Iteratively,ATI)方法。该方法不但在新提出的开集域适应问题中取得良好成效,而且还适用于传统的闭集域适应问题。

    迭代分配变换开集域适应包含两个主要步骤:

    1. 使用源域样本训练源域分类器,对目标域样本进行标签的分配;
    2. 根据分配结果,通过最小化两个域共享标签空间中的样本之间的距离,将源域样本的特征变换到目标域特征空间,即学习源域到目标域的映射。以上分配和变换这两个步骤交替迭代直至收敛。

    最后,使用更新后的源域分类器完成对目标域样本的分类。在分配步骤中使用一个隐式离散样本处理模块,将目标域私有标签空间中的样本分离,以便于更好地进行随后的变换步骤。

    下图为迭代分配变换方法示意图。已标注的源域样本由实心图形表示,未标注的目标域样本由空心图形表示。图中三角形、矩形、菱形分别表示源域和目标域共享标签空间中的三个类别,圆形则表示私有标签空间中的类别。该方法首先如(b)图所示,借助源域样本来为目标域共享标签空间中的样本分配标签,并将属于私有标签空间的样本分离。之后通过最小化共享标签空间中源域样本与目标域样本之间的距离来学习源域到目标域的映射,经过变换后的源域样本如(c)图所示。最后在分配与变换之间迭代至收敛后,根据变换后的源域样本训练分类器,预测目标域样本的标签,如(d)图所示。

    image-20201025191650647

    迭代分配变换方法可以用在无监督域适应和半监督域适应中,其中的目标域样本标签分配步骤在这两种情况下略有不同。
    

    无监督域适应中的标签分配

    在无监督域适应场景下,所有的目标域样本均未标注。假设一个类别集合C,其中前(|c-1|)个类别来自于源域与目标域的共享标签空间(Y_L=Y_S cap Y_t),最后一个类别来自源域的私有标签空间(overleftarrow{Y_S}=Y_S/Y_L)

    该方法的目标是将目标域共享标签空间中的样本分类到集合C前(|c-1|)个类别中的某一个类别,并将属于目标域中私有标签空间(overleftarrow{Y_T}=Y_T/Y_L)的样本分类为未知类别。

    将目标域样本t分配为集合C中第c类的损失为(d_{ct}=||S_c-T_t||^2_2),其中(S_c)表示属于第c类所有源域样本的特征均值,(T_t)表示目标域样本t的特征表示。

    定义了单个样本t的分配损失后,针对该样本t的优化目标即为:image-20201025193454809

    其中公式中的(lambda)参数的定义为image-20201025193515810(lambda)参数用来决定样本分类到私有标签空间的损失,它可以根据(d_{ct})的值自动进行调整。而(x_{ct})(O_t)是分配任务中设定的两个二元变量,当(x_{ct})的取值为1的时候,表示该目标域样本t属于类别c,而当(x_{ct})的值为0的时候,则表示其不属于类别c。同理,当(O_t)的值为1的时候,表示该目标域样本属于未知类别,为0则不属于。

    于是,分配任务中总体的优化目标函数就是image-20201025193954419

    同时要满足以下约束:image-20201025194013216

    第一个约束的含义是保证目标域样本一定被分类为共享标签空间中的某一类别或者分类为未知类别;第二个约束的含义则是确保每个类别中,至少有一个目标域样本被分配为该类。

    半监督域适应中的标签分配

    以上针对无监督域适应提出的分配方法也同样适用于半监督适应,但是在半监督域适应中,除了未标注的样本,目标域还拥有部分已标注的样本。为了将已标注的目标域样本充分利用,这部分已标注的目标域样本也加入了训练,通过在无监督域适应下总的优化目标函数中添加约束image-20201025194112455,来保证已标注的目标域样本不再进行标签的更改,其中的(hat{c}_t)表示目标域中已标注样本t的标签。

    此外,距离目标域样本t最近的邻居样本t'也加入到了样本t的分配任务中,来进一步提高样本t的分类精度。如果一个邻居样本被分类为不同于样本t的另一个类别,则将源域中这两个相应类别之间的距离(d_{cc'}=||S_c-S_c'||^2_2)作为优化目标函数中损失的一项,之前无监督域适应下的优化目标函数变为image-20201025194313916而约束条件不变。其中(N_t)表示为目标域样本t的所有邻居样本。

    源域到目标域的映射

    在完成源域到目标域的分配后,为了估计从源域到目标域的映射,该方法用一个(Win mathbb{R}^{D imes D})的矩阵来表示源域到目标域的线性变换,并通过最小化下列损失函数来估计W:image-20201025194557839

    对目标域分类

    在完成对变换W的估计之后,就要将源域样本映射到目标域。该方法在分配和变换这两个步骤交替迭代直至收敛。之后使用源域变换后的样本一对一训练线性支持向量机(Linear SVMs,LSVM),来完成对目标域样本的分类。

    实验性能分析

    迭代分配变换开集域适应方法主要使用Office-31数据集作为实验的基准数据集,将Office-31数据集中1 ~ 10类视为源域与目标域的共享类别;11 ~ 20类视为源域的私有类别;21 ~ 31类视为目标域的私有类别。

    在进行无监督开集域适应下的性能分析时,该方法使用了DAN、RTN、BP等较为先进的域适应技术作为实验的基线,通过使用每个类别中所有的样本、使用每个类别中随机进行5次分割的子集分别进行实验。实验结果分别如图5-2-3-1和图5-2-3-2所示。

    image-20201025194828180

    图5-2-3-1无监督域适应下使用所有样本在OS、CS、OS*的实验结果

    image-20201025194844923

    图5-2-3-2无监督域适应下使用样本子集在OS、CS、OS*项的实验结果

    同样使用每个类别中随机进行5次分割的子集,在半监督域适应下进行方法性能的评估,结果如图5-2-3-3所示。

    image-20201025194917069

    图5-2-3-3半监督域适应下使用样本子集在OS、CS、OS*项的实验结果

    根据实验结果得知,该方法在CS项、OS项以及OS*项都有不同程度的提升,在有较大域偏移的数据组合中,识别的精度提升更为明显。而且在无监督域适应下,方法中ATI-(lambda)的效果普遍要比ATI的效果好,证明使用 参数平衡目标域样本进行的共享类别的分配与私有类别的分离对方法的精度确实有明显的提升。方法中的ATI-(lambda)-N1与ATI-(lambda)-N2将距离目标域样本t最近的邻居样本加入到样本t的分配任务中,也有效提升了方法在半监督域适应下的识别精度。

    此外,该方法为了验证策略的可靠性,不但进行了前面介绍的一些常见性能衡量项的测试验证,而且在具有更多类内变化的数据集以及在独特性较高的不平衡数据集上做对比查看模型效果。由于在该方法中,源域中私有类别中的样本也参与到了目标域样本的标注任务中,于是在验证中作者改变了源域私有类别中样本的比例来考察其对目标域样本标注任务的贡献程度。但由于域间差异的影响,实验效果甚微,如图5-2-3-4所示。

    image-20201025194933058

    图5-2-3-4不同私有类别样本比例下的实验结果

    最终各项验证结果证明该方法在特定的背景设定中能够高效地完成预定任务。

  • 相关阅读:
    内置函数
    win10 下安装meteror
    每日十问(3)
    白话带你理解什么是编程
    什么是对象的方法
    Python之列表推导式
    英语对学习软件开发重要吗?
    python3中的range函数返回的是列表吗?
    文件读写
    神奇的字符编码
  • 原文地址:https://www.cnblogs.com/Jason66661010/p/13877353.html
Copyright © 2011-2022 走看看