第 11 篇 · 神经网络基础

前向传播:数据进去

答案出来,就这么简单

想象你问ChatGPT一个问题。几秒钟后,它给出了回答。你有没有想过,在这几秒钟里发生了什么?

你的问题(文本)被转换成数字,然后像流水一样流过神经网络的每一层,最后变成输出的文字。这个过程就叫「前向传播」。

今天,我们来看看数据是如何在神经网络中「流动」的。

1
什么是前向传播?

前向传播(Forward Propagation)就是数据从输入层流向输出层的过程。它只做一件事:计算。

前向传播 = 层层计算
输入层你的问题
隐藏层1计算
隐藏层2计算
输出层AI的回答

每一层都在做同样的三件事:
① 接收上一层的输出
② 加权求和 + 激活函数
③ 传给下一层

💡
前向传播就像是工厂的生产线。原材料(输入)从一端进去,经过一道道工序(隐藏层),最后成品(输出)从另一端出来。
继续看下去

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₂]
[x₃]
×

权重矩阵

[w₁₁ w₁₂]
[w₂₁ w₂₂]
[w₃₁ w₃₂]

+

偏置向量

[b₁]
[b₂]

=

输出向量

[a₁]
[a₂]
🚀
GPU(图形处理器)特别擅长矩阵运算。这就是为什么训练AI需要GPU——它能把原本需要几天的计算缩短到几小时。

4
推理和训练有什么区别?

推理🔮

Inference

只用前向传播。输入数据,得到输出。权重是固定的(已经训练好的)。就像考试时做题,只负责给出答案。
训练🎓

Training

前向传播 + 反向传播。先算输出,再算误差,然后调整权重。就像学习时做题+对答案+改错,不断优化。
推理 vs 训练

推理流程

输入问题
前向传播计算
输出答案

✅ 完成!

训练流程

输入训练数据
前向传播预测
计算误差损失函数
反向传播调整权重

🔄 重复成千上万次

5
常见误区

❌ 误区1:前向传播会改变权重

前向传播只是「使用」权重进行计算,不会修改权重。权重的修改发生在反向传播阶段。

❌ 误区2:每次前向传播结果都一样

如果使用了Dropout等随机性技术,每次前向传播的结果可能略有不同。但在推理时通常会关闭这些随机性。

❌ 误区3:前向传播很快

对于大模型(如GPT-4),一次前向传播需要巨大的计算量。这就是为什么大模型回复需要几秒钟甚至更久。

总结

🎓 一句话总结

  • 前向传播 = 数据从输入层流向输出层的计算过程
  • 每一层都在做:加权求和 + 激活函数
  • 矩阵运算 让GPU能并行计算,大大加速
  • 推理只用前向传播,训练需要前向+反向传播

下篇预告

第12篇:反向传播——AI如何从错误中学习

前向传播让AI能给出答案,但答案可能是错的。反向传播就是告诉AI「你错了,该怎么改」。这是训练神经网络的核心算法。

✏️ 手绘图解 · AI Catch 出品

第 11 篇 / 共 84 篇