前向传播

数据从输入到输出单向流过网络的计算过程——每层执行"矩阵乘法→加偏置→激活函数",输出喂给下一层。叫"前向"是因为数据只往前走,没有回头路。对应代码里的 model.forward() 或直接 model(x)。

一句话版本

数据从输入层出发,逐层经过"矩阵乘法→加偏置→激活函数",最终到达输出层——这个单向流动过程就是前向传播。

流水线比喻

把神经网络想象成一条工厂流水线。原材料(输入数据)从一端进入,每个工位(层)做一次加工:

  1. 矩阵乘法:把上一步的输出乘以本层的权重矩阵
  2. 加偏置:加上一个常数项
  3. 激活函数:做一次非线性变换(比如 ReLU 砍掉负数)

加工完的半成品传给下一个工位,直到最后一个工位输出成品(预测结果)。

数学上,每一层的操作:

a=activation(Wx+b)\vec{a} = \text{activation}(W\vec{x} + \vec{b})a=activation(Wx+b)

多层串联起来,上一层的输出就是下一层的输入,维度逐层变化(如 3423 \to 4 \to 2342)。

为什么叫"前向"

因为数据只往一个方向流——从输入到输出,没有回头路。与之对应的是反向传播,损失信号沿相反方向流回来,告诉每个权重该怎么调整。

代码中的前向传播

在 PyTorch 中,定义网络的 forward 方法就是在描述前向传播的路径。调用 model(x) 时,框架自动执行 forward 方法,走完整条流水线。