https://arxiv.org/pdf/1611.00179.pdf

用于机器翻译的双重学习

Github:https://github.com/microsoft/DualLearning

              https://github.com/yistLin/pytorch-dual-learning

论文提出一种双重学习机制,可以从无标记的数据中自动学习,解决了人工标记的数据瓶颈。机器翻译都有含有双重任务:如En→Fr(primal)、Fr→En(dual),即使没有人工标记的参与,原始任务和对偶任务也可以形成一个闭环,能够产生信息反馈信号并训练翻译模型。在双重学习机制中,使用一个智能体Agent表示原始任务模型、另一个Agent表示对偶任务模型,然后通过强化学习使它们互相训练。基于这一过程中产生的反馈信号(如模型输出的似然函数、原始和对偶翻译后原句的重构误差),迭代更新这两个模型直至收敛(策略梯度法)。此方法对En↔Fr的翻译效果很好;特别地,通过学习单语数据(含10%的双语数据用于warm start),可以获得与完整双语数据训练的NMT相当的准确率。

dual-NMT

1. Agent 1只理解语言A,将语言A的信息通过一个有噪声的通道发送给Agent 2,该通道使用一个翻译模型将消息从语言A转换为语言B。

2. Agent 2只理解语言B,接收到翻译为B的信息后,检查并通知Agent 1(Agent 2可能无法核实翻译的正确性,因为无法看到最初的信息)。然后通过另一个有噪声的通道将接收到的消息发送回Agent 1,该通道使用另一个翻译模型将接收到的消息从语言B转换回语言A。

3. Agent 1收到来自Agent 2的消息后,将检查并通知Agent 2其所接收的消息是否与原始消息一致。通过反馈,两个Agent可以得知这两个翻译模型的表现是否良好,并进行相应的改进。

4. 也可以从Agent 2开始,使用语言B作为原始消息,过程同上。

 

对于两个单语语料库 论文阅读——Dual Learning for Machine Translation论文阅读——Dual Learning for Machine Translation,分别包含 论文阅读——Dual Learning for Machine Translation 个语言A的句子、论文阅读——Dual Learning for Machine Translation 个语言B的句子,这两个语料库可以没有任何关系。

两个(弱)翻译模型 论文阅读——Dual Learning for Machine Translation论文阅读——Dual Learning for Machine Translation论文阅读——Dual Learning for Machine Translation 和 论文阅读——Dual Learning for Machine Translation 为模型参数。

假定已经有两个训练好的语言模型 论文阅读——Dual Learning for Machine Translation论文阅读——Dual Learning for Machine Translation(它们只需要单语数据库因而很容易实现),对于 论文阅读——Dual Learning for Machine Translation 中的句子s,令 论文阅读——Dual Learning for Machine Translation 表示中间的翻译输出,即时的LM奖励reward 论文阅读——Dual Learning for Machine Translation 表示输出在语言B中的自然度;使用 论文阅读——Dual Learning for Machine Translation 恢复得到的s的条件概率的对数作为通信的奖励 论文阅读——Dual Learning for Machine Translation

令总奖励为LM奖励和通信奖励的线性组合:论文阅读——Dual Learning for Machine Translation,由于奖励可以被认为是 论文阅读——Dual Learning for Machine Translation 的函数,可以使用强化学习中广泛使用的策略梯度方法实现奖励最大化。

根据 论文阅读——Dual Learning for Machine Translation 采样得到 论文阅读——Dual Learning for Machine Translation,计算关于 论文阅读——Dual Learning for Machine Translation 和 论文阅读——Dual Learning for Machine Translation 的奖励的期望 E[r],由策略梯度定理有:

 

论文阅读——Dual Learning for Machine Translation

 

贪婪生成top-K个 论文阅读——Dual Learning for Machine Translation,使用beam search结果的平均值来近似真实梯度。

 

 

论文阅读——Dual Learning for Machine Translation

 

实验结果

在只有10%双语数据的情况下,dual-NMT在Fr→En任务中可以达到与使用100%双语数据普通NMT相当的翻译精度。

论文阅读——Dual Learning for Machine Translation

算法的自我重构:对于测试集的每个句子,使用模型来回翻译它,然后使用BLEU score计算翻译后的句子与原句的得分。

论文阅读——Dual Learning for Machine Translation

未来的工作

双重学习并不局限于两个任务,关键思想是形成一个闭环,通过比较原始输入和最终输出来提取反馈信号。因此,如果两个以上的相关任务可以形成一个闭环,那么就可以从未标记的数据中改进每个任务的模型。例如,对于一个英文句子x,可以先把它翻译成中文句子y,然后把y翻译成法文句子z,最后再把z翻译成英文句子x'。x和x'之间的相似度可以反映出三种翻译模型在循环中的有效性;再次应用策略梯度方法,根据循环中的反馈信号对三种模型进行更新和改进。作者将这种广义的对偶学习称为闭环学习,并将在未来测试其有效性。

相关文章: