侧边栏壁纸
博主头像
ZHD的小窝博主等级

行动起来,活在当下

  • 累计撰写 79 篇文章
  • 累计创建 53 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

示例:简单神经网络中的链式法则与反向传播

江南的风
2025-04-17 / 0 评论 / 0 点赞 / 11 阅读 / 5163 字 / 正在检测是否收录...

示例:简单神经网络中的链式法则与反向传播

网络结构‌:

  • 输入: x = 2
  • 线性层: z = w \cdot x + b (参数: w = 1 , b = 0
  • 激活函数:Sigmoid a = \sigma(z) = \frac{1}{1 + e^{-z}}
  • 损失函数:平方损失 L = (a - y)^2 ,真实值 y = 0.5

步骤 1:前向传播计算

  1. 线性层输出‌:
    z = w \cdot x + b = 1 \cdot 2 + 0 = 2
  2. 激活值‌:
    a = \sigma(2) = \frac{1}{1 + e^{-2}} \approx 0.8808
  3. 损失值‌:
    L = (0.8808 - 0.5)^2 \approx 0.145

步骤 2:反向传播(链式法则逐层计算梯度)

目标‌:计算损失 L w b 的梯度 \frac{\partial L}{\partial w} \frac{\partial L}{\partial b}

计算步骤 公式与结果
1. 损失对激活值的导数 \frac{\partial L}{\partial a} = 2(a - y) = 2(0.8808 - 0.5) \approx 0.7616
计算步骤 公式与结果
2. Sigmoid 导数 \frac{\partial a}{\partial z} = \sigma(z)(1 - \sigma(z)) = 0.8808 \cdot 0.1192 \approx 0.1045
3. 线性层导数 \frac{\partial z}{\partial w} = x = 2, \quad \frac{\partial z}{\partial b} = 1
4. 链式法则合并 \frac{\partial L}{\partial w} = \frac{\partial L}{\partial a} \cdot \frac{\partial a}{\partial z} \cdot \frac{\partial z}{\partial w} = 0.7616 \cdot 0.1045 \cdot 2 \approx 0.1593 \frac{\partial L}{\partial b} = \frac{\partial L}{\partial a} \cdot \frac{\partial a}{\partial z} \cdot \frac{\partial z}{\partial b} = 0.7616 \cdot 0.1045 \cdot 1 \approx 0.0796

关键总结

  1. 链式法则的本质‌:
\frac{\partial L}{\partial w} = \frac{\partial L}{\partial a} \cdot \frac{\partial a}{\partial z} \cdot \frac{\partial z}{\partial w}

通过分解复合函数的导数,将复杂问题拆解为局部可计算的步骤。

  1. 反向传播的意义‌:
  • 反向顺序‌:从损失 L 开始,按计算图逆序( L \rightarrow a \rightarrow z \rightarrow w/b )传播梯度。
  • 局部计算‌:每一层只需计算自己的导数(如 \frac{\partial a}{\partial z} ),无需全局信息。
  1. 梯度数值解释‌:
  • \frac{\partial L}{\partial w} \approx 0.1593 表示:增大 w 会轻微增加损失 L ,需减小 w 以优化模型。
  • \frac{\partial L}{\partial b} \approx 0.0796 同理指导偏置 b 的更新方向。
0

评论区