领域自适应是迁移学习重点研究的课题之一。以往,基于域不变表征的领域自适应方法由于对域偏移(domain shift)不敏感、能为目标任务获取丰富信息受到了极大关注。然而,在 ICML 2019 上,来自卡内基梅隆大学的研究人员指出,当标签分布不同时,对源任务的过度训练确实会对目标域的泛化起到负作用,并且用严谨的数学证明和丰富的实验说明了:为了提升领域自适应算法的性能,我们不仅需要对齐源域和目标域的数据分布、最小化源域中的误差,还应该对齐源域和目标域的标注函数。
图 1:无监督领域自适应概述及其与标准的监督学习场景的区别。在领域自适应任务中,源(训练)域与目标(测试)域相关但有所不同。在训练过程中,该算法只能访问源域的带标签样本以及目标与的无标签样本。目的是将算法泛化到目标域上。
支撑监督学习算法泛化理论的一个重要假设是,测试数据的分布应该与训练数据的分布相同。然而,在许多现实世界的应用程序中,收集所有我们的学习系统可能被部署的场景下的带标签数据通常是十分耗时的,甚至是不可行的。例如,考虑一个典型的车辆计数应用程序,我们希望通过它计算在一张由相机拍下的图片中有多少辆汽车。我们一共有 200 台校准、视角、照明条件不同的相机。在这种情况下,获得所有相机拍摄图像的带标签数据的开销是非常巨大的。理想情况下,我们将收集 200 台相机的一个子集的带标签图像,并且仍然能够训练一个可以在所有相机拍摄的图像的数据集上起作用的计数系统。
图 2:曼哈顿区不同位置的相机
领域自适应任务针对的情况是,只能访问训练分布(又称源域)的带标签数据和测试分布(又称目标域)的无标签数据。由于源域和目标域可能有所不同,因此这种情况十分复杂——正如上面的例子一样,不同的摄像机拍摄到的不同的图像通常会因为不同的视角、光照、校准等因素而具有不同的像素分布。而自适应算法的目标是在不能看到目标域中的带标签样本的情况下,将算法泛化到目标域上。
在本文中,我们将首先回顾一种通用的技术,该技术基于寻找一种域不变的表征的思路来实现这一目标。然后,我们将构造一个简单的示例说明这种技术本身并不一定能够在目标域上实现良好的泛化。为了理解失效的模式,我们给出了一个泛化上界,该上界可以分解为度量源域和目标域之间输入和标签分布的差异的各项。并且十分重要的一点是,这个上界让我们可以为在目标域上良好的泛化提供充分条件。
我们还使用一个基于信息论的下界来刻画学习域不变表征时的权衡,从而对泛化上界进行了补充。直观地说,实验结果表明,当不同域中的边缘标签分布存在差异时,人们不能指望通过学习不变表征来同时最小化源域和目标域的误差;这位基于学习不变表征的方法取得成功提供了必要条件。本文所提供的所有材料都是基于我们最近在 ICML 2019 上发表的工作「On Learning Invariant Representations for Domain Adaptation」:
论文查看地址: http://www.cs.cmu.edu/~hzhao1/papers/ICML2019/icml_main.pdf
通过学习不变表征进行自适应
学习不变表征背后的核心思想是相当简单和直观的:我们希望找到一种对域偏移不敏感、同时仍然为目标任务获取丰富信息的表征方法。这样的表征将使我们能够仅仅通过使用源域的数据进行训练就可以将算法泛化到目标域上。学习域不变表征的流程如图 3 所示。
图 3:来源于源域和目标域的图像通过映射 g 被转换为某种表征,此时两个域都有相同的特征分布。接着,根据来自源于的带标签数据训练假设 h,并使用 h 为目标域生成「h∘g」
请注意,在上面的框架中,我们可以在源域/目标域上使用不同的转换函数「gS/gT」对齐特征分布。这个强大的框架同时也很灵活:通过使用不同的度量特征分布对齐的手段,我们复现了几种现有的方法,例如,Ganin 等人于 2015 年发表的DANN(相关阅读:http://jmlr.org/papers/v17/15-239.html),Long 等人于 2015 年发表的 DAN(相关阅读:https://dl.acm.org/citation.cfm?id=3045130),以及 Shen 等人于 2018 年发表的 WDGRL (相关阅读:https://arxiv.org/pdf/1707.01217.pdf)。
由 Ben-David 等人于2010 年提出的泛化界(相关阅读:https://link.springer.com/article/10.1007/s10994-009-5152-4)是上述框架遵循的一个理论依据:令 H 为一个假设类,Ds/DT 分别为源域/目标域的边缘数据分布。对于任意的 h∈H,下面的泛化界成立:
其中
是两个域的最优联合误差。通俗的说,上面的泛化界说明目标域的风险基本上可以通过以下三项来约束:
- 源域的风险(泛化界中的第一项)
- 源域和目标域的边缘数据分布之间的距离(泛化界中的第二项)
- 源域和目标域的最优联合误差(泛化界中的第三项)
这个泛化界可以被解释为:如果存在一个同时在源域和目标域都有效的假设,那么为了最小化目标域的风险,应该选择一个可以最小化源域的风险的假设,同时对齐源域和目标域的数据分布。
一个反例
上述的领域自适应框架近年来引起了人们极大的兴趣,目前已经出现了许多基于学习域不变表征的通用思想的有趣变体和应用。然而目前在满足下面的条件时,这些方法是否一定会成功还尚不明确:
复合函数「h ∘g」在源域上能够完美地完成分类/回归的预测。
转换函数「g:X→Z」在特征空间 Z 中能够完美地对齐源域和目标域。
由于我们只能使用源域中的带标签数据进行训练,理想状态下,我们希望当上述两个条件得以满足时,复合函数「h ∘g」同样也能在目标域上拥有较小的风险,因为这两个域在特征空间中非常相近。也许有些令人惊讶的是,这与我们在下面的图 4 中演示的简单示例有所不同。
不妨考虑这样一个自适应问题:我们拥有输入空间和特征空间「X=Z=R」,源域为Ds=U(-1,0),目标域为DT=U(1,2),我们使用U(a,b)来代表一个(a,b)区间内的均匀分布。在本例中,源域和目标域相距太远,以致于它们的支撑集并不相连!现在让我们将源域和目标域对齐,使它们相距地更近一些。我们可以通过将源域向右移动一个单位,并且将目标域向左移动一个单位实现这一点。
图 4:特征转换函数 g 完美地在特征空间中将源域和目标域对齐。然而,在自适应操作之后,任何在源域上获得较小的风险的假设都必然会在目标域上得到较大的风险。事实上,在这两个域中,没有哪一个函数可以同时具有较小的风险。
如图 4 所示,在自适应操作之后,源域和目标域的数据分布都遵循 U(0,1),也就是说,我们通过简单的变换将它们完美地对齐了。然而,由于我们的构造方式,源域和目标域的标签反转了过来:对于每个 x∈(0,1),源域和目标域恰好一个标签为 1,另一个的标签为 0。这意味着,如果一个假设在源域上获得了完美的分类效果,那么它在目标域上也会得到最大为 1 的风险。事实上,在本例中,在对于任何分类器h 进行自适应后,我们令「εS(h) εT(h) = 1」。作为对比,在进行自适应前,我们规定一个简单的区间假设:h*(x)=1 当且仅当 x ∈(-1/2,3/2)同时在源域和目标域上实现完美的分类。
目标域误差的泛化上界
那么,我们能从上面的反例中获得什么启示呢?为什么尽管我们完美地对齐了两个域的边缘分布并且最小化了源域的误差,我们还是会得到很大的目标域误差呢?这是否与 Ben-David 等人的泛化界理论相矛盾?
这里需要注意的是,当经过自适应操作后,两个域之间的距离变为 0 时,两个域上的最优联合误差会变得很大。在上面的返利中,这意味着在经过了自适应后有 λ*=1,同时还意味着如果 εS(h) =0,我们有 εT(h) = 1。我们可以直观地在图 4 中看到,在自适应之后,两个域的标注函数取得了「最大程度上的不同」,但是在自适应的过程中,我们仅仅在特征空间中将它们的边缘分布进行了对齐。由于最优联合误差 λ* 往往是未知且难以计算的,我们是否能构造一个与 λ* 无关的泛化上界,并考虑到条件偏移问题呢?
下面是我们在论文中展示的方法的非正式描述:零 fs 和 fT 分别为源域和目标域的标注函数,那么对于任意的假设类 H 和 任意的 h∈H,下面的不等式都成立:
粗略地说,上面的泛化误上界给出了源域和目标域之间误差差异的分解形式。同样的,不等号右侧的第二项度量了边缘数据分布之间的差异。然而,第三项现在度量的是源域和目标域的标注函数之间的差异。因此,这个泛化上界说明。对于自适应任务来说,仅仅将边缘数据分布对齐是不够的,我们还要确保标注函数(条件分布)在自适应之后彼此接近。
基于信息论的联合误差下界
在上面的反例中,我们说明了仅仅将边缘分布对齐并获得一个小的源域误差,不足以保证得到一个小的目标域误差。但是在本例中,实际上可以找到另一种特征转换方式,同时将边缘数据分布和标注函数对齐。具体而言,令特征转换为
。接着,可以直接验证源域和目标域在自适应之后是否完全对齐。此外,当 εS(h) =0,我们还保证 εT(h) = 0。
这样一来,我们自然而然地会想知道是否总是可能找到一种特征变换和一个假设,来对齐边缘数据分布并最小化源域误差,从而使这两者的复合函数也得到一个较小的目标域误差呢?令人惊奇的是,我们证明了这并不一定成立。事实上,发现一个用来对齐边缘分布的特征变换确实会增加源域和目标域的联合误差。通过这种变换,最小化源域误差智能导致目标域误差增大!
更加形式化的说法是,令 DYS/DYT 为源域/目标域的边缘标签分布。对于任意的特征变换 g:X->Z 来说,令 DZS/DZT 为将g(·)分别应用到 DS/DT 上得到的特征分布。此外,我们将 dJS(·,·)定义为一对分布之间的Jensen-Shannon 距离。接着,对于任意的假设 h:Z->{0,1},如果有 dJS(DYS,DYT)≥ dJS(DZS,DZT),下面的不等式成立:
接下来,让我们一步一步解析上面的下界。左边的部分对应的是通过在源域和目标域同时使用复合函数「h ∘g」得到的联合误差。右边的部分包含边缘标签分布之间的距离和特征分布之间的距离、因此,当两个域中的边缘标签分布 DYS/DYT 不同(即 dJS(DYS,DYT)>0)时,通过学习 g(·)对齐边缘数据分布只会增大下界。特别是,对于 dJS(DZS,DZT)= 0 时的域不变表征来说,该下界将得到其最大值
。
由于在领域自适应任务中,我们只能使用源域中的带标签数据,最小化源域的误差将只能导致目标域误差的增大。简而言之,我们可以从不确定性原理的角度来理解这个下界:若两个域的边缘标签分布不同,当使用域不变表征时,一定会在源域或目标域中产生较大的误差。
实证验证
由我们的下界得出的一个结论是,当两个域具有不同的边缘标签分布时,在对齐两个域时最小化源域误差可能导致目标误差增大。为了验证这一点,让我们考虑对 MNIST,SVHN 和 USPS 数据集的数字分类任务。为了验证这一点,我们不妨考虑 MNIST 、SVHN 和 USPS 数据集上的数字分类任务。这三个数据集的标签分布如图 5 所示。
图 5:MNIST 、SVHN 和 USPS 数据集上的标签(数字)分布
从图 5 中可以清楚地看到,这三个数据集具有完全不同的标签分布。现在让我们使用 Ganin 等人于 2015 年提出的 DANN 通过在训练中学习域不变表征来对目标域进行分类,从而最小化源域的误差。
图 6:MNIST、USPS 和 SVHN 数据集上的数字分类任务。水平实现代表不使用自适应时目标域的测试准确率。绿色的实线是使用 DANN 领域自适应后的目标域测试准确率。我们还绘制了 DANN 自适应的结果的最小二成拟合(黑色虚线),用来强调负的斜率。
我们在图 6 中为 DANN 绘制了四个自适应的轨迹。通过四个自适应任务,我们可以观察到以下模式:尽管源域中训练的准确率一直在增加,测试域的准确率在前 10 轮迭代中迅速增长,然后逐渐从峰值下降。这些相变可以通过自适应曲线的最小二乘拟合的负斜率(图 6 中的虚线)来验证。上述实验结果与我们的理论发现是一致的: 当标签分布不同时,对源任务的过度训练确实会对目标域的泛化造成负作用。
未来的工作
请注意,上述反例中的失败模式是由于自适应过程中标注函数之间距离的增加引起的。为了减少标注函数之间的偏移,确定特征变换函数应该具有哪些属性是今后的一个有趣的工作方向。当然,如果没有对底层的源域/目标域的合理假设,实现领域自适应是不可能的。建立一些符合实际情况的假设是一个不错的选择,在这些假设下,我们可以开发出有效的自适应算法,同时对齐边缘分布和标注函数。
via: https://blog.ml.cmu.edu/2019/09/13/on-learning-invariant-representations-for-domain-adaptation/