损失函数约束类间不一致性

本文介绍了深度学习中三种关键的损失函数:三元组损失、中心损失和ArcFace损失。三元组损失通过度量学习增强类间区分性;中心损失通过定义类别中心提升类内一致性;ArcFace损失通过角度边距改进了分类效果。
摘要由CSDN通过智能技术生成

损失函数约束类间不一致性及类内一致性
参考书籍:Python深度学习-基于PyTorch
交叉熵损失函数对不同类之间的距离的区分性较小。原因:softmax具备分类能力但是不具备度量学习的特征,没法压缩同一类别。因此,研究者们提出了几种损失函数。
(1)三元组损失Triplet loss
三元组损失属于度量学习,通过计算两张图象之间的相似度,使得输入图像被归入到相似度大的图像类别中去。
L t = ∑ [ ∥ f ( x i a ) − f ( x i p ) ∥ 2 2 − ∥ f ( x i a ) − f ( x i n ) ∥ 2 2 + α ] + L_t=\sum [\left \| f(x_{i}^{a}) -f(x_{i}^{p}) \right \|_{2}^{2}-\left \| f(x_{i}^{a}) -f(x_{i}^{n}) \right \|_{2}^{2}+\alpha ]_{+}L 
t
​    
 =∑[∥f(x 
i
a
​    
 )−f(x 
i
p
​    
 )∥ 
2
2
​    
 −∥f(x 
i
a
​    
 )−f(x 
i
n
​    
 )∥ 
2
2
​    
 +α] 
+
​    
 
∑ \sum∑表示一个batch内所有图像的损失和,x i a 、 x i p 、 x i n x_{i}^{a}、x_{i}^{p}、x_{i}^{n}x 
i
a
​    
 、x 
i
p
​    
 、x 
i
n
​    
 为每次从训练数据中去除的3张图像,前两项为同一类,第三项为不同类。||表示欧式距离。[ ] + []_{+}[] 
+
​    
 表示当括号内值大于0时,为括号内值,否则取0。
优点:使用量化学习解决特征表示的类别间距问题;缺点:在训练过程中,对元组的选择的要求的技巧较高,而且要求数据集比较大。
(2)中心损失Center Loss
Center Loss用于压缩同一类别,为每个类别提供一个类别中心,最小化每个样本与其类别中心的距离。
L c = ∑ ∥ x i − c y i ∥ 2 2 L_c=\sum\|x_i-c_{y_i}\|_2^2L 
c
​    
 =∑∥x 
i
​    
 −c 

i
​    
 
​    
 ∥ 
2
2
​    
 。其中,x i x_ix 
i
​    
 为一个样本,y i y_iy 
i
​    
 为对应样本类别,c y i c_{y_i}c 

i
​    
 
​    
 为该类别中心。该损失函数可较好的解决类间内聚性。利用中心损失的同时,一般还会加上softmax损失以保证类间的可分性。所以,最终的损失函数包括softmax损失和中心损失。L = λ × L c + L s o f t m a x L=\lambda \times L_c+L_{softmax}L=λ×L 
c
​    
 +L 
softmax
​    
 .其中,λ \lambdaλ用于平衡两种损失函数,该权重越大,生成的特征就会越具有内聚性。优点:训练得到的特征具有内聚性;缺点:当类别数目较多时(>10000)时,内存消耗大,对GPU的要求非常高。
(3)ArcFace损失additive angular margin loss该损失函数使用归一化的网络权重和偏差来计算损失函数,对原输出ω y i T x i + b y i \omega_{y_i}^Tx_i+b_{y_i}ω 

i
​    
 
T
​    
 x 
i
​    
 +b 

i
​    
 
​    
 可转化为∣ ω y i ∣ ⋅ ∣ x i ∣ ⋅ c o s ( θ ) |\omega_{y_i}|\cdot|x_i|\cdot cos(\theta)∣ω 

i
​    
 
​    
 ∣⋅∣x 
i
​    
 ∣⋅cos(θ),θ \thetaθ 为ω y i , x i \omega_{y_i},x_iω 

i
​    
 
​    
 ,x 
i
​    
 之间的角度。对输出归一化为s ⋅ ( c o s ( θ y i ) + m ) s\cdot(cos(\theta_{y_i})+m)s⋅(cos(θ 

i
​    
 
​    
 )+m)得到新的损失函数为
优点:不仅对权重进行了正则化,对特征也进行了正则化。
————————————————
版权声明:本文为CSDN博主「lovely_smile」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lovely_smile/article/details/109404895

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值