R24.md · 可读全文

这里保留原文的中文、公式标记、代码和链接。可直接交给 Agent 读取,也可选取下方原文复制。此入口返回 HTML;原始 .md / .py 文件仍保留,完整候选包同时包含 UTF-8 原件。

# R24 · 两个序列,由一个条件接口接起来

开场暂拿开的中文条件现在接回来了。沿用上一页的条件生成接口,把图像编码器换成源句编码器,检查两条长度和顺序不同的序列怎样相连。

<span id="r24-b0"></span>

## 状态 b0

源端逐片段编码,将中文汇到c_src。先看来源如何形成这次条件。

<span id="r24-b1"></span>

## 状态 b1

c_src初始化s₀,目标端随后读BOS、I、gave。对照固定源条件与持续变化的s,避免把两者都理解成冻结。

<span id="r24-b2"></span>

## 状态 b2

完整参考输出出现,yesterday移到后部且最后为EOS。两端不要求同长同序,但应描述同一给予事件。

## 公式与算例详情

回到“我昨天给了她一本书”与“I gave her a book yesterday.”。课堂把源句分成“我/昨天/给了/她/一本/书”,把英文词与句号分开;这只是便于追踪的位置约定,真实分词可不同。语对为参考目标,不是本页模型训练输出。

固定表示 seq2seq 先令 $h_t=f_{\rm enc}(h_{t-1},E_x(x_t))$,读完整个源句后取源条件 $c$(图中记为$c_{src}$,与LSTM内部cell不同)。图中选择用 $s_0=\operatorname{init}(c)$ 初始化解码状态,随后

$$s_i=f_{\rm dec}(s_{i-1},E_y(y_{i-1})),\qquad p_i=\operatorname{softmax}(W_ps_i+b_p).$$

$y_0=\mathrm{BOS}$,输出最后包括 EOS。对 LSTM,传递的编码表示可以包含多层 cell/hidden 状态并经过变换,不必只是一个单层 $h_n$。也有实现把 $c$ 在每一步显式输入解码器;本图明确采用初始化接口,避免把不同论文实现混成一个公式。

编码器和解码器各有参数,各自在自己的时间链上共享。源句的信息通过 $c$ 和后续状态传递,目标历史通过自回归递推进入。源侧表示不按当前输出位置重新读取;解码状态却一直变化。固定的是表示维度,输入长度和输出长度均可变。

这条接口把源信息压到固定维度中,会引出容量、优化和读取方式的研究问题,但不能由此推出“超过某个词数必定失败”的定理。不同长度分布、模型规模、训练方式与任务都有影响。参考:N-RNN PDF p53–58;Sutskever et al. 2014,§2。

原课页采用记录:[M15 变长输入怎样变成变长输出](sources.html#M15)。页码均按PDF物理页计。

### 继续学习

[本页自学核对](lecture.html#read-R24):沿源句末态到 s₀ 再到目标词追踪;整理成 c_src 接口图,区分 LSTM cell。

若固定源条件与变化解码状态仍分不清,可进入[《2014:先拥有一个可工作的翻译器,再决定改哪里》](https://codingai-lec05.pages.dev/course/knowledge/translation-choices-2014.html);动手时打开[LAB02](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-05-841ec8e7-e352-4840-b628-d3742b03d6d0/notebook/LAB-02-bba1d024d8e64a589c290b09381de692?utm_content=bba1d024d8e64a589c290b09381de692&utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_term=get_notebook)的“D/E · 固定源序,比较两种读取接口”:核对课堂末态初始化与实验均值条件、零初态和逐步输入条件的区别,再读固定/动态接口对照。 实施范围见[实验路线D](experiments.html#experiment-D)。