Learning a Similarity Metric Discriminatively, with Application to Face Verification.

**

Learning a Similarity Metric Discriminatively, with Application to Face Verification (2005 CVPR)

**

文章提出了一种从数据中训练相似性度量的方法。这种方法适用于识别和验证任务,其中任务特点:
(1)数据所属的类别特别多
(2)有些类别在训练的时候是未知的
(3)并且每个类别的训练样本特别少。

这三个特点和 meta-learning(元学习)的特征是一致的。
(1)数据所属的类别多(虽然有些类别训练时是未知的),可以帮助 meta-learning 从这些类别中学习到可以用于处理新类的先验知识 (prior);
(2)有些类别训练的时候未知,这和 meta-learning 想做的可以把学到的先验知识用在新的任务上的本质思想是一致的。
(3)每个类别的训练样本特别少,这是一种典型的 few-shot learning 设置。也是 meta-learning 在监督情景下的解决的典型问题。
更多关于 meta-learning 和 few-shot 的概述参考链接:https://blog.youkuaiyun.com/weixin_37589575/article/details/92801610

本质思想

学习一个函数(function),将输入模式 (input patterns) 映射 (map) 到一个目标空间里面。并且需要控制这个映射使得目标空间 (traget space) 中的 L1 Norm (相似性度量,similarity metric) 可以近似输入空间 (input space) 中的语义距离,即来自同一人的照片在目标空间中相似性度量小,而来自不同的人的照片相似性度量大。这和 meta-learning 中的度量学习 (metric learning) 本质思想完全一致,只是相似性度量的选择还有训练时候的策略有差异,度量学习的典型包含 Matching Network, Prototypical networks, Relation Network 等。

介绍

传统的分类方法是判别式的,需要
(1) 训练的时候知道所有的类
(2) 每个类的训练样本可用,并且越多越好
这限制了一些场景下的使用,例如面部验证和面部识别,其中每个人看成一个类。还有一种情况就是即使不是在实际应用中,而是一些用于科研数据集 (dataset) 所包含的类也是特别多的,并且很有可能每个类都只有很少的样本可用于训练。一种常见的解决方法是基于距离 (distance-based) 的方法,方法包含需要分类或验证的模式之间的相似性度量以及一个存储的原型库。另一种解决方法是在降维空间里使用一种非判别的(生成式)概率方法,这种方法训练一个类时,不需要其他类的样本。
本文提出了一种从训练数据中学习相似性度量的方法,并且这个相似性度量可以用于比较来自训练时没有见过的新的类的样本(例如,一个新人的面部图片)。这种方法是判别式的,可以用于分类问题,其中类别数很多 and/or 每个类别的样本很少。

方法

找到一个映射函数 embedding,将输入模式(对应输入空间)映射到目标空间,并且样本在目标空间中的简单距离(欧式距离)可以近似样本在输入空间的语义距离。简单说,就是我们需要一个 map,对于面部验证问题(给两张照片,判断是否同一人),我们用这个map,把两张照片映射到同一个目标空间,比较目标空间中两个映射点的距离,如果距离大于某一阈值,我们认为不是同一人,如果小于这一阈值,我们则认为属于同一人。
问题的关键在于:如何使这个映射具有以上的属性?
解决方法:
X 1 X_{1} X1 X 2 X_{2} X2 是需要识别或验证的两张图片,我们的映射函数为 G W ( X ) G_{W}(X) GW(X) ,参数为 W W W X 1 X_{1} X1 X 2 X_{2} X2 的相似性度量为

E W ( X 1 , X 2 ) = ∥ G W ( X 1 ) − G W ( X 2 ) ∥ E_{W}\left(X_{1}, X_{2}\right)=\left\|G_{W}\left(X_{1}\right)-G_{W}\left(X_{2}\right)\right\| EW(X1,X2)=GW(X1)GW(X2)

我们需要如果 X 1 X_{1} X1 X 2 X_{2} X2 是同一人照片,那么 E W ( X 1 , X 2 ) E_{W}\left(X_{1}, X_{2}\right) EW(X1,X2) 小,反之来自不同人,则相似性度量大。
注意,这是相似性度量,不是相似性。所以其实是这个相似性度量小,相似性越大。
训练思想:训练集为成对的模式,即

T r a i n S e t = { ( X 1 1 , X 2 1 ) , ( X 1 2 , X 2 2 ) , …   ( X 1 n , X 2 n ) } TrainSet = \left\{\left(X_{1}^1, X_{2}^1\right), \left(X_{1}^2, X_{2}^2\right), \ldots\ \left(X_{1}^n, X_{2}^n\right)\right\} TrainSet={ (X11,X21),(X12,X22), (X

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值