迁移学习整理

  • 概述

基本概念

1.数据域(domain):用D={χ,P(X)}表示,它包含两部分:特征空间χ和边缘概率分布P(X)其中X={x1,...xn}∈χ

在文本分类任务中,把每一个单词看作二值的特征即出现或者不出现,所有检索词向量的空间就是χ,xi对应某一文本第i个词向量的值,X就是特定的学习样本。如果说两个数据域不同,表示两个数据域的特征空间或者边缘概率分布不同。

  1. 任务(task):用T={У,ƒ(X)}表示,它包含两部分:标签空间У和目标预测函数ƒ(X),ƒ(X)也可以看作条件概率P(y|x)

在文本分类任务中У是所有标签的集合。

迁移学习的介绍

迁移学习是指源数据域到目标数据域的迁移。源数据域Ds={(x1,y1),...,(xn,yn)},其中xn∈χs,yn∈Уs。目标数据域Dt={(x’1,y’1),...(x’n,y’n)},其中x’n∈χt,y’n∈Уt。一般情况下Ds的数据量总是远远大于Dt的数据量。

Transfer Learning的定义:

给出源领域的数据Ds和任务Ts,目标领域的数据Dt和任务Tt,迁移学习旨在使用源领域Ds和Ts中的知识去改进对于目标领域的预测函数ƒt(),其中Ds≠Dt或者Ts≠Tt

由于D={χP(X)}在上述的定义中DsDt意味着χsχt或者Ps(X)Pt(X)

在文本分类任务中,这两种情况分别意味着在源文本集和目标文本集之间,词特征不同(两个文本使用两种不同语言的情况)以及边缘分布不同。

类似的,由于T={Уƒ(X)},TsTt意味着УsУt或者Ps(y|x)Pt(y|x)

在文本分类任务中,这两种情况分别意味着源领域上的任务要求将文本分为2类,目标领域的任务要求将文本分为10类,以及在定义的类别上,源数据和目标数据数量不平衡。

根据源领域和目标领域的相似度,可以将情况总结如下:

 

Ds&Dt

Ts&Tt

传统机器学习

相同

相同

迁移学习

归纳式迁移学习

相同/相关

相关

无监督迁移学习

相关

相关

直推式迁移学习

相关

相同

根据每一种类型的迁移学习,又可根据标签数据的多少分情况讨论:

  1. 归纳式迁移学习
  1. 源数据域包含有大量标签数据,这时归纳式迁移学习和多任务学习类似。
  2. 源数据域没有可用的标签数据,这时归纳式迁移学习相当于自我学习。
  1. 直推式迁移学习

a.特征空间不同χs≠χt

b.特征空间相同χs=χt但是边缘分布不同Ps(X)≠Pt(X),此时可用域适应,样本选择偏差和Covariate Shift。

  1. 无监督迁移学习

总结如下表:

 

相关领域

源数据域标签

目标数据域标签

任务

归纳式迁移学习

 

多任务学习

分类回归

自我学习

分类回归

直推式迁移学习

域适应,样本选择偏差和Covariate Shift

分类回归

无监督迁移学习

 

聚类降维

  • 国内外发展现状

归纳式迁移学习

基于实例的迁移:主要思想就是在目标领域的训练中,虽然源数据域不能直接使用,但是可以从中挑选部分,用于目标领域的学习。

1.TrAdaBoost算法是AdaBoost的提升版本,用于解决归纳式迁移学习问题。它假设源数据域和目标数据域使用相同的特征和标签集合,但是分布不相同。有一些源数据对于目标领域的学习是有帮助的,但是还有一些是无帮助甚至是有害的。所以它迭代地指定源数据域每一个数据的权重,旨在训练当中减小“坏”数据的影响,加强“好”数据的作用。

2.使用启发式的方法,根据条件概率P(Yt|Xt)和P(Ys|Xs)的差异,去除源数据域中“不好”的样本。

基于特征表示的迁移:主要思想是寻找一个“好”的特征表示,最小化域间差异和分类回归的误差。可以分为有监督和无监督两种情况。

有监督特征构造的基本思想是学习一个低维的特征表示,使得特征可以在相关的多个任务中共享,同时也要使分类回归的误差最小。此时目标函数如下:

其中S和T表示源域和目标域,U是将高维的数据映射为低维表示的矩阵。

    无监督特征构造的基本思想包含两步,第一步在源领域上学习一个基向量b和基于这组基对于输入x的新的表示a

在得到基向量b之后,第二步在目标领域上根据基向量b来学习其特征表示

最后通过使用目标领域的新特征来训练分类回归模型。

基于参数的迁移:参数迁移方法假定在相关任务上的模型应该共享一些参数、先验分布或者超参数。

多任务学习中多使用这种方法,通过将多任务学习对于源域和目标域的权值做改变(增大目标域权值,减小源域权值),即可将多任务学习转变成迁移学习。

基于相关性的迁移:和前三种方式不同,相关知识迁移方法在相关域中处理迁移学习的问题,它不假设每一个域的数据都是独立同分布的,而是将数据之间的联系从源域迁移到目标域。

直推式迁移学习

基于实例的迁移:直推式迁移学习因为任务相同,所以可以直接使用源域上的损失函数。在源域上最小化目标函数如下

但是由于目标域数据是没有标签的,所以取而代之使用源域的数据,如果Ds和Dt分布相同,可以直接使用

否则,就不能简单的使用Ds,而是需要通过转化,对于每一个样本增加一个权值

 

此时需要计算

因为直推式迁移学习任务相同的假设,Ps(y|x)=Pt(y|x),可得出

接下来只要计算就可以解决直推式迁移学习问题。

基于特征表示的迁移:大多数特征表示迁移方法都基于非监督学习。SCL算法,使用目标域的无标签数据提取一些相关特征从而减小两个域之间的差异。SCL算法第一步在两个域的无标签数据上定义一个pivot特征集合(包含m个pivot特征),然后把一个pivot特征看作一个标签

最终通过学习得到,第三步将W矩阵做奇异值分解从而形成增广特征。

无监督迁移学习

基于特征表示的迁移:无监督迁移学习的研究工作较少,在无监督迁移问题上通常通过自我聚类以及TDA(Transferred Discriminative Analysis)算法来聚类和降维。

自我聚类的目标是基于源域无标签数据的帮助,来对目标域无标签数据聚类,通过学习跨域的共同的特征空间,帮助目标域的聚类,目标函数如下:

其中Z是共享的特征空间,I计算两个量之间的互信息,最终要使得聚类过后损失的互信息最小。

  • 多源迁移学习

  • 基于实例的多源迁移学习

  • 基于特征的多源迁移学习

  • 研究学者

  • 未来的发展趋势

第一,针对领域相似性、共同性的度量,目前还没有深入的研究成果,未来还需要确定更加准确的度量方法。第二,在算法研究方面,迁移学习的应用范围很广。迁移学习多用于分类算法方面,其他方面的应用算法有待进一步研究。比如情感分类、强化学习、排序学习、度量学习、人工智能规划等。第三,关于可迁移学习条件,获取实现正迁移的本质属性还没有完全摸透,如何避免负迁移,实现迁移的有效性也是方向之一。

  • 技术难点

负迁移是一个重要的技术难点。负迁移表示目标域训练中源域数据的使用不仅没有提升模型能力,反而降低了识别率的现象。尽管实际当中如何避免负迁移现象是很重要的问题,但是在这个问题上的研究依然很少,经验表明如果两个任务太不相似,那么鲁莽的强制迁移会损害性能。目前已有一些对任务和任务之间聚类的探索,旨在对如何自动避免负迁移提供指导。

另外在非简单分类或者回归的问题上,如何更好地优化迁移算法,以达到适合任务的最佳效果,也是一个难点。在不同的应用背景下,迁移学习是否适合以及需要做怎样的改进都是值得去考虑的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章