交叉熵(CrossEntropy)是常见的损失函数,本文详细推导一下它的梯度,面试大厂或者工程实践中都可能会用到。
前向传播假设分类任务类别数是
,隐层输出是 维向量 ,标准的one-hot向量是 ,正确的类别是 。那么交叉熵损失可以定义为:其中
, , 是平滑参数。Softmax函数大家都很熟悉了,具体形式为: 。 反向传播 对 的梯度要分两种情况: 推导过程根据求导法则有:
其中
就是Softmax函数的梯度(这个推导比较简单,放在了文末):下面分两种情况讨论:
- 当 时:
2. 当
时: Softmax梯度回顾Softmax函数的形式:
这里也分两种情况讨论:
- 当 时:
2. 当
时:


