论文学习笔记01(Deep Neural Networks in Machine Translation: An Overview)
论文学习笔记
Deep Neural Networks in Machine Translation: An Overview
1.拓展:seq2seq模型(encoder-decoder结构的一种)
- 输入和输出不等长
- 从一个序列到另一个序列的转换
- 常用于机器翻译、聊天对话场景
- 两个RNN:一个做Encoder,一个做Decoder
Encoder:将输入序列压缩成一个语义向量c
Decoder:根据语义向量c生成一个指定的序列
两种模式:
(1)将语义向量c作为decoder的初始状态
(2)将语义向量c当做decoder每一步的输入

2.几种常用的神经网络
(1)FNN(Feed-Forward Neural Network/前馈神经网络)
- 拓展:
简介:各神经元从输入层开始,接收前一级输入,并输入到下一级,直至输出层。整个网络中无反馈。
-
模型参数(隐藏层边的权值)的计算:
要减小Loss C => 求梯度 =>链式求导法则(计算量大(许多都是重复计算),需优化!)
优化算法:BP算法(反向传播算法)
一个多输出的网络,损失函数:
E(w)=\frac{1}{2}\sum_{d∈D}\sum_{k∈outputs}(t_{kd}-o_{kd})^2
D:样本空间
t_{kd}:第d个样本的第k个实际输出
o_{kd}:第d个样本的第k个预期输出
- FNN语言模型:
尝试在给定固定窗口历史单词的情况下,预测下一个单词的条件概率。
( 为什么预测概率? )
(拓展:统计语言模型: 统计语言模型把语言(词的序列)看作一个随机事件,并赋予相应的概率来描述其属于某种语言集合的可能性。给定一个词汇集合 V,对于一个由 V 中的词构成的序列S = ⟨w1, · · · , wT ⟩ ∈ Vn,统计语言模型赋予这个序列一个概率P(S),来衡量S 符合自然语言的语法和语义规则的置信度。一个句子的概率越高,说明它越像人说出来的句子)
T-word sentence:w_1,w_2,...,w_t,...,w_T
任务:已知历史单词:w_{t-3},w_{t-2},w_{t-1} ,预测w_t的条件概率。
方法:先将单词w_{t-3},w_{t-2},w_{t-1}映射为向量x_{t-3},x_{t-2},x_{t-1},再级联为一个输入向量x_{t\_history},隐藏层常采用线性变换W×x_{t\_history}和非线性投影f(W×x_{t\_history}+b),输出层常采用softmax函数来预测单词的概率。
(2)RNN(Recurrent Neural Network/循环神经网络)
- 拓展:
输入是序列


情感分析常用形式:一段话,一个输出

机器翻译常用形式:一段话输入,一段话输出

- RNN语言模型
比FNN优在可以表示所有的历史单词,而FNN中需固定窗口。
(3)RAE(Recursive Auto-encoder/递归自动编码器)
-
序列化输入,数据降维并用向量表示。

-
标准自动编码器采用E_{rec}(c_1;c_2)=\frac{1}{2}||[c_1;c_2]-[c_1';c_2']||^2来训练模型以减小重建的向量与原向量的误差。
-
无监督学习中,减小误差的函数是RAE_\theta(x)=argmin_{y∈A(x)}\sum_{s∈y}E_{rec}([c_1;c_2])_s.
A(x):所有能由输入x构造出来的二叉树。
(4)RecursiveNN(递归神经网络)
- 与RSE类似,但采用监督学习优化,在训练前树的结构已经固定,不需要重新构造输入向量,每一结点的矩阵不一样。
(5)CNN(Convolutional Neural Network/卷积神经网络)
- 可变长度句子->固定大小的分布式向量
机器翻译
统计机器翻译:在所有目标句子中找概率最大的句子。
e'=argmax_ep(e|f)
f:源句子
e:目标句子
通常: e'=argmax_ep(e|f)=argmax_e\frac{exp(\sum_i\lambda_ih_i(f,e))}{\sum_{e'}exp(\sum_i\lambda_ih_i(f,e'))}
h_i(f,e):特征
\lambda_i:对应权重
-
DNNs in standard SMT frameworks
| 单词对齐 | FNN,RecurrentNN |
|---|---|
| 翻译规则选择 | FNN,RAE,CNN |
| 重排序和结构预测 | RAE,ReccurentNN,RecursiveNN |
| 语言模型 | FNN,ReccurentNN |
| 联合翻译预测 | FNN,RecurrentNN,CNN |
Word Alignment(单词对齐): 识别平行句子之间的单词对应关系。
派生结构预测:
(1)确定邻居候选
(2)决定如何组合邻居候选:SMT中常用重排模型(分类问题)
语言模型:
n-gram模型:第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。p(e_1,e_2,...,e_{T'})=\prod_{j=1}^{T'}p(e_j|e_1,...,e_{j-1}).
常用Bi-gram和Tri-gram。
联合翻译预测:同时利用源语言句子和目标语言的历史信息。
NMT
只用一种神经网络。
优:简单
缺:容易出现不认识的词;没有用到目标语言单语数据。
