深度学习基础----度量学习的损失函数

度量学习的损失函数(CV)

 

  • 解释

度量学习 (Metric learning) 是广泛用于图像检索领域的一种方法 . 不同于表征学习 , 度量学习旨在通过网络学习出两张图片的相似度 .

学习的对象通常是样本特征向量的距离,度量学习的目的是通过训练和学习,减小或限制同类样本之间的距离,同时增大不同类别样本之间的距离。最后通过最小化网络的度量损失 , 来寻找一个最优的映射 f (x). 而这个映射 f (x), 就是我们训练得到的深度卷积网络.

 

 

  • 常用度量学习损失方法

首先 , 假如有两张输入图片 I 1 和 I 2 , 通过网络的前向传播我们可以得到它们 ( 归一化后 ) 的特征向量 f I 1和 f I 2 . 之后我们需要定义一个距离度量函数 , 这个函数并不唯一 , 只要能够在特征空间描述特征向量的相似度 / 差异度的函数均可以作为距离度量函数 . 然而 , 为了实现端对端 (End-to-end) 训练的网络 , 度量函数尽可能连续可导 , 通常我们使用归一化特征的欧式距离或者特征的余弦距离作为度量函数                

 

                

 

(1)对比损失

用于训练Siamese(孪生)网络,,输入为两张图片,每一对训练图片都有一个标签y,y=1表示两张图片属于”正样本对”,反之y=0,表示他们属于”负样本对”

              

当输入为正样本对的时候,d(Ia,Ib)逐渐减小,相同种类的图片会持续在特征空间形成聚类。反之,当网络输入负样本对时,d(Ia,Ib)会逐渐变大,知道超过设定的alpha。通过最小化损失函数,最后可以使正样本对之间距离逐渐变小,负样本对之间距离逐渐变大,从而满足任务的需要。

 

 

 

  1. 三元组损失(Triplet loss)

三元组损失需要三张输入图片:一对正样本对和一对负样本对 . 三张图片分别命名为

固定图片 (Anchor) a, 正样本图片 (Positive) p 和负样本图片 (Negative) n.

                    

三元组可以拉近正样本对之间的距离,推开负样本对之间的距离,最后使得相同种类的图片在特征空间里形成聚类,以达目的。

 

 

改进:原版的Triplet loss只考虑正负样本对之间的相对距离,而并没有考虑正样本对之间的绝对距离,为此提出改进三元组损失(Improved triplet loss):

                 

保证网络不仅能够在特征空间把正负样本推开,也能保证正样本对之间的距离很近。

 

 

 

(3)四元组损失(Quadruplet loss)

 

需要四张输入图片,和三元组不同的是多了一张负样本图片。

四张图片为:  固定图片(Anchor) a ,正样本图片(Positive) p  ,负样本图片1(Negative1) n1 和负样本图片2(Negative2) n2 。其中 n1 和 n2 是两个不同负样本。则四元组损失表示为:

其中α和β是手动设置的正常数,通常设置β小于α,前一项称为强推动,后一项称为弱推动。相比于三元组损失只考虑正负样本间的相对距离,四元组添加的第二项不共享ID,所以考虑的是正负样本间的绝对距离。因此,四元组损失通常能让模型学习到更好的表征。

 

 

 

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值