序列到序列模型#
术语解释#
Seq2Seq(Sequence to Sequence,序列到序列)是自然语言处理领域中一类任务的总称,指根据源序列生成目标序列的场景,其核心采用的是 编码器-解码器(Encoder-Decoder) 架构。
Seq2Seq 是一种用于处理变长序列转换任务的技术架构 。它主要由两个部分组成:
-
编码器(Encoder):负责将一个可变长度的源输入序列编码成一个固定维度的中间向量,称为上下文向量(Context Vector)。
-
解码器(Decoder):根据编码器生成的上下文向量,逐步解码并生成一个可变长度的目标输出序列 。
这种架构不限制具体的模型结构,编码器和解码器可以是 RNN、LSTM、GRU,也可以是 CNN 或 Transformer 结构
出现动机#
-
解决序列长度不固定的问题:传统的深度神经网络要求输入和输出必须具有固定长度,这限制了机器翻译等输入输出长度不确定的任务。
-
处理不同语义空间的映射:传统的生成式模型(如基于单个 RNN 的文本生成)输入和输出通常在同一个语义空间。而在翻译等场景下,源语言和目标语言的词汇表和语言特征显著不同,Seq2Seq 通过分离编码器和解码器并采用不同的网络权重来适应这种差异。
-
提升翻译的流畅度:传统的基于短语的统计翻译模型(SMT)需要将输入切分成短语,容易导致翻译结果语义不连贯。Seq2Seq 通过将整个源输入编码成向量再解码,避免了这种局部翻译导致的生硬感 。
优点缺点#
-
优点:
-
灵活性高:能够处理输入和输出长度都不固定的序列任务。
-
端到端学习:模型可以学习到输入和输出序列之间复杂的映射关系,而不需要人工设计复杂的短语对齐规则。
-
适用场景广:除了机器翻译,还广泛应用于文本摘要、语音识别、对话系统以及时空数据预测(如流量预测)等领域。
-
-
缺点“
-
信息瓶颈(Information Bottleneck):这是传统 Seq2Seq 最显著的缺陷。由于它需要将整个源序列压缩成一个固定维度的中间向量,随着输入序列长度的增加,解码器往往难以记住和区分源序列中所有时刻的编码信息,导致性能下降。为了克服 Seq2Seq 的信息瓶颈问题,研究人员后来引入了注意力机制(Attention Mechanism),允许解码器在解码每个时刻时动态地聚焦于源序列的不同部分。
-
计算效率受限(针对 RNN 实现):如果 Seq2Seq 基于 RNN 或 LSTM 构建,由于其循环结构的固有属性,计算必须按序进行,无法实现并行化计算,导致训练速度缓慢,这也是 self-attention 出现的最大动机。
-
术语别名#
- 序列到序列模型
相关术语#
-
Seq2Seq网络
-
NMT网络