Hi,这里是哈林,今天来跟大家聊一聊Meta Learning在NLP领域的一些应用。

哈林之前在学校科研的方向是NLP,个人对「如何将先进的机器学习算法应用到NLP场景」很感兴趣(因为好水paper),同时之前也做过一些尝试(水过一些paper)。因此今天主要介绍一下Meta Learning与NLP任务结合的一些工作,经过哈林亲身实践,相信这一定是个水paper的好方向。话不多说,先上一个自己总结的paper list:

「Github链接:」https://github.com/ha-lins/MetaLearning4NLP-Papers

背景:元学习

通常在机器学习里,我们会使用某个场景的大量数据来训练模型;然而当场景发生改变,模型就需要重新训练。但是对于人类而言,一个小朋友成长过程中会见过许多物体的照片,某一天,当Ta(第一次)仅仅看了几张狗的照片,就可以很好地对狗和其他物体进行区分。

元学习Meta Learning,含义为学会学习,即learn to learn,就是带着这种对人类这种“学习能力”的期望诞生的。Meta Learning希望使得模型获取一种“学会学习”的能力,使其可以在获取已有“知识”的基础上快速学习新的任务,需要注意的是,虽然同样有“预训练”的意思在里面,但是元学习的内核区别于迁移学习(Transfer Learning)。

这里介绍一个经典的基于优化的元学习框架「MAML」[1],(即Model-agnostic Meta Learning)。MAML的目的是获取一组更好的模型初始化参数(即让模型自己学会初始化)。我们通过(许多)N-ways,K-shot的任务(训练任务)进行元学习的训练,使得模型学习到“先验知识”(初始化的参数)。这个“先验知识”在新的任务上可以表现的更好,其算法流程如下图所示:MAML框架

Note:MAML是一个二阶的元学习算法,因为二阶优化计算海塞矩阵的成本较大,因此后续出现了一阶的元学习算法,如:Repitle[2],通过近似二阶导数,可以实现近似MAML的性能。接下来介绍两个MAML在对话系统领域应用的工作。

工作介绍1:DAML

先来看第一篇DAML[3],做的是task-oriented dialogue任务下的domain adaption:举个例子来说,假设我们手头有三个域的训练数据(source domains):restaurant, weather, bus information,然后用少量(few-shot learning)的movie领域数据作为新的target domain来测试dialogue的任务完成性能。这个任务是非常有价值的,目前的task-oriented dialogue的dataset往往是针对特定领域的,如果能实现这种域适应,将会降低很多人工标注成本。

通过这个例子可以看出,这篇paper是在研究transfer learning和few-shot learning(少量的test data),采用的方法则是meta-learning中的经典方法MAML:即通过训练寻找一个优秀的初始化参数,使得仅通过两步梯度下降,就能快速适应到新的target domain上。

DAML算法框架

图中的序号表示执行的先后顺序, 为模型参数,重点看b)图,k=1,2,3分别代表不同的source domain,可以看到DAML采用了两次梯度更新(local和global),先结合域训练数据和初始模型,更新一步得到一个临时model ,再由此来计算meta learning的loss,再通过几次梯度更新原始model。至于为何要经过这个临时model ,应该是因为可以学到一种所有源域普适的表示,而不是针对特定域的直接的特征。

以上就是这篇paper的核心思想,下面看一下具体实现和细节:前文说了这是一个task-oriented dialogue背景的问题,本文借鉴并采用了一种end-to-end的seq2seq模型:Sequicity[3],与domain adaption的SOTA模型ZSDG和transfer learning model进行了比较,在ZSDG提供的SimDial数据集上进行实验,从任务完成情况(Entity F1 score)和Adapting time等多个方面评估比较。

工作介绍2:GEML

接下来是哈林发表在AAAI 2021上的一篇低资源场景下的医疗对话系统的工作GEML[4],旨在通过元学习构建一个跨疾病可迁移的对话系统。

GEML算法框架图

如上图所示,针对医疗对话场景中疾病数据不均衡的现象,GEML首先设计了一个基于外部医疗知识图谱的端到端对话系统,然后通过一种图演化元学习框架来对其进行元训练和迁移。该对话系统包含三个组件:分层上下文编码器、元知识图推理模块与图指导的响应生成器;同样还是类似MAML的思路,只不过针对现有知识图谱对对话实体覆盖不全的问题,本文还通过graph evolving的方法对知识图谱进行丰富。具体的模型细节大家可以去论文里查阅~

总结

通过这两个工作和paper list,可以看到以「MAML」为代表的optimization-based meta learning方法,以其模型无关的灵活性的特点,在各个NLP topic(如:dialog system/ semantic parsing等)的few-shot场景下遍地开花,而其他的meta-learning方法(如metric-based)多集中在解决分类问题上。如何在少量数据场景下构造出合理的meta task,是解决问题的关键。那么问题来了,你会水NLP paper了吗?

参考资料

  • [1] Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks, ICML 2017.

  • [2] On First-Order Meta-Learning Algorithms, arXiv 2018.

  • [3] Domain Adaptive Dialog Generation via Meta Learning, ACL19.

  • [4] Graph Evolving Meta-Learning for Low-resource Medical Dialogue Generation, AAAI 2021.

如何快速水一篇NLP论文?相关推荐

  1. 竞赛人必备的100篇NLP论文

    来源:Coggle数据科学本文约1400字,建议阅读5分钟论文让我快乐,我爱学习! 给大家推荐100篇重要的NLP论文,论文列表来自于Quora上的一个问题的答案:哪些是所有NLP学生必须阅读的最重要 ...

  2. 史上最大规模ACL大会放榜,百度10篇NLP论文被录用!

    近日,自然语言处理(NLP)领域的国际顶级学术会议"国际计算语言学协会年会"(ACL 2019)公布了今年大会论文录用结果.根据 ACL 2019 官方数据,今年大会的有效投稿数量 ...

  3. 本周不容错过的的9篇NLP论文 | PaperDaily #21

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  4. 清华大学刘知远教授:如何写一篇合格的NLP论文

    作者 | 刘知远 编辑 | NewBeeNLP 来源 | 左下角阅读原文处 周末重读&分享清华大学刘知远老师的干货文章,虽然题目是如何写一篇合格的NLP文章,但是可以适用于人工智能相关的其他领 ...

  5. 【研究】刘知远:如何写一篇合格的NLP论文

    目录 简介 论文在NLP学术研究中的意义 一篇NLP论文的典型结构 Abstract和Introduction怎么写 Abstract Method怎么写 Experiment怎么写 Related ...

  6. 6个月为50篇AI论文写摘要,网友:这有啥,我曾被要求1.5小时内复现一篇论文...

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨机器之心 编辑丨极市平台 导读 快速阅读论文是研究人员不可或缺 ...

  7. 清华NLP实验室刘知远:如何写一篇合格的NLP论文

    Datawhale干货 作者:刘知远,清华大学,来源:大数据文摘 本文作者刘知远为清华大学计算机科学与技术系副教授 .刘老师总结了研究者在写NLP论文时常见的几类问题,并写成了这篇文章.除了对于NLP ...

  8. 如何快速写出一篇核心论文?

    论文的创作对于每个人来说都是一件难事,因为论文是一个人对自己学过的知识的总结.论文的创作需要熟悉掌握一定的专业知识,要能将这些理论知识应用到论文中.在学习生活中你可以发现有些同学写论文需要好长时间,有 ...

  9. 开局一段扯,数据全靠编?真被一篇“神论文”气到了

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 文 | 苏剑林(追一科技) 编 | 智商掉了一地 看来以后我们看论文的时候,不仅要关心 ...

  10. 又为写作思路熬到秃头?这16篇最新论文打包送你

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

最新文章

  1. C语言文件读写(4)-判断文件是否结束
  2. mysql 基于语句的复制_MySQL 复制 - 性能与扩展性的基石 1:概述及其原理
  3. 模式识别之车牌识别---一个开源车牌识别项目easypr
  4. 如何批量转.jpg/.bmp图片
  5. java并发编程实战:第十四章----构建自定义的同步工具
  6. 从零开始的LaTex生活
  7. Eclipse内存溢出
  8. samba服务器常用指令
  9. PHP中巧用curl 并发减少获取第三方网页内容时间
  10. 点石成金_Index
  11. 经济应用文写作【7】
  12. 真正“自学”入门编程/程序员是一种怎样的体验?
  13. antd-select拼音首字母模糊查询
  14. Actor模式理解与使用
  15. 【SCI征稿】年底冲计算机神刊!最快1-2个月见刊!
  16. 美景本天成,妙笔偶得之——“妙笔”是怎样炼成的?
  17. 做好软件测试需要具备的思维方式
  18. 马上毕业了,拼多多和国家电网,选哪个?
  19. 关于HTML中圆角的实现
  20. matlab的数值微分,Matlab实现数值微分

热门文章

  1. [DB] oracle删除重复数据
  2. sharepoint 2013 配件控制FileUpload如何检查是否图像的方法
  3. ExtJs TreePanel使用TreeLoader在IE下无法正常加载显示的解决方法
  4. spring定时任务详解
  5. 第三次小组实践作业小组每日进度汇报:2017-12-2
  6. 设计模式——装饰模式和代理模式
  7. dpkg:处理 xxx (--configure)时出错解决办法,也可用于卸载软件出错的情况
  8. BitmapFactory.decodeResource(res, id); 第一个参数跟第二个参数有什么关系?
  9. 人生三分之一的睡眠决定着另外三分之二的精彩
  10. Javascript实现鼠标框选元素后拖拽被框选的元素