Softmax函数本身没有损失函数,但它是多分类问题中交叉熵损失函数的核心组成部分。两者结合形成的Softmax交叉熵损失函数,是分类任务的标准选择。1. 核心公式组合后的损失函数公式为:$L = -\frac{1}{N} \sum_{i=1}^{N} \sum_{c=1}^{C} y_{i,c} \cdot \log(p_{i,c})$其中:- $N$ 是批量数据中的样本数量。- $C$ 是类别总数。- $y_{i,c}$ 是一个二进制指示符(0或1),表示样本 $i$ 的真实类别是否为 $c$。- $p_{i,c}$ 是Softmax函数预测样本 $i$ 属于类别 $c$ 的概率。2. 工作原理与拆解该损失函数的计算可以拆解为两个连续步骤:2.1 Softmax概率计算对于神经网络最后一个全连接层输出的每个样本的原始分数(logits)$z$,通过Softmax函数将其转换为概率分布:$p_c = \frac{e^{z_c}}{\sum_{j=1}^{C} e^{z_j}}$这一步确保了所有输出概率之和为1,符合概率分布的特性。2.2 交叉熵计算在得到预测概率 $p$ 和真实标签(通常为one-hot编码)$y$ 后,计算两者之间的交叉熵:$L_i = -\sum_{c=1}^{C} y_c \cdot \log(p_c)$对于一个真实类别为 $k$ 的样本,其损失可简化为:$L_i = -\log(p_k)$。模型的目标就是最小化这个损失,即让正确类别的预测概率 $p_k$ 尽可能接近1。3. 反向传播的梯度该组合的一个关键优势是其梯度形式非常简洁,便于高效地进行反向传播。损失函数 $L$ 对原始分数 $z_j$ 求导的结果为:$\frac{\partial L_i}{\partial z_j} = p_j - y_j$这个梯度直接是预测概率与真实标签的差值</strong,没有复杂的计算,这在实践中极大地提高了训练效率并保证了数值稳定性。