本文为大家带来的演讲主题是:从小样本学习出发,奔向星辰大海。主要分为五个部分:

  • 小样本学习方法及其重要性
  • 小样本学习的三个经典场景
  • 小样本学习的应用领域
  • 小样本学习的定义及难题
  • PaddleFSL助你实现小样本学习

王雅晴,2019年博士毕业于香港科技大学计算机科学及工程学系,研究方向为机器学习,导师是倪明选教授和郭天佑教授,主要聚焦在小样本学习方向。

WAVE SUMMIT+2021深度学习开发者峰会

【科技创新,女姓力量】论坛

自读博以来,有多篇一作成果在ICML、NeurIPS、TheWebConf、EMNLP、TIP等顶会顶刊发表。曾撰写的小样本学习综述,是ACM Computing Surveys 2019-2021年最高引论文,也是今年的ESI高被引论文。

此外,她负责开发的小样本学习工具,在GitHub上获得1.1K+的关注,如果有感兴趣的同学,可以去看一下这个链接:https://github.com/tata1661/FSL-Mate/tree/master/PaddleFSL

王雅晴加入百度以来,深耕在小样本学习领域,主要是关于如何快速泛化到仅包含少量标注数据的新任务上面。

图1

小样本学习方法

及其重要性

三个角度解决小样本学习:

  • 首先钻研相关的理论学习基础,比如说元学习,图学习。
  • 其次在百度我们还需要考虑如何落地实际应用,比如说新药发现、文本分类、意图识别、冷启动推荐、手势识别等等。
  • 最后是为了帮助大家能够快速的上手小样本学习实现小样本学习方法的快速原型化,还实现了通用小样本学习工具。它是基于PaddlePaddle研发出来的,里面提供了简单易用又稳定的,小样本学习的经典方法,目前已经包含了CV和NLP里面的经典应用。

说到小样本学习,就要先谈一下深度学习。自2015年以来,深度学习实现了屡屡突破,AlphaGo打败了人类围棋冠军。自从ResNet开始,机器学习模型在ImageNet这样的大数据上的标注效果,比人类标注者的误差更低。但是这些深度学习模型的成功,其实是需要大量的标注数据,和高性能的计算设备。

比如说AlphaGo,它训练自一个包含3000万对奕历史的数据库,而且还能不断自我对奕。ResNet训练自ImageNet上,这样一个罕见的,包含上百万标注图片的的大数据集。所以这也使得,在绝大多数场景里面,这两个条件“大量的标注数据”和“高性能的计算设备”是很难被满足的,这也是需要进行小样本学习的原因。

图2

小样本学习的三个经典场景

首先,介绍一下小样本学习的三个经典场景。

1.为了让人工智能更像人,具备举一反三的能力,以图3中最左边的图片为例。给你一个独轮车,即使一个小孩,也可以轻易从一堆图片当中,识别出来哪张也是独轮车。不管是把独轮车倾斜、翻转,还是把车杆加粗轮子变大,仍然可以看出它还是独轮车。

此外,如果给你独轮车、自行车、摩托车,人类的孩童也很容易看出,不同车之间的共性。比如,都有轮子、车把手。这样的举一反三的能力,现在的人工智能还是缺失的。所以小样本学习,一直是学术界的研究重点,目标就是能够降低人工智能和人类智能之间的差距。

图3

2. 小样本学习的重点场景,就是为了降低数据的收集、标注、处理和计算成本。如今,很多开发者会遇到海量且没有标签的数据,而且包含着大量的噪声。这也使得真正想用这些数据挖掘出一些知识、信息,是件很困难的事情。

一般来说,需要找数据众包的人员,帮助你标数据。但是标数据,首先它需要花很长时间,双方之间需要进行多轮的迭代。最终数据的质量,也仍然会包含,标数据人的一些主观因素。

所以如果能够应用小样本学习,就可以把数据的收集、标注的成本,给大大降低下来。只需要收集很小的数据集,这个数据集只需要包含少量的、高质量的标注样本,就可以训练一个模型,来做回归预测和分类。

3. 处理一些罕见的情况。比如说危险的、涉及到隐私的、伦理的。一个比较经典的场景,就是新药发现。在新药发现里面,希望能够从成千上百万的化合物当中,找到符合想要的性质的那些化合物。比如说有较低的毒性,有较高的水溶性之类的。

但是新药发现,本身是非常耗时的过程。可能要花十来年的时间,还要花很高的费用,去招一些受试者过来进行测试。但实际上到最后,真正能够进入到实验室里面测试的样本,本身数量就很少。这使得新药发现,是一个小样本学习的问题。(如图3)

小样本学习的应用领域

由于小样本学习,真的是太常见了,所以目前各行、各业、各个领域,都出现了小样本学习的身影。最早出现的就是CV,也就是计算机视觉,如图片分类、物体识别、图片切割。

后来在NLP领域也出现了,比如说会做一些比较经典的关系抽取、NER这些任务。最近随着预训练模型的出现,大家都会想去利用预训练模型。因为这些预训练模型,一般都是训练在一个大的语料库上面,里面有丰富的语义信息和先验知识。

怎样通过微调或者构建一些模板,把它能够调到一些新的任务,即使它只包含少量的标注数据,这也是最近NLP领域的研究重点。

除了NLP领域,还有像知识图谱,比如怎么处理日渐出现的新的实体、新的关系,这都可以通过小样本学习的方法搞定。

图4

另外还有刚才提到的,新药发现和机器人学。比如说,教机器狗让它往左走两步,或者只展示一两个手势,它就知道我想要干什么,这都是要用到小样本学习的。

小样本学习的定义及难题

下面给出小样本学习的比较严谨的定义,是根据1997年Tom Mitchell教授的经典机器学习定义来定义的。

什么是机器学习?对某一类任务T,如果一个计算机程序,在该任务T上与P度量的性能,随着经验E的增加而提高,就称这个计算机的程序,是在从经验E当中学习。

小样本学习,是机器学习的一种。但是比较特别的是,它里面的经验,只有很少量的监督信号。比较常见的监督信号,就是样本的标签。

图5

学习的理想,是希望能够降低模型的期望风险。也就是在未来不管有什么样的样本,都能够很好的预测出来。但这个模型的联合分布,一般是未知的,所以就要估计它。

在机器学习里面,一般是优化经验风险。但是,大家看到公式上面的经验风险,是通过训练集里面有多少样本来求的。如果是训练样本里面,只有很少量的标注数据。这个I的数量很小的话,最终只会得到非常不可靠的,最小化的风险经验估值,使小样本学习确实是很困难的问题。

但是,这并不是不能够被解决的,解法就是我们将经验E当中的标注信息,和一些先验知识结合。比如说,刚才提到的NLP领域的预训练模型,把这些先验知识结合以后,就能使得任务T的学习变得可行。一般有三个角度。

  1. 通过这些先验知识,来生成更多的标注样本,用于训练。
  2. 通过先验知识,限制模型的空间复杂度。
  3. 还可以有这样一种先验知识,让它告诉我们,怎样设计一个经济的搜索策略。比如说,在假设空间这个大H上面,应该从哪个点开始搜?往哪个方向去搜?以什么样的速度搜?这些,都会使最终得到的搜索策略,能够更经济有效一点。只有几个样本,就能够得到很好的效果。

这些方法,都被详细总结和梳理在小样本学习的综述里面。这是ACM Computing Surveys最近两年的最高引论文,也是ESI今年的高被引论文。

PaddleFSL

助你实现小样本学习

刚才介绍了,通用的小样本学习的方法。这边就介绍一下,怎样通过小样本学习工具包PaddleFSL,来实现小样本学习。

图6

PaddleFSL是一个基于飞桨的小样本学习工具包。在这个工具包里面,提供了简单、易用、稳定的经典小样本学习的方法,并支持拓展新的小样本学习方法。

此外,还提供了统一的数据集处理,使模型效果比较更加容易。而且提供了非常详实的注释,让你可以轻易定制新的数据集。目前已经包含了,CV和NLP小样本的经典应用,并且依托飞桨的繁荣生态,不断扩展到新的领域上。

从这里给出的PaddleFSL的整体框架图上,可以看出现在支持像图片分类、关系抽取、通用自然语言处理等一系列的任务。并包含了这三个任务当中,所涉及到的一些经典数据集。

为了处理不同的应用,也提供不同的特征抽取器,来供大家抽取特征。

比如CNN是用来抽图片的,另外还支持所有PaddleNLP里面提供的预训练模型。此外,在模型库也提供了经典的小样本学习的方法。因为PaddleFSL是部署在飞桨上面的,因此也同样支持跨平台的部署。

这里给出了小样本图片分类结果的复现。使用PaddleFSL在ProtoNet、RelationNet、MAML、ANIL这四个方法上面,在Omniglot、Mini-ImageNet两个经典的数据集上面,都可以复现出比文章汇报更好,或者至少是匹敌的效果。

下面做一个总结,加入百度研究院以来,王雅晴主要是在做小样本学习方向。在理论研究方面,文章现在也被ACM Computing Surveys,还有WWW录用。此外,在小样本的实际应用,特别是新药发现工作,被今年NeurIPS 2021接收为Spotlight Paper。而小样本短文本分类的文章,被EMNLP接收为长文。意图识别和冷启动方面也都在进行推进,目前在审稿阶段。

另外关于小样本手势识别的工作,获得了国家自然科学基金的面上项目支持。最后再提一下PaddleFSL,这个包现在获得了1100多的Star,以及1万多的文章阅读。

借此机会,希望对小样本学习感兴趣的同学可以扫描下方二维码了解更多,并一起进行前沿的研究和实践的落地。

图7

从小样本学习出发,奔向星辰大海相关推荐

  1. ​从小样本学习出发,奔向星辰大海

    本文为大家带来的演讲主题是:从小样本学习出发,奔向星辰大海.主要分为五个部分: 小样本学习方法及其重要性 小样本学习的三个经典场景 小样本学习的应用领域 小样本学习的定义及难题 PaddleFSL助你 ...

  2. 归纳+记忆:让机器像人一样从小样本中学习

    作者|耿瑞莹,黎槟华,武玉川,李永彬 单位|阿里巴巴达摩院Conversational AI 团队 近年来,对话式 AI(Conversational AI)无论在学术界还是在工业界都在迅猛发展,背后 ...

  3. NeurIPS 2019 少样本学习研究亮点全解析

    作者:Angulia Chao 编辑:Joni Zhong 少样本学习(Few-Shot Learning)是近两年来非常有研究潜力的一个子方向,由于深度学习在各学科交叉研究与商业场景都有比较普遍的应 ...

  4. 姚班代有才人出:清华本科生用“最简单的形式”,大幅提高少样本学习性能...

    鱼羊 十三 发自 凹非寺 量子位 报道 | 公众号 QbitA 仅仅根据元学习(Meta-Learning)的基线,就彻底打败了所有"花里胡哨"的改进方法. 就是这些看似简单,又容 ...

  5. 【转载】Few-shot learning(少样本学习)和 Meta-learning(元学习)概述

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_37589575/arti ...

  6. weka分类器怎么设置样本类别_NeurIPS 2019 少样本学习研究亮点全解析

    少样本学习(Few-Shot Learning)是近两年来非常有研究潜力的一个子方向,由于深度学习在各学科交叉研究与商业场景都有比较普遍的应用,然而训练出高精度模型的情况大部分来源于充足的训练数据,这 ...

  7. Few-shot learning(少样本学习)和 Meta-learning(元学习)概述

    目录 (一)Few-shot learning(少样本学习) 1. 问题定义 2. 解决方法 2.1 数据增强和正则化 2.2 Meta-learning(元学习) (二)Meta-learning( ...

  8. 少样本学习原理快速入门,并翻译《Free Lunch for Few-Shot Learning: Distribution Calibration》

    ICLR2021 Oral<Free Lunch for Few-Shot Learning: Distribution Calibration> 利用一个样本估计类别数据分布 9行代码提 ...

  9. 近期必读的6篇NeurIPS 2019零样本学习论文

    来源 | 专知(ID:Quan_Zhuanzhi) [导读]NeurIPS 是全球最受瞩目的AI.机器学习顶级学术会议之一,每年全球的人工智能爱好者和科学家都会在这里聚集,发布最新研究.NIPS 20 ...

最新文章

  1. mysql主从字符集不一致_MySQL多字节字符集造成主从数据不一致问题
  2. VS2010项目生成时提示错误“在证书存储区中找不到清单签名证书”?
  3. MySQL新建库 添加用户及权限 MySQL的Grant命令
  4. du命令、df命令用法
  5. c语言语法格式规范(1)常量的非法与合法
  6. android 响应类型,android – Retrofit 2 RxJava – Gson – “全局”反序列化,更改响应类型...
  7. Android 系统(253)----如何修改google libphonenumber的meta data (号码归属地,紧急号码列表,号码格式)
  8. Spring框架----IOC的概念和作用之工厂模式
  9. 使用WCF实现消息推送
  10. 【转】vue中如何实现数据的双向绑定
  11. Pygame实现”走四棋儿“双人对战小游戏
  12. 酷q服务器未响应,酷Q [CQHTTP Python Async SDK] 入坑指南【已失效】
  13. [开源教程] 双路混控有刷电调 DIY教程【作者:我爱萝丽爱萝丽】(双路单向电调)
  14. golang库文件收集
  15. bench_ios框架的设计思考,基础库、runtime和组件化
  16. 数据分析之FineReport
  17. 计算机五笔教学软件,指法练习 XP
  18. [用友]报表格式异常的处理
  19. otter实现数据同步,otter manger的安装
  20. 基于MATLAB的运动模糊图像处理

热门文章

  1. 动态规划之最长递增子序列 最长不重复子串 最长公共子序列
  2. centos-基本命令
  3. phpstyudy端口被占用怎么办
  4. 韩顺平Oracle笔记
  5. 每日C语言(The 7th day)——折半查找法
  6. JSTL【一】C标签的使用
  7. vscode使用remote--ssh进行远程连接报错Resolver error: Error: Connecting with SSH timed out
  8. redis之数据倾斜如何处理
  9. 静态库与动态库的区别(转)
  10. EOS智能合约开发系列(12): 多签合约代码分析(一)