第 6 课 · 深度学习四大基石
两层小网络:先看误差怎样传回去
不用别人直接给答案,怎样算出两个参数该改多少?
学完这一课,你能做到什么
- 能从输入到损失完成两层小网络的前向计算。
- 能沿依赖路径算两个梯度,用有限差分核对,并从同一旧点同时更新。
- 能区分前向、反向与优化器职责,说明负区间截断与固定推理的条件。
网站对应:层层抽象:多层网络与反向传播。按网站显示顺序编为第 6 课。
先预测 · 操作材料 · 改变条件
两参数网络前向、反向与同时更新
本页确实执行两参数小网络的一次前向、解析梯度、有限差分核对及同时更新。h=max(0,a×x),预测=c×h,无偏置;所有参数由人给定初值。
浏览器本地真实计算;教师预设的小算例,不是训练商用模型
- 先读材料并写预测,暂不运行。
- 手算一个中间结果后点击“计算并查看过程”。
- 按工作纸指定条件改动,比较前后结果并保留记录。
先记录你的预测,再点击运行。每次结果都由本课程序根据当前输入生成。
本次过程与结果
对照上一次运行结果
留下自己的解释
文字只保留在当前页面,离开前可导出;工作纸还有本课的具体记录题。
教师可以怎样一步步讲
完整教师讲稿
第 6 课教师讲稿|两层小网络:先看误差怎样传回去
本课在 AIPath 的第 2 阶段,沿用原课主题“层层抽象:多层网络与反向传播”。建议 60 分钟,一人一台电脑。先预测、再手算一个中间结果,最后操作页面。网站中的宏大问题在本课缩小为一个可重复的小过程;课堂程序只承担下文写明的计算,不代表真实产品的完整行为。
学完能做什么
- 能从输入到损失完成两层小网络的前向计算。
- 能沿依赖路径算两个梯度,用有限差分核对,并从同一旧点同时更新。
- 能区分前向、反向与优化器职责,说明负区间截断与固定推理的条件。
贯穿问题:不用别人直接给答案,怎样算出两个参数该改多少?
课前准备与完整实验材料
教师先在本课页面找到“两参数网络前向、反向与同时更新”,核对输入框初始值。核心按钮名为“计算并查看过程”。请先自行完成默认、改变条件、独立题三次运行,确认本机能看到过程表;本地运算不需要账号或联网。初次投影时不要留着上一轮结果,让学生先在工作纸写预测。课堂使用学生工作纸,讲評再打开参考答案,避免学生边看答案边回填。
本页确实执行两参数小网络的一次前向、解析梯度、有限差分核对及同时更新。h=max(0,a×x),预测=c×h,无偏置;所有参数由人给定初值。
- 输入 x(输入框
x)初始为:
2
- 目标 y(输入框
target)初始为:
4
- 第一层参数 a(输入框
a)初始为:
1
- 第二层参数 c(输入框
c)初始为:
1
- 学习率(输入框
rate)初始为:
0.05
先手算 gc,再按路径推 ga。不要第一屏就宣读梯度答案。有限差分误差容许小数近似;z=0 是折点,程序清楚标注导数约定与中央差分可能不同。
0—60 分钟:可以顺着使用的讲稿
0—4 分钟|把大词缩成两只盒子
教师可以这样说:“上一课检查训练以外的数据;今天回到训练内部。第一只盒子算 a 乘输入,负数截零,第二只盒子再乘 c。我们要让最后输出接近目标,两个旋钮都能影响结果,先把路径看清。”
学生具体动作。 Q1 画 x→a×x→ReLU→c×h→输出,先猜该动哪个旋钮。
教师在桌边怎样追问。 两个旋钮的影响是否都直接碰到目标?
本段要收集的证据。 一条包含中间量 h 的路径。
4—8 分钟|先前向,别急着改
教师可以这样说:“默认输入二,a 与 c 都是一。先从左往右算,得到每个中间数。前向的含义就是沿计算路径求值,不是往右画箭头就叫学习;此时没有改任何参数。”
学生具体动作。 Q2 手算 z、h、预测与平方损失。
教师在桌边怎样追问。 算完损失时 a 与 c 是否已经变化?
本段要收集的证据。 旧参数和前向各数值留存。
8—12 分钟|从输出差距开始
教师可以这样说:“预测差目标多少,平方损失在输出处的斜率就是两倍差距。先用上一课的规则解释这个局部量,再看它怎样经过第二盒传回第一盒。不要先给学生一串没有来路的梯度数。”
学生具体动作。 写输出差距和输出处斜率,标在路径最右侧。
教师在桌边怎样追问。 这里的两倍差距相对于哪个数变化?
本段要收集的证据。 输出处斜率与参数梯度未混同。
12—16 分钟|先看后面那个旋钮
教师可以这样说:“c 每变一点,输出随 h 倍变化。因此损失对 c 的斜率,是输出处斜率乘当前 h。这里用的是旧点 h;参数还没有更新,所有计算都属于同一张旧状态照片。”
学生具体动作。 Q2 手算 gc=2(预测−目标)×h。
教师在桌边怎样追问。 为什么这一条路径上乘的是 h,而不是 x?
本段要收集的证据。 gc 的两个因子各有来源。
16—20 分钟|再把影响传给前面旋钮
教师可以这样说:“a 的影响还要经过输入倍率、ReLU 开关与 c。正区间开关传递倍率一,负区间截零后本例局部倍率零。把沿路倍率相乘,就是这个小例子中链式关系的直观用法。”
学生具体动作。 手算 ga=2(预测−目标)×c×开关×x,再运行。
教师在桌边怎样追问。 a 到输出比 c 到输出多经过哪几段?
本段要收集的证据。 ga 的路径因子与图对应。
20—24 分钟|给斜率作一个独立核对
教师可以这样说:“程序还把某个参数左右各挪十万分之一,比较损失差再除以两倍微小位移。这个有限差分只作核对,让学生看到斜率确实与局部变化有关,不能把数值近似当作所有网络的训练办法。”
学生具体动作。 Q3 比较梯度与有限差分结果,指出哪个参数被单独扰动。
教师在桌边怎样追问。 核对 a 时为什么要保持 c 不变?
本段要收集的证据。 两种算法的同一旧点对照。
24—28 分钟|同时更新不是轮流用新值
教师可以这样说:“现在才改旋钮。a 和 c 都从旧状态用刚算出的各自梯度更新。若先改 a 再拿新 a 重算 c 的梯度,那是另一套顺序,不能拿来复现本页这一步。”
学生具体动作。 把旧 a/c、各自梯度、学习率、新 a/c 写两行。
教师在桌边怎样追问。 计算第二个新参数时使用的是哪张状态照片?
本段要收集的证据。 两行更新共享同一旧点。
28—32 分钟|更新以后重新跑一遍
教师可以这样说:“新的参数要从头前向,才能知道损失有没有下降。不能把旧 h 直接乘新 c 当成整个新网络结果。每当一个上游值变化,所有依赖它的后续量都要重算。”
学生具体动作。 Q3 对新参数从 x 开始重算,核对新损失。
教师在桌边怎样追问。 旧 h 还能用于新参数的最终评价吗?
本段要收集的证据。 新前向不混入旧中间值。
32—36 分钟|负数截断时会怎样
教师可以这样说:“只把默认 a 改成负一,其余恢复默认。先猜 h 与两条梯度。这个点上输出被截零,局部参数变化未必能通过;这是本例门控的结果,不能说所有神经网络都因此不会学。”
学生具体动作。 Q3 在负区间运行并记录 h、梯度、更新后参数。
教师在桌边怎样追问。 在不跨过零的微小变化内,输出发生变化了吗?
本段要收集的证据。 零梯度与截断条件对应。
36—40 分钟|独立从新旧状态分界开始
教师可以这样说:“Q4 使用输入一、目标三、a 一、c 二、学习率 0.1。先写旧状态,从中推每条梯度,再一起更新。教师只检查路径与材料,不报梯度值。”
学生具体动作。 Q4 完整手算新题并注明每个量是旧点还是新点。
教师在桌边怎样追问。 你是否把教师默认输入二带入了这道题?
本段要收集的证据。 旧前向、梯度、更新、新前向四段齐全。
40—44 分钟|独立核对微小扰动
教师可以这样说:“计算完再运行,找程序与纸面第一次不同的地方。若梯度相同而结果不同,优先检查同时更新及重新前向。不要只把最后损失改成屏幕值而不修正过程。”
学生具体动作。 继续 Q4,写一个差异定位或全程一致记录。
教师在桌边怎样追问。 第一处差异在前向、求梯度还是更新?
本段要收集的证据。 差异定位清楚且能复现。
44—48 分钟|把职责交给三个角色
教师可以这样说:“让同伴分别扮演计算员、影响检查员、调参员。第一位只前向,第二位只求旧点影响,第三位才更新。借此区分反向传播与优化器,避免以为求梯度本身就已改参数。”
学生具体动作。 Q5 给前向、反向、更新分别写职责。
教师在桌边怎样追问。 反向结束、更新没开始时,参数是多少?
本段要收集的证据。 三个职责及参数变化时刻清楚。
48—52 分钟|此时才讲评独立答案
教师可以这样说:“独立题旧预测二、损失一,ga 为负四、gc 为负二。一起更新后 a=1.4、c=2.2,新预测 3.08、损失 0.0064。这个改进属于给定小例子,不能替代独立测试。”
学生具体动作。 修订 Q4,并解释两个梯度为什么不同。
教师在桌边怎样追问。 两个参数都影响同一个输出,为什么斜率不必相同?
本段要收集的证据。 答案解释不同路径倍率。
52—56 分钟|把跳过连接放进一张小卡
教师可以这样说:“额外看残差卡:输入五,变换给负一,把原输入与变换相加得新输出。保留路径不等于保证学习成功,只是另一种信息通过结构。主实验仍以两盒同时更新为验收核心。”
学生具体动作。 Q6 手算 h=5、F(h)=−1 的相加;再设 F(h)=0。
教师在桌边怎样追问。 变换为零时为什么原输入还能保留下来?
本段要收集的证据。 残差算式与普通串联区别。
56—60 分钟|离堂不再背黑箱词
教师可以这样说:“最后用一句话说“先算结果,按依赖路径求影响,再按学习率改参数”。再说明今天实际执行的是两参数一步更新,不是训练一个大语言模型。能把术语对应到数值,才算完成。”
学生具体动作。 Q6 提交路径图与旧新两张状态表。
教师在桌边怎样追问。 固定参数只作预测时,哪些步骤可以不做?
本段要收集的证据。 说明固定推理无需本次反向更新。
教师的概念备查:先用上面的观察,再补准确说法
这部分供备课和讲评时查阅,不要求在第一分钟连续宣读。学生已经看到一个过程后,再用相应名称为过程命名。需要回答更深问题时,先说明小实验所固定的条件,避免从一个算例直接跳到所有大模型。
多层表示与计算图
多层网络把上一层的输出作为下一层输入,使计算能够逐步组合与变换信息。隐藏层不是藏着人工写好的答案,而是输入输出之间的中间表示。图中的连线决定哪些数影响后续结果,前向计算必须沿依赖顺序完成。图像模型某些层可观察到边缘或部件相关特征,但不能据此把所有网络固定分成“语法层、语义层、推理层”,具体表示要通过模型分析验证。
可以补充的例子:本课h=ReLU(a×x),ŷ=c×h;先算a×x和h,才能计算ŷ,不能跳过h直接套错误输入。
应当停住的推论:深度与宽度是结构选择;增加层数并不自动增加准确率。
前向结果与损失
前向传播指从输入经过各个算子得到输出;训练时再把输出与目标比较计算损失。前向中产生的中间结果在求梯度时会有用,因为早期参数通过这些中间值影响最后损失。推理也需要前向计算,却通常不需要目标、损失或反向过程。因此“网络跑了一遍”还不足以说明发生训练;必须看有没有求梯度和更新参数的实际步骤。
可以补充的例子:x=2、a=1、c=1得到h=2、ŷ=2,目标4对应L=(2-4)²=4。
应当停住的推论:本课模型没有偏置,输出层不使用ReLU,这两点都是题目明确规定的结构。
反向传播与优化器分工
反向传播依据计算图应用链式法则,计算损失对各参数的局部变化率,即梯度。它沿依赖关系复用中间计算,回答每个参数微小变化会如何影响损失,并不把错误平均分给各层,也不是人在反省。求出梯度后,优化器才依据学习率和更新规则改参数。今天不要求自己推导导数,只用题目提供且在该点成立的梯度数,重点把求梯度和更新拆成两步。
可以补充的例子:本课起点给定ga=-8、gc=-8;这两个数算出时a、c仍为1,执行η=0.05更新后才变成1.4。
应当停住的推论:梯度数相同是本例条件造成的,不是所有参数均分责任;不能把反向传播本身写成更新。
深度训练的困难与残差
增加计算链长度可以重组特征,但梯度经过许多局部变化率时可能变小或变大,优化也随之变难。残差连接让某些块输出写成输入加变换后的结果,提供一条额外路径,帮助信息与梯度传播。它不是跳过全部计算,也不是把损失直接搬回最初一层。真实网络还需要合适初始化、归一化、优化等设计;本课先看清路径,不声称一个连接就能保证任意深网络训练成功。
可以补充的例子:若某块输入h=2、变换F(h)=0.3,残差输出为2.3;F(h)=0时仍保留输入2。
应当停住的推论:“每层固定衰减一半”可作玩具例子,不能当真实网络的恒定规律。
后置讲评:独立尝试结束后才展开
Q2 默认 z=h=2,预测 2,L=4,输出处斜率 −4;gc=−4×2=−8;ga=−4×1×1×2=−8。Q3 a新=c新=1.4,新 h=2.8,预测 3.92,新损失 0.0064。有限差分在非折点近似上述梯度;不是新增训练目标。只改 a=−1 后 z=−2、h=0,两梯度 0,参数不动,损失 16。
Q4 旧 h=1,预测 2,L=1,输出处斜率 −2;ga=−2×2×1×1=−4,gc=−2×1=−2;同时更新 a=1.4、c=2.2,新预测 3.08、L=0.0064。先更新 a 再据新状态更新 c 不符合这道题。
Q5 前向算值、反向求梯度、优化器改参数;反向结束但尚未更新时参数仍为旧值。Q6 残差输出 4,F=0 时输出 5。固定推理需要前向,不要求提供本次目标、反向或更新。零点 ReLU 不可普通求导,程序采用 0 的约定;中央差分在折点不必吻合,不能判作通用错误。
板书、补救与课后加深
- 旧状态:x→z→h→预测→损失。
- 反向:每段局部倍率连乘,求旧点 ga、gc。
- 同一旧点同时更新 → 从头前向 → 新损失。
使用本页相同的输入、步骤与判定规则在纸上完成,必要时用普通计算器。保留预测、中间量和最后核对,注明实际完成的是纸面复算。没有外部 AI 调用,不把这项工作说成已经得到某个产品的真实效果。
推导本课两条梯度公式,做微小扰动的数值验证;再用自动微分工具运行一次真实前向、backward和优化器step,逐项检查梯度与参数文件变化。 深化内容另计时间;先保证本课独立练习完成。
来源和实际完成范围
- AIPath 对应课:用作课序与主题对应。
- Google:Nodes and hidden layers:核对加权求和、隐藏层和线性层复合;人工小算例独立编写。
- PyTorch:Automatic Differentiation with torch.autograd:核对计算图、反向求梯度和梯度计算不等于参数更新。
- Vaswani et al.:Attention Is All You Need(2017):核对查询、键、值、注意力加权及 Transformer 构件;不把原论文架构当所有产品的内部图。
- He et al.:Deep Residual Learning for Image Recognition(2015):核对残差函数与输入路径的原始研究依据;不将“残差有益”扩大成任意深度必然更好。
新增实验在浏览器本地计算,已用随课测试核对指定条件。纸面样本是为解释机制编写的,不是实际业务数据;未在此训练大模型,未做真人试教。
60 分钟安排
每行给出具体讲解、学生动作和可检查的结果。根据学生反应调整,尚未真人计时试教。
| 时间 | 教师讲解与操作 | 学生动作 | 检查依据 |
|---|---|---|---|
| 00:00— 01:00 | 上一课检查训练以外的数据;今天回到训练内部。第一只盒子算 a 乘输入,负数截零,第二只盒子再乘 c。我们要让最后输出接近目标,两个旋钮都能影响结果,先把路径看清。 | 在工作纸记录本段问题:把大词缩成两只盒子 | 保留一句关于“把大词缩成两只盒子”的原始解释 |
| 01:00— 02:00 | 把本段材料留在屏幕,说明操作:Q1 画 x→a×x→ReLU→c×h→输出,先猜该动哪个旋钮 | Q1 画 x→a×x→ReLU→c×h→输出,先猜该动哪个旋钮 | 一条包含中间量 h 的路径 |
| 02:00— 03:00 | 逐人检查记录;只追问:两个旋钮的影响是否都直接碰到目标? | 对照刚才的输入和输出,回答:两个旋钮的影响是否都直接碰到目标? | 回答中标出本段的输入条件和一个中间量 |
| 03:00— 04:00 | 请一位学生读记录,检查是否完成:一条包含中间量 h 的路径。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在把大词缩成两只盒子旁保留修订痕迹 | 一条包含中间量 h 的路径 |
| 04:00— 05:00 | 默认输入二,a 与 c 都是一。先从左往右算,得到每个中间数。前向的含义就是沿计算路径求值,不是往右画箭头就叫学习;此时没有改任何参数。 | 在工作纸记录本段问题:先前向,别急着改 | 保留一句关于“先前向,别急着改”的原始解释 |
| 05:00— 06:00 | 把本段材料留在屏幕,说明操作:Q2 手算 z、h、预测与平方损失 | Q2 手算 z、h、预测与平方损失 | 旧参数和前向各数值留存 |
| 06:00— 07:00 | 逐人检查记录;只追问:算完损失时 a 与 c 是否已经变化? | 对照刚才的输入和输出,回答:算完损失时 a 与 c 是否已经变化? | 回答中标出本段的输入条件和一个中间量 |
| 07:00— 08:00 | 请一位学生读记录,检查是否完成:旧参数和前向各数值留存。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在先前向,别急着改旁保留修订痕迹 | 旧参数和前向各数值留存 |
| 08:00— 09:00 | 预测差目标多少,平方损失在输出处的斜率就是两倍差距。先用上一课的规则解释这个局部量,再看它怎样经过第二盒传回第一盒。不要先给学生一串没有来路的梯度数。 | 在工作纸记录本段问题:从输出差距开始 | 保留一句关于“从输出差距开始”的原始解释 |
| 09:00— 10:00 | 把本段材料留在屏幕,说明操作:写输出差距和输出处斜率,标在路径最右侧 | 写输出差距和输出处斜率,标在路径最右侧 | 输出处斜率与参数梯度未混同 |
| 10:00— 11:00 | 逐人检查记录;只追问:这里的两倍差距相对于哪个数变化? | 对照刚才的输入和输出,回答:这里的两倍差距相对于哪个数变化? | 回答中标出本段的输入条件和一个中间量 |
| 11:00— 12:00 | 请一位学生读记录,检查是否完成:输出处斜率与参数梯度未混同。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在从输出差距开始旁保留修订痕迹 | 输出处斜率与参数梯度未混同 |
| 12:00— 13:00 | c 每变一点,输出随 h 倍变化。因此损失对 c 的斜率,是输出处斜率乘当前 h。这里用的是旧点 h;参数还没有更新,所有计算都属于同一张旧状态照片。 | 在工作纸记录本段问题:先看后面那个旋钮 | 保留一句关于“先看后面那个旋钮”的原始解释 |
| 13:00— 14:00 | 把本段材料留在屏幕,说明操作:Q2 手算 gc=2(预测−目标)×h | Q2 手算 gc=2(预测−目标)×h | gc 的两个因子各有来源 |
| 14:00— 15:00 | 逐人检查记录;只追问:为什么这一条路径上乘的是 h,而不是 x? | 对照刚才的输入和输出,回答:为什么这一条路径上乘的是 h,而不是 x? | 回答中标出本段的输入条件和一个中间量 |
| 15:00— 16:00 | 请一位学生读记录,检查是否完成:gc 的两个因子各有来源。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在先看后面那个旋钮旁保留修订痕迹 | gc 的两个因子各有来源 |
| 16:00— 17:00 | a 的影响还要经过输入倍率、ReLU 开关与 c。正区间开关传递倍率一,负区间截零后本例局部倍率零。把沿路倍率相乘,就是这个小例子中链式关系的直观用法。 | 在工作纸记录本段问题:再把影响传给前面旋钮 | 保留一句关于“再把影响传给前面旋钮”的原始解释 |
| 17:00— 18:00 | 把本段材料留在屏幕,说明操作:手算 ga=2(预测−目标)×c×开关×x,再运行 | 手算 ga=2(预测−目标)×c×开关×x,再运行 | ga 的路径因子与图对应 |
| 18:00— 19:00 | 逐人检查记录;只追问:a 到输出比 c 到输出多经过哪几段? | 对照刚才的输入和输出,回答:a 到输出比 c 到输出多经过哪几段? | 回答中标出本段的输入条件和一个中间量 |
| 19:00— 20:00 | 请一位学生读记录,检查是否完成:ga 的路径因子与图对应。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在再把影响传给前面旋钮旁保留修订痕迹 | ga 的路径因子与图对应 |
| 20:00— 21:00 | 程序还把某个参数左右各挪十万分之一,比较损失差再除以两倍微小位移。这个有限差分只作核对,让学生看到斜率确实与局部变化有关,不能把数值近似当作所有网络的训练办法。 | 在工作纸记录本段问题:给斜率作一个独立核对 | 保留一句关于“给斜率作一个独立核对”的原始解释 |
| 21:00— 22:00 | 把本段材料留在屏幕,说明操作:Q3 比较梯度与有限差分结果,指出哪个参数被单独扰动 | Q3 比较梯度与有限差分结果,指出哪个参数被单独扰动 | 两种算法的同一旧点对照 |
| 22:00— 23:00 | 逐人检查记录;只追问:核对 a 时为什么要保持 c 不变? | 对照刚才的输入和输出,回答:核对 a 时为什么要保持 c 不变? | 回答中标出本段的输入条件和一个中间量 |
| 23:00— 24:00 | 请一位学生读记录,检查是否完成:两种算法的同一旧点对照。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在给斜率作一个独立核对旁保留修订痕迹 | 两种算法的同一旧点对照 |
| 24:00— 25:00 | 现在才改旋钮。a 和 c 都从旧状态用刚算出的各自梯度更新。若先改 a 再拿新 a 重算 c 的梯度,那是另一套顺序,不能拿来复现本页这一步。 | 在工作纸记录本段问题:同时更新不是轮流用新值 | 保留一句关于“同时更新不是轮流用新值”的原始解释 |
| 25:00— 26:00 | 把本段材料留在屏幕,说明操作:把旧 a/c、各自梯度、学习率、新 a/c 写两行 | 把旧 a/c、各自梯度、学习率、新 a/c 写两行 | 两行更新共享同一旧点 |
| 26:00— 27:00 | 逐人检查记录;只追问:计算第二个新参数时使用的是哪张状态照片? | 对照刚才的输入和输出,回答:计算第二个新参数时使用的是哪张状态照片? | 回答中标出本段的输入条件和一个中间量 |
| 27:00— 28:00 | 请一位学生读记录,检查是否完成:两行更新共享同一旧点。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在同时更新不是轮流用新值旁保留修订痕迹 | 两行更新共享同一旧点 |
| 28:00— 29:00 | 新的参数要从头前向,才能知道损失有没有下降。不能把旧 h 直接乘新 c 当成整个新网络结果。每当一个上游值变化,所有依赖它的后续量都要重算。 | 在工作纸记录本段问题:更新以后重新跑一遍 | 保留一句关于“更新以后重新跑一遍”的原始解释 |
| 29:00— 30:00 | 把本段材料留在屏幕,说明操作:Q3 对新参数从 x 开始重算,核对新损失 | Q3 对新参数从 x 开始重算,核对新损失 | 新前向不混入旧中间值 |
| 30:00— 31:00 | 逐人检查记录;只追问:旧 h 还能用于新参数的最终评价吗? | 对照刚才的输入和输出,回答:旧 h 还能用于新参数的最终评价吗? | 回答中标出本段的输入条件和一个中间量 |
| 31:00— 32:00 | 请一位学生读记录,检查是否完成:新前向不混入旧中间值。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在更新以后重新跑一遍旁保留修订痕迹 | 新前向不混入旧中间值 |
| 32:00— 33:00 | 只把默认 a 改成负一,其余恢复默认。先猜 h 与两条梯度。这个点上输出被截零,局部参数变化未必能通过;这是本例门控的结果,不能说所有神经网络都因此不会学。 | 在工作纸记录本段问题:负数截断时会怎样 | 保留一句关于“负数截断时会怎样”的原始解释 |
| 33:00— 34:00 | 把本段材料留在屏幕,说明操作:Q3 在负区间运行并记录 h、梯度、更新后参数 | Q3 在负区间运行并记录 h、梯度、更新后参数 | 零梯度与截断条件对应 |
| 34:00— 35:00 | 逐人检查记录;只追问:在不跨过零的微小变化内,输出发生变化了吗? | 对照刚才的输入和输出,回答:在不跨过零的微小变化内,输出发生变化了吗? | 回答中标出本段的输入条件和一个中间量 |
| 35:00— 36:00 | 请一位学生读记录,检查是否完成:零梯度与截断条件对应。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在负数截断时会怎样旁保留修订痕迹 | 零梯度与截断条件对应 |
| 36:00— 37:00 | Q4 使用输入一、目标三、a 一、c 二、学习率 0.1。先写旧状态,从中推每条梯度,再一起更新。教师只检查路径与材料,不报梯度值。 | 在工作纸记录本段问题:独立从新旧状态分界开始 | 保留一句关于“独立从新旧状态分界开始”的原始解释 |
| 37:00— 38:00 | 把本段材料留在屏幕,说明操作:Q4 完整手算新题并注明每个量是旧点还是新点 | Q4 完整手算新题并注明每个量是旧点还是新点 | 旧前向、梯度、更新、新前向四段齐全 |
| 38:00— 39:00 | 逐人检查记录;只追问:你是否把教师默认输入二带入了这道题? | 对照刚才的输入和输出,回答:你是否把教师默认输入二带入了这道题? | 回答中标出本段的输入条件和一个中间量 |
| 39:00— 40:00 | 请一位学生读记录,检查是否完成:旧前向、梯度、更新、新前向四段齐全。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在独立从新旧状态分界开始旁保留修订痕迹 | 旧前向、梯度、更新、新前向四段齐全 |
| 40:00— 41:00 | 计算完再运行,找程序与纸面第一次不同的地方。若梯度相同而结果不同,优先检查同时更新及重新前向。不要只把最后损失改成屏幕值而不修正过程。 | 在工作纸记录本段问题:独立核对微小扰动 | 保留一句关于“独立核对微小扰动”的原始解释 |
| 41:00— 42:00 | 把本段材料留在屏幕,说明操作:继续 Q4,写一个差异定位或全程一致记录 | 继续 Q4,写一个差异定位或全程一致记录 | 差异定位清楚且能复现 |
| 42:00— 43:00 | 逐人检查记录;只追问:第一处差异在前向、求梯度还是更新? | 对照刚才的输入和输出,回答:第一处差异在前向、求梯度还是更新? | 回答中标出本段的输入条件和一个中间量 |
| 43:00— 44:00 | 请一位学生读记录,检查是否完成:差异定位清楚且能复现。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在独立核对微小扰动旁保留修订痕迹 | 差异定位清楚且能复现 |
| 44:00— 45:00 | 让同伴分别扮演计算员、影响检查员、调参员。第一位只前向,第二位只求旧点影响,第三位才更新。借此区分反向传播与优化器,避免以为求梯度本身就已改参数。 | 在工作纸记录本段问题:把职责交给三个角色 | 保留一句关于“把职责交给三个角色”的原始解释 |
| 45:00— 46:00 | 把本段材料留在屏幕,说明操作:Q5 给前向、反向、更新分别写职责 | Q5 给前向、反向、更新分别写职责 | 三个职责及参数变化时刻清楚 |
| 46:00— 47:00 | 逐人检查记录;只追问:反向结束、更新没开始时,参数是多少? | 对照刚才的输入和输出,回答:反向结束、更新没开始时,参数是多少? | 回答中标出本段的输入条件和一个中间量 |
| 47:00— 48:00 | 请一位学生读记录,检查是否完成:三个职责及参数变化时刻清楚。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在把职责交给三个角色旁保留修订痕迹 | 三个职责及参数变化时刻清楚 |
| 48:00— 49:00 | 独立题旧预测二、损失一,ga 为负四、gc 为负二。一起更新后 a=1.4、c=2.2,新预测 3.08、损失 0.0064。这个改进属于给定小例子,不能替代独立测试。 | 在工作纸记录本段问题:此时才讲评独立答案 | 保留一句关于“此时才讲评独立答案”的原始解释 |
| 49:00— 50:00 | 把本段材料留在屏幕,说明操作:修订 Q4,并解释两个梯度为什么不同 | 修订 Q4,并解释两个梯度为什么不同 | 答案解释不同路径倍率 |
| 50:00— 51:00 | 逐人检查记录;只追问:两个参数都影响同一个输出,为什么斜率不必相同? | 对照刚才的输入和输出,回答:两个参数都影响同一个输出,为什么斜率不必相同? | 回答中标出本段的输入条件和一个中间量 |
| 51:00— 52:00 | 请一位学生读记录,检查是否完成:答案解释不同路径倍率。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在此时才讲评独立答案旁保留修订痕迹 | 答案解释不同路径倍率 |
| 52:00— 53:00 | 额外看残差卡:输入五,变换给负一,把原输入与变换相加得新输出。保留路径不等于保证学习成功,只是另一种信息通过结构。主实验仍以两盒同时更新为验收核心。 | 在工作纸记录本段问题:把跳过连接放进一张小卡 | 保留一句关于“把跳过连接放进一张小卡”的原始解释 |
| 53:00— 54:00 | 把本段材料留在屏幕,说明操作:Q6 手算 h=5、F(h)=−1 的相加;再设 F(h)=0 | Q6 手算 h=5、F(h)=−1 的相加;再设 F(h)=0 | 残差算式与普通串联区别 |
| 54:00— 55:00 | 逐人检查记录;只追问:变换为零时为什么原输入还能保留下来? | 对照刚才的输入和输出,回答:变换为零时为什么原输入还能保留下来? | 回答中标出本段的输入条件和一个中间量 |
| 55:00— 56:00 | 请一位学生读记录,检查是否完成:残差算式与普通串联区别。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在把跳过连接放进一张小卡旁保留修订痕迹 | 残差算式与普通串联区别 |
| 56:00— 57:00 | 最后用一句话说“先算结果,按依赖路径求影响,再按学习率改参数”。再说明今天实际执行的是两参数一步更新,不是训练一个大语言模型。能把术语对应到数值,才算完成。 | 在工作纸记录本段问题:离堂不再背黑箱词 | 保留一句关于“离堂不再背黑箱词”的原始解释 |
| 57:00— 58:00 | 把本段材料留在屏幕,说明操作:Q6 提交路径图与旧新两张状态表 | Q6 提交路径图与旧新两张状态表 | 说明固定推理无需本次反向更新 |
| 58:00— 59:00 | 逐人检查记录;只追问:固定参数只作预测时,哪些步骤可以不做? | 对照刚才的输入和输出,回答:固定参数只作预测时,哪些步骤可以不做? | 回答中标出本段的输入条件和一个中间量 |
| 59:00— 60:00 | 请一位学生读记录,检查是否完成:说明固定推理无需本次反向更新。未完成者先补材料,不用口号替代依据。 | 将本段观察写为“条件—过程—结果”,在离堂不再背黑箱词旁保留修订痕迹 | 说明固定推理无需本次反向更新 |
来源与使用范围
保持同日已核对的 AIPath 课序与主题;公开课程正文和一手资料用于核对概念。新增算例界面与讲稿为原创;未声称运行网站全部动画或训练商用模型。
- Google:Nodes and hidden layers:核对加权求和、隐藏层和线性层复合;人工小算例独立编写。
- PyTorch:Automatic Differentiation with torch.autograd:核对计算图、反向求梯度和梯度计算不等于参数更新。
- Vaswani et al.:Attention Is All You Need(2017):核对查询、键、值、注意力加权及 Transformer 构件;不把原论文架构当所有产品的内部图。
- He et al.:Deep Residual Learning for Image Recognition(2015):核对残差函数与输入路径的原始研究依据;不将“残差有益”扩大成任意深度必然更好。