⬆⬆⬆ 点击蓝字

关注我们

AI TIME欢迎每一位AI爱好者的加入!

摘要:神经机器翻译中的标准训练策略存在曝光偏差问题。即使已有研究提出缓解曝光偏差方法,但是曝光偏差造成的实际影响仍然存在争议。

本文,我们将曝光偏差与神经机器翻译中另一个广泛讨论的问题,即跨域下产生幻觉翻译联系起来。通过三个数据集多个测试域的实验,我们证实曝光偏差是导致幻觉翻译的原因之一。使用最小风险训练模型,避免暴露偏差,即可减轻幻觉翻译。我们的分析实验解释了为什么曝光偏差在跨域的场景下会造成更严重的问题,并且证实了曝光偏差与束搜索矛盾问题(即增加搜索束宽性能恶化)之间的联系。

本文的实验发现为减少暴露偏差的相关方法提供了一个新的佐证:即使它们不能提高域内测试集的性能,它们仍旧可以提高模型的跨域稳定性。

王朝君,爱丁堡大学,爱丁堡大学信息学院科研助理,导师为Alexandra Birch。主要研究方向神经机器翻译,已在相关领域的国际顶级会议ACL发表论文。

一、幻觉翻译和曝光偏差的概念

本次分享的内容主要是一篇分析文章,这篇文章主要联系了目前领域中的几个理论问题和实际问题,比如:曝光偏差(Exposure Bias),幻觉翻译(Hallucination),以及神经机器翻译的跨域稳定性。此外还提出了一种新的可视化的方法,针对模型的曝光偏差。

首先,对幻觉翻译做一个说明。幻觉翻译指的是模型产生的翻译和原文在内容层面是不相关的,但是没有语法方面的错误。举一个例子:给模型输入一个德语句子,原意为:她发现了我们。但是模型会把它翻译成:如果他们的症状和你一样。之前的研究和本次的工作都发现这样的幻觉翻译在模型的跨域翻译情景下很常见。跨域稳定性的实际意义在于当用户使用的目标领域未知或者在低资源情况下,没有充足的目标领域并行语料。这篇文章从幻觉翻译的角度探究模型的跨域稳定性。

当前的端到端神经机器翻译模型中有一个大家普遍认知的理论缺陷,它就是曝光偏差。曝光偏差指的是模型训练与预测过程之间的不匹配。在训练时每一个词输入都来自真实样本,但是在推断时当前输入用的却是上一个词的输出,所以这样的不匹配大家称之为曝光偏差。像MRT最小风险训练这样序列级的训练损失函数在理论上可以避免曝光偏差的产生,但是在学界对曝光偏差实际产生的影响仍然存在争议。在这篇论文的工作中,假设曝光偏差可能导致跨域下的幻觉翻译问题。所以文章探究两点:第一,曝光偏差是否是导致幻觉翻译的原因之一;第二,采用MRT损失函数训练模型之后是否能减小幻觉翻译的出现从而提升跨域稳定性。

二、MRT对跨域翻译稳定性的影响

我们对上述问题进行了实验验证。实验使用两个语言对,德语到英语(OPUS)和德语到罗曼什语(Allegra/Convivenza),括号中是语料的来源。德语到英语的训练集使用的是医疗领域语句,而测试集语句则是关于IT,法律,古兰经以及电影或电视字幕。对于德语到罗曼什语,训练集使用的是法律领域语句,测试集语句是博客相关的语料。我们采用Transformer作为模型架构。首先使用最大似然函数训练模型,作为基线。然后使用MRT精调基线,作为对比模型。

可以看到经过一系列的超参数的搜索,在测试集上进行评估之后,最终的结果呈现在上图中。蓝色的代表基线模型,红色代表MRT精调之后的对比模型。在两个语言对上,在同域(In-domain)的测试集下,MRT对比基线在稳定性上没有很大的提升,即翻译质量没有很明显的提升。但是在跨域(Out-of-domain)的测试集中它有一个比较明显的提升,比基线高出了07-0.8的稳定性。

进一步的对测试集中存在的幻觉翻译比例进行了人工评测。人工评测环节要求评测员对翻译的句子进行两个分类打分,首先对于翻译的流畅性从流畅、部分流畅、不流畅这三个程度进行打分。然后给评测员正确的翻译结果,从内容的充足性上进行充足、部分充足、不充足三个程度进行打分。最终被分类为部分流畅或流畅以及不充足的翻译句子归为幻觉翻译。从上面的表可以看到,在MRT精调之后跨域翻译的幻觉比例从33%下降到了26%。到目前为止,通过实验证实了MRT可以缓解跨域翻译下的幻觉翻译比例,从而提升跨域稳定性。但是还是不清楚这样的提升是否来自于曝光偏差的减小。

为了更进一步分析这个问题,于是通过可视化,观察随着MRT的精调,模型对于偏差有着怎么样的变化趋势。文章所提出的方法,具体来说就是模型对正确标记的翻译和随机抽样的句子的每个token的概率进行打分,然后将结果可视化。这里随机抽样的句子来自于和训练语料领域一致的测试集,并且最终选取的句子长度必须和正确的翻译一样。因此,这个随机抽样的句子相当于一个人造的幻觉翻译。

以上是经过不同updates的可视化结果,本次实验是在德语到英语的跨域测试集上进行的。可以看到在MRT 0 updates时,其相当于基线模型,它在前几个迭代时间还能够对人造的幻觉进行区分,但随着错误的翻译历史慢慢输入,就能够发现它不能区分或者说不能给予正确翻译更高的分数。但是随着MRT的训练,理论上它的曝光偏差会慢慢减小。首先忽略从0到500 updates,因为这一部分整体的概率的提升是因为在基线模型中进行了标签平滑,但是在MRT的训练函数中去掉了标签平滑,所以模型对翻译的置信度有所提升。所以我们主要关注updates从500,1000,2000,3000,从图片中可以明显看到MRT的精调会使得模型会给幻觉翻译一个更大的惩罚,即模型能够区分出reference和distractor,这两个曲线之间的缝隙也会越来越大,这意味着幻觉翻译的比例也会慢慢减小。

同样的现象出现在了同域的测试集中,最开始整体概率上升,500之后模型对distractor有一个下压。虽然MRT对幻觉翻译的偏差有一个减缓效果,但是由于最开始MRT对reference有一个非常高的概率估计,达到了0.65,而在前面跨域测试集下,只有0.2的概率估计,所以即使模型存在曝光偏差,到后期他们之间的缝隙逐渐减小,但是最终的整体概率还是无法超越reference。可以说在同域的情况下曝光偏差带来的实际问题就被隐藏了,因此序列集的训练函数,例如MRT,所带来的提升被隐藏了。所以说到目前为止,通过分析实验证实了文章的假设。

基于以上实验,进行了进一步的假设,认为之前实验所发现的束搜索悖论问题(随着束宽增大到一定程度,翻译质量会下降)和曝光偏差有关。。于是使用束宽分别为1、4、50进行了测试。可以看到,随着束宽增大,幻觉翻译的比例发生了上升,即便MRT精调之后也没有缓减这个现象。但是缓减了上升的幅度,从44%下降到了33%。同时在稳定性上可以看到束宽4到50有所下降,但是经过MRT精调后下降幅度有所缓减,从16%下降到9%。

三、结论

这篇文章对曝光偏差这个理论缺陷提出了新的问题,即幻觉翻译问题。通过实验证实了通过MRT模型可以减小跨域翻译的幻觉翻译比例,从而提升神经模型的跨域稳定性。更重要的一点,本实验给序列级的目标函数提供了新的佐证,即使它不能对同域的翻译质量进行一个比较明显的提升,但能够提升模型的跨域稳定性。

嘉宾问答:

请问一下in-domain的曝光偏置问题严重吗  现在有什么比较有用的方法吗?

目前的研究发现in-domain下曝光偏差所带来的实际问题并不是很严重,可以参考一下这篇文章 https://arxiv.org/pdf/1905.10617.pdf。解决曝光偏差方法研究大概分两类,一类是强化学习类的方法,把模型的翻译与reference的metric作为RL的reword,我们工作中用到的MRT也算作这一类;另一类是schedule sampling类,基本思想是模拟模型的预测过程来训练模型,比如ACL2019 best paper就属于这一类。

整理:闫昊

审稿:王朝君

排版:田雨晴

本周直播预告:

AI Time欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你,请将简历等信息发至yun.he@aminer.cn!

微信联系:AITIME_HY

AI Time是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。

更多资讯请扫码关注

(点击“阅读原文”下载本次报告ppt)

(直播回放:https://b23.tv/DDkF5J)

神经机器翻译中的曝光偏差,幻觉翻译与跨域稳定性相关推荐

  1. 线上直播 | NVIDIA TensorRT在神经机器翻译中的应用

    神经机器翻译(Neural Machine Translation,简称 NMT)存在于各种各样的消费者应用程序中,包括 web 站点.路标.在外语中生成字幕等. NVIDIA 的可编程推理加速器 T ...

  2. 刨根问底:NLP中的曝光偏差问题的思考

    什么是曝光偏差? 曝光误差(exposure bias)简单来讲是因为文本生成在训练和推断时的不一致造成的. 不一致体现在推断和训练时使用的输入不同,在训练时每一个词输入都来自真实样本(GroudTr ...

  3. 神经机器翻译中语言学知识的引入

    博客地址:http://blog.csdn.net/wangxinginnlp/article/details/56488921 准备在组内做一个关于神经机器翻译中语言学知识的引入(syntax + ...

  4. ajxs跨域 php_PHP项目中是如何处理Ajax请求与Ajax跨域的

    PHP项目中是如何处理Ajax请求与Ajax跨域的 发布时间:2020-12-14 16:35:47 来源:亿速云 阅读:98 这期内容当中小编将会给大家带来有关PHP项目中是如何处理Ajax请求与A ...

  5. 神经机器翻译中的关键技术

    这里写目录标题 前言 基本流程 语言学分析 前处理(Pre-process) 正则化(Normalization) Truecase 预分词(Pre-tokenization) 分词(Tokeniza ...

  6. uniapp中实现微信H5定位、解决跨域问题

    uniapp中实现微信H5定位 跨域问题: 移动端h5中直接使用WebServiceAPI可能会有跨域问题,前端最简单的解决方法就是jsonp, 但uniapp中再使用jQuery的ajax就不太友好 ...

  7. ajax是如何实现跨域的,在JS中如何实现ajax与ajax的跨域请求

    下面小编就为大家分享一篇原生JS实现ajax与ajax的跨域请求实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 一.原生JS实现ajax 第一步获得XMLHttpRequest对 ...

  8. 搜索、推荐、广告中的曝光偏差问题

    作者 | wulc 整理 | NewBeeNLP 机器学习本质上是在学习数据的分布, 其有效性的假设是模型 training 和 serving 时的数据是独立同分布(Independent and ...

  9. vue中使用axios通过配置proxy实现跨域

    请求地址 http://www.xxx.cn/api/queryMsg.php main.js import axios from 'axios' Vue.prototype.axios = axio ...

  10. nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(二)

    1.论文整体框架 1.1 摘要 神经机器翻译的任务定义: 传统神经机器翻译所用的编码器-解码器模型的缺陷: 本文提出一种能够自动搜索原句中与预测目标词相关的神经机器翻译模型: 所提出的模型的效果: 1 ...

最新文章

  1. Linux中使用gcp拷贝报错:dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NotSupported:
  2. 【推导】Codeforces Round #364 (Div. 2) D. As Fast As Possible
  3. k8s与CICD--将drone部署到kubernetes中,实现agent动态收缩
  4. C#不为人知的秘密-缓冲区溢出
  5. android onitemclicklistener 参数,android – 对listview中的项使用setOnItemClickListener
  6. 移动web时代已开启:腾讯X5内核浏览服务
  7. vivo U3开启预约:搭载骁龙675
  8. fc588热敏打印机驱动_为称重仪表设计热敏打印模块 - 工业自动化称重仪表
  9. What is Closure
  10. 通过方法将汉字转成拼音
  11. wireshark解密本地https流量笔记
  12. log4j日志配置(超详细)
  13. 2寸照片尺寸大小是多少,两寸照片多大?
  14. python生成vcf通讯录文件
  15. 云计算工程师面试题集锦,常见云计算面试题及答案
  16. 2.4G NRF24L01无线模块总结
  17. python中mainloop什么意思_Tkinter中的mainloop应该如何理解?
  18. 如何用计算机处理信息,计算机信息处理
  19. windows msys2 启动缓慢 解决办法
  20. 华为交换机路由器命名规则

热门文章

  1. html如何开发影音播放器app,js HTML5多媒体影音播放
  2. 常见的 360° 全景视频格式介绍及播放方式
  3. Linux ftrace 2.3、kprobe event的使用
  4. Python实现点击选择验证码破解
  5. oracle dbms_lob trim,DBMS_LOB
  6. 微软总裁:杀手机器人的崛起「势不可挡」【智能快讯】
  7. centos8安装和启动中文智能拼音
  8. GAN的Loss为什么降不下去
  9. ios中获得UUID的方法,ios怎么获得uuid
  10. 【易错】Python中for循环删除元素,有个坑,请勿入坑!!