AI / Technology
用神经网络进行序列到序列学习
序列到序列架构:编码器把源序列压成固定长度向量,解码器据此逐步生成目标序列。
图 1|重新绘制的教学示意。它强调信息流,不表示每层的精确门控结构。来源依据:论文图 1 与 §2。
编码器 LSTM 按时间步读入源序列,最后的隐藏状态就是固定长度表示 v。另一个独立的解码器 LSTM 从 v 出发,根据已经生成的词,估计下一个词的概率;`` 让模型能够决定何时停止。实际模型使用 4 层 LSTM,而非一套参数在两端共用。论文 §2,PDF 第 3 页
只反转源句后,最早输入—输出依赖变短;目标句顺序保持不变。
图 2|“A→α”只是依赖距离的教学符号,不代表模型显式学习了词对齐。来源依据:论文 §2、§3.3。
若源句是 A B C、目标句是 α β γ,训练时改为输入 C B A,目标仍是 α β γ。这样不改变源词与目标词的平均距离,却显著缩短开头若干对应词之间的最小时间延迟。作者认为这让反向传播更容易建立输入与输出之间的联系,但也明确说还没有完整解释 这一现象。论文 §3.3,PDF 第 4 页
束搜索逐步扩展候选,只保留高分路径,并在结束标记出现后完成输出。
图 3|概念性示意,省略具体词与分数;蓝色路径表示保留候选,灰色路径表示被剪枝候选。来源依据:论文 §3.2。
生成时使用从左到右的束搜索:保留少量高概率的部分译文,逐词扩展,再丢弃较低概率分支;出现 `` 的候选进入完整结果集合。论文报告束宽 1 已能工作,束宽 2 获得了大部分收益;最佳直接翻译结果使用束宽 12。论文 §3.2、表 1,PDF 第 4、6 页
研究附录
原文标题: Sequence to Sequence Learning with Neural Networks
作者: Ilya Sutskever、Oriol Vinyals、Quoc V. Le · 版本: arXiv v3(2014-12-14)
原文: arXiv 摘要页 · 论文 PDF
核心结论
三句话记住这篇论文
- 把不定长序列接到不定长序列。 一个 LSTM 读完整个输入并压成固定长度向量,另一个 LSTM 以它为条件逐词输出,直到生成 ``;输入和输出无需等长。论文 §2,PDF 第 3 页
- 数据顺序也能决定训练难度。 只反转源句、不反转目标句,让输出开头与相应输入更靠近;单模型测试困惑度从 5.8 降到 4.7,BLEU 从 25.9 升到 30.6。论文 §3.3,PDF 第 4 页
- 大规模翻译给出了关键验证。 5 个反转源句的 LSTM 集成在 WMT’14 英法测试集上直接翻译得到 34.81 BLEU,高于论文采用的短语式 SMT 基线 33.30;但仍低于同一评测口径下的最佳系统 37.0。论文表 1–2,PDF 第 6 页
一句话说,这篇论文证明了一个结构假设很少的“读完再写”神经网络,可以在大规模机器翻译上直接与成熟的短语式系统竞争;它最值得记住的工程启发,则是先改变问题的表示,让学习路径变短。
问题
为什么普通神经网络接不住两段话
传统前馈网络通常要求输入和输出都是固定维度向量,可翻译、问答等任务的两端都是长度事先未知的序列,而且长度可能不同、对应关系也未必单调。普通 RNN 在已知对齐关系时可以逐步映射,但“先读完一段,再生成另一段”会把相关输入与输出隔得很远,形成难以训练的长期依赖。论文 §1–2,PDF 第 1–3 页
当时已有方法卡在哪里
论文把自己放在两类工作之间:一类用神经网络给传统机器翻译系统的候选结果重排,不能独立完成整段生成;另一类已尝试把句子编码成向量再解码,但在长句上表现困难,或依赖额外的注意机制、分块策略。本文选择更直接的路线:两个深层 LSTM 端到端完成变长序列映射,并检验它能否直接翻译。论文 §1、§4,PDF 第 2、8 页
方法
编码器—解码器
编码器 LSTM 按时间步读入源序列,最后的隐藏状态就是固定长度表示 v。另一个独立的解码器 LSTM 从 v 出发,根据已经生成的词,估计下一个词的概率;`` 让模型能够决定何时停止。实际模型使用 4 层 LSTM,而非一套参数在两端共用。论文 §2,PDF 第 3 页
反转源句
若源句是 A B C、目标句是 α β γ,训练时改为输入 C B A,目标仍是 α β γ。这样不改变源词与目标词的平均距离,却显著缩短开头若干对应词之间的最小时间延迟。作者认为这让反向传播更容易建立输入与输出之间的联系,但也明确说还没有完整解释 这一现象。论文 §3.3,PDF 第 4 页
从概率到一句译文
生成时使用从左到右的束搜索:保留少量高概率的部分译文,逐词扩展,再丢弃较低概率分支;出现 `` 的候选进入完整结果集合。论文报告束宽 1 已能工作,束宽 2 获得了大部分收益;最佳直接翻译结果使用束宽 12。论文 §3.2、表 1,PDF 第 4、6 页
证据与局限
结果到底有多强
实验使用 WMT’14 英法任务的精选子集:1200 万句对、3.04 亿英文词、3.48 亿法文词;源词表 16 万、目标词表 8 万,词表外词统一替换为 UNK。下表均为论文用 tokenized、区分大小写的 BLEU 口径在 ntst14 上得到的结果,不能直接与不同预处理或 BLEU 实现的数字混比。论文 §3.1、§3.6,PDF 第 4、5 页
| 方法 | 测试 BLEU | 它说明什么 |
|---|---|---|
| 短语式 SMT 基线 | 33.30 | 论文的直接对照 |
| 单个正序 LSTM,束宽 12 | 26.17 | 架构本身还不够 |
| 单个反转 LSTM,束宽 12 | 30.59 | 反转源句带来 4.42 BLEU 提升 |
| 5 个反转 LSTM 集成,束宽 12 | 34.81 | 直接神经翻译超过该 SMT 基线 |
| 集成模型重排 SMT 的 1000 个候选 | 36.5 | 混合使用时接近 37.0 的当时最佳结果 |
数据来源:论文表 1–2,PDF 第 6 页。34.81 来自 5 模型集成,不能归因于单一模型。
不能从实验推出什么
- 不是无限容量的“理解”。 整个源句被压进固定长度向量;论文只在一个英法翻译设置上检验,不能证明该瓶颈对任意长度或任意序列任务都稳健。
- 词表外问题真实存在。 8 万目标词表之外的词会变成
UNK,论文指出这会惩罚 BLEU;因此 34.81 既显示方法潜力,也暴露了开放词汇处理缺口。论文 §3.1、§3.6 - “长句没问题”有边界。 论文图 3 表明 35 词以内没有退化、最长句仅轻微退化,但这是该测试集上的分桶观察,不是任意长序列的保证。论文图 3,PDF 第 7 页
- 代价不小。 单模型有 3.84 亿参数,使用 8 块 GPU 训练约 10 天;最佳直接翻译又集成了 5 个模型。论文 §3.4–3.6,PDF 第 5–6 页
- 机制解释仍是推断。 作者把反转带来的提升归因于更短的最小时间延迟,并推测标准 RNN 在反转数据上也可能训练成功,但后一个判断没有实验验证。论文 §3.3、§5
实际意义
真正可迁移的设计原则
对产品和工程最有价值的,不是照搬“反转每段输入”,而是先问:能否重新编码任务,让早期输出更快接触最相关的信息? 这是基于论文结果的工程解释,不是作者验证过的通用定律。编码器—解码器把“输入多长、输出多长”从固定接口中解放出来,也给翻译之外的摘要、问答、语音转写等序列映射提供了统一模板;但论文只实证了英法翻译,迁移到其他任务仍需单独验证。论文 §1、§5
复现与继续验证
复现时至少应锁定数据子集、分词、大小写 BLEU 脚本、16 万/8 万词表、源句反转、4 层 LSTM 和模型集成数,否则数字不可直接对照。继续研究时,最关键的三个问题是:固定向量在更长序列上何时失效?开放词汇方案能否消除 UNK?在相同计算预算下,反转、模型深度与集成分别贡献多少?这些问题把论文已证明的结果与尚待验证的外推清楚分开。
关于这篇论文的三个关键问题
用神经网络进行序列到序列学习 解决了什么问题?
传统前馈网络通常要求输入和输出都是固定维度向量,可翻译、问答等任务的两端都是长度事先未知的序列,而且长度可能不同、对应关系也未必单调。普通 RNN 在已知对齐关系时可以逐步映射,但“先读完一段,再生成另一段”会把相关输入与输出隔得很远,形成难以训练的长期依赖。论文 §1–2,PDF 第 1–3 页
用神经网络进行序列到序列学习 的核心结论有哪些证据?
实验使用 WMT’14 英法任务的精选子集:1200 万句对、3.04 亿英文词、3.48 亿法文词;源词表 16 万、目标词表 8 万,词表外词统一替换为 UNK。下表均为论文用 tokenized、区分大小写的 BLEU 口径在 ntst14 上得到的结果,不能直接与不同预处理或 BLEU 实现的数字混比。论文 §3.1、§3.6,PDF 第 4、5 页
阅读 用神经网络进行序列到序列学习 时最需要注意什么局限?
实验使用 WMT’14 英法任务的精选子集:1200 万句对、3.04 亿英文词、3.48 亿法文词;源词表 16 万、目标词表 8 万,词表外词统一替换为 UNK。下表均为论文用 tokenized、区分大小写的 BLEU 口径在 ntst14 上得到的结果,不能直接与不同预处理或 BLEU 实现的数字混比。论文 §3.1、§3.6,PDF 第 4、5 页