手算一个小型网络的反向传播
在纸上计算梯度,再用代码确认
手算一个小型网络的反向传播 是 CoddyKit 上的免费 Deep Learning Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Deep Learning Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Deep Learning Academy 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
Our Tiny Network
Let's hand-trace the smallest net: one input x, one weight w, no bias. The output is simply y = w times x. Tiny enough to do on paper.
y = w * xAdd a Simple Loss
We compare the output to a target t with squared error. This loss punishes being far from the target and is easy to differentiate by hand.
loss = (y - t) ** 2Forward With Numbers
Plug in x = 2, w = 3, t = 10. Forward gives y = 6 and loss = (6 - 10) squared = 16. Now we walk backward to find dloss/dw.
Step One: Loss to Output
First link: how does loss change with y? The derivative of (y - t) squared is 2(y - t), which here is 2 times (6 - 10) = -8.
dloss_dy = 2 * (y - t)Step Two: Output to Weight
Second link: how does y change with w? Since y = w times x, dy/dw is just x, which is 2 in our example.
dy_dw = xChain the Two Together
The chain rule multiplies the links: dloss/dw = dloss/dy times dy/dw = -8 times 2 = -16. That single number is our gradient.
dloss_dw = dloss_dy * dy_dwRead the Gradient's Sign
A negative gradient means increasing w would lower the loss. So we should nudge w upward to do better next time.
Take One Update Step
With a learning rate of 0.1, the update is w = w - 0.1 times (-16) = 3 + 1.6 = 4.6. The weight moved toward a better value.
w = w - lr * dloss_dwConfirm It Improved
Redo the forward pass with w = 4.6: y = 9.2 and loss = (9.2 - 10) squared = 0.64. Far below 16, so the step truly helped.
Check It in PyTorch
PyTorch gets the same gradient automatically. Set requires_grad on w, run forward, call backward, and read w.grad to see -16.
w = torch.tensor(3.0, requires_grad=True)
loss = (w * 2 - 10) ** 2
loss.backward()
print(w.grad)Same Steps, Bigger Nets
A million-weight net does exactly this, just with more links chained together. The math you did by hand scales straight up.
Quick Check
Let's check your hand trace.
Recap
You traced a tiny net: forward for values, then backward multiplying local derivatives to get the gradient, then one step that lowered the loss. ✏️
常见问题解答
「手算一个小型网络的反向传播」课时是免费的吗?
是的 — 「手算一个小型网络的反向传播」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Deep Learning Academy 课程的其余内容,请升级到 CoddyKit PRO。 Deep Learning Academy 课程共包含 4 节课。
「手算一个小型网络的反向传播」这节课中我会学到什么?
在纸上计算梯度,再用代码确认 你通过在浏览器中直接运行的动手代码来练习 Deep Learning Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Deep Learning Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Deep Learning Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「手算一个小型网络的反向传播」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Deep Learning Academy 课中编写并运行代码吗?
能。每节 Deep Learning Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 逐层应用链式法则
- 前向传播缓存,反向传播复用
- 手算一个小型网络的反向传播
- 梯度消失与梯度爆炸