查看原文
其他

【综述专栏】A Theory of Domain Adaptation

The following article is from 机器学习与数据挖掘前沿讲习 Author 侠肝义胆陈浩天

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

来源:机器学习与数据挖掘前沿讲习

新补充    的含义

首先要明确,一个    只有一个    ,两个    就是两个    . 我们最终训练一般都是优化一个model,所以需要从两个    变回一个。而且两者出发点(公式)不一样。两边(0,1)考虑任意一边即可,所以都考虑    的。

先来看一个    的,从公式出发,

显然,    就是两个绿色相减,注意    同理。

加下来看两个的,同样从公式出发:

一定要注意是异或,即不一致的情况   

为什么要弄这个东西出来,就一个不好吗?公式推导。。。

下图,事实上随便哪个位置都可以,记得一定得符号异或的性质就行!

一看就发现只有X的是满足这个性质(    ),那这个怎么来的?注意第二个等号,事实上包含了两个    ,最后的等号上了一个常数,具体证明在下面。

入门domain adaptation有一段时间了,论文也看了一些,总结发现好多时候都只是把作者的算法弄懂了,先不说没搞懂作者的idea是如何提出来、并且有了idea如何很好地“说”给别人听等等,就连经常出现的数学证明都没有弄懂,因此还是要花时间弄懂一下!
一些参考资料:
  • Ben-David, S., Blitzer, J., Crammer, K., Kulesza, A., Pereira, F., and Vaughan, J. W. A theory of learning from different domains. Machine Learning, 79(1-2):151–175, 2010.
  • A Brief Introduction of Domain Adaptation (可以直接看大佬的博客)
  • TransferLearning_A Survey on Transfer Learning__2010

Basic Definition

Domain Adaptation用于解决Domain Shift问题,感觉和Internal Covariate Shift差不多的意思。要想知识能很好地在不同domain之间迁移,很容易想到如果两个domian很相似的话,那迁移的效果肯定会很好。
如何衡量similarity?很自然找一个函数计算两个分布的距离,然后最小化这个距离,似于DAN的做法。当然这里说的太过简单了,要想解决问题还需要严谨地定义!
定义一个domain构成:  , 其中  是样本的概率,   an objective predictive function 这里表示  为1的概率. (也有写成  ) 定义一个二分类的问题(0 or 1),那么  . 有源域  和目标域  .
给定  我们希望能学习一个映射函数  能很好地预测给定的样本(直接预测出label),我们把这个函数称为hypothesis,定义  与  的差距为:
  (十分直接简单!)
对于  ,则有  ,用有限的样本进行估计结果为  . 同理有 
上面提到如何衡量similarity?我们使用类似于  norm的变分散度(Variational Distance)来刻画  的距离:
 
其中  表示集合  的概率(考虑全部求和就是期望的意思),可以理解为选取的某一部分样本的概率。那么这个公式的意思就是找到不同数据分布上差距最大的子集(作为上确界)。但是在实际问题中这个距离很难进行计算:
  • 对于离散型随机变量,那就是要遍历所有样本,这是个  问题;
  • 对于连续性随机变量,就是多个区间求积分,同样也是很难计算的。
虽然这个距离的计算意义不大,但却能明确地反映问题!在Domain Adaptation中,我们系统通过  训练出一个很好的  能泛化到  中,换句话就是  很小的同时  也很小。根据公式(2)直接写出结论:
 
这个公式表示 很小的同时  也很小的情况下,也取决于两个数据分布的距离和它们的标签函数  是否一致。上面提到公式(2)中的距离是很难计算的,那么借助kernel(侠肝义胆陈浩天:Maximum Mean Discrepancy详解,含代码实现)的思想,我们是不是只需要关注在  空间下的距离就行了?这就是  距离:
 
其中  是训练出来所有可能的  的集合。  . 这样就把目标与距离结合在一起了!

Theoretical Learning Bound(3)

目的:优化  所得到的假设  能使  表现很好。所以要建立  的关系,定义:
公式(3)已经给出了一个重要的bound,但是它也是很难计算的,所以还需要其他bound来帮助我们理解,证明。
有无发现公式(2)(4)都有一个系数2?现在通过证明公式(3)来解答。
证明:
 
我们看到绝对值的那两项,一个是都属于  ,而另一个是  ,我们先从简单的入手:都属于  。
有(期望的绝对值小于等于绝对值的期望,其实应该理解成函数)
 因为  ,  带入上式,得  .

同理把上面的  换成  结论后面那一项就证出来了,这里就不写出咯。

那么,到这里就已经证明了
 然后我们证明  都有的那一项:
 求期望,代进去有
 这里  的意思应该就是密度函数,即样本是属于  还是  ,domain不一样,分布不一样自然密度函数不一样。可以看到这里就整个样本空间  分成两部分:  那么取
 其中
然后我们将上面的等式转成(就是简单的绝对值不等式):
 
不要忘记  , 那么上面的不等式每一个积分项的左部分换一下,就变成  , 不等式进一步放大成(  谁写前面已经无所谓拉!):
 Unbelievable!! 终于证出来了!没有复杂的变换,也明白了2是怎么来的:拆分成两个domain进行计算。

通过VC-dimension计算 

(VC-dimension早些年的文章经常看到,不过现在也很少提及了,大佬 也说是为了“充场面”(严谨)用,实际应用不大,我也不是很懂具体,这里简单过一遍。)
上面提到  距离不好计算,用  距离计算,显然是求inf下界。
 首先我们通过经验样本(就是对  和  取一部分样本:相同的  个构成  )进行估计  ,表达式与MMD距离十分相似,事实上就是由这个得出。
 同样也这个距离也是一个上确界问题,就是要大于  所有经验样本的距离均值。那么什么的  才是更适合的?就是要找到合适的映射函数(都是那一套东西~)。我们知道  距离是上确界,也就是找到差异性最大的“位置”。那么显然地定义label, 让我们的 (classifier) 能正确区分  . 能正确区分domian(前提),不就能找到差异最大的“位置”了吗?二分类问题,那么就可以用熟悉的binary crossentropy来进行优化  了。
 (怎么来的?直观理解是总的距离减去两个domain0,1样本的距离,当我们的  学习得足够好(代表能够很好地区分  ),那么  就很小了)
首先注意所有样本的总和为1.
 然后假设我们用binary crossentropy来进行优化 ,那么entropy越少,  就越少,说明两个domain的数据分布在这个hypothesis  空间上差距不大。

经验样本预测?

用经验误差  来预测  ,这里我没花时间研究,直接给出结论。对于任意的  ,hypothesis是  维,在至少  的概率下成立:
Bound如何应用在Domain Adaptation?
上面我们已经定义了  和  的关系了。还有一些问题没有解决:满足什么条件才可以Domain Adaptation?如何利用  来刻画  的联系(公式(3)还不够)?
首先定义理想化联合假设(ideal joint hypothesis, 这个在论文中经常出现!),它被定义为是能最小化  的联合预测错误的hypothesis(也是十分直接的定义).
那么在理想化假设  下,联合预测错误的值为(可理解成合理程度):
 在给定的Domain和hypothesis下,  应该是一个常数。通过误差不会很大,因为太大了就不适合进行transfer learning 了。Transfer Learning解决了神经网络灾难性遗忘问题:现在  得到较好的结果,然后再微调  .
在Domain Adaptation中,我们先假设  是一个较少的值,同时为了联系  的关系,我们定义对称差异假设空间  ,这个定义基于异或的思想。
 
 对于任意  ,它的映射结果都是原假设空间  中两个假设的异或结果(两个假设的不一致)。引入对称假设空间,就能刻画  与普通  的关系了,并用  作为上界。
对于任意两个hypothesis  :
 Proof:
 
同时定义  的关系:
 Proof:
 不停地放大,同时  . 不要忘记上面  公式(4)是集合的概率跟这里的方差是一样的意思!所以可以转成这样。
至于第二个放大是怎么来的?不要忘记  是idea最佳的,就是误差是最小的,  ,都是循序渐进的!
联系公式(7)有以下关系式:
 Proof:
 第一步怎么来的?我后面写了个等于号,联系前面的,把绝对值提出来(放大)就能得到了!
其中第二到第三步就是用了上面证明出来的关系: 
当然在实际情况中我们优化的是  (经验估计,实际应用中就是一个batch)。
最后很多论文中的公式就出来了!!!
 不用复杂的数学知识也能搞懂!这也说明了为什么Transfer Learning可以先优化  ,然后再微调  能使我们的模型(hypothesis)能在两个domain表现得很好(Domain Adaptation)!

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“综述专栏”历史文章


更多综述专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存