one-shot learning、Siamese网络、Triplet loss、面部验证和二分类

本文介绍了one-shot学习在人脸识别中的挑战以及解决方案,通过训练相似度函数解决小样本问题。接着,讨论了Siamese网络如何通过编码函数来判断同一身份的图片。进一步,文章详细解释了tripletloss的概念,用于优化网络以区分相似和不相似的图片。最后,提到了将面部验证转化为二分类问题的方法,并对比了面部验证与人脸识别的区别。
摘要由CSDN通过智能技术生成

目录

1.one-shot learning(一次学习)

one-shot learning就是对某一类别只提供一个或者少量的训练样本。

而很小的训练集不足以训练一个稳健的神经网络。

为了解决这个问题,需要首先训练一个 similarity function:d(img1,img2),用于表示两张图片的差异程度

d(img1,img2)<=,我们认为两张图一样(为设定的阈值)。

待识别图片分别和数据库中的人脸图片进行上述这样一个判断,就能达到人脸识别的效果。

2.Siamese网络

该神经网络定义了一个编码函数(encoding):,给定输入为的话。

如果图片是同一个人,d(img1,img2)=要尽可能得小

我们需要做的就是通过反向传播去不断调整网络的参数。

3.Triplet loss(三元组损失函数)

该函数的定义基于anchor、positive、negative三张图片(简写为A,P,N),A和P相像,A和N不相像。

定义loss 函数,α为间隔参数,>0(为了防止所有图像的f都是0向量)。

定义cost 函数,使用该成本函数进行梯度下降,来训练你的网络。

如何选择训练的三元组(A,P,N)?

如果随机选择的话,d(A,P)+α<=d(A,N)很容易满足,这样网络很难从中学到什么。

所以要选择那些难训练的(A,P,N),比如d(A,P)≈d(A,N)这种情况。

4.面部验证和二分类(face verification and binary classification)

将人脸验证转换为二分类问题。

输入一对图片,输入0或1。最后一个单元可以是逻辑回归单元。

人脸验证vs人脸识别:人脸验证是提供人脸图片和name/ID,判断是否一致。人脸识别是提供人脸图片,输出name/ID。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漂流の少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值