查看原文
其他

【综述专栏】认知科学中的迭代模型,何以缓解语言迁移

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

作者:知乎—AI TIME

地址:https://www.zhihu.com/people/yun-yun-14-18

人类有千万种不同的种族文化,但人类语言是如何进化出一些共通形式?“语言迭代模型”表示:语言本身是通过进化来适应个体之间知识传输的“学习瓶颈”(learning bottleneck),而这些“学习瓶颈”的共通性,造成了人类语言的结构共通性。虽然迭代模型是一个认知科学理论,但是在深度学习的框架下,是否能加以借鉴呢?
在AI Time PhD EMNLP2020专场四直播间中,我们有幸邀请到了加拿大蒙特利尔大学博士生陆玉晨,为大家分享这项研究工作!通过迭代模型,陆玉晨等人提出一个方法来解决在交互式语言学习中经常会碰到的问题:语言迁移(language drift)。
陆玉晨:加拿大蒙特利尔大学MILA实验室的博士生。主要研究方向是语言获取,系统性泛化, 以及语言学习和强化学习的交叉。

01

研究背景
1.1 什么是语言迁移? 
尽管以BERT为主的大型预训练模型的出现将自然语言处理带入新时代,但它们只是单纯地最大化一些语言学目标来捕获句法和语义等层面的知识,而无法衡量模型是否能用语言去完成特定任务。因此还需要第二个步骤:在用户模拟器(simulator)中通过互动学习(interactive learning)进行微调。
例如在订票系统中,我们首先需要收集人类语料库,然后通过监督学习预训练智能代理A和B,最后把这两个代理放在一个具有全新的用户目标的模拟器中,通过自我对局(self-play)生成机器对话,然后检验动作和目标是否匹配,从而实现自动评估和进化。
不幸的是,互动学习会产生语言迁移问题(language drift)。由于代理仅仅为了完成任务而优化,它们没有保留初始的语言结构,而是互相适应(co-adptation)、导致语言分布发生显著变化,最终产生出一种人类无法理解的新的沟通语言来解决问题,这就是语言迁移现象。
语言迁移在现实生活中其实经常发生,包括句法、语义和语用迁移等。
有时我们看到媒体报道机器人发明了自己的语言等煽动性新闻,要意识到背后本质上就是发生了语言迁移。
1.2 过去的解决对策
解决语言迁移的第一个对策是调整奖励函数,即reward engineering,提供一些额外的标注数据集,尝试让生成的语言尽量靠近人类语言。比如在下面的交流任务中,我们需要把法语翻译成英文、再把英语翻译成德文,由于最后微调时只看法语和德语,会出现中间的英文失控的情况。这时可以在左边的奖励函数中再加一项,使得生成的英文能检索出正确的图片,从而确保中间的英文无误。尽管工业界经常使用,但从学术和方法论的角度来说,该方法其并非一种通用的办法。 
第二种是基于population的方法,主要集中于社区正则化(community regularization)这篇工作,即每次在模拟器训练时从总体中随机采样一对代理,原理是通过经常更换对象来防止互相适应的问题。但结果发现整个总体仍会有语言迁移现象,只是迁移得更慢。 
第三个方法也是目前的SOTA,即有监督的自我对局(Supervised-Selfplay,S2P)。下图表示所有的语言空间,蓝色圈圈里的语言和收集的数据集吻合,而红色圈圈里的语言可以做到奖励的最大化。如此通过互动学习和监督学习的配合,用多任务的方法达到目的。 

02

用种子迭代学习缓解语言迁移
2.1 认知科学中的迭代学习
不同于之前的工作,我们受到认知科学的启发,尝试用迭代学习来缓解语言迁移问题。
人类语言分为内部语言(I-Language)和外部语言(E-Language)。内部语言是指人类大脑中语法等语言的具体知识,而外部语言是指具体的语言表达形式,即口头或书面形式的可观测的数据。这两种语言存在互动,内部语言利用语法来产生外部语言,而语言学习者通过观察外部语言来习得内部语言知识。因此,我们可以把语言的传输和进化过程想象为一个传话游戏,使得语言不断从上一代传达到下一代。
认知科学家们认为,语言的传输过程存在学习瓶颈(learning bottleneck)的现象:要学习的语言系统十分复杂,而能够获得的外部语言数据极其有限,语言学习者无法遍历所有可能的句子来掌握这门语言。一个语言能够成功存活的必然特征是,其内部语言易于从少量样本中习得。由此推理出迭代学习模型假设(Iterated Learning Model,ILM),即语言的结构是对传输过程中学习瓶颈的适应而进化形成的。
因此,早期人们尝试了这样一个人类实验:首先,随机生成一个由物体和字符串配对形成的“语言”,这些物体有一定的形状和颜色。然后,每次让被试通过输入少量样本来学习内部的规则,并尝试输出所有物体对应的字符串,采样每名被试的输出作为下一名被试的输入。不断重复,从而模拟语言传输过程。结果发现,到第十代后,原来随机的语言开始出现一些结构,比如图中前缀ne代表黑色,前缀la代表蓝色等。这个实验说明,人类语言会适应传输过程从而自动变得更有结构。
2.2 提出SIL:种子迭代学习算法
上面的认知科学假设告诉我们,语言的迭代存在一种隐性的正则化,从而使得语言更有结构。我们做互动学习时,或许也能人为地创造类似的传输过程来缓解语言迁移问题。
那么,在深度学习的背景下如何实现迭代学习呢? 
首先我们有一个预训练产生的代理,初始化为第一代学生,然后复制成为老师,进行self-play互动学习。互动学习到k1轮后,老师的行为会产生一个数据集,学生在上面做k2轮的模仿学习,成为下一代老师,不断重复。经过多轮迭代,开始的语言分布会变形,直到最后部分还原出本来的语言结构。
K1和k2在我们的算法中比较重要,如果k1较大,则互动学习太多,导致这个阶段语言迁移特别严重,后期无法恢复过来。如果k2较大,则模仿学习太多,学生会对老师过拟合。因此,k1和k2都不能过大。

03

实验方法及结果
3.1 Lewis Game实验
我们先做了第一个Lewis Game实验:给定一些不同颜色、形状和边框的物体,发送者(sender)看到物体后发送消息给接收者(receiver),接收者看到后判断收到的消息和物体是否匹配。训练的奖励是能否能重构出正确的物体。主要看两个衡量指标:一个是任务分数,即能否解决任务;一个是语言分数,即发送者在互动训练的过程中能否维持初始的语言。
我们发现使用了 SIL之后,任务和语言分数都有所提升。而S2P以及完全不用任何方法的Gumbel语言分数相对较低,说明有语言迁移的现象发生,但使用SIL后缓解了语言迁移现象。 
通过k1/k2语言分数的热力图发现,当k1增加时,语言分数的确会有所下降,但奇怪的是,当k2增加时,语言分数的下降并不严重。这是因为我们在产生老师的数据时,使用了argmax的方式,从而过滤了老师送给学生的信息,因此这里有着潜在的瓶颈。
为了验证这个观点,我们尝试了两种老师和学生之间知识传输的protocol:第一种还是用argmax然后做交叉熵,第二种是让学生直接获得老师的语言分布信息。结果发现,第二种情况中增加了learning step,学生就会对老师过拟合,语言分数也会相应降低。这说明数据生成本身也是学习瓶颈的一部分。 
3.2 翻译实验
第二个是翻译实验,从法文翻译到英文再翻译到德文,考察当中的英文是否发生语言迁移。
任务分数是法文翻译到德文的BLEU score,语言分数衡量当中的语言是否有所变形,主要关注English BLEU score。
结果表明,随着训练的进行,基准模型(黄线,代表正常训练)的任务分数确实会上升,但同时English BLEU score会立刻下降,说明很快就偏移了正常的人类语言。有个解决方法是把sender的语言固定住(红线),我们会发现语言分数的确很高且一直不变,但任务分数会差很多。我们知道只微调某一层layer肯定没有微调所有layer的效果好,这就是其中的道理。相比之下,我们的算法SIL(蓝线)能够在任务和语言上都有较好的结果。由于篇幅限制,其他结果的分析不一一展开。

04

总结
在面向任务的语言环境中使用模拟器进行交互训练,会存在语言迁移的问题。我们提出了一种种子迭代学习的方法(Seeded Iterative Learning,SIL),能够在训练过程中对抗这一问题。实验表明,这种方法在保持句法结构和解决任务方面都优于标准基线。 
原论文链接:
Countering Language Drift with Seeded Iterated Learning. EMNLP 2020. 
https://arxiv.org/pdf/2003.12694.pdf
直播回放:https://b23.tv/swlRXB
PPT:http://aitime-lundao.oss-cn-beijing.aliyuncs.com/AitimeReport/20201206/aitime PhD-43.pdf

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。



“综述专栏”历史文章


更多综述专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存