首先,生活上我们遇到更多的是小数据,而在小数据上学习的模型,才是真正的智能。

第二,我们希望构建的系统不仅在那个领域能够发挥作用,在其周边也可以发挥作用。即我们希望系统是可靠的,其可以举一反三和融会贯通,这也是我们赋予智慧的一种定义。

第三,我们希望更重要的是如何能够把一个通用的系统加上个人的小数据,而迁移到个人的场景当中去,因此我们可以向个性化方向发展。迁移学习就是一个必不可少的工具。

但迁移学习为什么如此难以实现?因为即使是人类也很难发现这些共同点。

半监督学习

迁移学习力图最大效率地使用某些任务或者域中的无标签数据。这也是半监督学习所恪守的准则,半监督学习遵循经典机器学习的设定,但是它仅仅采用有限数量的标签数据来训练。如此,半监督域适应本质上就是在域变化的情况下进行半监督学习。许多来自于半监督学习的教训和思想同样地适用于迁移学习。文献 [31] 是一个很不错的关于半监督学习的综述。

更有效地使用可用的数据

另外一个与迁移学习和半监督学习相关的方向是让模型在有限数量的数据上运行得更好。

这个可以用几种方式实现:你可以使用无监督学习或者半监督学习从无标签数据中抽取信息,以减少对有标签样本的依赖;你可以允许模型能够获取一些数据的固有属性,同时减轻正则化过程中的过拟合倾向;最后,你还可以使用至今仍然被忽视或者位于不明显的地方的一些数据。

作为用户生成内容的意外结果,这种巧合的数据 [32] 可能会被创建,例如能够提升命名实体和词性标注的超链接;它也可能作为注释的副产品存在,例如注释器不一致(annotator disagreement) 可能改进标注或者解析;或者来源于用户行为的数据,例如视线追踪或者键入变化,可以影响自然语言处理的任务。虽然这些数据只是以有限的方式被利用,但是这样的例子鼓励我们在意外的地方查找数据,并研究检索数据的新方法。

提高模型的泛化能力

让模型更好地泛化也是与此相关的一个方向。为了实现更好的泛化能力,我们首先必须理解大规模神经网络的行为和错综复杂的结构,并且去研究它们泛化的原因和方式。最近的工作已经朝着这个目标迈出了大有希望的步伐 [33],但是很多问题仍然等待解答。

让模型更加稳健(robust)

尽管提升我们的模型的泛化能力这方面已经比较成功了,在类似的例子上面我们也许泛化得很好,但是在出乎意料或者者非典型的输入情况下仍然会失败。所以,一个关键的补充目标就是让我们的模型更加稳健。在近来对抗学习的进步的推动下,这个方向越来越受关注,并且,最近的方法研究了很多让模型在最糟糕的情况下或者面对不同设置的对抗样本时变得更加稳健的方式 [34,35]。

多任务学习

在迁移学习中,我们主要关心在我们的目标任务和域上友好的表现。相反,多任务学习中的目标是在所有可用的任务上都要表现良好,尽管某个标签数据通常都被假定在一个任务上。虽然多任务学习的方法没有直接用在迁移学习上,但是对多任务学习有利的关于任务的思想 [19] 仍然能够指引迁移学习的决策。

持续学习

虽然多任务学习允许我们在许多任务中保留知识,而不会对我们的源任务造成性能损失,但只有在所有任务都处于训练时间的情况下,这才是可能的。对于每个新任务,我们通常需要重新训练我们所有任务的模型。

然而,在现实世界中,我们希望一个代理能够通过使用它以往的一些经验来处理逐渐变得复杂的任务。为了达到这个目的,我们需要让一个模型在不忘记的情况下持续地学习。这个机器学习的领域被称为学会学习 [36]、元学习、终生学习,或者持续学习。持续学习在最近的强化学习 (强化学习以 Google DeepMind 对通用学习代理的探索而著称) 上已经取得了成功 [37,38,39],也正在被用于序列到序列的模型上 [40]。

zero-shot 学习

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

one-shot 学习的新进展利用了这样的思想,即为了在测试的时候实现好的性能,模型需要显式地被训练,从而进行 one-shot 学习 [41,42]。但更加逼真、具有概括性的 zero-shot 学习设置在最近已经引起了注意,在零点学习中训练类别出现在测试的时候 [43]。

总结

总之,迁移学习提供了很多令人兴奋的研究方向,特别是许多应用需要能够将知识迁移到新的任务和域中的模型。希望我在这篇博客中为你们给出了关于迁移学习的概述并且激发了你们的兴趣。

为什么我们需要研究迁移学习?相关推荐

  1. 准确率可提升50%以上,Facebook用迁移学习改进代码自动补全

    视学算法报道 转载自:机器之心 编辑:陈萍.杜伟 来自 Facebook 的研究团队将迁移学习用于代码自动补全,提出的方法在非常小的微调数据集上提高 50% 以上的准确率,在 50k 标记示例上提高了 ...

  2. 迁移学习,让深度学习不再困难……

    2020-03-02 17:01:00 全文共2968字,预计学习时长9分钟 来源:Pexels 在不远的过去,数据科学团队需要一些东西来有效地利用深度学习: · 新颖的模型架构,很可能是内部设计的 ...

  3. 迁移学习的挑战和六大突破点

    本文转载自机器之心 作者:蒋思源  原文链接:http://jiqizhixin.com/article/2956 5 月 28 日,机器之心主办的为期两天的全球机器智能峰会(GMIS 2017)进入 ...

  4. GMIS 2017大会杨强演讲:迁移学习的挑战和六大突破点

    GMIS 2017大会杨强演讲:迁移学习的挑战和六大突破点 2017-05-28 14:04:47     GMIS 2017    0 0 1 5 月 28 日,机器之心主办的为期两天的全球机器智能 ...

  5. 用两个使用Caffe的小项目案例演示迁移学习的实用性

    近年来随着深度学习的急剧升温,不管是学术界还是工业界都把大量资源投入了深度学习.作为一个普通的工程师或者程序员,也想对机器学习,尤其是深度学习有所了解,应当如何入手?最好的回答当然是"get ...

  6. 大规模细粒度分类和特定领域的迁移学习

    原文: Large Scale Fine-Grained Categorization and Domain-Specific Transfer Learning 概要 通过微调从大规模数据集(如Im ...

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

    机器不学习 jqbxx.com-专注机器学习,深度学习,自然语言处理,大数据,个性化推荐,搜索算法,知识图谱 虽然我不是专门研究迁移学习的,但是作为一个AI研究者,就如题图吴老师所说,迁移学习极为重要 ...

  8. 迁移学习笔记4:ACML-Sinno Jialin Pan

    潘嘉林Sinno (Sinno Jialin Pan)在会议ACML最新一届上做了一个讲座 OAMLS -- Transfer Learning -- Sinno Jialin Pan The 13t ...

  9. 专访杨强:从 0 到 1,迁移学习如何登上今日高峰?

    2020-07-22 20:20:39 作者 | 丛 末 编辑 | 蒋宝尚 人工智能研究到最后,都会面临一个问题,那就是模型是否能扩展到其此前从未见过的领域,即像人一样拥有"举一反三&quo ...

  10. 机器学习的明天——迁移学习

    机器学习的明天--迁移学习 上个月,柯洁大战AlphaGo落下帷幕,19岁的男孩少有地在比赛中落泪,赛后他为我们留下一句话,柯洁说"AlphaGo"看上去像神一样的存在,好像他是无 ...

最新文章

  1. oracle 游标小例
  2. Struts2入门这一篇就够了
  3. JS正则表达式元字符
  4. java注解简单实例
  5. clang编译c语言开o优化,针对gcc或clang的LTO可以跨C和C方法进行优化
  6. PCM设备的作用,为什么要选用PCM设备?
  7. matlab 无向拓扑图,无向图绘画树状拓扑图算法
  8. Golang Tips
  9. 微软解释:关于Outlook 2007的争议
  10. openssl lhash 数据结构哈希表
  11. indesign自学教程,如何保存文档?
  12. 热更新和热修复 个人小结
  13. 计算机基础access2010实训,大学计算机基础access实验.doc
  14. 利用梦网云通讯实现 短信 验证码 发送 附带教程~~~
  15. et200sp系统服务器模块,ET200SP GSD文件组态时服务器模块的选择方法
  16. scratch绳子算法 少儿编程电子学会图形化编程scratch等级考试四级真题和答案解析2021-3
  17. tkmybatis 默认值 问题
  18. python数据处理工具-Pandas笔记
  19. 计算机专业英语论文题目,英语毕业论文题目_英语论文题目参考(中英文对照)...
  20. 字符串中的 ↵ 回车符替换

热门文章

  1. C++中如何使类不能继承
  2. ORACLE常用数值函数、转换函数、字符串函数【转】
  3. css 列表内容滚动,stroll.js 炫酷的 CSS3 列表滚动动画集合 - 文章教程
  4. zabbix详解(十)——zabbix YUM安装实战
  5. Linux进程控制与进程优先级
  6. 华三 h3c 单臂路由配置
  7. AWD-Yunnan-Simple_WriteUp
  8. 【大数据】Azkaban学习笔记
  9. 【Qt学习笔记】10.主窗口 The Main Window
  10. selenium 自动化web测试