作者:手机用户2602939233 | 来源:互联网 | 2023-09-13 09:32
一、摘要 attention机制通过在翻译过程中选择性地专注于部分原句来提高神经机器翻译(Neural Machine Translation,NMT)的性能。然而,目前很少有用的基于attention的NMT架构。本篇论文介绍了两种简单有效的attention机制。全局attention关注原句的所有单词,局部attention关注原句的一部分单词。
二、介绍 NMT通常是一个大型的神经网络,以端到端的方式进行训练,并且能够很好地推广到很长的单词序列。这意味着模型不用像标准的MT一样存储巨大的短语表和语言模型。NMT占用内存很少。实现NMT解码器比标准的MT更容易。 在这篇论文中,作者提出了两种attention:global attention和local attention。前一种方法类似于(Bahdanau et al.,2015)的模型,但在结构上更简单。后者可被视为(Xu et al.,2015)中提出的soft attention 和 hard attention的混合:它比global attention或soft attention消耗更少的计算资源,同时,与hard attention不同,容易实现与训练。并且,作者也对基于attention的模型的各种对齐函数做了实验。
三、NMT 神经机器翻译系统是直接建模条件概率p(y∣x)p(y|x) p ( y ∣ x ) 的神经网络,将原句x1,...,xnx_1,...,x_n x 1 , . . . , x n 翻译为目标句y1,...,ymy_1,...,y_m y 1 , . . . , y m 。NMT的基本形式由两个组件构成:一个编码器,用于计算每个原句的表示 ss s ;一个解码器,一次生成一个目标词,因此将条件概率分解为:
在解码器中对这种分解进行建模的自然选择是使用递归神经网络(RNN)架构。可以用公式来表示解码每一个单词yjy_j y j 的概率: 其中 gg g 是转换函数,输出一个词表大小的向量。hjh_j h j 是RNN隐藏单元的输出,可以用以下公式计算: 给定之前的隐藏层状态,ff f 函数计算当前的隐藏层状态。本篇论文中,作者使用了堆叠的LSTM结构,训练目标函数如下:
四、Attention-based Models 两种attention:global attention 和 local attention。两种的不同在于是用到了全部单词还是部分单词。共同之处在于,在解码阶段的每个时间步 tt t ,两种方法首先将堆叠LSTM的顶层处的隐藏层状态 hth_t h t 作为输入。然后目标是推导出一个上下文向量 ctc_t c t ,其捕获了相关的原测信息以帮助预测当前的目标词 yty_t y t 。虽然这两种attention在推导上下文向量是不同的,但它们的后序步骤是相同的。 给定目标隐藏层状态 hth_t h t ,和原侧的上下文向量 ctc_t c t ,将两个向量拼接在一起生成注意力的隐藏层状态: 然后将其喂给softmax层,生成概率形式的向量。
1.global attention global attention 的主旨就是在推导上下文向量 ctc_t c t 时,考虑编码器的所有隐藏层状态。在这种模型中,一个变长的对齐向量 ata_t a t ,大小等于原侧的时间步数,通过比较目前的target隐藏层状态 hth_t h t 与每一个原测的隐藏层状态 _hs^\_h_s _ h s : 然后根据所有原状态和 ata_t a t 计算全局上下文向量ct作为加权平均值。最后通过Eq.(5)和Eq.(6)进行预测。
2.local attention global attention有个缺点就是它为每个目标词必须要关注原侧的所有单词,代价昂贵,并且可能使得翻译更长的序列变得不切实际,不如段落、文档。为了解决这个不足,作者提出了local attention机制,对每一个目标词,选择性地关注原句的一小部分单词。该方法具有避免在soft attention中引起的昂贵计算的优点,同时比hard attention更容易训练。具体细节来说,模型首先在时间t为每个目标词生成一个对齐位置 ptp_t p t 。然后,上下文向量 ctc_t c t 通过窗口内 [pt−D,pt+D][p_t-D,p_t+D] [ p t − D , p t + D ] 的源隐藏状态集合的加权平均值推导得出。D的大小是凭经验选择的。与global attention不同,局部对齐向量 ata_t a t 是固定维度的,比如 ∈R2D+1∈R^{2D+1} ∈ R 2 D + 1 。下面考虑模型的两个变种: **Monotonic alignment:**假设原序列和目标序列大致单调对齐,我们只需设置 pt=tp_t = t p t = t 。 **Predictive alignment:**而不是假设单调对齐,我们的模型预测对齐位置如下: WpW_p W p 和 vpv_p v p 是模型参数,SS S 是原句长度。那么通过 sigmoidsigmoid s i g m o i d 函数后,pt∈[0,S]p_t∈[0, S] p t ∈ [ 0 , S ] 。为了支持 ptp_t p t 附近的对准点,我们将高斯分布置于 ptp_t p t 附近。 具体来说,我们的对齐权重现在定义为: 我们使用Eq.(7)中的相同对齐函数,标准偏差根据经验设定为 σ=D/2σ = D/2 σ = D / 2 ,ptp_t p t 是一个实数。
3.Input-feeding Approach 作者提出的两种attention都是独立进行的,然而这是不理想的。在标准的MT中,通常在翻译过程中保持覆盖集以跟踪已翻译过的单词。同样,在注意力NMT中,应该在考虑过去的对比信息的情况下共同做出对比决策。为了解决这个问题,作者提出了input-feeding的方法,其中attention向量 ht~ h_t h t 在下一个时间步时会与输出拼接在一起。 这会有两个方面的影响:我们希望让模型充分了解先前的对齐选择,我们创建了一个跨越水平和垂直的非常深的网络。