【人脸识别】L2_Softmax Loss详解

论文题目:《L2-constrained Softmax Loss for Discriminative Face Verification》
论文地址:https://arxiv.org/pdf/1703.09507.pdf

1. 简介

       CNN近年来取得了很大的成功,人脸识别也受益匪浅。人脸识别的一个基准包括一个序列网络和一个Softmax标准。在这篇论文中,作者分析了Softmax损失的一些劣势,然后提出一种基于约束条件的Softmax损失,即L2 Softmax损失。
       Softmax损失优化出来的特征不具有较高的类内相似度得分及较低的类间相似度得分。论文增加了特征描述子的L2约束,使得特征分布在具有固定半径的超球上。

2. Softmax为什么不适合做人脸验证任务

       softmax loss只是保证学习到的特征不用做任何matric learning的时候,能够使得人脸特征可分。但是softmax loss并没有保证positive pairs学到的特征足够近而negative pairs学到的特征足够远,因此不是很适合去做人脸验证任务。另外一点是,softmax loss是要最大化给定的mini-batch中所有样本的条件概率。但是,由于高质量的人脸图像的特征​范数

`log_softmax NLLLoss`是深度学习领域中用于计算交叉熵损失的一种常见组合技术,尤其在分类任务中非常流行。 ### log_softmax 首先,我们解释一下`log_softmax`函数的作用。给定输入向量 `x`,log_softmax 函数会先应用 softmax 函数将每个元素转换成概率分布形式: \[ \text{softmax}(x)_i = \frac{\exp(x_i)}{\sum_{j=1}^{n} \exp(x_j)} \] 然后,对得到的概率分布取自然对数: \[ \text{log\_softmax}(x)_i = \ln(\text{softmax}(x)_i) \] 这个操作不仅简化了指数运算和归一化步骤,同时在数值稳定性方面也更优。尤其是在反向传播过程中,避免了直接对较大的指数值求对数可能会产生的数值溢出问题。 ### NLLLoss (Negative Log Likelihood Loss) 接下来说说 NLLLoss 的含义。NLLLoss,即负对数似然损失(Negative Log Likelihood Loss),是一种常用的损失函数,用于评估模型预测结果与实际标签之间的差距。在分类任务中,其目标是最小化模型预测的类别概率与真实标签之间的负对数似然度之和。 公式表示如下: \[ L(y, p) = -\log(p_y) \] 其中,\(y\) 表示真实标签,而 \(p_y\) 是模型预测属于该标签的概率。 ### 将二者结合使用 在实践中,我们将两个组件结合使用是因为它们各自的特点使其相得益彰: 1. **数值稳定性**:通过在计算过程中使用 `log_softmax` 可以提高数值稳定性和防止数值溢出的问题。 2. **简化梯度计算**:`log_softmax` 计算的导数可以直接与 NLLLoss 的导数关联起来,减少了梯度传播过程中的复杂性。 3. **提升训练效率**:这种组合使得梯度更新更为直接,从而加速了模型的训练过程,并有助于优化性能。 因此,在深度学习框架如 PyTorch 和 TensorFlow 中,`LogSoftmax + NLLLoss` 这种组合经常被推荐用于监督学习的任务特别是分类任务中。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值