Chopra S, Hadsell R, Lecun Y, et al. Learning a similarity metric discriminatively, with application to face verification[C]. computer vision and pattern recognition, 2005: 539-546.

Hadsell R, Chopra S, Lecun Y, et al. Dimensionality Reduction by Learning an Invariant Mapping[C]. computer vision and pattern recognition, 2006: 1735-1742.

@article{chopra2005learning,

title={Learning a similarity metric discriminatively, with application to face verification},

author={Chopra, Sumit and Hadsell, Raia and Lecun, Yann},

volume={1},

pages={539--546},

year={2005}}

@article{hadsell2006dimensionality,

title={Dimensionality Reduction by Learning an Invariant Mapping},

author={Hadsell, Raia and Chopra, Sumit and Lecun, Yann},

volume={2},

pages={1735--1742},

year={2006}}

这俩篇论文介绍了一种contrastive loss (最近很火, 但是感觉虽然核心思想是一致的, 现在的contrastive loss在此基础上更进了一步), 实际上就是最大化类间距离, 最小化类内距离.

主要内容

genuine 和 impostor

首先, 给定数据集\(\mathcal{D}=\{(x_i,y_i)\}_{i=1}^N\), 其分别代表数据和标签, 根据此数据集进行配对,

\[X_{ij}=(x_i, x_j),
\]

若对应的\(y_i=y_j\)则称该对为genuine(真实的), 否则为impostor(虚假的), 记为\(Y_{ij}\)(1:genuine, 0:impostor).

一个很自然的想法就是真实的对之间的距离应该小(就是最小化类内距离), 虚假对的数据间的距离大(即最大化类间距离).

不过在做这个工作之前, 我们需要通过一个映射\(G_W\)将\(x\)映射到一个低维的空间中去, 用现在的话讲, 这是一个提特征的过程, 并将上面的最大最小化的思想套用到这些特征\(G_W(x)\)上去. 用

\[E_W(X_{ij}) := \|G_W(x_i)-G_W(x_j)\|
\]

来表示一对数据之间的"能量" (实际上就是特征的距离).

如何最大最小呢? 最小化下面的式子:

\[\mathcal{L}(W)=\sum_{i,j} Y_{ij}L_G(E_W(X_{ij}))+(1-Y_{ij})L_{I}(E_W(X_{ij})).
\]

文1

\[L_G(E_W):= \frac{2}{Q}(E_W)^2 \\
L_I(E_W):= 2Q \exp(-\frac{2.77}{Q}E_W),
\]

其中\(Q\)为一常数, 表\(E_W\)的上界, 不是很理解为什么要这么构造.

文2

\[L_G(E_W):= \frac{1}{2}(E_W)^2 \\
L_I(E_W):=\frac{1}{2} \{\max (0, m-E_W)\}^2,
\]

其中\(m\)是认为给定的一个margin.

注: 文1中并没有注明去何种范数, 但有这么一句话:

Second, we must emphasize that using the square norm instead of the L1 norm for the energy would not be appropriate.

照这个说法, 那就应该用\(L_1\), 可第二篇是显示使用\(L_2\)的, 难道就因为第二篇是应用在数据降维中的缘故?

实际上, \(G_W\)就是一个压缩映射, 文二用此来进行数据降维, 而文一在此基础上进行分类. 按照现在的做法, 就应该是利用\(G_W\)作为一个特征提取器, 然后再其后加一个分类器用于分类, 文1是假设每一个个体(类)服从一个多维的正态分布, 这个正态分布用这个类中的数据(经过映射后的特征)来估计. 假设每个类的概率密度函数为\(\phi_i\), 便用

\[\frac{\phi_i(x)}{\phi_i(x)+c_i},
\]

来表示\(x\)与第\(i\)类的样本关系为genuine的可能性.

\[c_i = \mathrm{mean} \{\phi_i(x):x\in\mathcal{D}, y\not = i\}.
\]

没理解错应该是这个意思.

Learning a Similarity Metric Discriminatively, with Application to Face Verification的更多相关文章

  1. Learning string similarity measures for gene/protein name dictionary look-up using logistic regression

    Yoshimasa Tsuruoka1,*, John McNaught1,2, Jun’ichi Tsujii1,2,3 and Sophia Ananiadou1,2 1 School of Co ...

  2. 发布iOS应用时,Xcode报错:Application failed codesign verification.

    如下图,在发布应用时,因为codesign问题卡住了.尝试修改Target中的code sign setting,没有效果. 接着,在Developer Center删除所有证书,甚至包括Apps I ...

  3. 深度学习框架Caffe —— Deep learning in Practice

    因工作交接需要, 要将caffe使用方法及整体结构描述清楚. 鉴于也有同学问过我相关内容, 决定在本文中写个简单的tutorial, 方便大家参考. 本文简单的讲几个事情: Caffe能做什么? 为什 ...

  4. Caffe —— Deep learning in Practice

    因工作交接须要. 要将caffe用法及总体结构描写叙述清楚. 鉴于也有同学问过我相关内容, 决定在本文中写个简单的tutorial, 方便大家參考. 本文简单的讲几个事情: Caffe能做什么? 为什 ...

  5. 贾扬清分享_深度学习框架caffe

    Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的 贾扬清,目前在Google工作.本文是根据机器学习研究会组织的online分享的交流内容,简单的整理了一下. 目录 ...

  6. Siamese Network理解

    提起siamese network一般都会引用这两篇文章: <Learning a similarity metric discriminatively, with application to ...

  7. 基于2-channel network的图片相似度判别

    一.相关理论 本篇博文主要讲解2015年CVPR的一篇关于图像相似度计算的文章:<Learning to Compare Image Patches via Convolutional Neur ...

  8. face recognition[angular/consine-margin-based][L2-Softmax]

    本文来自<L2-constrained Softmax Loss for Discriminative Face Verification>,时间线为2017年6月. 近些年,人脸验证的性 ...

  9. 转-------CNN图像相似度匹配 2-channel network

    基于2-channel  network的图片相似度判别 原文地址:http://blog.csdn.net/hjimce/article/details/50098483 作者:hjimce 一.相 ...

随机推荐

  1. 【风控算法】一、变量分箱、WOE和IV值计算

    一.变量分箱 变量分箱常见于逻辑回归评分卡的制作中,在入模前,需要对原始变量值通过分箱映射成woe值.举例来说,如"年龄"这一变量,我们需要找到合适的切分点,将连续的年龄打散到不同 ...

  2. 内存管理——array new,array delete

    1.array new array new就是申请一个数组空间,所以在delete的时候一定不能忘记在delete前加[] delete加上[]符号以后,就相当于告诉系统"我这里是数组对象, ...

  3. Shell学习(九)——chattr与lsattr命令详解

    有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux ...

  4. Oracle——概要文件profile

    profile文件详解 一.目的         Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对 ...

  5. Linux学习 - 正则表达式

    一.正则表达式与通配符 正则表达式:在文件中匹配符合条件的字符串,正则是包含匹配 通配符:用来匹配符合条件的文件名,通配符是完全匹配 二.基础正则表达式 元字符 作用 a* a有0个或任意多个 . 除 ...

  6. 【Java基础】ExecutorService的使用

    ExecutorService是java中的一个异步执行的框架,通过使用ExecutorService可以方便的创建多线程执行环境. 本文将会详细的讲解ExecutorService的具体使用. 创建 ...

  7. java实现文件压缩

    java实现文件压缩:主要是流与流之间的传递 代码如下: package com.cst.klocwork.service.zip; import java.io.File; import java. ...

  8. vue 项目如何使用animate.css

    Animate.css是一款酷炫丰富的跨浏览器动画库,它在GitHub上的star数至今已有5.3万+. 在vue项目中我们可以借助于animate.css,用十分简单的代码来实现一个个炫酷的效果!( ...

  9. 强化学习实战 | 表格型Q-Learning玩井子棋(三)优化,优化

    在 强化学习实战 | 表格型Q-Learning玩井字棋(二)开始训练!中,我们让agent"简陋地"训练了起来,经过了耗费时间的10万局游戏过后,却效果平平,尤其是初始状态的数值 ...

  10. 虚拟机快照和linux基础命令

    虚拟机快照 磁盘"快照"是虚拟机磁盘文件(VMDK)在某个点及时的副本.可以通过使用恢复到快照来保持磁盘文件和系统存储. 1.拍摄快照 拍摄快照前先关机,然后右键点击虚拟机=> ...