当前位置:   article > 正文

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

one shot learning

目录

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。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/488561
推荐阅读
相关标签
  

闽ICP备14008679号