墨奇科技博客 | 理解度量学习的新姿势

在身份识别领域,特征的稳定性一直是影响认证精度的重要因素。为了支持特征提取的稳定性,很多方案都会选择比较固定单一的采集方式来获取生物特征,但是这样的采集方式已经不能满足现代身份认证/识别系统的需求。

复杂的身份识别采集场景,对于光照以及姿态都有很高的要求,而传统的特征提取方法,类似于 Gabor 等,都无法应付这样的复杂的采集场景。这就对特征提取算法自身的稳定性提出了更高的要求。

传统视觉算法 [1] 很难区分上面两幅相似图像的相近程度

近年来,卷积神经网络在模式识别等领域大放异彩。网络可以在充分的数据下学习复杂情况下的稳定特征,让算法对于采集环境的条件变得更加宽松,也使生物特征身份认证的应用场景变得更加宽泛。可是,一般的神经网络都是做分类和回归的,怎么能够做到判断两个特征是不是同一个人的呢?这样我们就引出了今天的主题:使用深度神经网络的表征度量学习。

度量学习是什么?

传统机器学习中,很多任务都可以被建模为回归或是分类任务。这些任务都需要强标签,也就是有明显语义定义的标注数据,比如类别标签,或者是位置信息。然而近几年在表征学习领域,一种新的学习方式逐渐收到了学术界的关注,那就是度量学习。度量学习旨在让模型学习样本与样本之间的相似度,鼓励模型学习 同类不同类 之间的泛化度量(可以是欧氏距离,也可以是余弦相似度)。这个度量应该在整个数据上面都能展示同一性,也就是说在陌生数据下也应该有同样辨析同类异类的能力。

为了定义问题,首先我们需要一个度量空间 \mathbb{R}^n 来度量两个样本的距离。这里我们使用 距离函数 d|_{(\mathbb{R}^{n},\mathbb{R}^{n}) \rightarrow \mathbb{R}} 来描述两个样本的距离。那么我们就可以得到两个简单的目标:

在将两个问题共同优化的过程中,对于不同簇的约束需要转化成对偶问题,也就是将 argmaxd(x_c^1, x_z^1) 转化为 argmin-d(x_c^1, x_z^1)。为了避免在优化联合目标过程中梯度变成 0 的情况,我们就需要增加一个参数 m (在文章中通常会被称为 margin),使得损失函数能够产生有效的梯度。通过上面对优化目标的简单整理,我们就可以得到一个非常单纯的 铰链损失函数(Hinge Loss)也被称作 对比损失函数(Contrastive Loss)

L_{\mathit{hinge}} = d(x_a, x_p) + \Big[ m - d(x_a,x_n) \Big]_+

其中,x_a 代表锚点(anchor)样本,x_p 代表 与锚点同类的样本(positive),x_n​ 代表 与锚点异类的样本(n

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值