反向传播如何为?

摘要:1 懂了懂了,还是这样好理解。。。。那么反向传播的计算呢?通过y1, y2, y3 求出x1 ? 太好了!现在我们来推导反向传播的计算。这是深度学习中最核心的部分! 1. 问题设定 我们有一个简单的三层结构: 输入 x → 线性层(得 z)
1 懂了懂了,还是这样好理解。。。。那么反向传播的计算呢?通过y1, y2, y3 求出x1 ? 太好了!现在我们来推导反向传播的计算。这是深度学习中最核心的部分! 1. 问题设定 我们有一个简单的三层结构: 输入 x → 线性层(得 z)→ softmax → 交叉熵损失 L 其中: $ z = Wx + b $(为了简化,我们先只考虑从 z 开始的反向传播) $ p = \text{softmax}(z) $ $ L = -\sum y_i \log p_i $ 我们要求 $ \frac{\partial L}{\partial z_j} $,也就是损失对原始输出 z 的梯度。 2. 已知关系 设类别数 $ C = 3 $,则: \[p_i = \frac{e^{z_i}}{\sum_{k=1}^C e^{z_k}} \] \[L = -\sum_{i=1}^C y_i \log p_i \] 3. 计算梯度 \(\frac{\partial L}{\partial z_j}\) 这是一个非常重要的结果,也是 softmax 与交叉熵结合的美妙之处。
阅读全文