三元组损失“Deep Metric Learning via Lifted Structured Feature Embedding”

http://www.cnblogs.com/wangxiaocvpr/p/5921074.html

caffe实现解释:https://blog.csdn.net/zziahgf/article/details/78568696

tensorflow实现:http://10.1.2.209/lianjie/install-packages/blob/master/metric_loss_ops.py#L410

caffe实现:https://github.com/rksltnl/Deep-Metric-Learning-CVPR16/

将mini-batch中样本对距离向量(O(m) )提升到距离矩阵(O(m2) ),并基于此定义了一个新的结构化损失函数。

对比损失及triplet loss回归

略。

方法描述

使用训练集中的所有正样本对及负样本对定义结构化损失函数:

J=12Pi,jPmax0,Ji,j2

Ji,j=maxmaxi,kNα-Di,k,maxj,lNα-Dj,l+Di,j

其中P 是所有的正样本对,N 是所有的负样本对,这个函数有两个计算难点:(1)它是非平滑的,(2)计算梯度需要挖掘所有的样本对好几次。

 

使用两种方式解决上述问题:首先在函数上优化一个平滑的上边界,其次,对于大数据常用的方法类似,我们采用随机的方法(随机采样一部分正样本对),在选择困难样本对,使用mini-batch中所有样本的信息。

图2a,2b显示了batch_size = 6的对比和三元损失嵌入空间,增加额外的顶点比增加额外的边计算量大的多,增加顶点带来了额外的I/O、存储。

 

为使用batch的全部信息,使用batch中所有的样本对,即从O(m) 到Om2 ,图2c展示了将样本对转化成全连接的致密的矩阵距离。加入某batch具有c维特征X∈Rm×c ,batch所有特征平方范数组成的列向量为x=f(x1)22,…,f(xm)22T ,平方距离矩阵可以使用下式计算:

D2=x1T+1xT-2XXT

其中

Dij2=fxi-f(xj)22

 

随机样本对产生的负边含有的信息非常少,它们基本是easy样本,加入了采样策略,随机采样一小部分正样本对,然后增加困难的负样本。图3显示了一个正样本对困难负样本的挖掘过程,对于正样本对的每个样本,寻找困难负样本,这与triplet损失中只对anchor找负样本不同。这个过程可以使用平方距离矩阵D2 快速实现。

 

由于采用嵌套的max 函数来寻找单个 hardest negative 往往导致网络收敛到一个 bad 局部最优解,使用平滑上边界优化,每个batch的损失函数定义为:

Ji,j=logi,kNexp⁡{α-Di,k}+j,lNexp⁡{α-Dj,l}+Di,j

J=12Pi,jPmax0,Ji,j2

梯度后向传播的算法为:

损失函数对于距离的梯度为:

JDi,j=1PJi,j1Ji,j>0

JDi,k=1PJi,j1Ji,j>0-exp⁡{α-Di,k}exp⁡{Ji,j-Di,j}

JDj,l=1PJi,j1Ji,j>0-exp⁡{α-Dj,l}exp⁡{Ji,j-Di,j}

 

图4介绍了对比损失和triplet损失可能失败的几种情况,对于对比嵌入(图4a),当随机挑选的负样本与另外一类的某样本共线时,失败;对于triplet嵌入(图4b),当采样的负样本在采样的正样本和anchor的margin边界内时失败;这是对比损失和三元损失均将正样本xi推向了第三类。在提出的嵌入空间中(4c),给出了足够多的随机样本,在margin边界内的困难负样本xk将正样本xi推向了正确的方向。

 

实验结果

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Part I Metric Searching in a Nutshell Overview 3 1. FOUNDATIONS OF METRIC SPACE SEARCHING 5 1 The Distance Searching Problem 6 2 The Metric Space 8 3 Distance Measures 9 3.1 Minkowski Distances 10 3.2 Quadratic Form Distance 11 3.3 Edit Distance 12 3.4 Tree Edit Distance 13 3.5 Jaccard’s Coefficient 13 3.6 Hausdorff Distance 14 3.7 Time Complexity 14 4 Similarity Queries 15 4.1 Range Query 15 4.2 Nearest Neighbor Query 16 4.3 Reverse Nearest Neighbor Query 17 4.4 Similarity Join 17 4.5 Combinations of Queries 18 4.6 Complex Similarity Queries 18 5 Basic Partitioning Principles 20 5.1 Ball Partitioning 20 5.2 Generalized Hyperplane Partitioning 21 5.3 Excluded Middle Partitioning 21 5.4 Extensions 21 6 Principles of Similarity Query Execution 22 6.1 Basic Strategies 22 6.2 Incremental Similarity Search 25 7 Policies for Avoiding Distance Computations 26 7.1 Explanatory Example 27 7.2 Object-Pivot Distance Constraint 28 7.3 Range-Pivot Distance Constraint 30 7.4 Pivot-Pivot Distance Constraint 31 7.5 Double-Pivot Distance Constraint 33 7.6 Pivot Filtering 34 8 Metric Space Transformations 35 8.1 Metric Hierarchies 36 8.1.1 Lower-Bounding Functions 36 8.2 User-Defined Metric Functions 38 8.2.1 Searching Using Lower-Bounding Functions 38 8.3 Embedding Metric Space 39 8.3.1 Embedding Examples 39 8.3.2 Reducing Dimensionality 40 9 Approximate Similarity Search 41 9.1 Principles 41 9.2 Generic Algorithms 44 9.3 Measures of Performance 46 9.3.1 Improvement in Efficiency 46 9.3.2 Precision and Recall 46 9.3.3 Relative Error on Distances 48 9.3.4 Position Error 49 10 Advanced Issues 50 10.1 Statistics on Metric Datasets 51 10.1.1 Distribution and Density Functions 51 10.1.2 Distance Distribution and Density 52 10.1.3 Homogeneity of Viewpoints 54 10.2 Proximity of Ball Regions 55 10.3 Performance Prediction 58 Contents ix 10.4 Tree Quality Measures 60 10.5 Choosing Reference Points 63 2. SURVEY OF EXISTING APPROACHES 67 1 Ball Partitioning Methods 67 1.1 Burkhard-Keller Tree 68 1.2 Fixed Queries Tree 69 1.3 Fixed Queries Array 70 1.4 Vantage Point Tree 72 1.4.1 Multi-Way Vantage Point Tree 74 1.5 Excluded Middle Vantage Point Forest 75 2 Generalized Hyperplane Partitioning Approaches 76 2.1 Bisector Tree 76 2.2 Generalized Hyperplane Tree 77 3 Exploiting Pre-Computed Distances 78 3.1 AESA 78 3.2 Linear AESA 79 3.3 Other Methods 80 4 Hybrid Indexing Approaches 81 4.1 Multi Vantage Point Tree 81 4.2 Geometric Near-neighbor Access Tree 82 4.3 Spatial Approximation Tree 85 4.4 M-tree 87 4.5 Similarity Hashing 88 5 Approximate Similarity Search 89 5.1 Exploiting Space Transformations 89 5.2 Approximate Nearest Neighbors with BBD Trees 90 5.3 Angle Property Technique 92 5.4 Clustering for Indexing 94 5.5 Vector Quantization Index 95 5.6 Buoy Indexing 97 5.7 Hierarchical Decomposition of Metric Spaces 97 5.7.1 Relative Error Approximation 98 5.7.2 Good Fraction Approximation 98 5.7.3 Small Chance Improvement Approximation 98 5.7.4 Proximity-Based Approximation 99 5.7.5 PAC Nearest Neighbor Search 99 x SIMILARITY SEARCH Part II Metric Searching in Large Collections of Data Overview 103 3. CENTRALIZED INDEX STRUCTURES 105 1 M-tree Family 105 1.1 The M-tree 105 1.2 Bulk-Loading Algorithm of M-tree 109 1.3 Multi-Way Insertion Algorithm 112 1.4 The Slim Tree 113 1.4.1 Slim-Down Algorithm 114 1.4.2 Generalized Slim-Down Algorithm 116 1.5 Pivoting M-tree 118 1.6 The M
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值