领域适配前沿研究——场景、方法与模型选择

下期内容:岂凡超《义原知识库的应用和扩充》

报名请点击「阅读原文」

在线直播时间:12月31日19:30-20:30


12月24日, 在智源论坛Live第2期活动中,我们邀请了2019年清华特奖获得者之一,AAAI、CVPR、ICLR、TIP、ICML等期刊本科审稿人游凯超,做了一场关于《领域适配前沿研究——场景、方法与模型选择》的主题分享。

 

专注于做科研的游凯超被很多同学称为“游神”,他在分享自己的经验时表示,一切均源于“兴趣”和“热爱”,这验证了一句老话,“兴趣是最好的老师”。

下面是游凯超主题分享的精彩要点以及分享后的观众问答。

 

《领域适配前沿研究——场景、方法与模型选择》内容要点

1

深度学习的统计模型

深度学习对应的统计模型是独立同分布条件下的机器学习模型。数据的分布记为P(x,y),数据点被认为是从这个分布中取样得到的点。如何满足这样的假设呢?这就需要将数据打乱,也就是shuffle操作。把收集到的数据点shuffle一下,每个数据出现的概率一样,而且彼此独立。这就是独立同分布假设。但是现实世界的数据是不是这样的呢?对于一个图像识别的模型,它要识别的图片是来自于一个概率分布吗?猫的概率比狗的概率大指的是什么意思?是说猫的数量比狗多吗?那每一刻都有新的小猫出生,是不是模型要处理的概率分布一直在变化当中呢?这些都是独立同分布假设存在的问题。如果暂时忽略这些,那么机器学习理论指出,测试集上的错误率会不大于训练集上的错误率,外加一项与模型复杂度以及数据量相关的项。

 

2

迁移学习的统计模型

深度学习中只存在一个数据集。在实际情况中,共同利用多个数据集是很常见的。但是,多个数据集上的模型并不能简单地跨数据集,比如使用计算机图形学渲染出来的数据训练得到的语义分割模型,用在真实场景下的图片中,就会出现问题。这时候对应的统计模型是非独立同分布模型,两个数据集可以分别shuffle,但是它们存在差异。如何度量两者之间的差距以及有效地综合利用两个数据集,是迁移学习成功的关键。

 

3

领域适配

迁移学习中的一个重要问题是无监督领域适配,也就是如何利用有标注的源领域数据,辅助无标注的目标领域上的训练。有标注的源领域可以是一些使用计算机图形学生成的数据集,此时无标注的目标领域可能是真实世界的图片;此外,有标注的源领域也可以是一个相关的但是不完全相同的数据集,无标注的目标领域是刚收集到但是还没有标注的数据。

无监督领域适配方向的一篇经典文章是使用对抗训练的方法来获得领域无关的特征表示。为什么在源领域训练得到的模型在目标领域的表现会不好呢?直观原因是两个数据集上提取出来的特征不完全一样。为了使得两个领域的特征相似,这篇文章采用了与生成对抗网络类似的对抗训练思想。在生成对抗网络中,生成器的目的是使得生成的分布与真实图片的分布尽可能相似,这里的目的是使得两个领域的特征分布相似,两者的目的是一致的。所以,这篇文章设计了一个领域分类器,类似于GAN里面的判别器。判别器的目的是分辨出来自不同领域的特征,特征抽取器的目的是使得两个领域的特征尽量相似,同时维持源领域上的分类结构。这一种对抗训练的方法在领域适配方向上得到了广泛使用。

 

4

部分领域适配

无监督领域适配问题是迁移学习中的基本问题,但是在实际使用过程中往往会遇到尴尬。由于无监督领域适配问题中,目标领域是无标注的,所以无法得知目标领域的类别集合。学术界研究的无监督领域适配问题都是基于源领域和目标领域的类别集合相同的假设来做的,这样一个假设在没有目标领域标注的情况下就无法验证。一种更加实际的假设是,当源领域的类别足够多时,目标领域的类别可以认为都存在于源领域中。这种问题设定被称为部分领域适配问题,它研究的是如何从大领域迁移到小领域上。其中的关键问题是识别出小领域在大领域中的对应类别,从而有效转化为标准领域适配问题。

部分领域适配问题可以通过leaky-softmax函数得到有效实现。leaky-softmax函数的输出求和小于1,相当于泄露了一点概率,所以被称作leaky-softmax。其主要思想是把目标领域的数据当做一个新的类别来训练,那么源领域中与目标领域相似的类别就会受到目标领域的影响,最后一类上概率会变大。根据这一点,可以利用源领域上的数据对应的泄露的概率大小来判断这些数据是不是与目标领域有同样的类别。实验表明,这一方法能够有效解决部分领域适配问题。

5

通用领域适配

部分领域适配放松了标准领域适配对于类别集合的假设,使得领域适配方法变得更加实际,付出的代价是只使用于从大数据迁移到小数据的场景中。为了更进一步扩展领域适配的场景,研究工作者还探究了其他形式的领域适配问题设定,如开放环境下的领域适配。它们针对特定的场景给出了更有效的迁移方法,但是依然需要知道类别集合之间的关系。

 

通用领域适配问题直接对未知的目标领域的类别集合进行建模,使得在不知道目标领域的类别集合的情况下也能够使用领域适配技术。通用领域适配问题的难点来自于三方面:类别差异、领域差异以及如何识别未知类别。针对类别差异,可以将未知的目标领域集合划分为两部分,一部分与源领域共享,另一部分为目标领域独享。由于分类器只能识别见过的类,目标领域独享的类别无法被识别,只需要被识别出是一个未知类别即可。两个领域之间的类别公共度是衡量该任务难度的关键参数,公共度越大,任务越趋向于标准领域适配问题。针对领域差异,可以采用对抗训练的标准领域适配问题中的方法。针对未知类别如何识别的问题,可以对输出概率设置阈值,置信度小于阈值的数据则被认为是未知类别的数据。

在训练过程中,双判别器模式为数据迁移性判断提供了有效手段。参与对抗训练的判别器负责减小特征之间的领域差异。非对抗的判别器可以用于判断数据的迁移性。在测试阶段,通过计算出数据的迁移性,可以判断出数据是不是来自未知的类别。具体而言,迁移性的计算方式是使用分类器的熵和非对抗判别器的输出。单独使用其中一个可以达到一定的分辨效果,综合利用效果更好。实验表明,这一套方法在各种程度的公共性上均有不错的表现。在实际生产中,通用领域适配方法可以作为先驱实验,用来大致判断目标领域中有哪些类别,如果未知类别太多,那么就需要再收集标注数据,否则可以直接使用现有的领域适配方法来解决,无需新增标注数据。

6

无监督领域适配方法的模型选择问题

模型选择问题是机器学习中的重要话题,常见的一个与模型选择有关的问题是如何进行超参数选择。对于有监督学习过程,正规的做法应该是使用训练集来训练模型,使用验证集来挑选超参数,使用测试集来测试模型的最终表现。但是这一流程在深度学习时代并没有被严格遵守。究其原因,是因为前几年刷榜的趋势。一场比赛一般会放出训练集的数据,同时放出验证集的数据,选手在本地通过验证集调整选择超参数,并将结果上传到测试服务器上获得最终成绩。所以,测试集的标注是不会发布的,而且测试服务器一般都有每天提交次数的上限。所以,很多人开始在测试集上选择超参数,而且直接报告在测试集上的结果。这样的行为尽管是不正确的,却被计算机视觉领域的人广泛使用。比如涉及到ImageNet的论文,作者报告的基本都是验证集上的表现,但是超参数也是在验证集上选择的,存在过拟合验证集的嫌疑。希望这个问题能够早日引起计算机视觉领域的人的重视。

在有监督学习过程中,很少有人遵守标准的模型选择流程,而在无监督领域适配问题中,这个问题就更突出了。在无监督领域适配问题中,目标领域没有标注,无法分出一部分数据来做超参数选择。源领域有标注,可以分出一部分数据来做超参数选择。但是源领域的数据和目标领域不一样,根据源领域的表现选择出来的最好的超参数,在目标领域的表现很可能不好。所以,长期以来,在领域适配问题中,研究者也没有遵守标准的模型选择流程。

在领域适配问题中做模型选择,难的是要估计模型在目标领域上的表现,而且需要目标领域的标注信息,而能够使用的只有源领域的标注数据。通过使用加权的方法,可以找到源领域中与目标领域相似的数据点,通过这些数据上的表现来估计模型在目标领域上的表现。这样可以得到一种无偏的超参数选择方法。由于这种方法得到的方差比较大,还可以借助一些降低方差的手段来控制方差,使得超参数选择更加准确。

这种适用于无监督模型选择的方法,在人造数据集和真实数据集上都取得了很好的效果,而且遵守了正规的机器学习流程。

观众问答

:如何看待target domain中测试图片参与到模型的训练中?是否有必要在target domain中也划分出training set与test set?

:测试图片参与训练,但是没有用到标注,所以也是可以接受的,这种方式叫做transductive learning。如果把目标领域的图片也分为两部分:trainingset和test set,就是inductive训练的方式。通过把sourcedomain里的图片划分出来,作为验证集,并通过加权的方式在这部分验证集上估计模型在测试集的表现,也是一种选择。

 

:meta learning 和 transferlearning具体有什么区别?比如transfer是因为taget的标记数据过少,需要迁移一个训练好的模型;像meta learning下的few shot learning也是query数据较少,甚至为0就是zeroshot learning。问题设定上很像,那是不是transfer和meta的一些方法可以互用?如果存在很大差异,有没有什么点可以融合? 

:meta learning可以广义归为transferlearning的一种形式,transfer learning是个很大的topic,包括领域适配等很多分支,所以meta learning可以看做transfer learning 的分支,像few shot learning和zero shot learning,都是想迁移知识。具体方法,其实子领域之间也会相互借鉴,从论文中也可看出其相通之处。

 

:在Unsupervised domain adaptation by backpropagation中的梯度反转层的作用是什么?

:作用是能在一遍反向传播过程中同时训练好领域判别器和特征提取器,就像生成对抗网络里一个经典的pipeline,先更新判别器,下一个integration再更新生成器,但一个小发现是,在生成对抗网络里,反向传播一遍之后,对判别器做梯度下降,对生成器做梯度上升,其实两者间只差一个负号,所以加入一个剃度翻转层就可以使得在反向传播过程中自动把梯度求了负号,那么只需反向传播一遍,判别器和特征提取器梯度就是对的,都一起做梯度下降,不需要分开做。

 

:在域适应中,是否可以在网络的层中对特征进行一个decorrelation,减小域的特征的相关性?

答:这是提得比较多的问题,如刚刚提到的unsupervised domain adaptation bybackpropagation 里面,可以看做是用神经网络的方式减少域的特征的相关性,即让特征与来自targetdomain和source domain无关,更具体来说让源领域特征与目标领域特征尽可能相似。当然,还有其他方法,包括对两个领域特征的统计距离进行最小化,包括减少其之间的二阶矩的距离,例如Deep CORAL: Correlation Alignment for Deep Domain Adaptation。

 

看完文章不过瘾,还想和人讨论讨论?

智源AI社群欢迎你:

- 往期文章 -

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值