前向传播:数据进去
答案出来,就这么简单
想象你问ChatGPT一个问题。几秒钟后,它给出了回答。你有没有想过,在这几秒钟里发生了什么?
你的问题(文本)被转换成数字,然后像流水一样流过神经网络的每一层,最后变成输出的文字。这个过程就叫「前向传播」。
今天,我们来看看数据是如何在神经网络中「流动」的。
1什么是前向传播?
前向传播(Forward Propagation)就是数据从输入层流向输出层的过程。它只做一件事:计算。
每一层都在做同样的三件事:
① 接收上一层的输出
② 加权求和 + 激活函数
③ 传给下一层
2具体是怎么计算的?
让我们用一个简单的例子来说明。假设有一个神经网络,要判断一个水果是苹果还是香蕉。
x₁ = 0.8
红色程度
x₂ = 0.3
圆形程度
x₃ = 0.2
弯曲程度
神经元1(检测「苹果特征」):
z₁ = 0.8×0.9 + 0.3×0.7 + 0.2×(-0.5) + 0.1
z₁ = 0.72 + 0.21 - 0.1 + 0.1 = 0.93
a₁ = ReLU(0.93) = 0.93
神经元2(检测「香蕉特征」):
z₂ = 0.8×(-0.6) + 0.3×0.2 + 0.2×0.8 + 0.1
z₂ = -0.48 + 0.06 + 0.16 + 0.1 = -0.16
a₂ = ReLU(-0.16) = 0
用Softmax把输出变成概率:
🍎 苹果
87%
🍌 香蕉
13%
结果:因为「苹果特征」神经元的输出很强(0.93),而「香蕉特征」神经元的输出很弱(0),所以网络判断这个水果是苹果!
3为什么GPU能加速计算?
上面的计算看起来很简单,但实际的神经网络可能有数百万个神经元。这时候,矩阵运算就派上用场了。
输入向量
[x₂]
[x₃]
权重矩阵
[w₂₁ w₂₂]
[w₃₁ w₃₂]
+
偏置向量
[b₂]
=
输出向量
[a₂]
4推理和训练有什么区别?
Inference
Training
推理流程
✅ 完成!
训练流程
🔄 重复成千上万次
5常见误区
❌ 误区1:前向传播会改变权重
前向传播只是「使用」权重进行计算,不会修改权重。权重的修改发生在反向传播阶段。
❌ 误区2:每次前向传播结果都一样
如果使用了Dropout等随机性技术,每次前向传播的结果可能略有不同。但在推理时通常会关闭这些随机性。
❌ 误区3:前向传播很快
对于大模型(如GPT-4),一次前向传播需要巨大的计算量。这就是为什么大模型回复需要几秒钟甚至更久。
🎓 一句话总结
- ①前向传播 = 数据从输入层流向输出层的计算过程
- ②每一层都在做:加权求和 + 激活函数
- ③矩阵运算 让GPU能并行计算,大大加速
- ④推理只用前向传播,训练需要前向+反向传播
→下篇预告
第12篇:反向传播——AI如何从错误中学习
前向传播让AI能给出答案,但答案可能是错的。反向传播就是告诉AI「你错了,该怎么改」。这是训练神经网络的核心算法。
✏️ 手绘图解 · AI Catch 出品
第 11 篇 / 共 84 篇