文章目录
一、序列(Seq2Seq)转换的核心架构
在自然语言处理领域,序列到序列(Seq2Seq)模型是实现跨序列转换的基础框架,其核心依托Encoder-Decoder(编码器-解码器)架构。该架构通过两个协同组件完成序列转换:
- 编码器:将输入序列压缩为固定维度的语义向量c(信息压缩)
- 解码器:基于语义向量c生成目标序列(信息解码)
经典应用场景:
- 机器翻译:中文句子 → 英文句子
- 文本摘要:新闻长文 → 精简摘要
- 语音识别:音频特征序列 → 文字序列
二、Encoder-Decoder框架基础原理

RNN家族介绍:网页链接
2.1 整体工作流程
- 编码阶段:
输入序列通过编码器压缩为固定维度的语义向量 C = F ( X 1 , X 2 , … , X m ) C = F(X_1, X_2, \dots, X_m) C=F(X1,X2,…,Xm),其中 F F F 为非线性变换函数。 - 解码阶段:
解码器基于唯一的 C C C 和已生成的历史词 y 1 , y 2 , … , y i − 1 y_1, y_2, \dots, y_{i-1} y1,y2,…,yi−1,逐词生成目标序列。特别地,解码过程会添加特殊标记:- 输入端添加 作为生成起始信号(如 y 0 = < G O > y_0 = <GO> y0=<GO>);
- 输出端通过 标记序列结束(如生成 y n = < E O S > y_n = <EOS> yn=<EOS> 时终止)。
完整生成逻辑为:
y i = G ( C , y 0 , y 1 , … , y i − 1 ) ( 其中 y 0 = < G O > ) y_i = G(C, y_0, y_1, \dots, y_{i-1}) \quad (\text{其中} \ y_0 = <GO>) yi=G(C,y0,y1,…,yi−1)(其中 y0=<GO>)
2.2 编码器(Encoder)详解
以中文句子"欢迎 来 北京"的编码过程为例:
| 时间步 | 输入词 | 编码器隐藏状态更新 |
|---|---|---|
| t=1 | 欢迎 | h 1 = h_1 = h1= 捕获"欢迎"的态度语义特征 |
| t=2 | 来 | h 2 = h_2 = h2= 融合"欢迎"与"来"的动作语义特征 |
| t=3 | 北京 | h 3 = h_3 = h3 |
RNN中Encoder-Decoder框架及注意力机制

最低0.47元/天 解锁文章
5758

被折叠的 条评论
为什么被折叠?



