基于神经网络的机器翻译 基本思想:利用神经网络实现自然语言的映射 核心思想:条件概率建模
\(P\left(y_n \mid x, y_{<n} ; \theta\right)\) $y_n$ 当前目标语言词 $x$ 源语言句子 $y_{<n}$ 已经生成的目标语言句子
如何对条件概率进行建模
\(\begin{aligned} & P\left(\mathbf{y}_n \mid \mathbf{x}, \mathbf{y}_{<n} ; \boldsymbol{\theta}\right) \\ =& \frac{\left.\exp ( \varphi\left(\mathbf{y}_n, \mathbf{x}, \mathbf{y}_{\leq n}, \boldsymbol{\theta}\right)\right)}{\sum_{y \in \mathcal{Y}} \exp \left(\varphi\left(y, \mathbf{x}, \mathbf{y}_{<n}, \boldsymbol{\theta}\right)\right)} \\ =& \frac{\exp \left(\varphi\left(\mathbf{v}_{\mathbf{y}_n}, \mathbf{c}_s, \mathbf{c}_t, \boldsymbol{\theta}\right)\right)}{\sum_{y \in \mathcal{Y}} \exp \left(\varphi\left(\mathbf{v}_y, \mathbf{c}_s, \mathbf{c}_t, \boldsymbol{\theta}\right)\right)} \end{aligned}\) $\mathbf{v}_y$ 目标语言词向量
$\mathcal{Y}$ 目标语言词汇 $\mathbf{c}_S$ 源语言上下文向量
$\mathbf{c}_t$ 目标语言上下文向量
从概率的角度来看,翻译相当于找到一个目标句y,在给定源句x的情况下,使y的条件概率最大化。
RNN:
机器翻译的核心在于不同语言信息之间的等价转换。传统使用离散表示。深度学习使用连续的表示,用数字进行信息的传递。
编码器-解码器方法的一个潜在问题是神经网络需要能够将源句子的所有必要信息压缩到一个固定长度的向量中。使得神经网络难以处理长句子,随着输入句子长度的增加,编码器-解码器的性能会逐渐下降。
编码器-解码器框架优缺点:
RNNenc:
存在问题:
RNNsearch:
针对问题1,提出了一种扩展的encoder-decoder模型来联合学习对齐和翻译。每当提出的模型在翻译中生成一个单词时,它在源句中搜索最相关信息关注的位置。然后,该模型根据与这些源位置相关的上下文向量和之前生成的所有目标词预测一个目标词。它将输入语句编码为向量序列,并在decoder时自适应地选择这些向量的子集。这使得神经翻译模型不必将源句的所有信息(无论其长度)压缩到一个固定长度的向量中。实验证明模型能够更好地处理长句子。
RNNsearch包括一个双向RNN作为编码器和一个解码器,在解码翻译过程中模拟搜索源句。
使用BiRNN结构使得每个单词的annotation不仅总结前面的词,而且总结后面的单词。
解码器决定源句需要注意的部分。通过让解码器有一个注意机制,我们减轻了编码器必须将源句子中的所有信息编码到一个固定长度的向量的负担。使用这种新方法,信息可以在annotations序列中传播,解码器可以相应地有选择地检索这些annotations。
与传统机器翻译不同,对齐不被认为是一个潜在变量,相反,对齐模型直接计算软对齐,这允许成本函数的梯度反向传播。 该梯度可以用来联合训练对齐模型和整个翻译模型。
数据集: ACL WMT '14
评估标准
Bleu:一种文本评估算法,用来评估机器翻译与专业人工翻译之间的对应关系。
核心思想:机器翻译越接近专业人工翻译,质量就越好。
注意力机制能够提升多少性能?
答:Luong等人证明使用不同注意力机制计算会导致不同的结果。
双向循环神经网络能够提升多少性能?
答:Luong等人证明使用单向LSTM和使用计算注意力分数具有同样的效果。
有其他注意力分数计算方法吗?
答:Luong等人证明提出其他的注意力分数计算方法。
问题的更多细节可参考文章"Effectivate Approaches to Attention based Neural Machine Translation(Luong,2015)"