码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-11-19 19:07:25      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:

        文章提出一个从数据中训练得到相似性度量的方法。针对类别较多但每个类别的样本较少的情况,这个方法有用。这个方法的思想是:学习一个能够将输入特征映射到一个目标空间的函数,在这个目标空间中用一个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网络可视化效果图:
技术分享


















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

标签:

原文地址:http://www.cnblogs.com/lijingcong/p/4978354.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!