Open Set Domain Adaptation by Backpropagation(OSBP)笔记
反向传播开集域适应
在前面介绍的迭代分配变换开集域适应方法中,源域私有标签空间中的样本也参与到了目标域样本的分类中。Saito等人在2018年提出了基于反向传播的开集域适应[3](Open Set Domain Adaptation by Backpropagation, OSBP),该方法假设源域私有标签空间中的样本不存在或不可访问,进一步放宽了开集域适应的限制。
该方法的主要贡献包括以下几方面: 其一,该方法在训练中没有使用源域私有标签空间中的样本,任务挑战性增加,但方法的适用范围更广。其二,针对上述背景设定,反向传播开集域适应使用了一种新的对抗性学习方法,该方法能够训练特征生成器学习特征的表示,从而将目标域属于私有标签空间的样本从共享标签空间中分离
。
模型结构及训练
该方法使用一个特征生成器G根据输入的样本来生成特征,再使用一个分类器C来接收特征生成器G生成的特征,并输出目标域样本分类为各个类别的概率。通过这样的模型设定,该方法能有效地将属于目标域私有标签空间中的样本从共享标签空间中分离,之后将共享标签空间中源域的样本分布与目标域的样本分布对齐。
模型的具体结构如图5-2-2-2所示,该方法假设已标注的源域样本(x_s)和其相应的标签(y_s)可用,以及未标注的目标域样本(x_t)可用,通过训练一个特征生成器G来接受输入(x_s)或(x_t);并设计分类器C从特征生成器G中获取特征并将这些特征分类为K+1类。因此,分类器C对于每个样本都会输出一个K+1维的逻辑向量({l_1,l_2,l_3...,l_{k+1}}),然后使用softmax函数将分类器C输出的逻辑向量变换为样本所属类别的概率。这样一个目标域样本x被分类为类别j的概率为其中(p(y=j|x))是概率值。当(1leqslant j leqslant K)时,(p(y=j|x))表示样本分类到共享标签空间中类别j的概率,当(j=K+1)的时候,(p(y=j|x))表示样本x分类到私有标签空间中未知类别j的概率。
图5-2-2-2 基于反向传播的开集域适应方法的网络模型
关于模型的训练,该方法首先要训练分类器来为目标域私有标签空间中的未知类别构造一个决策边界
,从而识别出目标域中属于私有标签空间的样本。之后,该方法通过训练特征生成器来欺骗分类器。特征生成器必须能将目标域中属于私有标签空间的样本从共享标签空间中分离。如果训练分类器输出(p(y=K+1|x_t)=1.0),再训练特征生成器欺骗它,那么特征生成器最终会使目标域的分布与源域的分布完全一致,特征生成器便只能降低目标域样本分类为未知类别的概率,但这种方法不能直接用于共享标签空间中未知类别样本的分离。而反向传播开集域适应方法训练分类器输出(p(y=K+1|X_t=t,(0<t<1)),再训练特征生成器来欺骗分类器,最大化分类器的误差。特征生成器可以选择增加样本分类为未知类别的概率值,即样本被认为属于目标域的私有标签空间;同样,特征生成器也可以选择减小样本分类为未知类别的概率值,使得(p(y=K+1|X_t)<t),即该样本被分类到源域中的相应类别。总之,特征生成器能够选择将目标域样本分类到源域相应类别还是将它分类为未知类别。在所有的实验中,t的值都设置为0.5。
模型训练
首先使用标准交叉熵损失计算(L_s(x_s,y_s)),并训练分类器和特征生成器最小化(L_s(x_s,y_s)),从而对源域样本(x_s)进行正确的分类:
接着使用二元交叉熵损失计算(L_{adv}(x_t)),从而训练分类器为目标域私有标签空间中的样本(x_t)并建立边界:
总体的目标函数定义为:
综上,该方法的流程为:在每次训练的迭代中,首先从源域({X_s,Y_s})中取出数量为m的小批量样本({{x_s,y_s}^{(1)},...,{x_s,y_s}^{(m)}}),从目标域取出数量为m 的小批量样本({x_t^{(1)},...,x_t^{(m)}}),再依次计算(L_s(x_s,y_s))与(L_{adv}(x_t)),在计算(L_{adv}(x_t))的梯度的时候,该方法使用了一个梯度反转层,使得模型可以根据目标函数来更新分类器与特征生成器的参数。
性能分析
反向传播开集域适应方法中对于Office-31数据集的设定与迭代分配变换开集域适应方法完全相同,但反向传播开集域适应方法在无监督域适应下,使用BP、OSVM、MMD + OSVM以及BP+OSVM作为实验的基线。其实验结果如图5-2-3-4所示。该方法在OS项的准确性几乎总是比OS*项好,这意味着许多属于共享类别的目标样本被分类为未知类别。这是因为OSVM被训练来检测目标域私有类别中的样本,所以可能轻微倾向于将目标样本分类为未知类别。
图5-2-3-5方法二在OS、OS*项的实验结果
在实验中,作者还改变了目标域中私有类别的比例来查看该方法识别精度的变化,其结果如图5-2-3-6所示,识别的精度随着目标域中私有类别比例的提升而下降。此外,作者还改变了方法中分类器将样本分类为未知类别的概率值t的大小,随着t值的变大,私有类别中得样本识别精度在上升,但是整体OS以及OS*项得精度在下降。
图5-2-3-6方法二改变目标域私有类别比例的实验结果
图5-2-3-7方法二改变未知类别的概率值t的实验结果
最后经过在数字数据集以及物体数据集中与基线的比较,证明该方法的性能较之前的方法有了进一步的提升。