Sequence-to-Sequence工作原理 - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Sequence-to-Sequence工作原理

通常,用于 sequence-to-sequence建模的神经网络由几层组成,包括:

  • 一个嵌入层。在此层中,输入矩阵是以稀疏的方式编码的输入标记 (例如,单热点编码),映射到密集的特征层。这是必需的,因为与简单的 one-hot-encoded向量相比,高维特征向量更能编码有关特定标记(文字语料库)的信息。标准做法是使用预训练的词向量(如FastTextGl ove)初始化此嵌入层,或者随机初始化该词向量并在训练期间学习参数。

  • 一个编码器层。将输入标记映射到高维特征空间之后,序列会通过编码器层传递,从而将 (整个序列的) 输入嵌入层中的所有信息压缩为固定长度的特征向量。通常,编码器由 RNN-型网络组成,例如长短期记忆 (LSTM) 或门控循环单元 (GRU)。(Colah 的博客详细解释LSTM。)

  • 一个解码器层。解码层采用此编码的特征向量,并生成标记的输出序列。该层通常也使用RNN架构(LSTM和GRU)构建。

在给定源序列的情况下,对整个模型进行联合训练,使目标序列的概率最大化。该模型首先由 Sutskever 等人在 2014 年提出。

关注机制。编码器-解码器框架的缺点是,由于固定长度编码的特征向量可以包含多少信息的限制,模型性能会随着源序列长度的增加而降低。为了解决此问题,2015 年 Bahdanau 等人提出了关注机制。在关注机制中,解码器试图在编码器序列中查找最重要信息所在的位置,并使用该信息和以前解码的单词来预测序列中的下一个标记。

有关更多详细信息,请参阅 Luong 等人编写的白皮书基于关注的神经机器翻译的有效方法,该书解释并简化了各种关注机制的计算。此外,Wu 等人写作的白皮书 Google 的神经机器翻译系统:弥合人与机器翻译的鸿沟描述了 Google 机器翻译的架构,即在编码器和解码层之间使用跳过连接。