(五)Seq2Seq 做机器翻译

Seq2Seq 模型

Seq2Seq 模型,分为两个部分:Encoder 和 Decoder,每个部分都是基于 LSTM。

机器翻译的训练过程

Encoder 的最后一个单元的最终状态参数 h\bold hc\bold c 作为 Decoder LSTM 第一个单元的起始状态参数。 h\bold hc\bold c 里面包含了输入的英语句子 “go away” 的所有特征信息。

Decoder 第一个输入是一个起始符(如 \t),Decoder 会输出一个概率分布 p\bold p

将下一个字母作为标签 y,计算交叉熵作为损失,利用损失计算梯度下降反向传播更新 Encoder Decoder 模型参数。依次循环直到遇到终止字符,结束一个样本的训练。

机器翻译的应用过程

机器翻译的应用过程中,Encoder 端保持不变,Decoder 端逐单元输出的字符可以用来预测下一个字符。

也就是说 [start] 和 B\bold B 更新状态为 s1\bold s_1,计算出概率分布 p1\bold p_1 ,得到输出字符 z1z_1 ,再将 z1z_1B\bold B 更新状态为 s2\bold s_2,计算出概率分布 p2\bold p_2 ,得到输出字符 z2z_2 ,重复这个 过程,直到最终输出一个 [stop] 为止。

改进 Seq2Seq

Encoder 端使用 Bi-LSTM

LSTM 仍然具有遗忘特性,如果语句过长,就会有遗忘。

多任务学习

一个 Encoder 对应多个 Decoders,可以更好的训练 Encoder

使用 word level 分词

词的数量很大,所以需要使用 Embedding 层,将 one-hot 向量映射到低维度,不过需要足够大的数据集,才能更好的训练 Embedding 层,不至于 Embedding 层过拟合。

Attention

注意力机制,能极大提高机器翻译的质量。


   转载规则


《(五)Seq2Seq 做机器翻译》 Harbor Zeng 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
(六)Attention 是咋回事儿? (六)Attention 是咋回事儿?
Seq2Seq 的局限 Seq2Seq 仍有记忆问题,当待翻译的句子长度较长时,它会遗忘较早的 。 Attention 加上 attention,Seq2Seq 不会忘了原始输入,Decoder 每次生成时都回去重新看一遍 Encoder 的所有输入(计算一番),知道要额外关注哪些词,效果很好,但是带来了更多的计算。 Encoder 的最终输出的 hm\bold h_mhm​ 同时也是 D
2021-01-16
下一篇 
(四)使用LSTM做文本生成 (四)使用LSTM做文本生成
这里使用一部 90 多万字小说《琉璃美人煞》为例,使用 LSTM 方法做一次文本生成。 从一句预测下一句 Input data: '玑庸懒外表下的,是一颗琉璃般清澈冰冷的心,前世种种因果,让她今世不懂情感。对修仙'Target data: '庸懒外表下的,是一颗琉璃般清澈冰冷的心,前世种种因果,让她今世不懂情感。对修仙的'Input data: &#x
2021-01-15
  目录