人脸识别-损失函数:概述【Softmax loss→Center Loss→L-Softmax Loss→SphereFace→CosFace→ArcFace】

一、Softmax Loss

L = − ∑ j = 1 T y j l o g ( S j ) = − 1 N ∑ i log ⁡ ( e w y i T x i ∑ j e w j T x i ) L = -\sum_{j=1}^{T}y_{j} log (S_{j})= -\cfrac{1}{N} \sum_i \log \left (\cfrac{e^{\mathbf{w}_{y_i}^T \mathbf{x}_i}}{\sum_{j} e^{\mathbf{w}_{j}^T \mathbf{x}_i}} \right) L=j=1Tyjlog(Sj)=N1ilog(jewjTxiewyiTxi)

  • 首先 L L L 是损失。
  • S j S_j Sj 是 Softmax的输出向量 S S S 的第 j j j 个值,前面已经介绍过了,表示的是这个样本属于第 j j j 个类别的概率。
  • y j y_j yj 前面有个求和符号, j j j 的范围也是 1 1 1 到类别数 T T T,因此 y y y 是一个 1 × T 1×T 1×T 的向量,里面的 T T T 个值,而且只有 1 1 1 个值是 1 1 1,其他 T − 1 T-1 T1 个值都是 0 0 0。那么哪个位置的值是 1 1 1 呢?答案是真实标签对应的位置的那个值是 1 1 1,其他都是 0 0 0

1、单个样本 x i \textbf{x}^i xi 的 Softmax Loss公式

l o s s i = − ∑ j = 1 K y j l o g ( y ^ j i ) = 样本 i 只属于一个类别 j − l o g ( y ^ j i ) loss^i = -\sum_{j=1}^{K}y_{j} log (\hat{y}_j^i)\xlongequal[]{样本i只属于一个类别j}- log (\hat{y}_j^i) lossi=j=1Kyjlog(y^ji)样本i只属于一个类别j log(y^ji)

  • 首先 l o s s i loss^i lossi 表示样本 i i i 的损失。
  • y ^ j \hat{y}_j y^j 表示的是样本 i i i 属于类别 j j j 的预测概率。
  • y j y_j yj 表示的是样本 i i i 属于类别 j j j 的真实概率;前面有个求和符号, j j j 的范围也是 1 1 1 到类别数 K K K,因此 y y y 是一个 1 × K 1×K 1×K 的向量,里面的 K K K 个值,
    • 多分类任务:如果每个样本只属于一个类别,则只有 1 1 1 个值是 1 1 1,其他 K − 1 K-1 K1 个值都是 0 0 0。那么哪个位置的值是 1 1 1 呢?答案是真实标签对应的位置的那个值是 1 1 1,其他都是 0 0 0
      在这里插入图片描述
      比如:假设类别总数为5类,样本3真实类别为 c 5 c_5 c5 (多分类任务),则样本3的损失函数:
      l o s s 3 = − ∑ j = 1 K y j 3 ⋅ l o g ( y ^ j 3 ) = − [ y 1 3 ⋅ l o g ( y ^ 1 3 ) + y 2 3 ⋅ l o g ( y ^ 2 3 ) + y 3 3 ⋅ l o g ( y ^ 3 3 ) + y 4 3 ⋅ l o g ( y ^ 4 3 ) + y 5 3 ⋅ l o g ( y ^ 5 3 ) ] = − [ 0 ⋅ l o g ( y ^ 1 3 ) + 0 ⋅ l o g ( y ^ 2 3 ) + 0 ⋅ l o g ( y ^ 3 3 ) + 0 ⋅ l o g ( y ^ 4 3 ) + 1 ⋅ l o g ( y ^ 5 3 ) ] = − [ 1 ⋅ l o g ( y ^ 5 3 ) ] = − l o g ( y ^ 5 3 ) \begin{aligned} loss^3=-\sum_{j=1}^Ky_j^3·log(\hat{y}_j^3) &=-[y_1^3·log(\hat{y}_1^3)+y_2^3·log(\hat{y}_2^3)+y_3^3·log(\hat{y}_3^3)+y_4^3·log(\hat{y}_4^3)+y_5^3·log(\hat{y}_5^3)]\\[1ex] &=-[0·log(\hat{y}_1^3)+0·log(\hat{y}_2^3)+0·log(\hat{y}_3^3)+0·log(\hat{y}_4^3)+1·log(\hat{y}_5^3)]\\[1ex] &=-[1·log(\hat{y}_5^3)]\\[1ex] &=-log(\hat{y}_5^3) \end{aligned} loss3=j=1Kyj3log(y^j3)=[y13log(y^13)+y23log(y^23)+y33log(y^33)+y43log(y^43)+y53log(y^53)]=[0log(y^13)+0log(y^23)+0log(y^33)+0log(y^43)+1log(y^53)]=[1log(y^5
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值