跳到主内容
快讯直播
AI智模界
AI 词典

序列到序列(Seq2Seq):把变长输入变成变长输出

一句话定义

序列到序列(Sequence-to-Sequence,Seq2Seq)是一类模型框架:输入是一串长度不定的内容,输出也是一串长度不定的内容,两者的长度和对齐关系都不必相同。

它是怎么工作的

Seq2Seq 通常由两部分组成:编码器(Encoder)和解码器(Decoder)。编码器先把整段输入"读"一遍,把它压缩成内部表示(早期实现里是一个固定长度的向量,叫上下文向量 context vector);解码器再从这个表示出发,一个词一个词地"写"出输出,每写一个词,就把它接回去当作下一步的输入。

打个比方:请一位翻译把一段中文口译成英文。他得先把整段话听完,再开口,边译边想下一个词。输入 30 个字,输出可能是 15 个词,甚至语序完全不同。Seq2Seq 想做的就是这个:不要求输入输出一一对应,只要求意思对得上。这套结构在 2014 年前后被系统提出并迅速用于机器翻译。

注意力机制为什么会出现

早期 Seq2Seq 的瓶颈在"压缩":整段输入必须塞进一个固定大小的向量,句子一长就装不下,前面的信息容易被冲淡。注意力机制(Attention)的思路很朴素——不让解码器只依赖那一个向量,而是让它在生成每个词时,回头"扫一眼"输入的各个位置,按相关程度加权取用。译到某个词,就重点看原文对应的那几个词。

所以说"注意力是为 Seq2Seq 服务的"名副其实:它最初就是为了解决AI 词典:编码器-解码器">编码器-解码器的信息瓶颈而被提出,后来才演化出几乎只用注意力的 Transformer 结构。

和相邻概念的区别

类型输入输出典型任务
普通分类模型一段文本一个标签情感判断、垃圾邮件识别
Seq2Seq一段序列另一段序列翻译、摘要、语音转文字
自回归语言模型前文下一个词,不断续写对话、写作、代码补全

要注意,Seq2Seq 是"接口约定",不是某种具体网络。编码器和解码器用什么实现都行——RNN、LSTM、CNN、Transformer 都能填进去;今天主流的做法是 Transformer 的编码器-解码器结构(翻译系统里最常见的那种)。

对从业者和普通人的意义

对从业者:判断一个问题适不适合用 Seq2Seq,只需看两点——输入输出是不是都是序列,长度是不是可变。是,就套这个框架;不是,就别硬套。具体模型选型以官方页面为准。

对普通人:机器翻译、会议纪要摘要、语音转文字、客服自动回复、代码补全,这些"给一段、还一段"的功能背后大多是这个思路。下次提需求时,先讲清楚输入输出各是什么、大概多长,比纠结用哪个模型更有用。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。