核心要点
前向:输入→逐层计算→得到输出与 loss
反向:链式法则从 loss 向输入方向求各层梯度
理解两者在训练循环中的先后关系
能画简单两层网络的梯度流
标准回答
前向传播(Forward Propagation):数据从输入层流向输出层。每层执行 z = Wx + b,再经激活函数 σ(z)。最终得到预测 ŷ,与真实标签计算 损失函数 L(如交叉熵、MSE)。
反向传播(Backpropagation):训练的关键。利用链式法则,从 L 出发向输入方向计算每个参数对损失的偏导数 ∂L/∂W、∂L/∂b。例如两层网络:∂L/∂W₁ = (∂L/∂ŷ)(∂ŷ/∂h)(∂h/∂W₁)。
训练循环:
- 前向 → 得 loss
- 反向 → 得各层梯度
- 优化器(SGD/Adam)沿梯度反方向更新参数
反向传播 使 深度学习 能从海量数据端到端学习层次特征,而非手工设计。现代框架(PyTorch、TensorFlow)自动完成微分,开发者只需定义前向与 loss。
| 阶段 | 方向 | 产出 |
|---|---|---|
| 前向 | 输入→输出 | 预测、loss |
| 反向 | loss→参数 | .grad 梯度 |
回答思路
【定义】用一句话说清「什么是前向传播与反向传播」
【原理】讲清关键机制或步骤(2~3 点)
【例子】举一个真实项目、论文或产品中的例子
【对比】与易混淆概念或替代方案比较(如有)
【收尾】总结适用场景 + 一个局限或风险
常见误区
⚠️ 常见踩坑
把反向传播说成「从输出传回输入更新输入」——实际更新的是权重;混淆前向中的激活值与反向中的梯度符号。
🔗 相似问题
同一考点的不同问法,换着练更稳
没找到想看的面试题?把你想看的告诉我们 →
延伸学习
按主题分类的相关资源,便于系统复习
