0Pricing
Deep Learning Academy · 课时

手算一个小型网络的反向传播

在纸上计算梯度,再用代码确认

手算一个小型网络的反向传播 是 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 * x

Add 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) ** 2

Forward 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 = x

Chain 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_dw

Read 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_dw

Confirm 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 逐层应用链式法则
  2. 前向传播缓存,反向传播复用
  3. 手算一个小型网络的反向传播
  4. 梯度消失与梯度爆炸
← 返回 Deep Learning Academy