我是靠谱客的博主 缥缈汉堡,最近开发中收集的这篇文章主要介绍简单容易理解的迁移学习(TrAdaBoost),附带迁移学习的原论文,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

什么是迁移学习?

迁移学习是指将一个场景下学习到的知识迁移到另一个场景应用(这个场景是自己模型需要的场景)。

简单举例说明一下:

        比如说你学会走了在去跑是不是就更容易了。

        会英语就更容易学习语法了

这就是人类与生俱来的能力,利用已有的知识经验来解决相似的任务,当然我们也希望机器也具备这样的能力。

在举例子说明:假如你现在能区分一张猫和狗的图片,那么现在能不能区分苹果和梨的区别,这样就可以让机器有了前者的经验来实现后者,我们都知道,这个任务可以使用CNN网络去实现的,cnn就是提取特征,只有在最后的全连接层进行了分类,cnn是不是可以将猫狗数据训练出来,直接使用,然后苹果和梨肯定也可以的。

其实这样就是迁移学习,利用模型之间的数据,任务,以及相似性,将训练好的模型应用到新的任务上,被称为迁移学习,由于这两个任务发生在两个领域之间,已有的知识和数据,也就是被迁移的对象被称为源领域,被赋予的对象被称为目标领域。

特别注意:迁移学习不是具体的模型,我们使用迁移学习有很多原因,有时是目标领域逇数据太少,需要更多带有标注的源域的帮助,优势是为了节约训练时间。

像我们NLP中bert,transformer等等的模型他们在经过微调后可以应用到各种各样的领域上,这就是迁移学习应用到NLP领域上。

为什么要进行迁移学习?

1.深度学习中最基础的就需要大量的数据支持,而往往我们得不到大量的数据。

2.使用大量数据训练出来的模型,可以通过迁移学习很好的运用到,同领域不同的问题。

迁移学习中两个最要的概念:

域:比如说:电视剧的评论,和书本的评论就是两个域

任务:要做的下游任务不一样,比如情感分析和实体识别

负迁移:

我们在处理的两个领域之间差距特别大,就会导致严重的负迁移现象,也就是说我们的旧知识对新知识的学习产生了严重的阻碍,这就是负迁移,应该避免负迁移。

迁移学习的分类:分为三类

基于实例的迁移:从源领域中挑选出来有用的数据,让源领域的实例分布很接近目标领域,这样就可以学到一个比较可靠的模型。可以使用TrAdaBoost算法实现迁移。

TrAdaBoost算法:

 基于特征的迁移:关键就在于找到源领域和目标领域之间的共同特征,然后利用这些特征去做知识迁移。

基于共享参数的迁移:也就是说源领域和目标领域中有一些相同的层和相同的参数,这个时候就可以使用源领域的层数以及参数。

论文:

1801.06146v5.pdf (arxiv.org)

最后

以上就是缥缈汉堡为你收集整理的简单容易理解的迁移学习(TrAdaBoost),附带迁移学习的原论文的全部内容,希望文章能够帮你解决简单容易理解的迁移学习(TrAdaBoost),附带迁移学习的原论文所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部