当前位置: 永利总站 > 游戏开发 > 正文

永利总站对偶学习及其在机器翻译中的应用

时间:2020-02-02 23:08来源:游戏开发
人工智能“自学”做翻译 新系统可无需人类监督与平行文本实现多语种匹配 2 相关背景 对偶学习框架可以应用到基于短语的统计机器翻译和神经机器翻译中。在这篇文章中,我们主要

人工智能“自学”做翻译 新系统可无需人类监督与平行文本实现多语种匹配

2 相关背景

对偶学习框架可以应用到基于短语的统计机器翻译和神经机器翻译中。在这篇文章中,我们主要聚焦在后者--神经机器翻译,因为它作为一个端到端的系统,很简单,不需要人工设计精巧的工程。

神经机器翻译系统通常是通过基于编码-解码框架的循环神经网络(RNN)来实现。这个框架从源语言句子 x = {x1,x2,...,x_{Tx}} 到目标语言 y = {y1,y2,...,y_{Ty}} 学习了一个概率映射 P(y|x),其中,xi 和 yt 分别是句子x的第i个词和句子y的第t个词。

更具体一些,神经机器翻译的编码器读取源语言句子 x ,然后基于RNN生成 T_{x} 个状态,

h_{i} = f(h_{i-1},x_{i}) (1)

h_{i} 是时刻t的隐状态,函数f是循环单元,例如Long Short-Term Memory(LSTM)单元或者Grated Recurrent Unit(GRU)。然后,神经网络的解码器计算每个目标词 y_{t} 的条件概率,对于 y_{t} ,已知它先前的词 y_{<t} 和源语言句子,例如, 基于概率链式法则, 使用 P(y_{t}|y_{<t},x) 来确定 P(y|x) 。P(y_{t}|y_{<t},x) 如下列所示,

P(y_{t}|y_{<t},x) varpropto exp(y_{t};r_{t},c_{t}) (2)

r_{t}=g(r_{t-1},y_{t-1},c_{t}) (3)

c_{t}=q(r_{t-1},h_{1},...,h_{T_{x}}) (4)

其中, r_{t} 是解码器RNN在时刻t的隐状态,相似地,也是通过LSTM或者GRU进行计算; c_{t} 根据编码器的隐状态定义了生成词 y_{t} 的上下文信息。 c_{t} 可以是句子 x 的全局信息,例如 c_{1}=c_{2}=...=c_{T_{y}}=h_{T_{x}} , 或者是局部信息,局部信息通过注意力机制实现,例如 c_{t}=sum_{i=1}^{T_{x}}alpha_{i}h_{i},alpha_{i}=frac{exp{a(h_{i},r_{t-1})}}{sum_{j}exp{a(h_{j},r_{t-1})}} , 其中, a(.,.) 是一个前馈神经网络。

我们将神经网络中待优化的所有参数定义为 Theta ,将用于训练的源语言-目标语言数据集定义为 D ,然后要学习的目标函数就是寻找最优的参数 Theta^{*} 。

Theta^{*}=argmax_{Theta}sum_{(x,y)in{D}}sum_{t=1}^{T_{y}}logP(y_{t}|y_{<t},x;Theta) (5)

“想象一下,你给一个人很多中文书籍和阿拉伯书籍,而且它们没有任何重叠性,然后一个人需要学习将其从中文翻译为阿拉伯语。这听起来似乎不可能,对吧?”其中一项研究的第一作者、西班牙圣西巴提巴斯克国家大学计算机专家Mikel Artetxe说,“但我们证明计算机可以做到这一点。”

6 展望

我们计划在后续探索如下的方向,第一,在实验中,我们使用了双语数据用于暖启动dual-NMT的训练。更加激动的方向就是从头学习,例如,直接从两种语言的单语数据(可能需要词汇词典)开始学习。第二,dual-NMT是基于NMT系统的,我们基本的想法也可以用于基于短语的统计机器翻译系统中,我们将会探索这个方向。第三,我们仅仅考虑一对语言,我们将会进行扩展,使用单语数据,联合训练至少3种语言的翻译模型。

除了不需要平行文本进行跨语言翻译之外,Artetxe和Lample均表示,他们的系统有助于进行诸如英语和法语之间的常用翻译匹配,特别是如果平行文本是同一类的话,如新闻报道。但除此之外,人们还希望将其翻译为不同类型的文本,如街头俚语或是医学术语。“但这一切尚处于新生阶段。”Artetxe的共同作者Eneko Agirre说,“我们刚刚开始了一个新的研究大道,现在我们还不知道它会通向哪里。”

7 从控制系统的角度思考对偶学习

在第5章中,提到了对偶学习可以视为一个闭环学习。闭环学习的概念来源于反馈控制系统。反馈控制系统,输入信号经过控制器、执行器,得到输出信号,然后再将输出信号采集回来,输入信号减去采集回来的输出信号,得到误差,根据误差来调节控制器,使得输出能够跟随输入信号。

对偶神经机器翻译系统可以视为一个反馈控制系统,这里以中文翻译为英文,再将英文翻译为中文为例。

  • 通过中->英翻译模型将中文翻译为英文,就是将输入信号通过控制器、执行器,转换为输出信号,也就是英文;
  • 通过英->中翻译模型将英文翻译为中文,就是将输出信号通过信号采集器返回给输入端,转换为与输入信号同等量纲的信号,也即中文;
  • 通过指标,比较原始中文与翻译过来的中文的相似性,来评估两个翻译模型的效果,也就是计算输入信号与采集回来的信号之间的误差,从而通过控制器的调节,调整输出信号的变化;

循环迭代,直到输出信号能够跟随输入信号。

在控制系统的设计中,需要考虑三个指标:

  • 稳定性
  • 准确性
  • 快速性

分别将这三个指标对应到对偶机器翻译系统中,

  • 稳定性就是对偶机器翻译系统中两个翻译模型的稳定性,如果翻译系统存在漏翻译、翻译质量低等问题,能否在迭代过程中逐渐改善?如果不能得到改善,将会导致翻译质量会越来越低,而非越来越好,这个系统就会逐渐的变差,也就是这个系统是不稳定的。
  • 准确性,也就是对偶机器翻译系统最终稳定时,翻译质量能达到多少?
  • 快速性,如果对偶翻译系统需要达到一个期望的准确度,需要多少时间能达到?另外,如果要超越NMT基线系统,需要多少时间?

因此,我们可以发现,对偶机器翻译系统是反馈控制系统的一个特例,对偶机器翻译系统在设计时,同反馈控制系统一样,需要考虑稳定性、准确性和快速性三个指标。很期待对偶学习以及其在机器翻译领域的发展。

不过,这两种技术之间也有些微差异。UPV的系统在训练过程中进行了更多的回译。而另一个由位于法国巴黎的脸谱网计算机科学家与其合作者研发的系统,则在翻译过程中加入了额外的步骤。在将其“解码”为另一种语言之前,两套系统都会将一种语言的一个句子编码为一种更加抽象的表征,但脸谱网的系统验证了中间的“语言”是真正抽象的。Artetxe和Artetxe均表示,他们可以通过应用对方论文中的技术来改善自己的结果。

4 相关实验

我们做了一系列实验来测试提出的对偶学习机制在机器翻译上的效果。

在两篇文章之间进行的唯一直接对比结果中——对摘自同一组约3000万个语句在英语和法语文本之间进行翻译,两套系统在双向翻译中均获得了15分的双语评估分数(用来衡量翻译准确性)。这个分值没有谷歌翻译高(该系统所用的受监督的方法得分为40分),也不如人类翻译得分高,但却比逐字翻译要好得多。作者表示,两套系统可以很容易地通过变为“半监督性”得到改善,即把数千个平行的语句加入到它们的训练中。

5 扩展

在这部分,我们讨论对偶学习机制可能的扩展。

首先,尽管在我们在这篇文章中集中在机器翻译任务上,但是对偶学习的基本思想具有通用的应用性:只要两个任务具备对偶形式,我们就可以利用强化学习算法将对偶机学习机制应用到从未标注数据中同时学习两个任务。实际上,许多人工智能任务天然的是对偶形式,例如,语音识别和语音合成,图像抓取和图像合成,问题回答和问题生成,搜索(匹配查询词与文档的相似度)和关键词抽取(从文档中抽取关键字/查询词)等等。对于更多的对偶任务,而不仅仅是机器翻译,设计和测试对偶学习算法将会很有意义。

第二,尽管我们将对偶学习集中在两个任务上,但是我们的技术并不仅仅局限在两个任务。实际上,我们主要的想法是形成一个闭环,目的是我们通过比较原始输入数据和最终输出数据,能够提取出反馈信号。因此,如果有多于两个相关的任务可以形成闭环,我们可以应用这个技术来提升每个任务在无标签数据的效果。例如,对于英语句子 x ,我们可以先将它翻译为中文句子 y ,然后将 y 翻译为法语句子 z ,最终再将 z 翻译为英文句子 x^{'} 。句子 x 和 x^{'} 的相似度可以表示闭环中三个翻译模型的有效性,我们基于闭环中的反馈信号可以再次使用策略梯度方法来更新和提升这些模型。我们更愿意将这种通用的对偶学习命名为闭环学习,并且在未来会测试它的有效性。

中国北京计算机学家、其工作对上述两项研究产生影响的Di He说:“在没有人类监督的情况下,计算机能够学习翻译,这令人吃惊。”Artetxe说,他的方法和Lample的方法被上传到arXiv预印本服务平台的时间前后仅相隔1天,这样的时间巧合令人吃惊。“同时,它意味着这种方法的确是正确的方向。”

4.1 实验设置

我们使用两个基准系统和对偶机器翻译方法进行对比,1)标准神经机器翻译(简称NMT),2)最近提出的基于NMT的方法,通过单语语料生成伪双语句对用于辅助训练(简称pseudo-NMT)。我们的所有实验都是使用Theano实现的辅助NMT系统来完成。

我们评估这些算法在一对翻译任务上的效果,包括英语翻译为法语(En->Fr)和法语到英语(Fr->En)。具体地,我们使用相同的双语语料,语料来源于WMT14,共有1200万句对。然后将newstest2012和newstest2013作为开发数据集,newstest2014作为测试数据集。WMT14 提供的“News Crawl:articles from 2012”作为单语数据。

我们使用GRU网络并遵循论文1(D. Bahdanau, K. Cho, and Y. Bengio. Neural machine translation by jointly learning to align and translate. ICLR, 2015.)中的实践来设置实验参数。对于每种语言,我们用平行语料中最频繁的3万个词构造词汇表,将包含至少一个OOV单词的句子删除。每个词被映射到620维的连续向量空间,循环单元的维度是1000。我们将训练集中超过50个词的句子删除。batch的大小为80,每20个batch被预取,并按照句子长度排序。

对于基准的NMT模型,我们完全按照论文1提出的设置。对于基准的pseudo-NMT模型,我们使用训练好的NMT模型从单语数据中生成伪双语句对,删除超过50个词的句子,将生成的数据与原始平行训练数据融合在一起,然后训练这个模型,并用于测试。每个基准系统通过AdaDelta算法在K40m GPU进行训练,直到它们的效果在开发集上不再提升为止。

对偶神经机器翻译(简称dual-NMT)模型需要每种语言的语言模型。我们对于每种语言,使用相应的单语语料,训练了基于RNN的语言模型。实验中,语言模型就固定了,然后收到信息的对数似然作为通信信道(例如,翻译模型)的奖励。

在玩游戏时,我们使用暖启动翻译模型(已经从双语语料中训练出来的)来初始化信道,然后观察dual-NMT模型能否有效提升模型翻译准确率。在我们的实验中,为了从双语数据训练的初始模型平滑过渡到完全从单语数据训练的模型,我们采用了以下软着陆策略。在每次对偶学习过程的开始,对于每个mini batch,我们使用单语数据一半的句子和双语数据(从数据中采样出来的用于训练初始模型)中一半的句子。目标就是基于单语数据最大化奖励(在第3部分定义的)的加权之和以及基于双语数据的似然度(在第2部分定义)。随着训练过程的持续,我们逐渐在mini batch中增加单语数据的比例,直到完全不使用双语数据。这里,我们在实验中测试了两个测试:

  • 第一个设置(参考Large),我们在软着陆阶段,使用全部的1200万双语句对。也就是,暖启动模型是基于全部双语数据进行学习的;
  • 第二个设置(参考Small),我们在1200万双语句对中随机采样了10%的数据,并在软着陆阶段使用它;

对于每个设置,我们都是训练对偶机器翻译算法一周。我们在中间翻译过程中设置束搜索大小为2。实验中的所有超参数通过交叉验证来设置。我们使用BLEU作为评估标准,由moses提供的 脚本工具 进行计算。遵循常规的实践,在测试阶段,如同先前许多的工作,我们对于所有的算法均使用大小为12的束搜索。

编辑:游戏开发 本文来源:永利总站对偶学习及其在机器翻译中的应用

关键词: