您的位置:首页 > 其它

<模型汇总_3>深度学习中最贪玩的模型dual-learning NMT

2017-04-28 07:27 363 查看
之前给介绍了牛逼的CNN(Convolutional
Neural Network)和深度学习加速神器BNN(Binarized
neural network),感兴趣的同学可以添加微信公众号“深度学习与NLP”,回复关键词“CNN”或“BNN”获取对应文章链接。今天给大家介绍深度学习模型中最淘气的模型:在游戏中学习的对偶学习(dual
learning)。对偶学习之发表在去年的NIPS(Neural
Information Processing Systems)的论文《Neural
Information Processing Systems》提出来的一种基于强化学习机制的深度学习框架。论文最大贡献就是提供了一个对偶学习的框架去进行机器翻译,只需要使用10%的对其数据来热启动两个对偶模型(agent),再分别使用单语料数据(corpora)让两个agent通过对偶的方式来学习,就达到了与传统的NMT可比的效果。对偶机制应用于机器翻译最大的优点就是减少了模型对对齐数据的依赖,大大降低训练语料获取难度。下面就仔细分析一下dual
learning是如何寓“学习”于“娱乐之中”的。

用语言来描述一下本文提出的dual-learning mechanism:

1、第一个agent,只懂A语言,他发送一条信息给翻译模型(负责把A语言转成B语言),该模型把这条信息转换成B语言,发送给第二个agent(只懂B语言)。

2、第二个agent接收到信息之后,会检查这个语言是否是natural
sentence in B语言(注意,第二个agent并不知道这个经过翻译后的信息是否正确,因为它看不到原始信息)。B通过另一个翻译模型(负责把B语言转换成A语言)反馈一个信号给第一个agent。

3、第一个agent接收到反馈信号之后,会判断它收到的信号是否与原信号一致,并且通过翻译模型(A->B)反馈给第二个agent。通过这种方式,两个agent都可以知道这两个翻译模型是否工作正确,并逐步提升它们的翻译精度。

4、同样,这个communication也可以从B端开始,这是一个对称的过程。

这种对抗机制有两个distinguishing优点:

1、通过强化学习过程从无标记的数据中学习,大大降低了对对齐样本的依赖。这对于很多深度学习任务或应用场景来说非常具有借鉴意义,因为,深度学习最缺的就是带标记的样本。

2、展现了深度强化学习(DRL)在实际应用中的威力。以往的DRL应用集中视频和棋盘游戏上,在其他没有明显奖励信息的场景下面临挑战。Dual-learning
mechanism也为强化学习抽取有效奖励提供了途径。

 

不仅给出了对偶机制,文章还给出一个具体的对偶学习算法:

 


场景是在在一个由两个agent、一个forward translation step和一个backward
translation step组成的对偶神经机器翻译系统(dual-NMT)中。语言A和B各自的单语语料库DA、DB,两个语料库并不需要对齐。P(.|s;Oab)和P(.|s;Oba)分别代表两个神经翻译模型。Oab和Oba是它们的参数。假设已经有两个强语言模型LMa(.)和LMb(.),它们的输出代表了它们认为这个句子是自己own language判断的置信度。

假设游戏从Da开始,用Smid表示翻译输出的中间结果,即第一个agent发送一个信号,经过Foward
translation step之后的输出。用一个immediate reward r1=LMb(Smid),表示B语言agent对这个Smid的natural程度判断,以此衡量第一个神经翻译模型翻译的精度。再把Smid经过backward translation step反馈会A语言模型,通过另一个reward r2=logP(S|Smid;Oba)衡量第二个神经翻译模型重构的精度。最后通过一个线性组合得到总的reward r=a*r1 + (1-a)*r2,通过强化学习中的策略梯度算法(我们会在后续文章中详细讲解)来最大化这个reward,以此更新两个神经翻译模型的参数。因为采用策略梯度算法更细参数,很容易得到梯度更新的公式如下:



在样本选择方面,文章采用seq2seq里面的beam-search的方法来进行样本选择,以获得更有意义的结果。

 

实验验证:论文选择了一个标准的NMT模型,一个由pseudo样本训练的pseudo-NMT模型对比,得到如下结果:



通过对比可以发现,dual-learning NMT系统达到了和标准NMT差不多的翻译结果。

思考:

Dual-learning
mechanism不仅适用于机器翻译场景,还适用于一下两个场景:

1、现实场景下很多任务都可以看做是一个对偶任务,比如语音到文本vs文本到语音,问答vs答案生成(问题到答案vs答案到问题),搜索(query到document)vs关键词抽取(抽取关键词/query
for document)(query到文档vs文档到query)等,都可以基于对偶的学习机制,使用强化学习算法从大量未标注的样本中学习。

2、对偶学习机制可以应用于一个闭环的学习系统中,同时学习多个模型。比如,对于一个中文句子x先用一个NMT翻译成英语y,再用一个NMT翻译成法语z,再用一个NMT翻译成中文x’。系统可以使用大量无标记数据学习三个语言模型。

个人评价:第一次听说dual-learning就觉得这个mechanism很有意向,觉得与深度强化学习和对抗学习有点像,仔细研究之后发现有很大的区别,后续我们介绍完深度强化学习和对抗学习之后再详细对比。个人觉得dual-learning使用大量无标注数据学习这点很有意思,可以使深度强化学习发光发热。

更多深度学习在NLP方面应用的经典论文、实践经验和最新消息,欢迎关注微信公众号“深度学习与NLP”或“DeepLearning_NLP”或扫描二维码添加关注。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息