【专栏:研究思路】序列到序列生成是目前NLP领域生成任务的主流模型,主要应用于机器翻译、语音识别、序列标注等任务上。然而,这需要源序列是完整的,在同声传译、流式语音识别等现实场景中不能够适用。因此,根据不完整源序列进行生成就被称为Prefix-to-prefix生成。

本文整理了中国科学院计算技术研究所研究员,青源会会员冯洋在《青源Talk第九期|从Sequence-to-sequence生成到Prefix-to-prefix生成》中的主要分享内容,包括以下三个方面:

1.  目前Prefix-to-prefix基本概念,以及和Sequence-to-sequence生成的区别;

2.  当前Prefix-to-prefix生成的研究进展及面临的挑战;

3.  针对这些区别和挑战,目前的解决方案。

讲者介绍:冯洋,中国科学院计算技术研究所研究员、博士生导师、自然语言处理团队负责人,中国人工智能学会首批杰出会员,主要研究方向为自然语言处理、机器翻译和人机对话。担任中文信息学会青年工作委员会副主任,多次担任ACL/EMNLP/COLING等国内外会议高级领域主席/领域主席。机器翻译方面的工作获得ACL  2019最佳长文奖,为ACL开办50多年来国内首次获得该奖项,并获CCF自然语言处理专委会 “青年新锐奖”、“汉王青年创新奖”一等奖等,并作为项目负责人承担国家重点研发计划项目等。

本文整理自青源Talk第九期,视频回看地址:https://event.baai.ac.cn/activities/202

此外,冯洋研究员对青年学生的寄语如下:

讲者:冯  洋

撰文:梁  子

审校:戴一鸣

01

Prefix-to-Prefix:问题与挑战

在介绍Prefix-to-prefix之前,我们需要先了解序列到序列(Sequence-to-sequence)生成。序列到序列生成是目前生成任务的主流模型。给定一个源序列,Sequence-to-sequence会通过encoder来获得其表示,然后基于表示序列化地生成目标序列,它目前的应用有机器翻译、语音识别、序列标注等任务。

以机器翻译任务为例,这种生成方式的特点是:在进行翻译时,源序列是完整的,即需要基于整个源序列进行翻译。但在现实需求中,我们常常需要在序列流(如语音流)没有结束输入的时候就进行翻译,这时Sequence-to-sequence的生成方式就不再适用。一般而言,实时处理这种不完整的流数据,就被称为Prefix-to-prefix生成。

正如前面所述,Prefix-to-prefix更适合于流式的语音识别、同声传译等实时任务。对于这些任务,如果等到数据流采集完毕再进行处理,就会因为时延而影响用户体验。因此,Prefix-to-prefix的难点在于保证“低延时”,即在只获取了部分数据流时便进行处理。以同声翻译为例,当第一步输入两个词时,prefix的方式就会开始翻译生成第一个词。之后再获得新的两个词作为输入,开始生成第二个目标词,如此循环往复。

在以上过程中,prefix需要根据一个信息不完整的源前缀来生成目标序列,因而比起Sequence-to-sequence的方式,这种处理的难度更高。基于这个区别,Prefix-to-prefix生成中主要有三个挑战,分别是:输入信息的不完整性、模型生成策略的不确定性和生成模型较低的鲁棒性。

以下将以同声传译为例对上述问题进行介绍。

(一)输入信息的不完整性

下图展示了如何将“鲍威尔12日与沙龙举行了会谈”这句话翻译为英语中的序列:“Powell held talks with Sharon on 12th.”。在Seq-to-seq的背景下,“talks”的生成会受到所有输入词汇的影响,因而更容易被确定。但在Prefix-to-prefix中,由于在生成“talks”这个词时,所拥有的输入只包括“鲍威尔12日与沙龙”这几个词,生成“talks”所需要的关键词汇“会谈”还没有被输入,所以在这种情况下试图去生成“talks”词,天然上就是一个困难的问题。

(二)模型生成策略的不确定性

第二个挑战是基于Prefix-to-prefix方式,模型的不确定性会比Seq-to-seq更高。由于Prefix-to-prefix是在非完整信息的基础上进行文本生成,所以何时进行下一个词汇的生成也是一个不确定的问题。以下图为例,目标序列中词汇的生成可以在不同的策略下产生,同时,不同场景或者不同的输入对应的最优策略会不同,因此无法确定各个生成策略的优劣。

(三)模型的鲁棒性问题

第三个挑战来自于Prefix-to-prefix模型的鲁棒性问题,主要体现在两个方面:

第一个是噪声问题。Prefix所生成的结果更容易受到噪声的影响。以下图为例,源序列中的“与”和“于”可能会对应目标序列的两种结果“with”和“in”。而在语音流中,“与”和“于”又是十分相似的。因此这种因为语音识别错误而产生的噪声,就会较大地影响翻译结果。

第二个问题同样由于句子信息的不完整导致的。比如源序列中的“举行”,如果后面的词是“会谈”,那么目标序列用“held”(搭配“talks”)比较合适;如果源序列用“运动会”,那么“hosted”比较合适。

02

解决方案

针对以上问题,当前Prefix-to-prefix的解决方案如下。

(一)获取完整信息

对于输入信息不完整的问题,可以通过以下三种方式获取更多的信息:

1.  当信息比较完整的时候才进行生成,即设计一个更加合理的读写策略;

2.  预测未来信息。假如能够预测到未来可能生成的是什么信息,那么即使输入不完整,也可以基于一个相对完整的语义进行翻译;

3.  引入额外的信息。如序列的信息等等。

在读写策略的设计上,可以设计以下三  类策略:

1.  固定策略,即提前设计一些规则,以执行Prefix-to-prefix的翻译;

2.  自适应策略,即根据当前状态动态地判断是否可以开始翻译;

3.  分段策略,即提前学习如何对源序列进行分段,以期望让每一个段的信息都相对完整。如此一来,针对于每一个段而言,所进行的便是Seq-to-seq学习了。该策略也是目前做同声传译的公司的主流策略。

基于规则的固定策略,以百度的wait-k policy为代表,即滞后k个词进行翻译(下图例子为滞后2个词),然后再读入一个词,再翻译一个词。如此循环往复。这种方法比较工整,但在没有完整的输入时也必须要进行翻译,所以仍会面临语义信息不完整的问题。

自适应策略主要包括两种,一种是单调回溯注意力(MILK),即对于源端的序列每一步都会让模型预测一个对应的伯努利变量(如下图最右方所示)。之后,根据该变量的概率分布,MILK会决定下一步时读还是写。

另一种自适应策是多头单调注意力(MMA),该策略可以看作是MILK的加强版。即在多头注意力机制的基础上,对每个head都应用了MILK,每个head有相互独立的伯努利变量,图示是三个heads的例子。

最后是分段策略。分段策略是指首先根据标准将原序列划分成若干段,之后训练一个分类器来决定分段,通过对每个片段进行翻译,来实现全序列翻译的目的。这里要求每个片段的信息尽量是完整的。

对于分段策略,主流方法是语义单元。语义单元是指让预测模型认为具有较大的置信概率的单词组合。如下图所示, “上午十”被判断为独立语义单元的概率仅是0.4,所以需要继续输入;当获取到“上午十点”时,被预测为独立语义单元的概率是0.9,所以就进行分段了。

这里我们团队做了一种预测未来信息的方法。这个方法是期望通过将Seq-to-seq模型的知识转移到Prefix-to-prefix模型中,来实现对未来信息的预测。具体做法是,通过知识蒸馏,把Seq-to-seq模型中的知识蒸馏给prefix-to-prefix模型。如此一来,在测试阶段,虽然仅仅使用Prefix-to-prefix模型,但是该模型就隐性地具有了一些未来的信息。

另一种策略是引入额外信息。如下图所示,在视频翻译中,尽管有时语音还没有结束,就可以借助图片等其他模态的信息去辅助翻译。

(二)提高模型生成的稳定性

解决模型生成不确定的问题,主要思路是模型集成。通过融合多个模型,让这些模型协同合作,可以缓解生成的不稳定问题。

针对该问题,一种解决思路是随机采样生成。该方式通过维护K个wait-k模型来提升稳定性。在测试时,wait-k会进行随机采样,并选用概率较高的k策略。该思路的问题是,由于不同的k共享模型参数,所以不同的k对应不同的策略,会因为相同的参数而发生互相干扰。

针对该问题,冯洋老师团队给出一种改进——MoE wait-k策略。这是一个混合专家wait-k策略,根据多头注意力里面的 head来划分神经元,把每一个head视为一个独立的专家,每一个专家可以执行不同的生成策略,然后不同的专家再进行动态加权组合。如此一来,所有的wait-k策略都是同时维护的,但又不会导致占用很大的空间。

(三)提升模型的鲁棒性

最后一个问题是模型的鲁棒性低,即噪声敏感的问题。针对该挑战,直观的解决思路是发现错误就进行修正,或者尽量减少错误的出现频率。其解决思路根据使用场景的不同而有区别。对于同声传译等场景,输出序列产生之后无法进行修改;对于字幕等场景,由于输出序列也可以进行小范围的修复,所以可以使用Beam Search等方法动态地维护多个候选。

Timely Correction是一种针对于输出可修改的情况的动态修改方法。当输入更多信息的时候,该方法会根据概率来调整输出策略。为了避免修改得太远,它只允许修正最后一个固定窗口的输出。

另一种方式是调整源序列格式,通过不同的分词方法,可以确定优化的输入。当输入“他是研究生物的”这句话时,最后一个总token是不予翻译的,比如“他是研”中,无法翻译“研”这个token,当“究”输入进模型,由于“研究”仍然是一个完整的词,所以仍然不会被翻译,“研究生”、“研究生物”都不会翻译。通过这种方式,就可以避免产生错误的prefix翻译了。

当然,这种方法的问题是,在进行处理的过程中,由于翻译是无法处理的,所以持续的删除和分词会影响性能。下图展示了不同的分词方式。实验证明:源端基于字符级进行分词,目标端基于BPE算法进行切分,是目前来看最优的策略。

03

Prefix-to-prefix方法的未来发展方向

相较于之前,同声传译的效果有了很大提升,但依然有很长的路要走,因为它离Sequence-to-sequence生成还有一定的距离。从研究的角角度来说,将来可以做的方向有以下四点:

1.  更加合理的读写策略,使得输入的信息尽可能的是语义完整的;

2.  提高读写策略在不同场景下的鲁棒性;

3.  对特殊语种的精细化处理。如对于中英二者的语法特点,可以设计一些精细化的处理和额外的读写策略;

4.  引入更丰富的外部信息。通过其他模态信息的补充,可以为翻译提供更高的精度。

04

问答环节

分享结束后,中国科学院自动化研究所模式识别国家重点实验室研究员,青源会会员张家俊作为主持人和冯洋老师进行了对话,以下为内容整理,有删节。

Q1:相比英文而言,中文处理处理有什么特别之处,有哪些值得研究或是注意的问题?

冯洋:首先特殊之处是输入,输入的格式是基于词还是基于字,中文特殊的地方是它需要进行分词的,不同的词在一起,可能表示的意思是不一样的,所以更多时候它的语义是以单独的词的形式来体现的,也就是说做中文需要进行分词,我认为这是它的一个特殊的地方。

第二个特殊地方是,中文真的是博大精深,同样一句话,不同的场合可以有不同的含义。比如“我一把把车把把住了”。我们人听了还得好好地分一下词,把这个给翻译系统,翻译系统肯定理解不了。中文处理遇到的这种奇异现象,或说因为这种分词引入的错误,需要花更大的力气去处理。

另外一个特点,我觉着尤其是现在大规模预训练模型出现之后,对我们中文是有一个不利的地方,中文相对于欧洲语系比较孤立,以后用中文资源,可能容易受限。

Q2:如何看待近年来自然语言处理与计算机视觉领域相辅相成、共同发展的局面?有哪些视觉加语言的多模态方向具有不错的研究前景?

冯洋:在深度学习出现之前,自然语言处理和计算机视觉的交叉还是比较少的,可能因为自然语言更多时候输入的是序列,而视觉不是序列。到了深度学习之后,我们发现自然语言处理和计算机视觉越来越亲密了。

首先是发现很多方法是从计算机视觉方面借鉴来的,视觉更可能遇到零样本小样本学习的问题,这个问题是比自然语言处理严重的,这方面的工作可以借助计算机视觉。

现在一统自然语言处理的Transformer,也去横扫计算机视觉领域,大家也用起来了,这是技术上的一个互通。

现在大家开始做多模态了,不是互相借鉴了,而是组成一个整体,现在出现的多模态任务,是需求激发了研究。

另外一个是我们现在在研究的,比如多模态的机器翻译,我觉得这个将来也是非常需要的,比如现在用直播购物的越来越多,比如TikTok国际化,大家会跨越国家语言的限制卖东西,语言上的这种障碍就需要进行翻译,因为大家说话信息恐怕不是很完整,如果借助图片信息,这个翻译效果会更好。

Q3:多模态的学习,无论是翻译还是摘要等,将来可能遇到的关键问题或瓶颈是什么?

冯洋:如果只看近几年,就是谁有资源谁就得天下,现在面临的一个比较尖锐的问题是资源匮乏,很多大公司想做这方面的工作可能都会不约而同地找人标数据,有了数据才能做起来,只要资源上去了,效果会更好,这是一个比较现实的问题。

那么我们再转到纯学术的研究,考虑它的问题。现在可能会用预训练模型来做,有文字的预训练模型,也有图片的预训练模型,都很大,可以利用这个资源。但是实际做的时候可能会发现,这两个预训练模型学的东西可能不在同一个空间里面。假如不同模态的信息出现了失调的情况,比如文本特别多,图片比较少,这是用预训练模型会发现其实它很难学好,这样会导致最后资源很难统一。

Q4:现在很多预训练方法变成了一种范式——预训练+微调,也是主流的方式,这种方式取得成功的一个最大的原因是什么?

冯洋:这种范式最大的成功是数据量大,一部分达成了共识,有钱有语料的大公司把预训练模型调好,得到一个全空间的模型。

针对于下游任务,通过微调,把某个需要的区域激活了,就像人的大脑。预训练模型就像是学术界的共产主义,资源共享大家都用。所以我觉得真的是一个特别造福人类的工作。

既然预训练模型那么强,一些具体模型还有必要吗?预训练模型在其他的方面都表现得性能特别优异,但是在机器翻译领域很长一段时间没流行起来,因为机器翻译模型本身数据比较多,可以自给自足。

再一个这种预训练模型更多是单语的,更多是提供语言模型上的帮助,机器翻译经常苦恼的问题是翻译模型的语言模型能力过强了,经常生成的译文特别流利,如果是不看源端以为翻译的是对的,然后一看,原来说得这么流利,竟然是在自说自话,和源文说的不是一回事。所以下游任务自己特有的模型还是有必要的,可以针对下游任务的特点去设计。

Q5:现在有了基于提示语的Prompt Learning的方式,会是自然语言处理的未来方向么?

冯洋:Prompt方法现在确实表现特别好,Prompt相当于允许人们创作,但Prompt也是有限制的。为什么Prompt在机器翻译上面没用起来,因为它没有做到两种语言之间的对应。

Q6:您在2019年获得了ACL最佳长论文奖,一篇优秀的论文需要具备哪些特质?怎样才能写出一篇具备最佳论文水平的Paper?论文从投稿到被接收到最终获奖需要经历哪些阶段?我们学生写作有什么建议?

冯洋:我们国内的学者在国际学术界起了越来越重要的作用,很多工作都特别优秀,得最佳论文我觉得除了工作做得好与不好,运气是特别重要的,这属于天时。接着地利,我觉得最佳论文首先得准备充分,最佳论文的写作,需要经过反复打磨。另外实验要做得非常完备的。

具体写作应该是怎么样的?写作首先逻辑要特别好,整个的逻辑要形成一个闭环,每一句话都不能是我说,而是要有出处,或者是你说的话都是要有实验验证的。再从写作上来说,因为我们不是native speaker,需要不断地写,不断地改,不断地模仿,在这个过程中不断得到进步。选择正确的模仿对象也很重要。

对于实验,一定得分析做的实验都是为了证明,为了作为说的某些话的论据而存在的,而不是孤立存在的。对于实验的比较,哪怕是可比较可不比较的这种,建议时间允许就去比较。

写论文是最怕陷入一种逻辑——自认为讲得清楚,认为有些没必要写。这样想就危险了,因为看文章的不是“我”,而是读者。所以很多时候需要是想读者是怎样的感受,对于读者,我们还得想文章的目标受众是谁?从读者的视角去考虑,把文章写得好懂。

中科院冯洋| Prefix-to-Prefix生成:进展、挑战与展望相关推荐

  1. IJCAI 2018:中科院计算所:增强对话生成一致性的序列到序列模型

    IJCAI 2018:中科院计算所:增强对话生成一致性的序列到序列模型 文章来源:企鹅号 - 读芯术 你和"懂AI"之间,只差了一篇论文 号外!又一拨顶会论文干货来袭! 2018年 ...

  2. 虚拟专题:知识图谱 | 知识图谱多跳问答推理研究进展、挑战与展望

    来源:<大数据> 知识图谱多跳问答推理研究进展.挑战与展望 杜会芳1, 王昊奋1, 史英慧2, 王萌3 1 同济大学设计创意学院 2 东南大学网络空间与安全学院 3 东南大学计算机科学与工 ...

  3. 点云综述一稿 点云硬件、点云软件、点云处理算法、点云应用以及点云的挑战与展望

    经过一周的综述撰写,深感点云算法应用之浩瀚,只能仰仗前辈们的文章作一些整理: 点云硬件: 点云获取技术可分为接触式扫描仪.激光雷达.结构光.三角测距(Triangulation).以及立体视觉等多种. ...

  4. AI:2023年6月9日北京智源大会演讲分享之基础模型前沿技术论坛—《工程化打造AI中的CPU》、《构建一个AI系统:在LLM上应用带有RLHF来推进定制》、《多模态预训练的进展回顾与展望》、《扩展大

    AI:2023年6月9日北京智源大会演讲分享之基础模型前沿技术论坛-<工程化打造AI中的CPU>.<构建一个AI系统:在LLM上应用带有RLHF来推进定制>.<多模态预训 ...

  5. 聊一聊今年实例分割领域的进展和未来展望

    点击上方"视学算法",选择"星标" 干货第一时间送达 作者:林大佬 | 来源:知乎 https://zhuanlan.zhihu.com/p/150321886 ...

  6. 物理层技术前沿_前沿 | 星地融合的3GPP标准化进展与6G展望

    北京呼风唤雨文化传媒有限公司 前沿 | 星地融合的3GPP标准化进展与6G展望 文 | 王爱玲,潘成康(中国移动通信有限公司研究院) 摘   要 非地面网络致力于将卫星通信与5G融合,构成海陆空天地一 ...

  7. 活动报名 | 宾夕法尼亚大学助理教授苏炜杰:隐私数据保护的一些进展和未来展望...

    活动议程 日期:5月12日(周四) 时间 主题 9:30-9:35 开场简介 张弘扬 滑铁卢大学计算机学院助理教授,加拿大向量研究院挂职教授 9:35-10:20 隐私数据保护的一些进展和未来展望 苏 ...

  8. 中科院自动化所介绍深度强化学习进展:从AlphaGo到AlphaGo Zero

    来源:德先生 概要:2016年初,AlphaGo战胜李世石成为人工智能的里程碑事件.其核心技术深度强化学习受到人们的广泛关注和研究,取得了丰硕的理论和应用成果. 深度强化学习进展:  从AlphaGo ...

  9. 面向行人重识别的局部特征研究进展、挑战与展望

    来源:专知 本文附论文,建议阅读5分钟 本文对近年基于局部特征的行人重识别文献进行梳理并进行研究. 摘要: 行人重识别(Person re-identification, Re-ID)旨在跨区域.跨场 ...

最新文章

  1. 点分治问题 ----------- P3727 曼哈顿计划E[点分治+博弈SG函数打表找规律]
  2. mysql建帐号数据库出现反斜线_[MySQL FAQ]系列 -- 账号密码包含反斜线时怎么办
  3. Go 语言编程 — 并发 — Goroutine 协程
  4. 数据库防火墙——实现数据库的访问行为控制、危险操作阻断、可疑行为审计...
  5. 简单分析Guava中RateLimiter中的令牌桶算法的实现
  6. SpringCloudGateway静态路由配置
  7. 一起学并发编程 - 优雅关闭
  8. ML/DL常用评估方法
  9. 信息学奥赛一本通(1405:质数的和与积)
  10. iOS开发笔记 3、iOS基础
  11. 【bzoj2989】数列 KD-tree+旋转坐标系
  12. 车辆跟踪 matlab,车辆跟踪matlab
  13. 股指期货基差和升贴水介绍
  14. ubuntu端口映射
  15. 漫漫人生录 | 一个月薪 120000 的[ 北京 ] 程序员的真实生活
  16. ioi 赛制_《Produce48》现坑爹赛制 网友称这波操作令人窒息
  17. Subspace Adversarial Training
  18. 2019级软件工程应用与实践-人工智能快递柜(代码分析3)
  19. 树莓派 更换键盘 2020_魔改售价2000多元的HHKB键盘!蓝牙双模+外接TF卡+树莓派ZERO...
  20. linux 无法清空回收站

热门文章

  1. python格式批量重命名文件_利用Python批量重命名一系列文件名杂乱的文件
  2. python从文件中读取数据_Python3 中把txt数据文件读入到矩阵中的方法
  3. grub2引导linux内核,一种基于grub2的linux系统启动bootloader的制作方法与流程
  4. python中停车收费问题_使用CKRule实现停车场收费计算
  5. java 去掉 时期中的图片,去除图片浅色背景(Java 实现)
  6. 天津商业大学计算机科学与技术分数线,天津商业大学录取分数线2021是多少分(附历年录取分数线)...
  7. python3语音识别模块_语音识别(LSTM+CTC)
  8. adc0832对光电二极管进行数据采集_实车采集的现场数据如何导入控制模型进行分析...
  9. 对ajax回调函数的研究
  10. 2 Java NIO Channel-翻译