机器翻译主要用到的是seq2seq模型,这种模型通常由encoder-decoder组成,能够实现many-to-many的映射,符合翻译任务中输入与输出句子长度不同的情况。
encoder-decoder
![在这里插入图片描述](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ua2VzY2kuY29tL3VwbG9hZC9pbWFnZS9xNWpjYXQzYzhtLnBuZw?x-oss-process=image/format,png#pic_center)
seq2seq
训练
![在这里插入图片描述](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ua2VzY2kuY29tL3VwbG9hZC9pbWFnZS9xNWpjN2E1M3B0LnBuZw?x-oss-process=image/format,png#pic_center)
很明显,可以将编码器与解码器中的那些单元置换为RNN/GRU/LSTM单元,编码器提取待翻译句子的特征,通过隐藏状态送入解码器,解码器每个单元的输入与隐藏状态进行神经单元处理得到输出,与标签计算损失,然后反向传播,训练处整个seq2seq模型。
预测
![在这里插入图片描述](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ua2VzY2kuY29tL3VwbG9hZC9pbWFnZS9xNWpjZWN4Y2JhLnBuZw?x-oss-process=image/format,png#pic_center)
与训练阶段不同的是,解码器的输入除了编码器送来的隐藏状态还有上一单元的输出。