论文笔记:Triplet Network

Triplet Network
1、四个问题

    要解决什么问题?
        实质上,Triplet Network是Siamese Network的一种延伸,要解决的问题与Siamese Network的基本一致。
        与Siamese Network一样,适用于解决样本类别很多(或不确定),然而训练数据集的样本数又很少的情况(如人脸识别、人脸验证)。
    用了什么办法解决?
        思路:将图像映射到某个特征空间中,其中两幅图像输入CNN得到的特征向量之间的欧式距离即为相似度。
        与Siamese Network不同的是,Triplet Network采用三个样本为一组:一个参考样本,一个同类样本,一个异类样本。
        在contrastive loss的基础之上构建了一个新的loss函数,就是保持类内和类间距离有一个距离限制(margin)。
    效果如何?
        论文比较老了,是15年的,早就不是state-of-the-art的了。
        在论文中给出的实验结果中,采用相似的CNN结构,使用triplet network的效果比siamese network好一些。
    还存在什么问题?
        triplet network的训练是通过样本间的对比(类内/类间),而不是以往的通过标签(label)训练,前者相比于后者不一定能取得更好地效果。

2、论文概述
2.1、网络结构

在这里插入图片描述

    Tripelet Network由3个相同的前馈神经网络(彼此共享参数)组成。
    每次输入三个样本,网络会输出两个值:候选样本与同类样本,候选样本与异类样本,在embedding层的特征向量的L2距离。
    假设输入为:x

x,候选样本;x−x−,异类样本;x+
x+,同类样本。
一句话概括就是,这个网络对x−
x−和x+x+相对于x

    x的距离进行了编码。

在这里插入图片描述
2.2、训练

在这里插入图片描述

    d+

d+​和d−
d−​分别是正样本对和负样本对在embedding层特征向量的欧氏距离。为了方便使用概率表示,又将其输入softmax函数,计算公式如上图。
目标是最小化d+
d+​,最大化d−d−​,所以等价于令Loss(d+,d−)→0Loss(d+​,d−)→0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值