鱼书-PH5方向误差传递
2026/7/9 19:16:15 网站建设 项目流程

两层神经网络正向 + 反向推导

一、网络结构 输入 x 第一层全连接 W1 b1 → a1 ReLU 激活 → z1 第二层全连接 W2 b2 → a2 Softmax 输出 y 真实标签 t 损失 L

二、正向传播 1 a1 = x・W1 + b1

2 z1 = ReLU (a1) a1>0 时 z1=a1 a1≤0 时 z1=0

3 a2 = z1 · W2 + b2

4 y = softmax(a2)

5 L = -1/N · ΣΣ t · lny

三、反向传播 从损失往回求梯度 1 末尾 SoftmaxWithLoss 层 da2 = ∂L/∂a2 = y - t

2 第二层 Affine 层 ∂L/∂W2 = z1 转置・da2 ∂L/∂b2 = 按样本维度求和 da2 dz1 = da2・W2 转置

3 ReLU 激活层 a1>0 导数为 1 a1≤0 导数为 0 da1 = dz1 逐元素乘 ReLU 局部导数

4 第一层 Affine 层 ∂L/∂W1 = x 转置・da1 ∂L/∂b1 = 按样本维度求和 da1

四、参数梯度下降更新 学习率 η W2 = W2 - η・∂L/∂W2 b2 = b2 - η・∂L/∂b2 W1 = W1 - η・∂L/∂W1 b1 = b1 - η・∂L/∂b1

五、传播流程简写 L → da2 → W2 b2 梯度、dz1 dz1 → da1 → W1 b1 梯度

反向传播的作用

  1. 正向传播只能算出网络最终的损失误差,无法知道每个权重、偏置需要修改多少。
  2. 反向传播依靠链式求导,从损失函数倒着逐层计算: 每一层权重 W、偏置 b 对总损失 L 的偏导数(梯度)。
  3. 拿到梯度后配合梯度下降算法,按照学习率更新所有参数,减小预测值与真实标签之间的误差。
  4. 让神经网络可以迭代自主学习,不断修正参数,提升模型识别、分类的准确率。
  5. 只执行一次反向遍历就能求出全部参数梯度,计算效率高,是训练深度神经网络的核心方法。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询