S09.md · 可读全文

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

# S09 · 参考前缀、预测与共享参数的训练

完整生成已建立。训练需要同时回答两个问题:当前预测合法地看见什么,以及译文标签如何影响共享参数。

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

## 状态 b0

训练输入BOS I gave her a book yesterday .,标签I gave her a book yesterday . EOS;gave列预测her。

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

## 状态 b1

独立输出头给定logits(0,ln2,ln3),目标book概率1/2,CE为ln2≈.6931。

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

## 状态 b2

多个目标位置分别得到损失,沿词表、decoder与源表示回传,累积到共享参数。

<span id="s09-b3"></span>

## 状态 b3

训练用已知参考前缀;生成用已选词,不读取未知未来,直到EOS。

## 公式与算例详情

完整训练输入为`BOS I gave her a book yesterday .`,逐位置标签为`I gave her a book yesterday . EOS`。源句$x$在所有预测中可见。预测her的列只接收到BOS、I、gave形成的目标历史;参考her用于损失,不能送给同一次预测节点。teacher forcing使用正确已知前缀,并不授权读取当前标签或未来目标。

本页输出接口手算刻意另取前缀`I gave her a`,三候选`her / a / book`的logits设为$(0,\ln2,\ln3)$,不宣称由前页二维RNN真实运行所得。softmax为$(1/6,1/3,1/2)$;标签book的损失$L=-\ln(1/2)=\ln2\approx.6931$ nats,logit梯度$p-y=(1/6,1/3,-1/2)$。训练沿链式法则回到输出头、循环参数和embedding;共享参数汇总多个位置的影响。

对不同长度序列用padding时,只在有效目标token上汇总损失,EOS计入而PAD排除。完整NLL、PPL与训练/验证划分在主题正文和LAB01。teacher-forced NLL与自由生成整句精确匹配回答不同问题,不能把一次argmax命中或训练loss下降直接当作翻译忠实保证。

生成时没有正确未来译文可接,只能接回自己的选择;早先选择会影响后续前缀分布。这个区别为后面的搜索与错误诊断保留了具体问题,而不是预先认定所有错误都源于自馈。

### 继续学习

[把预测、训练与评价摊在同一张样本表上](https://codingai-lec05.pages.dev/course/knowledge/objectives-and-evaluation.html) · [LAB01:B · 同一预测目标,三个模型;训练一次,生成多次](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-05-841ec8e7-e352-4840-b628-d3742b03d6d0/notebook/LAB-01-ec403d28cc2c400ba661cd270588669f?utm_content=ec403d28cc2c400ba661cd270588669f&utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_term=get_notebook)

[状态在流动,梯度可以停在边界](https://codingai-lec05.pages.dev/course/knowledge/recurrent-state-and-credit.html) · [LAB01:C · 共享参数的梯度到底加了几次?](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-05-841ec8e7-e352-4840-b628-d3742b03d6d0/notebook/LAB-01-ec403d28cc2c400ba661cd270588669f?utm_content=ec403d28cc2c400ba661cd270588669f&utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_term=get_notebook)

[路径 A:分数进步了,为什么这一句仍然错](https://codingai-lec05.pages.dev/course/knowledge/teacher-forcing-and-generation.html) · [LAB02:路径A · 分数进步了,为什么这一句仍然错](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)

保留的完整推导:[R10](course/R10.html) · [R11](course/R11.html) · [R12](course/R12.html) · [R13](course/R13.html) · [R16](course/R16.html) · [R17](course/R17.html) · [R26](course/R26.html)。