反向传播:AI如何从错误中
学习
你学骑自行车的时候,是怎么学会的?肯定不是看一遍教程就会了吧?
你是这样学的:骑上去 → 歪了 → 调整身体 → 又歪了 → 再调整 → 终于平衡了。每次摔倒,你都会从错误中学习,慢慢找到正确的方法。
AI也是这样学习的。前向传播就像「骑上去试一试」,反向传播就像「从错误中调整」。今天,我们来看看这个神奇的算法。
1反向传播的核心思想
反向传播(Backpropagation)由三个步骤组成:
前向传播
做出预测
计算误差
错得有多离谱
反向传播
调整权重
核心思想:把误差从输出层往回传,告诉每一层「你贡献了多少错误」,然后调整权重来减少错误。
2链式法则:误差的传递
反向传播的核心是「链式法则」。听起来很数学,但概念很简单。
就像推倒多米诺骨牌一样,误差从输出层开始,沿着连接往回传递,影响每一层的权重调整。
3一个具体的例子
假设我们在训练一个识别手写数字的神经网络,输入是数字「7」的图片。
7️⃣
输入图片
预测结果:
7: 60%
1: 30%
其他: 10%
实际
7️⃣ 100%
预测
7️⃣ 60%
误差 = 实际 - 预测 = 40%
告诉输出层:「你应该更确定这是7」
告诉隐藏层:「你们的特征提取需要调整」
告诉输入层:「这些像素的重要性需要重新分配」
权重调整:w_new = w_old - 学习率 × 梯度
关键点:每次调整后,网络对「7」的识别能力都会提高一点点。重复这个过程成千上万次,网络就能学会准确识别所有数字。
4梯度消失问题
反向传播有一个著名的难题:梯度消失。
误差在往回传的时候,经过每一层都会被「稀释」。到了前面的层,梯度已经小到几乎为0,这些层就几乎学不到东西。
梯度消失
解决方案
5常见误区
❌ 误区1:反向传播会改变输入数据
反向传播只调整权重和偏置,不会改变输入数据。输入数据只是用来计算误差和调整权重的依据。
❌ 误区2:一次反向传播就能让网络学会
一次反向传播只能让网络进步一点点。通常需要成千上万次的迭代,网络才能收敛到好的状态。
❌ 误区3:反向传播是唯一的训练方法
虽然反向传播是最常用的方法,但还有其他训练方法,如进化算法、强化学习等。不同场景可能适合不同方法。
🎓 一句话总结
- ①反向传播 = 计算误差 → 往回传递 → 调整权重
- ②使用链式法则把误差从输出层往回传到每一层
- ③梯度消失是深层网络的难题,需要特殊技术解决
- ④反向传播 + 梯度下降 = 神经网络训练的核心
→下篇预告
第13篇:过拟合——AI「背书」而不是真正理解
AI有时候会把训练数据「背」下来,而不是真正学会规律。这就是过拟合。下一篇,我们来看看如何识别和解决过拟合问题。
✏️ 手绘图解 · AI Catch 出品
第 12 篇 / 共 84 篇