橙研所· 方法论 × Agent 拆解
AI 科普 · Explainer

AI圣经03 《Sequence to Sequence:一段进、一段出,AI 翻译骨架的诞生》

你给 ChatGPT 发一段话、它回你一段话,这种「一段进、一段出」的本事,2014 年才被一篇论文第一次证明能用神经网络端到端做到。它叫 seq2seq——今天所有大模型的骨架原型。

封面 · AI圣经03 Sequence to Sequence
📚 AI 圣经 · 系列导览这是「AI 圣经」系列第 03 篇。我会带你逐篇精读撑起今天所有大模型的 21 篇经典论文,分 5 个阶段层层递进(本篇已高亮): 本篇论文:《Sequence to Sequence Learning with Neural Networks》· Sutskever, Vinyals, Le 2014 · NeurIPS 2014。地址 arXiv:1409.3215(arxiv.org/abs/1409.3215)。其余各篇论文地址,随当期文章给出。
📩 回复「AI圣经03」,领取本篇论文 PDF。

太长不读今天你给大模型「发一段、回一段」习以为常,但 2014 年以前,让神经网络做这件事还是个公开难题——输入和输出的长度都不固定,老网络处理不了。这篇论文给了第一个干净答案:让一个网络负责「读」(把整句话压成一个向量),另一个网络负责「写」(从这个向量逐词生成)。读完你能拿到一条清晰的历史线——今天所有大模型「一段进、一段出」的骨架,是怎么在一台翻译机器里被立起来的。

上篇回顾 · 先答一题AI圣经02 讲的是 Bahdanau 注意力:它是给老翻译模型打的一个补丁,治的病是「把一整句原文压进一个固定大小的向量」——句子一长,那个向量就装不下、信息丢失(上篇我们管它叫「便签」)。注意力让解码器每写一个词都回头看一遍原文、按需取料,绕开了这个向量。小问:那个被注意力打补丁的「老骨架」本身叫什么?那个「便签」在论文里有个更好听的名字,又叫什么?答案就是本篇的主角。

关于这篇论文《Sequence to Sequence Learning with Neural Networks》,2014 年发表于机器学习顶会 NeurIPS。作者是 Google Brain 的 Ilya Sutskever、Oriol Vinyals、Quoc Le——其中第一作者 Ilya Sutskever,后来是 OpenAI 的联合创始人兼首席科学家。它和上一篇 Bahdanau 几乎同在 2014 年:一个把骨架立起来,一个发现骨架的漏洞、打上补丁。

012014 年的难题:长度不固定,老网络就抓瞎

seq2seq 论文 第1页 · 标题 · 摘要 · 引言(问题的提出)
论文原文 · 第1页:标题 · 摘要 · 引言(问题的提出)

先说清这篇论文要解决什么。神经网络擅长一种活儿:给它固定大小的输入、吐出固定大小的输出——比如读一张 28×28 的图片、答「是不是猫」。可语言偏偏不是这样。

把英语「I am fine」翻成法语「je vais bien」,碰巧 3 个词对 3 个词;换一句,输入 5 个词可能翻出 8 个词。输入多长、输出多长,事先都不知道,而且两边还不相等。这种「不定长进、不定长出」,正是当时神经网络的死角——它要求你把维度钉死,可翻译这件事根本钉不死。这就是 2014 年摆在桌上的难题:怎么让一个网络,把任意长的一串词,变成另一种语言里任意长的一串词。

02解法:两个网络接力,一个负责读、一个负责写

seq2seq 论文 第2页 · Figure 1 — 编码器—解码器核心架构
论文原文 · 第2页:Figure 1 — 编码器—解码器核心架构

Sutskever 他们的答案干净得出奇:别用一个网络硬扛,用两个。前一个叫编码器(encoder),专门负责「读」;后一个叫解码器(decoder),专门负责「写」。中间用一样东西交接。

编码器是一个 LSTM(一种能记住较长距离信息、不容易「读了后面忘了前面」的循环网络),它把原文一个词一个词读到尾,读完后,把整句话的意思压成一个固定长度的向量。这个向量,就是俗称的「思想向量(thought vector)」——你可以理解成:一个人读完一整段外文、合上书,脑子里留下的那一个「念头」

然后解码器(另一个 LSTM)登场。它盯着这个念头,一个词一个词往外写译文,每写一个都参考前面已写出的词,直到吐出一个特殊的「句子结束」标记才收笔。读和写彻底分工,长度也就自由了:原文几个词不绑死译文几个词,两边各管各的。这套「编码器—解码器」结构,从此成了序列生成的通用骨架,沿用至今。

SEQ2SEQ · 读和写,分给两个网络 原文(任意长) 编码器 LSTM · 读 整句被压进这一个向量 思想向量 解码器 LSTM · 写 译文(任意长) 编码器把原文读到尾、压成一个「思想向量」; 解码器拿着它逐词写出译文——读写分工,长度各自自由。
图 1 · 编码器读、解码器写,中间用一个「思想向量」交接——seq2seq 的核心骨架

03一个反直觉的小技巧:把原文倒过来喂

seq2seq 论文 第4页 · §3.3 Reversing — 把源句倒序输入
论文原文 · 第4页:§3.3 Reversing — 把源句倒序输入

论文里最好玩的,是一个看着像「乱来」的操作。他们发现:把源句子的词从头到尾倒过来输进编码器(把「a b c」喂成「c b a」),译文质量明显变好——目标句子一个字不动,只把输入倒一下,就有实打实的提升。

为什么?论文给的解释是:倒序之后,源句开头的词,离译文开头的词在「时间上」更近了。翻译往往是开头对开头、结尾对结尾,倒序让这些最该挂钩的词之间路径变短,于是产生很多「短期依赖」,梯度更好传、模型更容易学。一个几乎零成本的小动作,换来明显收益——这正是深度学习常有的「玄学时刻」:确实有效,却要事后才说得清为什么。

REVERSE · 倒序的玄机 正序:源句开头 a 离译文 A 隔了一整句 → 路径远 a b c 向量 A B C a → A 跨越整句,依赖被拉长 倒序:源句倒成 c b a,a 紧挨译文 A → 路径近 c b a 向量 A B C a → A 路径变短,更好学
图 2 · 倒序输入:让源句开头与译文开头在时间上靠近,缩短关键依赖、优化更容易

04它真的管用吗:神经网络第一次翻译打平老牌系统

seq2seq 论文 第6页 · Table 1 — WMT'14 英→法 BLEU 主结果
论文原文 · 第6页:Table 1 — WMT'14 英→法 BLEU 主结果

空说没用,论文拿数据说话,赛场是公认硬核的 WMT'14 英语→法语翻译。衡量标准是 BLEU 分(翻译质量的自动评分,越高越好)。

结果:他们的 LSTM 系统拿到 BLEU 34.8超过了当时主流的短语统计机器翻译(SMT)系统的 33.3;如果再让 LSTM 去给统计系统给出的候选译文重新排序,还能进一步冲到 36.5。要知道,统计机器翻译是被工业界打磨了十几年的成熟方案,而这套神经网络几乎从零开始、端到端训练,第一次出手就把它打平、甚至超过。论文还特意点一句:LSTM 处理长句子也没怎么吃力——这在当时相当反直觉。

WMT'14 英→法 · BLEU(越高越好) 短语统计翻译 · 老牌 SMT 33.3 本文 LSTM · 端到端神经网络 34.8 LSTM 重排序 · 给 SMT 候选打分 36.5 横轴自 BLEU 30 起,放大差异
图 3 · WMT'14 英→法 BLEU:端到端 LSTM(34.8)首次打平并超过深耕多年的统计翻译(33.3)

05历史定位:骨架立住了,但那个向量是颗定时炸弹

seq2seq 论文 第8页 · §5 Conclusion — 结论
论文原文 · 第8页:§5 Conclusion — 结论

把镜头拉远,这篇论文的位置很清楚:它立起了「编码器—解码器」这个骨架,证明神经网络能端到端做「序列到序列」的任务。但它也埋下一个隐患——不管原文多长,全句信息都得挤进那一个思想向量。句子一长,向量就装不下,前面的信息被挤掉。

于是历史接着往下走,正好串起这个系列的前两篇:2014 年 seq2seq 立骨架(本篇)→ 同样 2014 年,Bahdanau 发现那个向量是瓶颈,给它加上「注意力」补丁,让解码器回头看原文、不再只靠一个向量(上一篇 AI圣经02)→ 2017 年 Transformer 干脆把 RNN 整个扔掉,只留注意力(AI圣经01)。一句话串起来:压缩瓶颈 → 注意力补丁 → 注意力即一切。

而这套 2014 年为翻译写下的「一个读、一个写」的接力姿势,今天你天天在用:ChatGPT、DeepL、各种 AI「输入一段、输出一段」,骨子里都是它的后代。第一作者 Ilya Sutskever 也正是从这篇出发,一路走到 OpenAI 首席科学家——一篇为翻译写的论文,立下了今天整个生成式 AI 的基本姿势。

骨架的三级跳 2014 · seq2seq 编码器—解码器 整句压一个向量(本篇) 2014–15 · 注意力 解码器回看原文 绕开向量瓶颈(AI圣经02) 2017 · Transformer 扔掉 RNN 只留注意力(AI圣经01) 压缩瓶颈 → 注意力补丁 → 注意力即一切。
图 4 · 编码器—解码器骨架的三级跳:seq2seq 立骨架 → 注意力补漏洞 → Transformer 只留注意力

读完自测:先别往下翻,试着答

主动回忆一遍才记得住(这点「小难度」是故意的)。三问,想好再看答案:

答案1. 编码器(一个 LSTM)负责「读」,把整句原文压成一个向量;解码器(另一个 LSTM)负责「写」,从这个向量逐词生成译文。2. 思想向量=编码器把整句话压成的那一个固定长度向量,是读与写之间的交接物;隐患是句子一长,全部信息挤进一个向量就装不下、信息丢失——这正是下一步「注意力」要解决的瓶颈。3. 倒序让源句开头的词离译文开头的词在时间上更近,产生很多短期依赖、路径变短,梯度更好传、模型更容易学(目标句不动,只倒输入)。

一句话带走,和下一步

只记一句:seq2seq 在 2014 年用「一个网络读、一个网络写」,第一次让神经网络端到端做翻译,立下了今天大模型「一段进、一段出」的骨架。它压出来的那个「思想向量」既是钥匙、也是瓶颈,于是引出了注意力、再引出 Transformer。现在你可以把「大模型一段进一段出的骨架是怎么来的」讲给任何一个好奇的朋友了。

想再深入一点seq2seq 的基本部件是 LSTM,把它讲得最透、全是图的是 Christopher Olah 的《Understanding LSTM Networks》(搜标题即得)。顺历史线往下走,下一篇 AI圣经04 我们往更底层补一块地基——word2vec:词是怎么变成一串数字、让机器算得出「国王 − 男人 + 女人 ≈ 女王」的。
seq2seq 这个「一个读、一个写」的接力结构,你还在别的 AI 产品里见过它的影子吗?评论区聊聊。

← 返回 AI 圣经目录