Deep Metric Learning Using Triplet Network(PDF)
Author:Elad Hoffer, Nir Ailon ICLR2015 (Citations:1232)
问题引入:
基于孪生网络的模型学到的表征在作为分类的特征时,提供了低于标准的结果。此外,孪生网络对校准非常敏感,因为孪生网络中对相似性和不相似性概念的定义需要特定环境的支持(比如说,在一个包含随机物品的数据集中,两个不相同的人可能被认为是相似的;但是在仅包含任务的数据集中,同样的两个人又可能被认为是不相似的)。
解决方案:
1.三元组网络框架
我们首先将样本进行组合使之成为一个三元组,其中,是anchor,
是与
具有相同类别的样本即正样本,
是与
具有不相同类别的样本即负样本。那么任务目标被定义为学习一个由规范度量引出的相似性函数
来表示样本之间的相似性
,并使两者之间满足如下关系:

为了实现上述目标,本文提出了三元组网络(Triplet Network)。三元组网络的输入为三个样本,然后将三个样本分别参数共享的前馈神经网络得到各自的嵌入表征Net(x)。得到嵌入特征后,利用特征表示分别计算anchor与正样本、anchor与负样本之间的L2距离并组成一个二维的向量。


2.训练过程
在得到anchor与正负样本的L2距离后,我们利用Softmax函数来进行比较操作。本任务是一个二分类问题,因此损失函数如下:

Loss本质上相当于一个常数乘以anchor与正样本之间距离的平方。因此,当anchor与正样本距离越小,与负样本距离越大时,二者的比值就会趋于0,相当于Loss趋于0,与所需要的目标等价。
网友评论