『深度概念』度量学习中损失函数的学习与深入理解 0. 概念简介
度量学习(Metric Learning),也称距离度量学习(Distance Metric Learning,DML) 属于机器学习的一种。其本质就是相似度的学习,也可以认为距离学习。因为在一定条件下,相似度和距离可以相互转换。比如在空间坐标的两条向量,既可以用余弦相似度的大小,也可以使用欧式距离的远近来衡量相似程度。
一般的度量学习包含以下步骤:
Encoder编码模型:用于把原始数据编码为特征向量(重点如何训练模型)
相似度判别算法:将一对特征向量进行相似度比对(重点如何计算相似度,阈值如何设定)
基于深度学习的度量学习算法中,可以分为两个流派:
网络设计派:代表孪生神经网络(Siamese network)
损失改进派:代表 xx-softmax
本文介绍重点是损失改进派,是最近发展迅速,应用广泛的方法。
在人脸识别与声纹识别这种度量学习算法中,算法的提高主要体现在损失函数的设计上,损失函数会对整个网络的优化有着导向性的作用。可以看到许多常用的损失函数,从传统的softmax loss到cosface, arcface 都有这一定的提高。
无论是SphereFace、CosineFace还是ArcFace的损失函数,都是基于Softmax loss来进行修改的。
Base line Softmax loss
各种延伸的算法 Triplet loss, center loss
最新算法 A-Softmax Loss(SphereFace), Cosine Margin Loss, Angular Margin Loss, Arcface
1.Softmax loss