论文信息
论文标题:Generalized Domain Adaptation with Covariate and Label Shift CO-ALignment
论文作者:Shuhan Tan, Xingchao Peng, Kate Saenko
论文来源:ICLR 2020
论文地址:download
论文代码:download
视屏讲解:click
1 摘要
解决方法:
使用高置信度目标样本伪标签实现标签分布修正;
2 介绍
2.1 当前工作
- 场景不同,标签跨域转移 $p(y \neq q(y$ 很常见;
- 如果存在标签偏移,则当前的 UDA 工作性能显著下降;
- 一个合适的 UDA 方法应该能同时处理协变量偏移和标签偏移;
2.2 本文工作
本文提出类不平衡域适应 (CDA,需要同时处理 条件特征转移 和 标签转移。
CDA 的主要挑战:
- 标签偏移阻碍了主流领域自适应方法的有效性,这些方法只能边缘对齐特征分布;
- 在存在标签偏移的情况下,对齐条件特征分布 $p(x \mid y$, $q(x \mid y$ 很困难;
- 当一个或两个域中的数据在不同类别中分布不均时,很难训练无偏分类器;
3 问题定义
4 方法
4.1 整体框架
4.2 用于特征转移的基于原型的条件对齐
步骤:首先使用原型分类器(基于相似度)估计 $p(x \mid y$,然后使用一种 $\text{minimax entropy}$ 算法将其和 $q(x \mid y$ 对齐;
4.2.1 原型分类器
# 深层原型分类器 class Predictor_deep_latent(nn.Module: def __init__(self, in_dim = 1208, num_class = 2, temp = 0.05: super(Predictor_deep_latent, self.__init__( self.in_dim = in_dim self.hid_dim = 512 self.num_class = num_class self.temp = temp #0.05 self.fc1 = nn.Linear(self.in_dim, self.hid_dim self.fc2 = nn.Linear(self.hid_dim, num_class, bias=False def forward(self, x, reverse=False, eta=0.1: x = self.fc1(x if reverse: x = GradReverse.apply(x, eta feat = F.normalize(x logit = self.fc2(feat / self.temp return feat, logit
源域上的样本使用交叉熵做监督训练:
样本 $x$ 被分类为 $i$ 类的置信度越高,$x$ 的嵌入越接近 $w_i$。因此,在优化上式时,通过将每个样本 $x$ 的嵌入更接近其在 $W$ 中的相应权重向量来减少类内变化。所以,可以将 $w_i$ 视为 $p$ 的代表性数据点(原型) $p(x \mid y=i$ 。
4.2.2 通过 Minimax Entropy 实现条件对齐
解决办法:
- 将每个源原型移动到更接近其附近的目标样本;
- 围绕这个移动的原型聚类目标样本;
具体来说,对于输入网络的每个样本 $x^{t} \in \mathcal{D}_{\mathcal{T}}$,可以通过下式计算分类器输出的平均熵
通过在对抗过程中对齐源原型和目标原型来实现条件特征分布对齐:
- 训练 $C$ 以最大化 $\mathcal{L}_{H}$,旨在将原型从源样本移动到邻近的目标样本;
- 训练 $F$ 来最小化 $\mathcal{L}_{H}$,目的是使目标样本的嵌入更接近它们附近的原型;
4.3 标签转移的类平衡自训练
为解决这个问题,本文使用[19]中的方法进行自我训练来估计目标标签分布并细化决策边界。自训练为了细化决策边界,本文建议通过自训练来估计目标标签分布。 我们根据分类器 $C$ 的输出将伪标签 $y$ 分配给所有目标样本。由于还对齐条件特征分布 $p(x \mid y$ 和 $q(x \mid y$,假设分布高置信度伪标签 $q(y$ 可以用作目标域的真实标签分布 $q(y$ 的近似值。 在近似的目标标签分布下用这些伪标记的目标样本训练 $C$,能够减少标签偏移的负面影响。
$\mathcal{L}_{S T}=\mathcal{L}_{S C}+\mathbb{E}_{(x, \hat{y}, m \in \hat{\mathcal{D}}_{T}} \mathcal{L}_{c e}(h(x, \hat{y} \cdot m$
Note:本文还对源域数据使用了平衡采样的方法,使得分类器不会偏向于某一类。
4.4 训练目标
$\begin{array}{l}\hat{C}=\underset{C}{\arg \min } \mathcal{L}_{S T}-\alpha \mathcal{L}_{H} \\\hat{F}=\underset{F}{\arg \min } \mathcal{L}_{S T}+\alpha \mathcal{L}_{H}\end{array}$
5 总结
略
编程笔记 » 迁移学习(COAL)《Generalized Domain Adaptation with Covariate and Label Shift CO-ALignment》