元学习与自然语言处理

Posted AI论道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元学习与自然语言处理相关的知识,希望对你有一定的参考价值。


什么是元学习?


元学习 (meta learning),又被称作“学会学习” (learning to learn),是近期深度学习研究界的一大关注热点,旨在帮助新任务在缺乏训练样本的情况下 快速学习 (rapid learning)、 快速适应 (fast adaption)。
目前,随着深度学习的蓬勃发展,各类复杂模型已经能够很好地刻画特征,并拟合数据集分布。那为什么我们需要元学习呢?事实上,深度学习饱为诟病的一大特点之一就是它面对小样本数据集极易过拟合。我们能够采用正则化、数据增强等方式规避过拟合问题,但这些策略都没有为模型学习的过程提供更丰富的信息量。然而当我们反观人类智力与认知的发展过程却能发现人类并没有受到小样本的制约。比如,当人类懂得识别猫、狗图像后,只要提供关于某种动物的少量图片,人类就能迅速提取到图像中的有效特征,从而具备识别该类图片的能力。同理,深度学习也应当从具有相似性的任务学习过程中积累经验,针对新的类似任务举一反三,“学会学习”,具备更高阶的泛化能力。这样一来,针对小样本数据我们能更好地利用积累的先验知识,不仅防止了模型过拟合,也使模型站在更高的起点上,更快迭代至较好的效果。目前得到广泛应用的元学习框架有Finn等提出的MAML,也有Google提出的Reptile模型。本篇论文旨在梳理元学习的nlp应用。


元学习的NLP应用


随着元学习理论不断成熟,越来越多的自然语言处理任务开始引入元学习经典模型来攻克领域内的一些难点。本文以2019年发表的三篇论文来介绍元学习与nlp的最新应用。

Domain Adaptive Dialog Generation via Meta Learning, ACL2019

https://www.aclweb.org/anthology/P19-1253/

https://github.com/qbetterk/sequicity.git

任务型对话系统可能面向的领域和应用有很多。因此,一方面对数据样本涉及的领域和数量提出了要求,也同时更加需要能够基于较少的样本达到较好效果的对话生成模型。论文提出的DAML模型基于任务型对话的难题,通过元学习方式学习泛领域对话的通用特点,并在少样本的新领域上迅速收敛。下图中对比了一般对话系统模型网络更新流程与DAML模型的区别。图(b)中的步骤(1)指的是从各个对话领域任务的支撑集中获取训练数据的过程。通过计算损失并更新参数,步骤(2)-(3)得到了该领域中的精调模型M k'。步骤(6)-(7)将各领域中精调模型迭代若干步都分别得到的损失进行相加,从而训练整体的元学习网络模型。

模型的详细过程如下。单个领域的损失Lsk有领域数据集中的每一个回复的损失累加得到,fine-tune模型Mk'也由此损失进行更新。元学习总体损失在不同的源领域精调后的结果叠加。这个过程也符合元学习经典框架MAML的思路。

元学习与自然语言处理

元学习与自然语言处理

元学习与自然语言处理

而论文也采用了传统的端到端序列建模方式构建对话生成模型。文章采用融合注意力机制的GRU模型作为编码器和解码器模型。如下图所示,DAML通过编码器建模时间步t-1的对话状态Bt-1、回复Rt-1与用户输入Ut,通过对话状态解码器和回复解码器生成t步的状态Bt与回复Rt。特别地,在回复生成过程中模型也使用了拷贝机制。


元学习与自然语言处理

文章针对包含6个领域数据的SimDial数据集进行了实验,采用BLEU和Entity F1 score作为评测指标,也采用Adaption time衡量了模型在目标领域的fine-tune效率。对比模型包括ZSDG和传统的迁移学习。实验对比如下,

元学习与自然语言处理

模型结果表明,DAML模型超越了普通的迁移学习和ZSDG成为新的state-of-the-art。



Personalizing Dialogue Agents via Meta-Learning, ACL2019

https://www.aclweb.org/anthology/P19-1542.pdf

https://github.com/HLTCHKUST/PAML

除了任务型对话面临样本短缺的问题,个性话对话系统同样需要在较少的数据上迅速调整为针对特定用户的定制模型。论文依旧采用了MAML元学习框架,在不使用用户个人信息的情况下能将对话生成模型快速迭代。模型算法架构如下。对于所有用户数据Dpi,模型进行fine-tune,将网络参数优化为theta'pi。外层的元学习网络针对查询集上(论文中成为task的验证集)得到的损失进行元学习网络参数更新。

元学习与自然语言处理

模型采用交叉熵作为单个任务的损失函数,如式4。模型元网络参数更新方式如式5。

元学习与自然语言处理

元学习与自然语言处理文章在Persona-chat数据集上进行了实验,通过用户描述的不同,划分出了针对不同用户的对话生成任务,并采用perplexity, BLEUconsistency作为自动衡量指标。模型在自动化指标与人工评测中均超越了普通的fine-tune模型,证明了其元学习框架的有效性。

元学习与自然语言处理




Meta Relational Learning for Few-Shot Link Prediction in Knowledge Graphs, EMNLP2019

https://www.aclweb.org/anthology/D19-1431.pdf

https://github.com/AnselCmy/MetaR

知识图谱以三元组(<头实体,关系,尾实体>)的形式存储了大量客观世界知识。链接预测 (link prediction)是一种知识图谱补全方法。但在目前的知识图谱中,少样本问题广泛存在。在Wikidata中,约10%的关系涉及的三元组不超过10个。如下图所示,本篇论文提出了模型MetaR,旨在通过元学习方式解决少样本条件下的知识图谱链接预测问题。论文中将不同关系(如CountryCapital, CEOof等)涉及的三元组实体链接预测视为一个单独的任务,在测试的过程中使用训练集中未出现的关系链接预测作为新的任务。模型的创新点和突出优势包括:元网络能够将训练中涉及的一般关系知识迁移到新来关系,且能快速根据新来关系的少量三元组数据改善模型表现。

元学习与自然语言处理模型的流程和核心算法可通过下图表达。模型需要针对所有任务都有效的一般关系知识元,即图中标识的RTr(关系知识元)模型在查询集中通过GTr进行该任务的fine-tune。元学习与自然语言处理

式1为基于头实体向量h与尾实体向量t通过全连接网络得到的关系向量R(hi, ti)。本篇论文通过与TransE相同的方式,即计算头实体、关系向量与尾实体的距离之模得到实体关联分数。损失函数由式4的合页损失函数得出,其中ti'为与hi不关联的实体。

元学习与自然语言处理元学习与自然语言处理

元学习与自然语言处理

头实体与尾实体的关系模型通过基于L(Sr)的梯度GTr进行更新(式5)。通过式6,模型在每一个任务中进行精调。在查询集中,模型通过与支撑集相同的方式(式3-4)进行损失函数计算。在元学习训练中,元学习损失通过将所有任务上的查询集损失相加得到总体损失并优化元学习网络。

元学习与自然语言处理

元学习与自然语言处理

论文采用MRR, Hits@n衡量模型效果。由于少样本方面的已发表基准模型较少,论文仅比较了GMatching模型,对比两者在少样本学习方面的效果的优越性。文章针对NELL图谱与Wiki图谱进行了实验,并取得了较好结果。


最后打个小广告:

中国科学院深圳先进技术研究院自然语言处理组正在招收实习/硕士/博士同学,对NLP感兴趣的同学请发送简历至min.yang@siat.ac.cn噢!

We (NLP team at SIAT, Chinese Academy of Sciences) are hiring a few intern/master/PhD students. Send a resume to min.yang@siat.ac.cn if interested.

以上是关于元学习与自然语言处理的主要内容,如果未能解决你的问题,请参考以下文章

《深入浅出Python机器学习(段小手)》PDF代码+《推荐系统与深度学习》PDF及代码+《自然语言处理理论与实战(唐聃)》PDF代码源程序

CMU大学2019神经网络与自然语言处理NLP课程高清完整资源

自然语言处理应用工程师

分享《自然语言处理理论与实战》PDF及代码+唐聃+《深入浅出Python机器学习》PDF及代码+段小手+《深度学习实践:计算机视觉》PDF+缪鹏+《最优化理论与算法第2版》高清PDF+习题解答PDF+

车万翔《基于深度学习的自然语言处理》中英文PDF+涂铭《Python自然语言处理实战核心技术与算法》PDF及代码

Span 抽取和元学习能碰撞出怎样的新火花,小样本实体识别来告诉你!