其他分享
首页 > 其他分享> > contrastive loss对比损失函数及梯度计算

contrastive loss对比损失函数及梯度计算

作者:互联网

Contrastive loss 最初源于 Yann LeCunDimensionality Reduction by Learning an Invariant Mapping” CVPR 2006。
损失函数主要是用于降维中,即本来相似的样本,在经过降维(特征提取)后,在特征空间中,两个样本仍旧相似;而原本不相似的样本,在经过降维后,在特征空间中,两个样本仍旧不相似。同样,该损失函数也可以很好的表达成对样本的匹配程度

Contrastive Loss 定义

在caffe的孪生神经网络(siamese network)中,其采用的损失函数是contrastive loss,这种损失函数可以有效的处理孪生神经网络中的paired data的关系。contrastive loss的表达式如下:
L ( W , ( Y , X 1 , X 2 ) ) = 1 2 N ∑ n = 1 N Y D W 2 + ( 1 − Y ) m a x ( m − D W , 0 ) 2 L(W, (Y, X_1, X_2))=\frac{1}{2N}\sum_{n=1}^NYD_W ^2+(1-Y)max(m-D_W,0)^2 L(W,(Y,X1​,X2​))=2N1​n=1∑N​YDW2​+(1−Y)max(m−DW​,0)2
其中 D W ( X 1 , X 2 ) = ∣ ∣ X 1 − X 2 ∣ ∣ 2 = ( ∑ i = 1 P ( X 1 i − X 2 i ) 2 ) 1 2 D_W(X_1, X_2)=||X_1 - X_2||_2 = (\sum^P_{i=1}{(X^i_1 - X^i_2)^2})^\frac{1}{2} DW​(X1​,X2​)=∣∣X1​−X2​∣∣2​=(∑i=1P​(X1i​−X2i​)2)21​,代表两个样本特征 X 1 X_1 X1​ 和 X 2 X_2 X2​ 的欧氏距离(二范数) P P P 表示样本的特征维数, Y Y Y 为两个样本是否匹配的标签, Y = 1 Y=1 Y=1 代表两个样本相似或者匹配, Y = 0 Y=0 Y=0 则代表不匹配, m m m 为设定的阈值, N N N 为样本个数。

观察上述的contrastive loss的表达式可以发现,这种损失函数可以很好的表达成对样本的匹配程度,也能够很好用于训练提取特征的模型。

这张图表示的就是损失函数值与样本特征的欧式距离之间的关系,其中红色虚线表示的是相似样本的损失值,蓝色实线表示的不相似样本的损失值。

梯度计算

论文中使用stochastic gradient descent 来不断更新 D W D_W DW​,不断减小loss,更好表达成对样本的匹配程度。
(这里我们先忽略累和操作,后面自己加上即可)

即分别对 X 1 X_1 X1​和 X 2 X_2 X2​求偏导,更新梯度 :
在这里插入图片描述

同理,当 D W &lt; m D_W &lt; m DW​<m时,分别对 X 1 X_1 X1​和 X 2 X_2 X2​求偏导:
在这里插入图片描述

Spring Model Analogy 弹簧模型类比

弹簧模型公式:
F = − K X F = -KX F=−KX
(F表示两点间弹簧的作用力,K是弹簧的劲度系数,X为弹簧拉伸或收缩的长度,弹簧静止状态时X=0)

论文中将该contrastive loss损失函数类比于弹簧模型:将成对的样本特征,使用该损失函数来表达成对样本特征的匹配程度。成对的样本特征之间(类比于图中的一个个点),我们假设这些点之间都有一个弹簧,弹簧静止时长度为0,点对之间无作用力。①对于样本相似的特征,相当于其间的弹簧产生了正位移X(X < m),即弹簧被拉伸了X的长度,此时两个相似特征(点)之间存在吸引力。②对于样本不相似的特征,相当于其间的弹簧产生的了负位移,即弹簧被压缩了,此时两个不相似特征之间存在排斥力。注意弹簧的特性:当两点之间弹簧位移超X>m时,此时,弹簧发生形变,此时两点之间视为没有吸引力了。具体如下图所示:

结合上面求梯度的公式也可以很好的理解该损失函数的思想,上面的 ∂ L S ∂ W \frac{\partial L_S}{\partial W} ∂W∂LS​​ 和 ∂ L D ∂ W \frac{\partial L_D}{\partial W} ∂W∂LD​​ 代表两点间弹簧的作用力F, ∂ D W ∂ W \frac{\partial D_W}{\partial W} ∂W∂DW​​ 对应弹簧的劲度系数, D W D_W DW​ 和 − ( m − D W ) -(m - D_W) −(m−DW​)代表弹簧的缩放位移。
这里写图片描述
上图显示了类比的弹簧系统。实心圆表示与中心点相似的点。空心圆圈代表不同的点。弹簧显示为红色曲折线。作用在点上的力以蓝色箭头显示。箭头的长度近似给出了力的强度。在右侧的两个图中,x轴是距离 D W D_W DW​,y轴是损失函数的值。(a)中显示使用仅吸引attractonly弹簧连接到相似点的点。(b)表示相似点对的损失函数及其梯度。(c)表示该点仅与半径为m的圆内的不同点连接,仅具有m-repulse-only排斥弹簧连接到不相似的点。(d)显示不相似点对相关的损失函数及其梯度。(e)显示一个点被不同方向的其他点拉动,形成平衡的情况。

Reference:

转载:https://blog.csdn.net/forever__1234/article/details/81222092  

标签:loss,样本,partial,梯度,contrastive,frac,弹簧,相似,DW
来源: https://www.cnblogs.com/chentiao/p/16367763.html