• 笔记2022.05.26


    推荐的架构包括一个深度特征提取器(绿色)和一个深度标签预测器(蓝色),它们共同构成一个标准的前馈架构。无监督的领域适应是通过添加一个领域分类器(红色)来实现的,该分类器通过一个梯度反转层与特征提取器相连,在基于反向传播的训练过程中,梯度乘以某个负常数。否则,训练将以标准方式进行,并使标签预测损失(对于源实例)和领域分类损失(对于所有样本)最小化。

    核心思路:同时学习分类器 \(G_y\) 、特征提取器 \(G_f\) 、以及领域判别器 \(G_d\)。通过最小化分类器误差,最大化判别器误差,使得学习到的特征表达具有跨域不变性。

    随着训练的进行,该方法促进了

    1. 对源域上的主要学习任务具有鉴别性的深层特征的出现
    2. 关于域之间的迁移具有不变性

    理论保证

    介绍

    当训练和测试数据来自同一分布时,用于分类的判别性学习方法表现良好。然而,我们往往有来自源域的大量标记的训练数据,但希望学习一个在目标域中表现良好的分类器,而目标域的分布不同,标记的训练数据很少或没有。在这项工作中,主要研究了两个问题:

    • 在什么条件下,从源数据中训练出来的分类器可以预期在目标数据上表现良好
    • 给定少量标记的目标数据,我们应该如何在训练期间将其与大量标记的源数据相结合,以便在测试时达到最低的目标误差

    \(H \Delta H\) 距离

    Ben-David在2010年提出了 \(H \Delta H\) 距离,并基于此给出了一个泛化误差上界\(^{[3]}\)

    • \(H \Delta H\) 距离:

      \[d_{\cal H \Delta H} ({\cal S, T}) = 2 \sup_{h1,h2∈{\cal H}} |P_{f \sim {\cal S}} [h_1 (f) ≠ h_2 (f)] - P_{f \sim {\cal T}} [h_1 (f) ≠ h_2 (f)]| \]

      \(\sup\) :表示“上确界”,即最小上界。

      • 如果两个分类器 \(h_1\)\(h_2\) ,利用 \(h_1 、 h_2\)\(\cal S、T\) 都进行分类。
      • 如果说对于任意的 \(h_1\)\(h_2\) ,在 \(\cal S\) 上的分类结果在与 \(\cal T\) 上的分类结果都非常相似。
      • 那么就认为 \(\cal S\)\(\cal T\) 之间是非常相似的,也就认为 \(\cal S\)\(\cal T\) 的距离非常接近。
    • 利用这个概念,我们可以得到一个概率约束,即在目标域上评估T中的某个分类器h的性能 \(\epsilon_{\cal T} (h)\) ,因为它在源域上的性能是 \(\epsilon_{\cal S} (h)\) 。泛化误差上界:

      \[\epsilon _{\cal T} (h) ≤ \epsilon _{\cal S} (h) + \frac{1}{2} d_{H \Delta H} ({\cal S,T}) + C \]

      其中 \({\cal S}\)\({\cal T}\) 分别是源分布和目标分布, \(C\) 不依赖于特定的 \(h\)

      考虑在由特征提取器 \(G_f\) 和标签预测器集合 \({\cal H}_p\)产生的表示空间上的固定 \({\cal S}\)\({\cal T}\) 。我们假设领域分类器的集合 \({\cal H}_d\) 足够丰富,包含 \({\cal H}_p\)的对称差异假设集。

      \[{\cal H} \Delta {\cal H} = \{ h| h = h_1 \bigoplus h_2 ~ , ~ h_1,h_2 \in {\cal H}_p \} \]

      这并不是一个不现实的假设,因为我们可以自由选择我们想要的 \({\cal H}_d\) 。例如,我们可以把领域判别器的结构设定为逐层连接两个标签预测器的副本,然后是一个旨在学习XOR函数的两层非线性感知器。鉴于假设成立,我们可以很容易地表明,训练 \(G_d\)\(d_{{\cal H}_p \Delta {\cal H}_p({\cal S}, {\cal T})}\) 的估计密切相关。

      \[d_{{\cal H}_p \Delta {\cal H}_p({\cal S}, {\cal T})} = 2\sup_{h \in {\cal H} _p \Delta {\cal H} _p} |P_{f \sim {\cal S} }[h(f) = 1] - P_{f \sim {\cal T}}[h(f)=1]| \\ \leq 2 \sup_{h \in {\cal H}_d } |P_{f \sim {\cal S} }[h(f) = 1] - P_{f \sim {\cal T}}[h(f)=1]|\\ = 2 \sup_{h \in {\cal H}_d } |1 - \alpha (h)| = 2 \sup_{h \in {\cal H}_d } [\alpha (h) - 1] \]

      其中, \(\alpha (h) = P_{f \sim {\cal S}} [h(f) = 0] + P_{f \sim {\cal T}} [h(f) =1]\)\(G_d\) 最大化。

      最优判别器给出了 \(d_{{\cal H}_p \Delta {\cal H}_P } ( {\cal S} , {\cal T})\) 的上限,同时,反向梯度的反向传播改变了表示空间,使 \(\alpha{(G_d)}\)变得更小,有效地减少了 \(d_{{\cal H}_p \Delta {\cal H}_P } ( {\cal S} , {\cal T})\) ,使得 \(ε_{\cal T}(G_y)\)\(ε_{\cal S}(G_y)\) 更好地接近。

    深度域适应

    模型

    假设模型的输入样本是 \(x \in X\) ,其中 \(X\) 是一些输入空间,和来自标签空间 \(Y\) 的标签(输出) \(y\) 。假设分类问题中的 \(Y\) 是一个有限集 \(Y=\{1,2,...L\}\) 。进一步假设,在 \(X \bigotimes Y\) 存在两个分布:源分布(源域) \({\cal S} (x,y)\) 和目标分布(目标域) \({\cal T}(x,y)\) ,两种分布都假定为是复杂和未知的,并且进一步相似但不同( \(\cal S\) 可以通过某种域变换“位移”到 \(\cal T\) ),

    最终目标是能够预测给定目标分布的输入 \(x\) 的标签 \(y\) 。在训练时,我们可以获得大量来自源域和目标域的训练样本 \(\{ x_1,x_2, x_N \}\) ,根据边际分布 \({\cal S}(x)\)\({\cal T}(x)\) 。对于来自源分布\(d_i=0\)的例子,相应的标签 \(y_i \in Y\) 在训练时是已知的。对于来自目标域 \(d_i=1\) 的例子,我们在训练时不知道这些标签,我们想在测试时预测这些标签。

    我们现在定义一个深度前馈架构,对于每个输入x预测其标签 \(y \in Y\) 和其领域标签 $ d \in { 0,1 }$ 。网络架构可以分解为三个部分:

    • 特征提取器 \(G_f\):将输入映射到一个 \(D\) 维的特征向量 \(f \in \mathbb{R} ^D\)
      • 权重参数定义为 \(\theta _f\)\(f = G_f (x; \theta _f )\)
    • 标签预测器 \(G_y\) :将特征向量 \(f\) 映射到标签 \(y\)
      • 权重参数定义为 \(\theta _y\)
    • 域分类器 \(G_d\) :将特征向量 \(f\) 映射到标签 \(d\)
      • 权重参数定义为 \(\theta _d\)

    在学习阶段,目标是使训练集的源域部分的标签预测损失最小化,因此,特征提取器和标签预测器的参数都被优化,以使源域样本的经验损失最小化。这就保证了特征 \(f\) 的鉴别性,以及特征提取器和标签预测器组合在源域上的整体良好预测性能。

    与此同时,要使特征 \(f\) 具有领域不变性,即要使分布 \(S(f) = \{ G_f (x; \theta _f)|x \sim {\cal S}(x) \}\) 和 $ T(f) = { G_f (x; \theta _f )|x \sim {\cal T}(x) }$ 相似。考虑到 \(f\) 是高维的,并且分布本身随着学习的进行而不断变化,测量分布 \({\cal S}(f)\)\({\cal T}(f)\) 的异同是比较困难的。估计差异性的一种方法是看领域分类器 \(G_d\) 的损失,但前提是领域分类器的参数 \(θ_d\) 已被训练成可以以最佳方式区分两个特征分布。

    在训练时,为了获得域不变的特征,寻求特征映射的参数 \(θ_f\)使域分类器的损失最大化(通过使两个特征分布尽可能的相似),同时寻求领域分类器的参数 \(θ_d\),使域分类器的损失最小。此外,我们还寻求最小化标签预测器的损失。

    \[E(\theta_f, \theta_y, \theta_d) = \sum_{i=1,...,N;{d_i = 0}} L_y (G_y(G_f(x_i;\theta_f);\theta_y),y_i) - \\ \lambda \sum _{i=1,...,N} L_d(G_d(G_f(x_i;\theta_f);\theta_d),y_i) \\ = \sum_{i = 1,...,N;d_i=0} L_y^i (\theta_f,\theta_y) - \lambda \sum _{i=1,...,N} L^i_d (\theta_f,\theta_d) \tag{1} \]

    其中, \(L_y(·,·)\) 是标签预测的损失, \(L_d(·,·)\) 是领域分类的损失(如Logistic), \(L_y^i(·,·)\)\(L_d^i(·,·)\) 表示第 \(i\) 个训练实例上评估的相应损失函数。

    寻找使公式(1)达到鞍点参数 \(\hat \theta_f ,\hat \theta_y, \hat \theta_d\)

    \[(\hat \theta_f,\hat \theta_y) = \arg \min_{\theta_f,\theta_y} E(\theta_f,\theta_y,\hat \theta_d) \tag{2} \]

    \[\hat \theta_d = \arg \max_{\theta_d} E(\hat \theta_f,\hat \theta_y ,\theta_d) \tag{3} \]

    反向优化

    鞍点(2)-(3)可以作为以下随机更新的静止点被找到:

    \[\theta_f \leftarrow \theta_f - \mu ( \frac{\partial L^i_y}{\partial \theta_f} - \lambda \frac{\partial L^i_d}{\partial \theta_f} ) \tag{4} \]

    \[\theta_y \leftarrow \theta_y - \mu \frac{\partial L^i_y}{ \partial \theta_y } \tag{5} \]

    \[\theta_d \leftarrow \theta_d - \mu \frac{\partial L^i_d}{\partial \theta_d} \tag{6} \]

    其中 \(\mu\) 是学习率。

    更新 \((4)-(6)\) 与前馈深度模型的随机梯度下降(SGD)更新非常相似,该模型包括送入标签预测器的特征提取器和送入领域分类器。差异是 \((4)\) 中的 \(\lambda\) 系数(差异很重要,因为如果没有这个因子,随机梯度下降法会试图使不同领域的特征不相似,以使领域分类损失最小)。虽然直接将 \((4)-(6)\) 实现为SGD是不可能的,但将更新 \((4)-(6)\) 简化为某种形式的SGD是非常可取的,因为SGD(及其变种)是大多数深度学习软件包中实现的主要学习算法。

    幸运的是,这种减少可以通过引入一个特殊的梯度反转层(GRL)来实现,定义如下。梯度反转层没有与之相关的参数(除了元参数 \(\lambda\) ,它不被反向传播所更新)。在前向传播期间,GRL作为一个特性转换器。但在反向传播过程中,GRL从后续层获取梯度,将其乘以 \(- \lambda\),并将其传递给上一层。使用现有的面向对象的深度学习包来实现这样的层很简单,因为定义前向传播(特性转换)、反向传播(乘以常数)和参数更新(无)的程序是很简单的。

    上面定义的GRL被插入到特征提取器和领域分类器之间,形成了图1中描述的结构。当反向传播过程通过GRL时,GRL后的损失( \(L_d\) )与GRL前的参数层( \(\theta_f\) )的偏导数被乘以 \(- \lambda\) ,即 \(\frac{\partial{L_d}}{\partial{\theta_f}}\) 实际上被替换为了 $ - \lambda \frac{\partial{L_d}}{\partial{\theta_f}}$ 。因此,在得到的模型中运用SGD实现了更新 \((4)-(6)\) ,并收敛到 \((1)\) 的一个鞍点。在数学上,可以将梯度反转层正式视为一个“伪函数 \(R_{\lambda} (x)\) ”,由描述其正向和反向传播的两个方程定义:

    \[R_{\lambda} (x) = x \tag{7} \]

    \[\frac{\mathrm{d}R_{\lambda}}{\mathrm{d} x} = -\lambda \pmb{ I} \tag{8} \]

    其中I是一个特性矩阵。然后我们可以定义\(\theta_f, \theta_y, \theta_d\)的目标 "伪函数",该函数在论文的方法中被随机梯度下降优化:

    \[E(\theta_f, \theta_y, \theta_d) = \sum_{i=1,...,N;{d_i = 0}} L_y (G_y(G_f(x_i;\theta_f);\theta_y),y_i) + \\ \sum _{i=1,...,N} L_d(G_d(G_f(x_i;\theta_f);\theta_d),y_i) \tag{9} \]

    运行更新 \((4)-(6)\) 可以实现为 \((9)\) 做SGD,并导致出现同时具有领域不变性和判别性的特征。学习之后,标签预测器 \(y(x) = G_y (G_f(x;\theta_f);\theta_y)\) 可以用来预测目标域(以及源域)的样本的标签。

    参考资料

    论文:Unsupervised Domain Adaptation by Backpropagation

    [1]DANN:用对抗的方法生成特征,优化目标域泛化误差上界

    [2]DANN:Unsupervised Domain Adaptation by Backpropagation

    [3]A theory of learning from different domains

  • 相关阅读:
    2-5
    2-4 及 1、2两章 学习心得 和问题
    2-3
    4-8
    4-6
    4-5
    4-4
    4-3
    4-2
    4-1
  • 原文地址:https://www.cnblogs.com/SilentSamsara/p/16314185.html
Copyright © 2020-2023  润新知