Seq2Seq

分类: 网络架构

Seq2Seq

定义

Seq2Seq(Sequence-to-Sequence)是一类将可变长度输入序列映射为可变长度输出序列的模型,由 Sutskever et al. (2014) 提出,是机器翻译、对话生成、文本摘要等任务的基础框架

数学形式

编码阶段:htenc=LSTM(xt,ht1enc)h_t^{\text{enc}} = \text{LSTM}(x_t, h_{t-1}^{\text{enc}}),上下文 c=hTencc = h_T^{\text{enc}}

解码阶段:htdec=LSTM([yt1;c],ht1dec)h_t^{\text{dec}} = \text{LSTM}([y_{t-1}; c], h_{t-1}^{\text{dec}})

训练目标:L=t=1TlogP(yty<t,x)\mathcal{L} = -\sum_{t=1}^{T'}\log P(y_t^* | y_{<t}^*, x)(Teacher Forcing)

推理策略:贪心解码 yt=argmaxP(yy<t,x)y_t = \arg\max P(y | y_{<t}, x) 或束搜索(Beam Search)

核心要点

Teacher Forcing:训练时使用真实标签作为解码器输入,加速收敛但导致 exposure bias

Beam Search:推理时保留 kk 个最优候选序列,平衡搜索质量与计算开销

反转输入序列(Sutskever 的 trick):将源序列反转后输入编码器,缩短对应词对的距离,显著提升翻译质量

多层堆叠:原始论文使用 4 层 LSTM,深层编码器提取更抽象的语义表示

局限:固定上下文向量 cc 成为瓶颈,Attention 机制应运而生

CS224N 中是理解 NMT 演进和注意力机制的前置知识

代表工作

Sutskever et al., 2014: Sequence to Sequence Learning with Neural Networks

Cho et al., 2014: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Luong et al., 2015: Effective Approaches to Attention-based Neural Machine Translation

相关概念

Encoder-Decoder

GRU

Machine Translation

BLEU