Advertisement

Partial Transfer Learning with Selective Adversarial Networks学习笔记

阅读量:

Partial Transfer Learning with Selective Adversarial Networks学习笔记

文章目录

    • Partial Transfer Learning with Selective Adversarial Networks学习笔记
      • Abstract
      • introduce
      • Partial Transfer Learning
        • Domain Adversarial Network
    • Selective Adversarial Network

Abstract

作者针对部分预适应,提出了选择性对抗网络 (SAN),它通过分离源域非共享类别的样本来避免负迁移 ,同时通过最大程度地匹配共享类别空间中的样本分布来促进正迁移

introduce

本文介绍了选择性对抗网络,它极大地扩展了深度对抗适应的能力,以解决从大规模域到小规模域的部分迁移学习。SAN将共享类别空间中的源域样本分布和目标域样本分布对齐,更重要的是,将源域中非共享类别中的样本分离 。与以前的方法相比,该方法一个关键的改进是能够同时促进相关数据的正向迁移和减轻不相关数据的负向迁移,还可以在端到端框架中 进行训练。

Partial Transfer Learning

本文作者提出部分域适应,源域表示为D_s=\{(x_i,y_i)\}^{n_s}_{i=1},其中n_s表示源域样本的数量,源域拥有类别的个数为|C_s|。目标域表示为D_t=\{x_i\}^{n_s+n_t}_{i=n_s+1},其中n_t表示目标域未标注样本的数量,目标域拥有类别的个数为|C_t|。目标域的类别空间是源域类别空间的子集:C_t\sub C_s,即|C_s|>|C_t|.源域与目标域的概率分布分别由p与q表示,且p_{C_t}\neq q ,其中p_{C_t}表示源域中属于目标域类别空间C_t的样本的分布。本文的目标就是设计一个深度神经网络模型,通过学习可迁移的特征f=G_f(x)以及适应分类器y=G_y(f)来减小域间差异。

在部分域适应中存在两大难点:

  • 由于目标域的样本未标注,源域域目标域的概率分布不同,所以在源域D_s训练的分类器G_y不能直接运用到目标域D_t
  • 无法得知源域类别空间C_s中的哪部分与目标域类别空间C_t共享,因为C_t在训练中是无法访问的。

一方面,该方法要减轻由源域中非共享类别C_s/C_t造成的负迁移;另一方面,减少p_{C_t}q之间的分布差异 ,促进正向迁移,实现共享类别空间C_t中的知识迁移。

Domain Adversarial Network

对抗网络能够有效地提取可迁移特征,其中包括一个域分类器G_d来区别源域与目标域,还有一个特征提取器经过微调后来欺骗域分类器。

为了得到域不变性特征f,通过最大化域分类器G_d的损失来学习特征提取器G_f的参数\theta_f,通过最小化域分类器的损失来学习G_d的参数\theta_d的参数。同时还要最小化标签分类器G_y的损失。

则对抗网络的目标函数为:

C_0(\theta_f,\theta_y,\theta_d)=\frac{1}{n_s}\sum\limits_{x_i\in D_s}L_y(G_y(G_f(x_i)),y_i)-\frac{\lambda}{n_s+n_t}\sum\limits_{x_i \in D_s\cup D_t}L_d(G_d(G_f(x_i)),d_i)(1)

其中的\lambda参数为权衡参数。当训练收敛后,参数\hat{\theta}_f,\hat{\theta}_y,\hat{\theta}_d表达公式(1)的鞍点:

(\hat{\theta}_f,\hat{\theta}_y)=arg\min\limits_{\theta_f,\theta_y}C_0(\theta_f,\theta_y,\theta_d)

(\hat{\theta}_d)arg\max\limits_{\theta_d}C_0(\theta_f,\theta_y,\theta_d)

Selective Adversarial Network

由于源域的非共享类别C_s/C_t会造成负迁移,所以要将属于非共享类别的样本分离。

作者将域分类器分为 |C_s|个类别级的域分类器G^k_d,k=1,...|C_s|,每个分类器负责类别为k的源域样本与目标域样本的匹配。但是由于目标域的样本未标注,所以对于一个目标域的样本来说,我们不知道应该使用哪个域分类器G^k_d。于是作者将类别预测器 \hat{y}_i=G_y(x_i)的输出作为该目标域样本x_i属于对应源域类别空间C_s中某个类别的概率

即可以使用\hat{y}_i的输出来表示每个目标域样本使用|C_s|个域分类器G^k_d的概率。这个概率加权域鉴别器损失 为:

L'_d=\frac{1}{n_s+n_t}\sum\limits^{|C_s|}\limits_{k=1}\sum\limits_{x_i\in D_s\cup D_t}\hat{y}_i^kL^k_d(G^k_d(G_f(x_i)),d_i)

L^k_i为对应第k个G^k_d域分类器的交叉熵损失,d_i表示为样本x_i的域标签。

与公式(1)中的单一域分类器相比,这里的多级域分类器拥有细粒度适应性 ,这个细粒度适应性拥有以下好处:

  1. 它避免了将每个样本强硬分配给一个域分类器 ,这对于目标域样本来说往往是不准确的
  2. 它避免了负迁移,因为每个样本只与一个或几个最相关的类对齐 ,而不相关的类被概率加权域分类器损失过滤掉
  3. 概率加权域分类器损失将不同的损失放在不同的域分类器上,它自然地学习具有不同参数 \theta^k_d的多个域分类器;这些具有不同参数的域分类器可以促进每个样本的正向迁移。
    image-20201112103252605

SAN模型架构图:其中f表示提取出来的特征,\hat{y}表示预测的样本标签,\hat{d}表示预测的域标签,G_f表示特征提取器,G_yL_y表示标签预测器与其损失,G^k_dL^k_d表示域分类器和它的损失。蓝色部分表示类别级对抗网络。

除了上面的实例级权重机制,作者还提出了另外一个类别级权重方法来进一步减小源域非共享类别样本造成的负迁移影响。

作者观察到只有负责目标域类别的域分类器对促进正迁移有效,而其他负责源域非共享类别的分类器仅引入噪声并恶化共享类别空间中源域和目标域之间的正迁移 。因此,需要对负责源域非共享类别的域分类器进行降权 ,这可以通过对这些域分类器进行类级权重衡量来实现。

如果一个目标域样本不属于非共享类别,那么它的概率y^k_i,k\in C_s/C_t就会很小,于是作者这样来对域分类器进行降权

L_d=\frac{1}{n_s+n_t}\sum\limits_{k=1}\limits^{|C_s|}[(\frac{1}{n_t}\sum\limits_{x_i\in D_t}\hat{y}^k_i)\times(\sum\limits_{x_i\in(D_s\cup D_t)}\hat{y}^k_iL^k_d(G^k_d(G_f(x_i)),d_i)](4)

其中(\frac{1}{n_t}\sum\limits_{x_i\in D_t}\hat{y}^k_i)表示每个类别的类别级权重。

尽管公式(4)可以选择性的进行知识的迁移,但是它依赖于概率\hat{y}_i=G_y(x_i).所以作者进一步使用熵最小化原理来进行标签预测器G_y的精炼。这个准则是通过在目标域D_t上最小化概率\hat{y}^k_i上的熵E来实现的:

E=\frac{1}{n_t}\sum\limits_{x_t\in D_t}(H(G_y(G_f(x_i))))(5)

其中H(·)表示条件熵损失函数,H(G_y(G_f(x_i)))=-\sum\limits^{|C_s|}\limits_{k=1}\hat{y}^k_ilog\hat{y}^k_i

通过最小化公式(5),标签预测器G_y(x_i)可以直接访问目标域未标注样本,并且将修改自身以通过目标低密度区域,从而以最小的预测不确定性给出更准确的概率\hat{y}_i

总的目标函数为:
image-20201112115253734

找到参数\hat{\theta_f},\hat{\theta_y},\hat{\theta_d^k}满足:
image-20201112115318657

全部评论 (0)

还没有任何评论哟~