机器不学习:初识迁移学习

机器不学习 jqbxx.com-专一机器学习,深度学习,天然语言处理,大数据,个性化推荐,搜索算法,知识图谱算法

虽然我不是专门研究迁移学习的,可是做为一个AI研究者,就如题图吴老师所说,迁移学习极为重要,是必需要学习的,今天就先总结介绍一些迁移学习的基础知识,目录以下:网络

  1. 迁移学习一些概念app

  2. 迁移学习简介dom

  3. 迁移学习的分类机器学习

  4. 迁移学习热门研究方向ide

迁移学习一些概念函数

在文章的一开始,先来学习迁移学习一些概念:工具

域:一个域 D 由一个特征空间 X 和特征空间上的边际几率分布 P(X) 组成,其中 X=x1,x2,...xn 。举个例子:对于一个有文档,其有不少词袋表征(bag-of-words representation)X 是全部文档表征的空间,而 xi 是第 i 个单词的二进制特征。P(X)表明对X的分布。性能

任务 :在给定一个域 D={X,P(X)} 以后,一个任务 T 由一个标签空间 y 以及一个条件几率分布 P(Y/X) 构成,其中,这个条件几率分布一般是从由特征—标签对 xi, yi组成的训练数据中学习获得。学习

源域(source domain),目标域(target domain):在迁移学习中,咱们已有的知识叫作源域(source domain),要学习的新知识叫目标域(target domain)。

负迁移:指的是在源域上学习到的知识,对于目标域上的学习产生负面做用。产生负迁移的缘由主要有两个:一个是源域 和目标域的类似度很低,没法作迁移。另外一个是虽数据问源域和目标域是类似的,可是,迁移学习方法不够好,没找到可迁移的成分,致使负迁移。

迁移学习简介

先举几个例子,好比咱们已经会编写Java程序,就能够类比着来学习C++,都是面向对象的语言,就很快学会了,或者在学会骑自行车以后,骑摩托车也本身比较容易了,由于这两种交通工具备许多类似之处。总结起来,用成语来讲迁移学习就是触类旁通!

再来个图示,以下左图,传统机器学习对不一样的学习任务须要创建不一样的模型,学习不一样的参数,而对于迁移学习(右图),只须要利用源域中的数据将知识迁移到目标域,就能完成模型创建。

机器不学习:初识迁移学习

迁移学习的严格定义:

给定源域 Ds={Xs, Fs(X)} 和学习任务 Ts ,目标域 DT={Xt,Ft(X)} 和学习任务 Tt ,迁移学习旨在源域不一样于目标域或学习任务 Tt 不一样于学习任务 Ts 的条件下经过使用学习任务 Ts 和源域 Ds={Xs,Fs(X)} 所获取的知识来帮助学习目标的在目标域Dt的预测函数 Ft(.) 。

为何须要进行迁移学习?

  1. 数据的标签很难获取,当有些任务的数据标签很难获取时,就能够经过其余容易获取标签且和该任务类似的任务来迁移学习。

  2. 从头创建模型是复杂和耗时的,也便是须要经过迁移学习来加快学习效率。

和一块儿相关领域的辨析:

多任务学习:区别在于在迁移学习中,咱们主要关心在咱们的目标任务和域上的表现。而多任务学习中的目标是在全部可用的任务上都要表现良好,尽管某个标签数据一般都被假定在一个任务上。固然,如今迁移学习和多任务学习也并无很大的区别,好比概括式迁移学习中当两个域都有标签的时候, 这就与多任务学习类似

持续学习:虽然多任务学习容许咱们在许多任务中保留知识,而不会对咱们的源任务形成性能损失,但只有在全部任务都处于训练时间的状况下,这才是可能的。对于每一个新任务,咱们一般须要从新训练咱们全部任务的模型。然而,在现实世界中,咱们但愿一个代理可以经过使用它以往的一些经验来处理逐渐变得复杂的任务。为了达到这个目的,咱们须要让一个模型在不忘记的状况下持续地学习。这个机器学习的领域被称为学会学习、元学习(meta learning)、终生学习,或者持续学习。持续学习在最近的强化学习 (强化学习以 Google DeepMind 对通用学习代理的探索而著称) 上已经取得了成功 ,也正在被用于序列到序列的模型上 。

最近元学习(meta learning)也挺火爆的,再来举个网上的例子:咱们都知道,在金庸的武侠世界中,有各类各样的武功,不一样的武功都不同,有内功也有外功。那么里面的张无忌就特别厉害,由于他练成了九阳神功。有了九阳神功,张无忌学习新的武功就特别快,在电影倚天屠龙记之魔教教主中,张无忌分分钟学会了张三丰的太极拳战胜了玄冥二老。九阳神功就是一种学会学习的武功!咱们但愿神经网络也能学会学习,这样也就能快速学习啦!

zero-shot 学习:若是咱们把迁移学习使用到极限,而且想要仅仅从不多的实例中学习,这就分别获得了 few-shot、one-shot 以及 zero-shot 学习。让模型执行 one-shot 和 zero-shot 学习,无疑属于机器学习中最艰难的问题。而另外一方面,这倒是咱们人类天生就会的:幼年的时候,为了让咱们可以认出任何狗狗,咱们仅仅须要被告知一次「这是一条狗」,然而成年人能够仅经过在文中阅读就理解一个东西的本质,不须要事先见过它。

one-shot 学习的新进展利用了这样的思想,即为了在测试的时候实现好的性能,模型须要显式地被训练,从而进行 one-shot 学习。但更加逼真、具备归纳性的 zero-shot 学习设置在最近已经引发了注意,在零点学习中训练类别出如今测试的时候。

以上就是一些相关领域,固然这里只是很简单的介绍,有一个概念,详细请自行了解

迁移学习的分类

按迁移情景分

  • 概括式迁移学习(Inductive TL):源域和目标域的学习任务不一样

  • 直推式迁移学习(Transductive TL):源域和目标域不一样,学习任务相同

  • 无监督迁移学习(Unsupervised TL):源域和目标域均没有标签

根据源Domain和目前Domain 之间的关系,源Task 和 目标Task之间的关系,以及任务方法更详细的整理为下表:

机器不学习:初识迁移学习

按迁移学习的基本方法分

  • 基于实例的迁移学习方法

在源域中找到与目标域类似的数据,把这个数据的权值进行调整,使得新的数据与目标域的数据进行匹配。而后进行训练学习,获得适用于目标域的模型。这样的方法优势是方法简单,实现容易。缺点在于权重的选择与类似度的度量依赖经验,且源域与目标域的数据分布每每不一样。

机器不学习:初识迁移学习

  • 基于特征的迁移学习方法

当源域和目标域含有一些共同的交叉特征时,咱们能够经过特征变换,将源域和目标域的特征变换到相同空间,使得该空间中源域数据与目标域数据具备相同分布的数据分布,而后进行传统的机器学习。优势是对大多数方法适用,效果较好。缺点在于难于求解,容易发生过适配。

机器不学习:初识迁移学习

须要注意的的是基于特征的迁移学习方法和基于实例的迁移学习方法的不一样是基于特征的迁移学习须要进行特征变换来使得源域和目标域数据到到同一特征空间,而基于实例的迁移学习只是从实际数据中进行选择来获得与目标域类似的部分数据,而后直接学习。
  • 基于模型的迁移学习方法

源域和目标域共享模型参数,也就是将以前在源域中经过大量数据训练好的模型应用到目标域上进行预测。基于模型的迁移学习方法比较直接,这样的方法优势是能够充分利用模型之间存在的类似性。缺点在于模型参数不易收敛。

举个例子:好比利用上千万的图象来训练好一个图象识别的系统,当咱们遇到一个新的图象领域问题的时候,就不用再去找几千万个图象来训练了,只需把原来训练好的模型迁移到新的领域,在新的领域每每只需几万张图片就够,一样能够获得很高的精度。

机器不学习:初识迁移学习

基于关系的迁移学习方法

当两个域是类似的时候,那么它们之间会共享某种类似关系,将源域中学习到的逻辑网络关系应用到目标域上来进行迁移,比方说生物病毒传播规律到计算机病毒传播规律的迁移。这部分的研究工做比较少。典型方法就是mapping的方法

机器不学习:初识迁移学习

看一个图来总结以上的知识(能够当作概括式迁移学习是最普遍应用的):

机器不学习:初识迁移学习

按特征空间分

  • 同构迁移学习(Homogeneous TL): 源域和目标域的特征维度相同分布不一样

  • 异构迁移学习(Heterogeneous TL):源域和目标域的特征空间不一样

如下图是作迁移学习分类的一个梳理:

机器不学习:初识迁移学习

迁移学习热门研究方向

域适配问题(domain adaptation):有标签的源域和无标签的目标域共享相同的特征和类别,可是特征分布不一样,如何利用源域标定目标域。解决Domain adaptation问题主要的思路就是将source训练好的模型可以用在target上,而域适配问题最主要的也就是如何减小source域和target域不一样分布之间的差别。

表明性论文有:Domain adaptation via transfer component analysis--基于特征的迁移方法;Density ratio estimation in machine learning--基于实例的迁移方法;Cross-domain video concept detection using adaptive svms--基于模型的迁移方法等等

最近的进展也有 Wasserstein Distance Guided Representation Learning for Domain Adaptation等,用W-GAN来作domain adaptation,能够一看。

多源迁移学习(multi-source TL):多个源域和目标域,经过进行有效的域筛选,从而进行迁移。多源迁移学习能够有效利用存在的多个可用域,综合起来进行迁移,达到较好的效果。固然如今如何衡量多个域之间的相关性和多个域的利用方法仍是一个比较大的问题

表明性论文有:Boosting for transfer learning;Multi-source transfer learning with multi-view adaboost等等

深度迁移学习(deep TL) :特别是近年来因为深度学习的火爆,愈来愈多研究者利用深度神经网络的结构进行迁移学习,深度学习能够深度表征域中的知识结构,也大大加强了模型的泛化能力,能够说利用深度学习作迁移学习的前景仍是很好的。

表明性论文有:Simultaneous deep transfer across domains and tasks;Multi-source transfer learning with multi-view adaboost;Learning Transferable Features with Deep Adaptation Networks等等

更多精彩内容,机器不学习官方网站 jqbxx.com

相关文章
相关标签/搜索