论文笔记:NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE

https://www.cnblogs.com/naniJser/p/8900720.html

https://blog.csdn.net/Doron15/article/details/81866095
神经机器翻译不像传统的统计机器翻译,它的目的是建立一个单一的神经网络,使这个网络能够最大化翻译效果。NMT通常是编码器和解码器的结合,编码器把源语句转化为固定长度的向量,由解码器生成翻译。这篇论文认为使用固定长度的向量是提升编码器解码器结构效果的瓶颈,所以提出通过让模型自动(平滑地)搜索源语句中与预测目标单词相关的部分来提升效果,而不是明确地把这些部分转化为生硬的部分。实验显示,效果不错。
之前的NMT在处理长句子的时候会有些困难,尤其是比训练数据集更长的文本。随着数据句子长度增加,基本的编码解码器表现会急剧下降。因此,该论文提出将编码解码模型拓展,使其能够连带地学习去对齐和翻译。每翻译一个单词,它就在源语句中查找信息最相关的位置集合。这个模型基于与这些源位置相关联的上下文向量和所有之前形成的目标单词预测目标单词。
最大的区别在于它不是尝试去把一整个输入句子编码为一个单一的固定长度的向量。而是把输入的句子编码为向量的序列,解码翻译的时候选择这些向量的一个子集。这也就解放了NMT,不需要再把源语句所有的信息,不管有多长,压缩成一个固定长度的向量。这个模型对长句子表现要更好。不过任何长度上它的优势都很明显。在英法翻译的任务中,这个方法可以媲美卷积的基于短语的系统。而且分析显示这个模型在源语句和对应的目标语句之间的对齐效果更好


论文先给出了一般RNN做机器翻译的方法–encoder-decoder
encoder:根据上一个状态还当前输入
在这里插入图片描述
decoder:在这里插入图片描述

论文给出的方法:
encoder是bidirectional RNN
decoder

  1. decoder
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    si是i时刻的一个RNN隐含层,并不像之前的编码解码器那样,这里的概率是以每个目标单词yi不同上下文的向量ci作为条件的。 上下文向量ci依靠的是编码器将数据的句子映射的一个注解的序列(h1,…,hTx)。每个注解hi都包含了整个输入序列的信息,而这个信息在输入序列的第i个单词周围的部分有很大的注意力。eij是一个对齐模型,它是给j位置的输入和i位置的输出匹配的好坏打分的。这个分数基于RNN的隐含层si-1和输入句子中的第j个注解hj。

  2. encoder(bidirectional RNN)
    通常来讲,RNN是顺序地从开始标志x1到最后xTx读取输入序列x的。然后,这里的结构是想要每个单词的解释既总结前面的单词,还有后面的单词。因此,此处使用双向RNN(BiRNN)。
    BiRNN包含前向和反向RNN。前向RNN f→按顺序读输入序列(从x1到xTx),并计算前向的隐藏状态(h1→,…,hTx→)的序列。反向RNN按相反的顺序读取序列(从xTx到x1),生成一个反向隐藏层状态(h1←,…,hTx←)的序列。
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值