18、深度神经网络训练中的反向传播详解

深度神经网络训练中的反向传播详解

1. Softmax与交叉熵损失的反向传播

Softmax函数将k个实值预测 $v_1 \cdots v_k$ 转换为输出概率 $o_1 \cdots o_k$,其关系如下:
[o_i = \frac{\exp(v_i)}{\sum_{j=1}^{k} \exp(v_j)} \quad \forall i \in {1, \cdots, k}]
若使用链式法则对损失 $L$ 关于 $v_1 \cdots v_k$ 进行反向传播,需要计算 $\frac{\partial L}{\partial o_i}$ 和 $\frac{\partial o_i}{\partial v_j}$。当考虑以下两个事实时,Softmax的反向传播会大大简化:
- Softmax几乎总是用于输出层。
- Softmax几乎总是与交叉熵损失配对。设 $y_1 \cdots y_k \in {0, 1}$ 是k个互斥类别的独热编码(观测)输出,则交叉熵损失定义为:
[L = -\sum_{i=1}^{k} y_i \log(o_i)]
关键在于,在Softmax的情况下,$\frac{\partial L}{\partial v_i}$ 有一个特别简单的形式:
[\frac{\partial L}{\partial v_i} = \sum_{j=1}^{k} \frac{\partial L}{\partial o_j} \cdot \frac{\partial o_j}{\partial v_i} = o_i - y_i]
这里 $\frac{\partial o_j}{\partial v_i}$ 在 $i = j$ 时等于 $o

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值