序列到序列的工作原理 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

序列到序列的工作原理

通常,序列到序列建模的神经网络由几个层组成,包括:

  • 一个嵌入层。在此层中,输入矩阵是以稀疏的方式编码的输入标记 (例如,单热点编码),映射到密集的特征层。这是必需的,因为高维特征向量比简单的单热点编码向量更能编码有关特定标记 (用于文本语料库的单词) 的信息。用预先训练过的单词向量 (如 FastTextGlove) 初始化此嵌入层或者在训练过程中随机初始化它并学习参数也是一种标准做法。

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

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

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

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

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