一文读懂领域迁移与领域适应的常见方法

©PaperWeekly 原创 · 作者|Chen

单位|追一科技AI Lab研究员

研究方向|领域迁移、领域适应

领域迁移问题的背景及描述

在使用机器学习、人工智能中的技术手段解决实际问题的时候,常常会遇到领域迁移(domain shift)问题。具体地说,领域迁移是指用于训练的源数据集与用于预测和推断的目标数据集的分布不一致,即:

这里的分布不一致有多种情况:

a) 可能是数据分布不一致,即 ,这种情况可能发生在线上数据随着时间的迁移发生了变化,即使我们还有相同的标签 Y,但是数据 X 的分布已经发生了变化。

例如很多流行语的变化导致相同的词句随着时间变化产生了不同的含义,或者是单纯增加了很多新的表达方式(不知不觉笔者到了群里聊天还要搜索下他们说的网络流行语是什么意思的年纪了);

b) 也有可能是标签分布不一致,即 ,这种情况有可能发生在随着业务的进行,对数据集的标签进行了扩充。一个业务刚上线的时候,类别划分可能比较粗糙,但是随着其他配套设施功能的升级,对相同数据的类别划分进行了扩充。

例如某业务在一开始的时候,「修改密码」是单独的意图,即在模型看来是一个类别;而随着业务逻辑的调整,这个意图被拆分为「修改交易密码」与「修改登录密码」两种更加细分的意图。这时数据还是一样的,但是类别的划分方法发生了变化;

c) 还有可能是数据和标签分布都不一致,即 ,这种情况下很多时候就是一个典型的迁移学习的问题。

例如新来业务数据较少,如果直接用着少量数据训练模型,那么就很可能会影响用户体验以及模型的效果,这时可以考虑拿一些与其相关的公开数据集来辅助训练,帮助我们新业务在较少的数据情况下产生一个较为不错的结果。

在以上这些情况下,如果单纯的使用人工标注去应对新来数据或者新来标签的话,不仅成本很高,而且效率也很低。在这些情况下,我们可以使用领域适应的方法来解决问题。

领域适应的核心理论

在我们学习机器学习的过程中,会遇到很多“开山鼻祖“类的文章,这类文章的一个特点就是提供了一种全新的解决问题的角度和方法体系,之后的很多论文都是在其基础上或修改、或改进、或借用其核心看待问题的角度。

例如谷歌大脑在论文 Attention Is All You Need (Vaswani et al., 2017) 中提出了 Transformer 结构,之后很多预训练模型(GPT, BERT, BERT-WWM, ROBERTA, ALBERT, XLNET)都借用了这一结构。

所以学习这类“开山鼻祖”类文章就显得尤为重要了,一方面可以帮助我们更快的理解新的文章(类似 git 的思想,只要在一个模版上记不同文章的差异即可)。

另一方面也可以帮我们更深入的理解同一类型文章,并且将它们在我们的脑海或者笔记本中串联(GPT 是 Transformer Decoder, BERT 是 Transformer Encoder)。

所幸,今天将被介绍的这个领域也有这样一篇“开山鼻祖”,那就是我们接下来要介绍的 (Ganin et al., 2016; Ben-David et al., 2010) 等人的工作。

这里我们跟随 (Ganin et al., 2016) 等人的工作对领域适应的核心理论进行探究,这一核心理论可以看作是之后一系列论文方法的方法论,也可以很大程度上帮助我们串联之后的文章,建立相应的知识体系。

承接上文,假设有源领域 以及目标领域 ,为了描述简单,这里只考虑模型有两个标签输出 (0, 1),为了量化的衡量两个领域的差距, (Ben-David et al., 2010) 提出了 H- 散度(H-divergence),具体地:

其中,η(x) 是一个基于源领域(source domain)训练的分类器。

从上述公式可以看出,H- 散度的提供了一种量化描述不同领域差异的方法,即用其中一个领域的数据训练出来的分类器,在两个领域上预测结果,其结果的差异作为这两个领域差异的上界(Upper Bound)。

具体地,如果两个领域的差别越大,那么H-散度的值就会越大,反之亦然。

接下来我们将使用 H- 散度来表示对于任意源领域(source domain)和目标领域(target domain)的误差关系。对于给定假设空间 H 里的任意分类器 C,有:

其中,λ 是最优分类器的误差。从上式可以得出,为了使目标领域的预测误差

ϵ 最小,我们应该让 H- 散度的值最小。

对于假设空间 H 的任意判别器 A,假设其在源领域和目标领域有误差 ϵ ,那么 PAD (proxy A-distance)可以定义为:

(Ben-David et al., 2010) 证明了 PAD(proxy A-distance)其实就是 H- 散度的近似值。那么,我们要解决的模型在目标数据集上误差最小化的问题,就被转换成了使源-目标数据集判别器损失最大化的问题了。

从 H- 散度到 PAD 这一步是必不可少的,因为 H- 散度的衡量本身就有一定难度,需要两个领域一定数量的匹配数据才可以准确衡量。

通常将一个困难的问题转换成另一个近似的相对简单的问题是一种常见的解决问题的思路。这种情况下,搭建一个判别器去区别源领域和目标领域就相对容易很多。

综上所述,要想进行领域适应(domain adaptation),使目标领域的预测误差最小,那么只要使源领域与目标领域的判别器误差最大即可。

这就是领域适应问题中有大量对抗学习论文的原因,对抗学习可以直接让源领域与目标领域别的不可分辨,从而增大其判别器的误差。

当然,其他方法的论文虽然没有直接使用对抗训练,但是大多数方法都是直接或者间接的使源领域与目标领域变得不可分辨(隐性的增大判别器误差)。

注意,这里是让源领域与目标领域变得不可分辨,而源领域内部不同标签的数据依旧可以分辨,目标领域内部同理,也就是将两个领域对应标签的数据进行了无监督的匹配。

领域适应的常见方法

3.1 对抗学习方法

这一部分我们着重介绍使用对抗学习的思想来解决领域迁移的问题。在介绍论文之前,让我从最简单的情况开始,做一个用对抗学习解决领域适应问题的通用模版出来,也就是一个特征提取器 其参数为 θ ,一个分类器

  • 16
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
"Faster"是一个英文单词,它的意思是更快的意思。在不同的背景下,它可以有不同的解释和应用。 在日常生活中,"faster"通常表示一个行动或者动作的速度比以往更快。例如,当我们走路、跑步、开车或者骑自行车时,我们可以尝试跑得更快或者骑得更快。这个词还可以用来形容物体的移动速度,比如火车、飞机或者摩托车的速度。此外,"faster"也可以用来描述人们的反应速度、思维速度或者学习速度等。 此外,在科技和互联网领域,"faster"也具有很重要的含义。随着科技的不断进步,人们追求更快的处理速度和传输速度。例如,我们常常会听到"更快的互联网连接"、"更快的计算机处理速度"、"更快的数据传输速度"等等。这些技术进步使得信息的获取和交流变得更加高效和便捷。 然而,在追求速度的同时,我们也要权衡速度和其他因素之间的平衡。有时候,过于追求速度可能会带来其他的负面影响,比如对安全性和质量的妥协。所以在实际应用中,需要综合考虑各种因素来确定速度的优先级。 总之,"faster"是一个多功能的词,可以用来描述日常生活中的行动速度,物体的移动速度,人们的思维或者学习速度,以及科技领域的处理速度和传输速度等等。同时,我们也要在追求速度的过程中,平衡各种因素并合理使用这个词。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值