Partial Transfer Learning with Selective Adversarial Networks学习笔记

Partial Transfer Learning with Selective Adversarial Networks学习笔记

Abstract

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

introduce

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

Partial Transfer Learning

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

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

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

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

Domain Adversarial Network

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

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

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

C 0 ( θ f , θ y , θ d ) = 1 n s ∑ x i ∈ D s L y ( G y ( G f ( x i ) ) , y i ) − λ n s + n t ∑ x i ∈ D s ∪ D t L d ( G d ( G f ( x i ) ) , d i ) ( 1 ) 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) C0(θf,θy,θd)=ns1xiDsLy(Gy(Gf(xi)),yi)ns+ntλxiDsDtLd(Gd(Gf(xi)),di)1

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

( θ ^ f , θ ^ y ) = a r g min ⁡ θ f , θ y C 0 ( θ f , θ y , θ d ) (\hat{\theta}_f,\hat{\theta}_y)=arg\min\limits_{\theta_f,\theta_y}C_0(\theta_f,\theta_y,\theta_d) (θ^f,θ^y)=argθf,θyminC0(θf,θy,θd)

( θ ^ d ) a r g max ⁡ θ d C 0 ( θ f , θ y , θ d ) (\hat{\theta}_d)arg\max\limits_{\theta_d}C_0(\theta_f,\theta_y,\theta_d) (θ^d)argθdmaxC0(θf,θy,θd)

Selective Adversarial Network

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

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

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

L d ′ = 1 n s + n t ∑ k = 1 ∣ C s ∣ ∑ x i ∈ D s ∪ D t y ^ i k L d k ( G d k ( G f ( x i ) ) , d i ) 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) Ld=ns+nt1k=1CsxiDsDty^ikLdk(Gdk(Gf(xi)),di)

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

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

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

Partial Transfer Learning with Selective Adversarial Networks学习笔记

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

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

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

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

L d = 1 n s + n t ∑ k = 1 ∣ C s ∣ [ ( 1 n t ∑ x i ∈ D t y ^ i k ) × ( ∑ x i ∈ ( D s ∪ D t ) y ^ i k L d k ( G d k ( G f ( x i ) ) , d i ) ] ( 4 ) 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) Ld=ns+nt1k=1Cs[(nt1xiDty^ik)×(xi(DsDt)y^ikLdk(Gdk(Gf(xi)),di)]4

其中 ( 1 n t ∑ x i ∈ D t y ^ i k ) (\frac{1}{n_t}\sum\limits_{x_i\in D_t}\hat{y}^k_i) (nt1xiDty^ik)表示每个类别的类别级权重。

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

E = 1 n t ∑ x t ∈ D t ( H ( G y ( G f ( x i ) ) ) ) ( 5 ) E=\frac{1}{n_t}\sum\limits_{x_t\in D_t}(H(G_y(G_f(x_i))))(5) E=nt1xtDt(H(Gy(Gf(xi))))(5)

其中 H ( ⋅ ) H(·) H()表示条件熵损失函数, H ( G y ( G f ( x i ) ) ) = − ∑ k = 1 ∣ C s ∣ y ^ i k l o g y ^ i k H(G_y(G_f(x_i)))=-\sum\limits^{|C_s|}\limits_{k=1}\hat{y}^k_ilog\hat{y}^k_i H(Gy(Gf(xi)))=k=1Csy^iklogy^ik

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

总的目标函数为:

Partial Transfer Learning with Selective Adversarial Networks学习笔记

找到参数 θ f ^ , θ y ^ , θ d k ^ \hat{\theta_f},\hat{\theta_y},\hat{\theta_d^k} θf^,θy^,θdk^满足:

Partial Transfer Learning with Selective Adversarial Networks学习笔记