深度域适应综述_一般情况与复杂情况(学习笔记)
图释
摘要
信息时代产生的大量数据使机器学习技术成功地应用在许多领域。大多数机器学习技术需要满足训练集与测试集独立同分布的假设
, 但在实际应用中这个假设很难满足.。域适应是一种在训练集和测试集不满足独立同分布条件下的机器学习技术
。一般情况下的域适应只适用于源域目标域特征空间与标签空间都相同的情况, 然而实际上这个条件很难满足。
为了增强域适应技术的适用性, 复杂情况下的域适应逐渐成为研究热点, 其中标签空间不一致
和复杂目标域情况
下的域适应技术是近年来的新兴方向。随着深度学习技术的崛起, 深度域适应已经成为域适应研究领域中的主流方法。本文对一般情况与复杂情况下的深度域适应的研究进展进行综述, 对其缺点进行总结, 并对其未来的发展趋势进行预测。
概述
机器学习已经在许多领域中成功应用, 但是收集并标注与测试集具有相同分布的样本的代价是高昂的. 当训练集和测试集的分布存在差异时, 由训练集得到的模型不能在测试集上取得良好的预测结果. 迁移学习就是解决训练集(源域)与测试集(目标域)之间存在分布差异的机器学习方法
, 其核心是找到源域和目标域之间的相似性, 并利用相似性将在源域中获得的知识应用于目标域.
迁移学习按照问题的背景设置可以划分为两类, 第一类是源域目标域标签空间和特征空间都相同的域适应, 即一般情况下的域适应, 第二类是复杂情况下的域适应, 其包含多个子方向, 如标签空间不一致的域适应, 复杂目标域情况下的域适应等. 一般情况下的域适应问题是背景条件约束更严格的迁移学习问题. 复杂情况下的域适应问题可以通过对一般情况下的域适应方法改进加以解决。域适应问题是迁移学习领域中的研究重点, 是迁移学习的基本问题.
深度学习是近年来机器学习领域的研究热点. 深度学习算法从大规模数据中提取知识, 其性能显著超越传统机器学习方法. 深度学习取得优异性能的原因在于深度神经网络具有很强的特征提取能力. 多层的网络结构意味着可以获得关于样本的更高层次的语义信息, 这种信息可以帮助网络更好地完成任务. 应用在域适应问题中的深度学习方法被称为深度域适应
, 其中心思想是用深度神经网络对齐源域与目标域的数据分布.
与传统方法相比, 深度域适应方法获得的特征不仅有更强的泛化能力还有更好的可迁移性. 深度域适应方法正是在这个背景下兴起的.
域适应问题根据目标域有无标签可以分为有监督域适应和无监督域适应. 无监督域适应方法可以很容易地被扩展应用到有监督域适应中, 因此在域适应领域,无监督域适应方法是研究的重点。本文的写作线索为从域适应问题开始, 逐步扩展到更加通用的场景, 即复杂情况下的域适应, 其包括标签空间不一致和复杂目标域情况下的域适应问题。
文章主要内容
本文的主要内容有:
(1)介绍了影响目标域泛化误差的因素对域适应算法设计的指导作用和抑制负迁移的方法.
(2)对深度域适应方法进行了综述, 从领域分布差异, 对抗学习, 信息重构和样本生成四个方面对深度域适应方法的最新进展进行了归纳总结.
(3)由于源域和目标域的标签空间不一致是现实中的常见现象, 所以本文将标签空间不一致的域适应方法作为单独的一节进行综述.
(4)目标域包含多个子目标域或者目标域不可知是域适应领域中两个具有挑战性的问题, 本文对这一类复杂目标域情况下的域适应方法进行了综述.
(5)对域适应的应用进行了介绍并展示了一部分域适应方法的实验结果.
(6)对深度域适应方法, 复杂情况下的域适应方法进行了展望和总结
1.迁移学习概述
1.1 迁移学习, 域适应以及深度域适应的形式化定义
迁移学习
迁移学习(Transfer Learning): 给定一个有标签的源域\(D_s=\{x^s_i,y^s_i\}^{n_s}_{i=1}\) (其中, \(x_i^s\)为样本, \(y^s_i\)为标签, ????为样本索引, \(n_s\)为源域样本数量)和一个无标签的目标域\(D_t=\{x^t_j\}^{n_t}_{j=1}\)(其中, \(x^t_j\)为样本, ????为样本索引, \(n_t\)为目标域样本数量).源域目标域数据分布\(p(x^s)\)和\(p(x^t)\)不同, 即 \(p(x^s)\neq p(x^t)\). 迁移学习的任务就是利用有标签的源域数据\(D_s\)学习一个分类器\(f:x \rightarrow y\)来预测目标域数据\(D_t\)的标签\(y_t \in \mathcal{Y}_t\).
域适应
域适应(Domain Adaptation): 给定一个有标签的源域\(D_s=\{x^s_i,y^s_i\}^{n_s}_{i=1}\)和一个无标签的目标域\(D_t=\{x^t_j\}^{n_t}_{j=1}\), 假设它们的特征空间相同, 即\(\mathcal{X}_s=\mathcal{X}_t\), 它们的标签空间也相同, 即\(\mathcal{Y}_s=\mathcal{Y}_t\)并且条件概率分布也相同, 即\(p(y^s|x^s)=p(y^t|x^t)\). 但是这两个域的边缘分布不同
, 即 \(p(x^s)\neq p(x^t)\). 域适应算法的任务就是利用有标签的源域数据\(D_s\)学习一个分类器\(f:x \rightarrow y\)来预测目标域数据\(D_t\)的标签\(y_t \in \mathcal{Y}_t\).
深度域适应
深度域适应(Deep Domain Adaptation): 给定一个有标签的源域\(D_s=\{x^s_i,y^s_i\}^{n_s}_{i=1}\)和一个无标签的目标域???????? = {???????? ???? } ????=1 ???????? , 假设它们的特征空间相同, 即\(\mathcal{X}_s=\mathcal{X}_t\), 它们的类别空间也相同, 即\(\mathcal{Y}_s=\mathcal{Y}_t\)并且条件概率分布也相同, 即\(p(y^s|x^s)=p(y^t|x^t)\). 但是这两个域的边缘分布不同, 即\(p(x^s)\neq p(x^t)\). 深度域适应算法的任务就是利用有标签的源域数据\(D_s\)学习一个深度神经网络
来预测目标域数据\(D_t\)的标签\(y_t \in \mathcal{Y}_t\).
域适应与迁移学习的关系
域适应与迁移学习都是在源域目标域边缘概率分布不同的条件下解决如何使用源域数据来预测目标域数据标签的问题. 与迁移学习相比, 域适应还需要保证源域目标域的标签空间和特征空间都相同且条件概率分布相同. 域适应是一种背景条件约束更加严格的迁移学习问题. 域适应问题是迁移学习问题的子集. 因为域适应的条件约束更多且域适应方法能够被稍加改变来适应迁移学习中的其它问题, 所以域适应是当前迁移学习问题的研究重点.
1.2 影响目标域任务性能的因素——泛化误差
探究影响目标域任务性能的因素十分重要, 清楚各因素与目标域任务性能之间的关系可以指导域适应算法的设计. 模型在目标域上的泛化误差
可以作为衡量目标域任务性能的 标准, 探究影响目标域任务性能的因素也就是探究影响目标域泛化误差的因素.
影响目标域泛化误差的因素有三个, 分别是源域泛化误差
, 领域间差异
和最优联合泛化误差
. 域适应探索源域和目标域之间的关系, 用在源域中学习到的知识为目标域任务提供支持. 在源域中获得的知识的质量将影响目标域的任务性能
, 知识质量越高, 目标域任务性能越好, 知识质量越低, 目标域任务性能越差. 衡量源域知识质量的一种方式是源域泛化误差
. 源域泛化误差是影响目标域泛化误差的因素之一. 源域和目标域之间的相似性表现为源域和目标域数据分布之间的差异. 当源域和目标域的分布差异大时, 在源域获得的知识向目标域迁移的效果就会降低. 如果域适应方法对齐了源域和目标域的数据分布, 那么源域的知识向目标域迁移的效果就会增强. 领域间差异同样会影响目标域泛化误差。
目标域泛化误差的上界:
其中\(\epsilon_t(h)\)为目标域的泛化误差,\(\epsilon_s(h)\)为源域的泛化误差,\(d_{H\Delta H}\)表示域间差异,\(\lambda\)表示最优联合泛化误差,\(\mathcal{H}\)表示假设空间,h为假设空间中的某一假设,\(\epsilon_s(h)\),\(d_{H\Delta H}\),\(\lambda\)之和决定了目标域泛化误差的上界。 式(1)可用于指导域适应算法设计, 降低式(1)右侧的任何一项都可以提高域适应的性能.
虽然减少源域泛化误差\(\epsilon_s(h)\)也可以减少目标域泛化误差\(\epsilon_t(h)\)的上界,但是这仅是源域中的学习任务, 与知识迁移没有关系. 例如将特征提取器从浅层网络替换为深层网络虽然可以提高源域任务性能, 但并没有进行知识迁移。所以现在的域适应方法都致力于通过减小域间差异\(d_{H\Delta H}\)来获得更小的目标域泛化误差的上界。学习领域不变性特征是减少领域间差异\(d_{H\Delta H}\)的一种通用做法。有的文献表明,除了要对齐源域和目标域的数据分布以外, 还需要考虑源域和目标域的类别信息
. 按类别对齐两个域能进一步减少领域间差异\(d_{H\Delta H}\)。
一些文献训练源域目标域联合分类器, 用联合分类器的错误率来近似\(\lambda\)。研究结论是, 知识迁移会导致????增大. 这是因为域适应既破坏了源域特征中的可判别性信息,也破坏了目标域特征中的可判别性信息。在域适应过程中保持特征的可判别性不被破是提高域适应方法性能的一种措施也是域适应问题的一个研究方向。
1.3 负迁移
域适应方法建立在源域和目标域具有相似性的基础上, 域适应方法寻找两个域的相似性并将其利用到目标域任务中. 如果不能找到正确的相似性, 从源域迁移到目标域的知识就 会对目标域任务起到负面作用. 这种现象被称为负迁移. 描述和避免负迁移是域适应研究的关键问题之一.
如果源域和目标域之间不具备相似性, 那么就无法根据可迁移性进行样本选择. 在这种 情况下, 一些研究提出使用中间域作为桥梁连接分布差异较大的源域和目标域. 这一类方法 被称为传递式域适应方法 .
2 深度域适应
本节中的深度域适应是指使用深度学习技术来解决一般情况下的域适应问题, 即单源域单目标域的无监督同构域适应问题.
对深度神经网络的可解释性研究表明网络的浅层提取模式的基本组成结构, 如图像中的点, 线, 拐角等特征; 网络的深层提取与任务相关的高层语义信息. 一个训练好的网络的浅层可以作为新任务的初始模型, 这种训练方式被称为预训练
. 使用浅层网络权重初始化一个新任务网络的训练方式相当于将已有知识迁移到新的任务中, 这是深度学习在知识迁移中最朴素的应用. Yosinski 等人研究了深度神经网络的可迁移性, 并提出了两种知识迁移的方式:一种是用源域网络浅层权重初始化目标域网络, 然后以微调方式训练目标域网络;
另一种是冻结网络浅层权重, 从头训练目标域网络深层权重
. 这两种方式都在迁移源域中与基本组成结构相关的知识. 值得注意的是, 微调技术使用到了目标域中带标签的样本, 也就是说微调技术只适用于有监督迁移学习, 而不能用来解决无监督迁移学习
. 与微调技术相比, 域适应的重点在于更充分地挖掘源域与目标域的相似性, 并且更灵活地在目标域任务中应用两个域之间的相似性, 使在源域训练获得的知识在目标域任务中发挥更大作用.
根据深度神经网络在域适应方法中发挥的不同作用, 深度域适应方法可以分为四类: 基于领域分布差异的方法, 基于对抗的方法, 基于重构的方法和基于样本生成的方法. 这四类深度域适应方法的基本特点列于表 1 中.
2.1 基于领域分布差异的方法
由 1.2 小节可知, 领域间差异\(d_{H\Delta H}\)是影响目标域泛化误差上界的因素之一. 基于领域分布差异的域适应方法通过减少两个领域间的差异来减少目标域泛化误差. 基于领域分布 差异的方法根据对分布差异衡量准则的不同又可以分为基于统计准则的方法, 基于结构准则的方法, 基于流形准则的方法和基于图准则的方法.
2.1.1 基于统计准则的方法⭐⭐⭐
基于统计准则的方法使用均值或者高阶矩来度量领域间差异. 常见的距离如下所示。
(1)MMD(Maximum Mean Discrepancy, 最大均值差异)
MMD是最常用的对源域和目标域分布间差异的度量, 对于两个域\(D_s\)和\(D_t\),两个随机变量的MMD平方距离为:
其中\(\phi(.)\)是映射,用于把原变量映射到再生核希尔伯特空间(希尔伯特空间是对于函数的内积完备的,而再生核希尔伯特空间是具有再生性的希尔伯特空间。就是比欧几里得空间更高端的。将平方展开后,RKHS 空间中的内积就可以转换成核函数,所以最终 MMD 可以直接通过核函数进行计算。理解:就是求两堆数据在 RKHS 中的均值的距离)MMD 的本质是在再生核希尔伯特空间中对齐源域与目标域的样本均值。
领域适应神经网络(Domain Adaptive Neural Network, DaNN) , 深度领域混淆方法 (Deep Domain Confusion, DDC)以及深度适配网络(Deep Adaptation Network, DAN)是最早的一批基于 MMD 的深度域适应方法. 这些方法将 MMD 引入到神经网络当中, 将源域特征与目标域特征之间的 MMD 作为领域分布间距离度量加入到目标函数当中.
这些方法的优化目标都由两部分组成: 源域分类误差\(l_c\)和 MMD 损失项\(l_d\). 源域分类误差\(l_c\)帮助网络学习分类, 而 MMD 损失项\(l_d\)使网络学习到分布相似的源域特征和目标域特征.
DANN
DaNN 的结构简单, 共包含两层: 特征层与分类器层. 由于 DaNN 网络太浅, 特征表示能力有限, 故迁移知识的能力也十分有限. 虽然 DaNN 只使用了两层的神经网络, 两层的神经网络并不能被称作深度神经网络, 但是, DaNN 是将 MMD 与神经网络相结合的域适应方法, 它的基本思想与随后的基于 MMD 的深度域适应方法基本相同.
DDC
DDC使用预训练好的AlexNet作为特征提取器, 因此与 DaNN 相比, DDC 的特征提取能力有了很大的提升. 但是 DDC 存在许多不足之处. (i),DDC使用线性核计算 MMD, 线性核等价于两个域的均值匹配, 无法实现对分布的完全匹配. (ii), Yosinski已经指出 AlexNet 的不同层都是可以迁移的, 而 DDC 只适配了一层网络, 适配程度不够. (iii), DDC 只采用了单个核计算 MMD, 单一固定的核有可能不是最优的核.
DAN
DAN 基于 AlexNet 搭建, 其网络结构如下图所示, 由于 AlexNet 的三个全连接层都偏向于领域专属, 为提高网络的迁移能力, DAN 对 AlexNet 的三个全连接层都进行了适 配. 此外, DAN 为了解决如何确定最优核的问题, 提出了多核 MMD, 多核 MMD 使用多个核来构造总核。
(2)CORAL(Correlation Alignment, 关联对齐距离)
以CORAL作为领域间差异的深度域适应方法通过减小两个领域协方差矩阵的差异来迁 移知识。CORAL 的定义如下:
\(L_{CORAL}=\frac{1}{4d^2}||C_S-C_T||^2_F\)
其中\(||.||^2_F\)表示矩阵范数的平方,d为特征维度,\(C_S\) 与\(C_T\)分别表示源域与目标域的协 方差矩阵。 Sun 等人最早将CORAL引入到深度神经网络中来对齐领域分布. Chen 等人认为在域适应的过程中应该保证特征的可区分性, 故而提出将类内距与类间距作为损失项添加到总的损失目标中. 这个方法保证在域适应后类内距尽可能小而类间距尽可能大
, 增强了特征的可区分性。
(3)CMD(Central Moment Discrepancy, 中心距差异)
MMD 的本质是两个域的所有阶统计矩加权和之差. Zellinger 等人根据该结论提出对齐两个域分布的高阶矩来进行知识迁移, 两个域分布的高阶矩之差被称为 CMD, 其经验估计为:
\(cmd_K(xs,xt)=frac{1}{(b-a)}|E(x^s)-E(x^t)||_2+\sum\limits_{k=2}\limits^{k}\frac{1}{|b-a|^k}||C_k(x^s)-C_k(x^t)||_2\)
其中,\(C_k(x)=E(x-E(x))^k\)代表样本的中心距,\(E(x)=\frac{1}{|x|}\sum\limits_{x \in X}x\)是经验期望,\(x^s\)与\(x^t\)分别独立且且同分布地采样于紧间隔\([a,b]^{x_s}\)上的\(p(x^s)\)与\(p(x^t)\).
(4)Wasserstein Distance(搬土距离)
除了 MMD, CORAL 与 CMD, Wasserstein Distance 也在基于统计准则的深度域适应方法中运用。该距离在一 个度量空间 (M, ρ) 上定义,其中 ρ(x, y) 表示集合 M 中两个实例 x 和 y 的距离函数,比如 欧几里得距离。两个概率分布 \(\mathbb{P}\) 和\(\mathbb{Q}\)之间的 p-th Wasserstein distance 可以被定义为:
其中\(\Gamma(\mathbb{P},\mathbb{Q})\)是在集合 M × M 内所有的以 \(\mathbb{P}\) 和\(\mathbb{Q}\)为边缘分布的联合分布。与使 用 MMD 的方法类似, 这一类方法通过减小领域间的搬土距离来对齐领域分布。
基于统计准则的方法在统计度量最小化的约束下将数据从样本空间变换到特征空间从而使两个领域分布差异在特征空间中最小化. 这类方法大多数情况下都可以成功但存在一 些缺陷. 举一个极端的例子, 如果将所有源域目标域样本映射到特征空间中的一个点, 源 域目标域分布之间也不存在差异, 但这种映射是没有意义的, 因为在这个特征空间中, 所 有样本的特征表示都是相同的, 网络不能进行分类任务. 针对这个问题, 文献[52]提出领域间最大统计量差异最小化方法, 网络中包括两个特征提取器, 它们在领域差异最小化的约束下分别将源域目标域数据映射到特征空间, 然后混淆网络将已得到的特征再映射到了一个新的特征空间中去, 并使领域差异在新的特征空间中尽可能大
. 在新的特征空间中, 计算两个领域间差异,并使用该差异与分类损失训练网络. 该方法以最小化最大领域差异的方式避免了特征提取器将所有样本映射到空间中同一点的情况的发生.
基于统计准则的方法以源域和目标域之间的分布距离
作为损失函数, 使用深度神经网 络提取领域不变性特征. 这类方法已经取得了许多研究成果, 发展空间有限. 从提取领域 不变性特征这方面来看, 对抗学习是一个更有发展潜力的方向. 原因是, 一方面, 与设计一个复杂的领域间距离相比, 对抗网络更加容易实现. 另一方面, 对抗学习避免了人为设计距离, 网络在训练的过程中自发地学习两个领域应该对齐什么以及对齐到什么程度通常能够获得更好的效果.
2.1.2 基于结构准则的方法
基于结构准则的方法通过约束网络参数或者改变网络结构的方式来达到迁移知识的目 的. 这一类方法大体上是沿着两个方向进行发展的. 第一, 通过正则项保证源域目标域网 络参数之间具有相关性. 这种做法是受到域适应问题中数据集特点的启发而产生的: 源域与目标域数据分布相关, 那么源域网络与目标域网络的参数也应具有相关性. 第二. 通过 增设领域专属的批归一化层来减小领域之间的差异. 这种做法与基于统计准则的方法具有相似性. 它们都希望得到具有相同分布的领域特征. 不同的是, 基于统计准则的方法需要明确度量准则, 而这种方法并不需要. 此外, 还有一些方法通过改变网络结构来进行知识 迁移. 这类方法的思想各不相同, 但都可以归类于基于结构准则的方法中.
基于统计准则的方法通常使用同一个特征提取器对源域与目标域样本提取特征, 但实际上源域数据与目标域数据分布不同但存在相关性, 两个领域使用的特征提取器也应该是不 同但相关的. 一些基于结构准则的方法使用两个特征提取器分别处理源域样本和目标域样本, 并保证两个特征提取器之间存在相关性. 这类方法使用相同的方式搭建两个域的特征提取器, 并对网络参数的相关性进行约束从而建立起两个领域之间的关系.
2.1.3 基于流形准则的方法
测地线是在格拉斯曼流形上连接两个点的最短路径. 基于流形准则的方法将源域空间与目标域空间作为格拉斯曼流形上的两个点并在源域和目标域之间构建一条测地线来度量 两个领域之间的分布差异. 基于流形准则的方法或通过对齐特征或通过生成中间样本进行知识迁移. 对齐特征的方法通过在测地线上采样的有限个[65]或无限个[66]子空间建立起源域 与目标域之间的联系. 这种方法将源域和目标域映射到中间子空间来对齐分布. 生成中间 样本的方法采用数据增广的思想生成一系列介于源域和目标域之间的样本进行知识迁移.
2.1.4 基于图准则的方法⭐⭐
基于图准则的方法将样本与样本间关系抽象成图结构并使用图之间的差异来度量领域间分布差异. 如果把样本看作点, 样本间的相似度看作边, 那么数据集就可以被视作为一 个无向图. 以这个思想为基础, 研究者们提出减小源域图与目标域图之间的差异来迁移知识. 如果源域数据所表示的图与目标域数据所表示的图相似, 则认为源域模型可以很好地适配目标域. 基于图准则的方法在知识迁移过程中考虑了领域分布结构从而获得了更好的 知识迁移效果. Xu 等人提出使用样本间距离来描述样本间的近邻关系, 对于每一个目标 域样本, 计算它与每个源域样本之间的相似度, 并以此来描述该目标域样本与源域各类别 的近邻关系, 将相似度作为优化目标的一部分来训练网络. 经过训练的网络最终会生成与源域样本近似的特征表示. 在对齐图的基础上, 文献[70]将类别信息引入到了迁移过程中, 提出了一种无监督图对齐方法. 这种方法将图中的边分为两类: 一种是类内边, 类内边连接属于同一类别的两个样本; 另一种是类间边, 类间边连接属于不同类别的两个样本. 训练的目标是类内边尽可能小, 而类间边尽可能一致. 这种方法不仅对齐了源域目标域的分布还增强了特征的类别可区分性. 文献[71]同样将类别信息引入到了迁移过程中, 它使用目标域分类器生成目标域样本的伪标签, 然后通过对齐两个领域类别质心的方式来对齐条件概率分布. 还有的方法使用神经网络以样本为输入直接输出图结构. Yang 等人[72]提出了关联图预测网络. 关联图是一个矩阵, 用来描述数据单元之间的关系, 其本质是一个相似性矩阵, 源域样本以及关联图被用来训练关联图预测网络. 由于源域目标域之间存在关联性, 源域关联图预测网络可以直接使用在目标域上. 在迁移阶段, 使用关联图预测网络对目标 域数据输出关联图, 并使用关联图与特征共同分类目标域样本.
图神经网络是一类基于深度学习的处理图信息的方法. 由于其较好的性能和可解释性, 图神经网络已成为一种广泛应用的图分析方法. 到目前为止, 图神经网络还没有应用于基 于图准则的域适应方法中, 在未来的研究中, 图神经网络与域适应问题相结合将能进一步 地推动域适应领域的发展
2.2 基于对抗学习的方法
基于对抗学习的域适应方法将生成对抗网络(Generative Adversarial Networks, GANs)[73]的思想引入到域适应问题当中. 对抗域适应的训练过程是特征提取器与领域判别器之间的博弈过程: 领域判别器通过学习来区分源域特征与目标域特征, 而特征提取器通过学习具有领域不变性的特征表示来混淆领域判别器
. 训练完成后的网络就可以提取出既具有类别区分性又具有领域不变性的特征表示
. 基于对抗学习的方法按照对抗方式的不同可以分为单对抗域适应和多对抗域适应. 此外, 还有一些方法没有在对抗方式上进行改进而是将注意力机制引入到对抗域适应中, 这一类方法同样被归类到基于对抗学习的方法中.
2.2.1 单对抗方法
单对抗方法是指使用单个领域判别器的对抗域适应方法. Ganin 首先将对抗学习应用到域适应问题当中, 提出领域对抗神经网络(Domain-Adversarial Neural Network, DANN) , 网络结构如图所示.
在对抗域适应中, 领域判别器的优化目标是减小领域判别器的分类损失, 而特征提取器的优化目标是增大领域判别器的分类损失. 为了在训练过程中同时满 足这两个截然相反的优化目标, Ganin 提出了梯度反转层(Gradient Reversal Layer, GRL)[27] , 其作用是当领域判别器的分类损失的梯度反向传播经过判别器之后, 对梯度取反, 然后将其继续反向传播到特征提取器.
梯度反转层使网络能够保证在领域判别器最小化领域混淆损失的同时特征提取器最大化领域混淆损失
.
Chen 等人发现对抗域适应方法虽然能够增强特征的可迁 移性但是会降低特征的类别可区分性 ,所以他们提出在训练过程中加入批谱惩罚项来保证特征值之间的差距不 会过大, 即保证特征的可区分性. 在 DANN 中, 对特征提取器的共享导致了特征提取器不能提取源域和目标域的领域专属信息.
针对这个问题, 对抗判别域适应(Adversarial Discriminative Domain Adaptation, ADDA)采取了权重不共享的方式, 源域特征和目标域特征独立提取. 源域和目标域的网络结构相同, 目标域模型参数使用源域预训练模型的参数初始化. 相对于 DANN 来说, 由于参数不共享, 特征提取器可以提取更多的领域专属特征.
ADDA分别以迭代的方式来最小化以下函数来最小化源域特征与目标域特征之间的距离:
其中\(M^s,M^t\)分别表示从源域数据\(x^s\)和目标域数据\(x^t\)中学习,\(G_y\)代表源域分类器,该方法使用源域的数据来最小化损失\(L_{cls}\),最小化\(L_{advD}\)来训练域判别器,最小化\(L_{advM}\)来学习领域不变性的特征表示。
Volpi 等人使用特征生成器在源域特征空间中进行数据增广, 并且使用领域判别器判别生成特征与真实特征来对齐生成样本与目标域样本的分布.
Hang 等人提出了一种基于对抗熵最小化的语义分割域适应方法来对齐源域目标域的标签结构信息. 该方法使用分割图(图中元素代表像素属于某个语义标签的概率)生成加权自信息矩阵, 将分割图的熵(加权自信息矩阵的元素之和)作为网络的一个损失项来优化网络, 使网络输出更加确定的语义标签预测. 网络最终使用领域判别器在源域目标域的加权自信息矩阵间进行对抗. 单对抗方法使用单个领域判别器, 意味着单对抗方法只能对源域和目标域的整体分布进行对齐, 这是单对抗方法的一个缺陷
。
2.2.2 多对抗方法
多对抗方法是指使用多个领域判别器的对抗域适应方法. 单对抗方法的分布对齐能力有限,只能够对齐源域目标域的边缘分布, 并不能够保证条件概率分布同样被对齐. 而多对抗方法除了能够对齐边缘分布以外还在对抗学习的过程中引入类别信息来对齐条件概率分布
.
Pei 等人提出了多对抗域适应(Multi-Adversarial Domain Adaptation, MADA),使用多个类别领域判别器来对齐两个域的数据分布. 每一个类别领域判别器只负责对齐其对 应类别的概率分布. 还有一些方法虽然没有使用多个领域判别器, 但通过引入了类别信息获得了与使用多个领域判别器的方法同样的效果, 故也被归类到多对抗方法中. Long 等人提出了条件领域对抗网络(Conditional Domain Adversarial Networks, CDAN)。 CDAN 的创新点在于将特征与分类器输出的外积作为新的特征输入到领域判别器当中去, 新的特征能够捕捉到隐藏在复杂数据分布下的多峰结构, 该方法取得了良好的 效果. Tzeng 等人将源域中属于同一类别样本的分类器输出均值作为类别软标签. 在训练目标域分类器时, 使用一部分带标签的目标域数据得到目标域分类器的输出, 通过对齐输出与对应类别的软标签达到了对齐条件概率分布的目的.
2.2.3 基于注意力机制的对抗方法
图像的不同区域的可迁移性是不同的, 可迁移性低的区域在训练过程中会造成负迁移. 域适应方法需要着重对图像中与任务相关性高的区域进行知识迁移而忽略其他不相关的背 景信息. 在对抗域适应中, 有一类方法将重点集中在寻找特征图中可迁移性较高的区域.
Kurmi等人使用贝叶斯分类器和贝叶斯领域判别器分别给出分类器输出的不确定性和领域判别器输出的不确定性, 通过反向传播算法使用网络输出的不确定性来反推特征图中每个 区域的领域不确定性. 领域不确定性高的区域被认为可迁移性较高, 将会被着重对齐.
Wang 等人将注意力机制引入到对抗域适应方法中, 使网络能够自动学习到在迁移的过程 中需要注意哪些部分. 特征图被划分为????个区域, 每一个区域都对应一个领域判别器. 在训练结束之后, 领域判别器难以区分的部分被认为是可迁移性较好的部分, 通过对这些部分 赋予更大的权重, 网络实现了在训练中着重对迁移性好的区域进行对齐. 参数????通常不会设定比较大的值, 划分过多的区域会增加训练的复杂度, 因此该方法只能获得有限的性能提升.
Luo 等人提出了一种基于协同学习与类别对抗的语义不变性域适应方法, 其网络结构包括特征提取器, 两个分类器以及领域判别器. 该方法被应用在图像语义分割中. 训练过程约束两个分类器的参数是不同的, 从而保证分类器能够从不同视角给出图像中每一个像素的语义标签. 对于源域数据来说, 两个分类器使用集成学习的方式给出预测图用来计算分割损失以及领域对抗损失. 对于目标域数据, 网络使用距离函数计算两张预测图中对应像素的距离, 并生成注意力图, 注意力图被送到领域判别器中进行领域对抗. 这样做的目 的是迫使领域判别器着重处理在目标域中两个分类器不一致的区域. 已有的深度神经网络的可解释性研究[82– 84]探究的是特征图中的不同区域对网络预测结果的影响.
2.3 基于重构的方法
基于重构的方法是指使用自编码器提取具有可迁移性特征的方法. 自编码器是实现重构的基本网络结构, 是一种可以用来抑制信息损失的无监督学习方法, 由一个前馈神经 网络组成, 包括编码解码两个过程. 自编码器首先将输入映射为编码, 然后又将编码重构回输入, 通过使用输入作为标签来解决"没有老师的反向传播"问题. 自编码器通过最小化 信息损失来重构输入, 保证编码保持数据原有的特性. 基于重构的域适应方法的优点就是能够保证迁移过程不会破坏数据原有信息.
在域适应问题中重构可以起到三种作用, 一是域适应过程会破坏样本中的可判别信息而重构方法可以降低信息的损失, 二是重构方法可以将特征解耦为领域专属特征和领域不变性特征, 领域不变性特征用来迁移知识而领域专属特征则被用来降低目标域泛化误差. 三是重构可以提取特征的高层语义。
2.4 基于样本生成的方法
域适应将从源域中学到的知识迁移到目标域, 上文中总结的域适应方法或者寻找一个从源域特征到目标域特征的映射或者寻找两个域的领域不变性特征. 尽管这些方法取得了一些效果, 但是仍然比不上目标域有标签时的监督学习方法取得的性能. 基于样本生成的域适应方法是指使用源域样本合成带标签的目标域样本, 并使用合成样本训练目标域网络 的方法
. 从理论上来说, 基于样本生成的域适应方法在训练过程中可以使用无限的数据. 充足的数据正是获得一个性能优良的模型的关键之一. 与其它的域适应方法相比, 这一类方法的可解释性更强, 通过观察合成的目标域样本与真实目标域样本之间的差异就可以判断当前方法是否学习到了一个较好的从源域到目标域的映射.
最常用的生成模型就是生成对抗网络(Generative Adversarial Net, GAN). GAN 包括生成器和判别器. 生成器用来合成图像, 判别器用来区分真实图像与合成图像. GAN 的训练过程就是生成器与判别器之间相互博弈的过程. 当判别器已不能将合成图像从真实图像中区分出来时, 生成器就已经具备了合成逼真图像的能力. 在 GAN 中, 生成器的输入是噪音, 而输出则是合成图像. 由于 GAN 不能生成合成样本的标签, 所以只使用 GAN 不能够完成目标域中的任务. 基于样本生成的域适应算法的关键是建立起源域样本与合成样本之间的关系, 并利用这个关系从源域样本标签推测出合成样本的标签继而使用合成样本训练模型. 共享网络参数和图像翻译网络是样本生成的主要方式. 其中, 基于图像翻译网络的方法是主流方法.
2.4.1 共享网络参数
Liu等人提出在生成器中, 浅层网络在解码语义信息, 深层网络在解码细节信息, 而在判别器中, 信息处理的方式恰好是相反的, 即浅层网络在提取细节信息,深层网络在提取 语义信息. Liu 提出使用两个生成器, 一个用于生成源域样本而另一个生成目标域样本. 通过共享两个生成器的浅层网络参数来生成具有相同语义信息的样本. 由于两个域的同类别样本共享相同的语义信息, 具有相同语义信息的样本具有相同的类别标签, 所以目标域合成样本的标签可以通过源域样本的标签得知.
2.4.2 图像翻译网络
翻译网络是指将源域样本作为输入来生成符合目标域分布的合成图像的网络. 翻译网络是一种很常见的监督学习方法, 其使用样本对(sample pair)作为训练数据. 域适应问题的数据集不包含样本对, 所以研究者们在网络的训练过程中添加特殊约束来保证翻译网络输入输出的类别标签一致性.
文献[96]提出对偶学习方法, 在最小化重构损失的同时学习两个方向相反的翻译器. 对偶学习使两个翻译器在训练过程中形成一个闭环, 两个翻译器相互促进学习得到了比训练单个翻译器更好的模型性能. 以 CycleGAN 为代表的一 类方法[21,97,98]引入对偶学习来达到这样一个目的: 在没有样本对的情况下, 捕获目标域数据集的特征, 并将该特征转化到源域数据集上. 在这类方法中, 翻译网络将源域数据变换到目标域, 再从目标域变换回源域. 原数据与重构数据之间的差异被称为循环一致性损失. CycleGAN 通过最小化循环一致性损失使网络学习到如何在源域数据与目标域数据相互转化。由于生成模型很难训练, Swami 提出了生成适应方法 (Generate To Adapt, GTA)[99] , 该方法不仅使用 GAN 来合成图像, 也利用 GAN 的训练过程 来对齐源域目标域的特征分布. 其好处在于即使合成数据失败, 也能得到领域不变性的特 征表示用于迁移.
2.5 小结
基于领域分布差异的方法一直以来是深度域适应的主流方法,当前, 衡量不同距离度量优劣只能通过模型在目标域上取得的性能来估计. 在这一领域, 还缺乏理论研究来证明哪一个距离度量才最适合域适应问题, 以及不同的距离度量为什么会产生不同的迁移效果
基于对抗的域适应方法的发展沿着一条清晰的脉络, 从最初使用单个领域判别器, 到 使用一组类别领域判别器, 直至到现在使用注意力机制选出图像中可迁移性高的部分进行对抗学习。
基于重构的迁移学习方法的优点是可以抑制特征中可迁移信息的损失, 缺点是受限于自编码器的特征表示能力。
基于样本生成的域适应方法将域适应问题转换为有监督学习问题, 此类方法的关键是 如何将源域样本变换到目标域. 成功地合成符合目标域分布的样本是一个难点。
标签空间不一致的域适应问题
与经典域适应方法相比, 标签空间不一致的域适应方法的通用性更好, 可以解决源域目标域标签空间不一致的实际问题。第 2 节综述的深度域适应属于闭集域适应,闭集域适应是指源域和目标域标签空间相同(两个域包含相同物体类别)的域适应问题.
由于闭集域适应问题和标签空间不一致的域适应问题面临不同的挑战, 闭集域适应方法不能直接应用在标签空间不一致的域适应问题上. 闭集域适应问题面临的主要挑战是领域间的分布差异. 而标签空间不一致的域适应问题除了需要解决领域间的分布差异, 还需要解决两个域标签空间的差异. 如果将整个源域分布与目标域分布进行对齐, 那么属于私有标签空间的样本没有对应的类别去适配, 属于共享标签空间的样本的对齐效果就会被影响, 从而造成负迁移. 解决标签空间不一致的域适应问题的首要是抑制私有标签空间中的样本所造成的负迁移, 其次才是匹配共享标签空间中的两个域的特征分布
。
3.1 部分域适应
由于大型数据集的数据量庞大包 含的物体类别丰富, 假设目标域的标签空间是大型数据集的标签空间的子集是非常合理的. 在这个背景下, 域适应问题变换为目标域标签空间是源域标签空间子集的域适应问题
. 这种问题被称为部分域适应问题。
部分域适应中存在两个挑战. 首先, 部分域适应需要抑制源域私有标签空间\(\overleftarrow{C_s}\)中的样本所造成的负迁移. 其次, 部分域适应需要促进共享标签空间\(C\)中两个域的分布对齐. 没有目标域的标签就无法确定目标域中包含哪些物体类别. 这就导 致了无法得知源域所包含的类别中哪些是共享类别, 哪些是源域私有类别. 只有先确定私有类别, 才能避免它们造成的负迁移. 部分域适应的核心在于如何正确地划分标签空间. 部分域适应可以分为基于分类器输出的方法和基于领域判别器输出的方法. 这两种方法的不同之处在于对标签空间划分的依据不同.
3.1.1 使用分类器输出划分标签空间
使用分类器输出划分私有标签空间和共享标签空间是一种常见的方法. 文献[107]提出将目标域样本在源域分类器上的输出均值记为????, 并使用????划分私有标签空间和共享标签空间, 其网络结构如图 8 所示. 目标域样本只属于共享标签空间, 故而????中对应于共享类别的维度的数值比较大, 而对应于源域私有类别的维度的数值比较小. 文献[107]设定一个阈值????, 将????中大于????的维度所对应的类别记为共享标签, 将????中小于等于????的维度所对应的类别记为 私有标签空间.
Cao 等人[1]在文献[107]的标签空间划分思想上在对齐过程中引入了类别信息, 在网络中设立了一组领域判别器, 组中的每一个判别器负责判别对应类别样本的领域标签. 分类器的输出是源域标签空间上的一个概率分布. 这个分布刻画了样本属于每一个类别的可能性大小. 由于目标域样本没有 类别标签, 所以Cao 使用分类器输出来决定每一个样本分配到哪一个领域判别器上去. 这种做法使得每个目标域样本只与最相关类别的源域样本进行对齐从而将源域私有类别在对齐过程中剔除出去避免了负迁移.
3.1.2 使用领域判别器输出划分标签空间
领域判别器的输出同样可以作为划分标签空间的依据. 文献[108,109]提出在网络结构中设立一个不参与对抗过程的领域判别器, 不参与对抗的领域判别器在误差反向传播过程中只计算判别器的梯度而不计算特征提取器的梯度, 这类领域判别器只学习如何区分源域特征与目标域特征而不会改变特征提取方式. 这类领域判别器的输出可用于判断样本的可迁移性. 在部分域适应问题中, 共享标签空间中的样本的可迁移性要高于源域专属标签空间中的样本的可迁移性. 文献[108,109]设置阈值????, 当领域判别器对一个样本的分类置信度较低时, 该样本的可迁移性比较高, 若分类置信度低于????, 该样本则属于共享标签空间. 当领域判别器对于一个样本的分类置信度较高时, 该样本的可迁移性比较低, 若分类置信度高于????, 该 样本则属于源于私有标签空间. 对共享标签空间中的源域和目标域的样本分布进行对齐就可以完成域适应.
3.2 开集域适应
解决源域标签空间是目标域标签空间子集的域适应问题被称为开集域适应. 开集域适应需要解决两个问题. 首先, 开集域适应首先需要消除分布偏移的影响. 其次, 由于源域中没有样本与目标域私有类别中的样本相对应, 直接对齐两个域的整体分布会造成负迁移. 所以需要确定共享类别与目标域专属类别之间的界限, 并降低目标域专属类别在对齐过程中的影响. 与部分域适应不同的是, 开集域适应不仅需要对共享标签空间\(C\)中的目标域样本进行分类还需要将所有的目标域私有标签空间\(\overleftarrow{C_t}\)中样本划分为"未知"类别. 这增加了开集域适应问题的难度. 开集域适应的核心同样在于如何正确地划分标签空间. 开集域适应可以分为基于相似性的方法和基于分类器输出的方法. 这两种方法的不同之处在于对标签空间划分的依据不同.
3.2.1 使用目标域样本与源域类别间相似性划分标签空间
见Busto(open set domain adaptation)
3.2.2 使用分类器输出划分标签空间
见Saito(Open Set Domain Adaptation by Backpropagation)
3.3 通用域适应
通用域适应就是要解决在标签空间关系未知情况下的域适应问题. 通用域适应要求对在共享标签空间????中的目标域样本进行分类, 并对其它的目标域样本标记为"未知". 由于标签空间关系未知, 无法决定用源域中哪一部分数据去适配目标域中哪一部分数据, 所以 通用域适应的关键就在于寻找共享标签空间????.
文献[106]在定义通用域适应问题的同时也提出了一个名为通用适配网络的方法. 该方法通过整合领域相似性与分类置信度来量化样本的可迁移性, 可迁移性在这里是指样本属于共享标签空间的可能性. 该方法通过具有高可迁移性的样本来确定共享标签空间. 领域相似性是指样本与源域的相似程度.领域相似性由非对抗领域判别器给出. 对于源域样本来说,它的领域相似性越大, 它的可迁移性就越差, 而对于目标域样本来说, 它的领域相似性越大, 它的可迁移性就越好. 分类置信度由分类器输出的熵衡量. 熵越小分类置信度越高. 分布适配的过程会破坏特征的类别可区分性, 而在标签空间不相同的情况下, 分布对齐只在共享标签空间中发生. 对于源域样本来说, 分类置信度低的样本就可以被认为位于共享标签空间之中. 对于目标域样本来说, 分类置信度高则说明这个样本与源域相似, 只有在共享空间中, 两个域的样本才会有一定的相似度. 故而分类置信度高的样本可以被认为位于共享标签空间之中.
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:深度域适应综述_一般情况与复杂情况(学习笔记) - Python技术站