Notes:Learning a Similarity Metric Discriminatively, with Application to Face

文章提出一个从数据中训练得到相似性度量的方法。针对类别较多但每个类别的样本较少的情况,这个方法有用。这个方法的思想是:学习一个能够将输入特征映射到一个目标空间的函数,在这个目标空间中用一个L1范数来度量输入空间的“距离”,通过最小化loss函数以实现最小化同一类和最大化不同类的“距离”。映射的函数不固定,可以根据具体问题来假设映射的函数,本文中使用卷积神经网络来作为映射函数。

与之前的方法不同的是:本文所使用的损失函数是基于能量模型的判别学习框架。将能量函数定义如下:

其中,X1和X2表示一对样本,Gw(x)表示映射函数,能量Ew则表示样本对在映射空间的距离(本文用一范数表示)。这个能量函数应该满足以下条件:

这里X1和X2表示同一类的样本对,而X1和X2‘不是同一类样本对,不同类样本对的能量应当大于同一类的样本对。

定义了能量函数,下面定义训练用 的损失函数loss functions:

这里(Y,X1,X2)表示一个样本对,Y=0或1表示样本对是同一类或不同类,共P个样本对。L函数应该设计成这样:最小化L时,应该降低同类的能量EG,增加异类的能量EI,最简单就是LG单调上升而LI单调下降。

再定义一个H函数,它关于EG和EI是凸的(这不意味这H关于W是否凸)

H函数要符合一个类似condition 1的条件:

这里要证明一个定理:H函数对EG和EI是凸的,且在无穷远处有最小值;若存在一个W符合condition1,最小化H函数则能够找到符合条件的W。证明过程略。

具体定义的Loss函数是:

文章所采用的映射函数Gw是一个6层的卷积神经网络cnn,系统简图如下:

训练过程中,每次把两个样本X1和X2输入网络,网络的输出值为Gw(X1)和Gw(X2),计算得到它们的能量值。样本对有两种情况,一是同类样本对二是异类样本对:

然后求取上诉loss函数的梯度值,一个样本对有两个梯度值,参数W的更新采用两个梯度之和,用随机梯度下降算法SGD来最小化loss函数。

这是学习过后的cnn网络可视化效果图:

来自为知笔记(Wiz)

时间: 2024-10-05 06:05:09

Notes:Learning a Similarity Metric Discriminatively, with Application to Face的相关文章

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 Computer Science, The University of Manchester, Manchester, 2 National Centre for Text Mining (NaCTeM), Manchester, UK and 3 Department of Computer Scie

Caffe —— Deep learning in Practice

因工作交接需要, 要将caffe使用方法及整体结构描述清楚. 鉴于也有同学问过我相关内容, 决定在本文中写个简单的tutorial, 方便大家参考. 本文简单的讲几个事情: Caffe能做什么? 为什么选择caffe? 环境 整体结构 Protocol buffer 训练基本流程 Python中训练 Debug Caffe能做什么? 定义网络结构 训练网络 C++/CUDA 写的结构 cmd/python/Matlab接口 CPU/GPU工作模式 给了一些参考模型&pretrain了的weigh

patch similarity

基于2-channel  network的图片相似度判别 原文地址:http://blog.csdn.net/hjimce/article/details/50098483 作者:hjimce 一.相关理论 本篇博文主要讲解2015年CVPR的一篇关于图像相似度计算的文章:<Learning to Compare Image Patches via Convolutional Neural Networks>,本篇文章对经典的算法Siamese Networks 做了改进.学习这篇paper的

Siamese Network

摘抄自caffe github的issue697 Siamese nets are supervised models for metric learning [1]. [1] S. Chopra, R. Hadsell, and Y. LeCun. Learning a similarity metric discriminatively, with application to face verification. In Computer Vision and Pattern Recogni

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

一.相关理论 本篇博文主要讲解2015年CVPR的一篇关于图像相似度计算的文章:<Learning to Compare Image Patches via Convolutional Neural Networks>,本篇文章对经典的算法Siamese Networks 做了改进.学习这篇paper的算法,需要熟悉Siamese Networks(经典老文献<Signature Verification Using a Siamese Time Delay Neural Network

关于metric learning的人脸识别学习

今年暑假在北京自动化所做“大学生研究计划”,从7月7号-8月20号.导师和师兄人都很nice,度过了一个有收获的暑假吧! 我对人脸识别的理解:比较两个人脸是不是相似,而图片的存储是矩阵,那我们就是比较这两个矩阵有多近,如果“很近”,那就是同一个人嘛,相反,如果相差很大,那就不是一个人.如何来判断两个矩阵离得“近”呢,答案是丰富多彩的嘛,所以有各种各样的方法. 然后说下人脸识别的整个过程:样本——提取特征——训练——得到分类器——测试 1 样本,我用的LFW(Labeled Face in Wil

Machine Learning - XVIII. Application Example Photo OCR应用实例-照片OCR(Week10)

http://blog.csdn.net/pipisorry/article/details/44999703 机器学习Machine Learning - Andrew NG courses学习笔记 Application Example Photo OCR应用实例照片 OCR(Optical Character Recognition)光学文字辨识 Problem Description and Pipeline问题描述和管道 three reasons to centered around

Five most popular similarity measures (转)

Five most popular similarity measures implementation in python The buzz term similarity distance measures has got wide variety of definitions among the math and data mining practitioners. As a result those terms, concepts and their usage went way bey

Applied Deep Learning Resources

Applied Deep Learning Resources A collection of research articles, blog posts, slides and code snippets about deep learning in applied settings. Including trained models and simple methods that can be used out of the box. Mainly focusing on Convoluti