0、前言
前期博文提到经过两步smooth化之后,我们将一个难以收敛的函数逐步改造成了softmax交叉熵损失函数,解决了原始的目标函数难以优化的问题。Softmax 交叉熵损失函数是目前最常用的分类损失函数,本博文继续学习Softmax 交叉熵损失函数的改进,详细的理论参考论文《基于深度学习的人脸认证方法研究》,这篇论文真的太棒了,是我见过最优秀的专门针对损失函数进行深入研究的杰作。
1、Softmax 交叉熵损失函数
(1)Softmax 交叉熵损失函数表达
将样本分为 C 个类别,在使用 Softmax 交叉熵损失时,需要将神经网络的最后一层输出设置为 C。设置理想向量, Softmax 交叉熵损失函数表示如下:
其中:
Softmax 交叉熵损失函数实际上分为两步:
1)求 Softmax : 得到当前样本属于某类别的概率
2)求交叉熵损失
将1)计算所得概率与理想向量求交叉熵:
①如果理想向量为 One-hot 向量,即仅在第 y 个位置为 1,其他部分为 0,所以最终只保留了第 y 个位置的交叉熵。此时的Softmax 交叉熵损失函数表示为:
梯度为:
②如果理想分布不再是 One-hot 向量,而是一组其他概率值时,交叉熵损失函数为: