4-1 One-Shot 学习

One-Shot 学习( One-shot learning)

人脸识别所面临的一个挑战就是你需要解决一次学习问题,这意味着在大多数人脸识别应用中,你需要通过单单一张图片或者单单一个人脸样例就能去识别这个人。所以在一次学习问题中,只能通过一个样本进行学习,以能够认出同一个人。大多数人脸识别系统都需要解决这个问题,因为在你的数据库中每个雇员或者组员可能都只有一张照片。

有一种办法是,将人的照片放进卷积神经网络中,使用 softmax 单元来输出 4 种,或者说 5 种标签,分别对应这 4 个人,或者 4 个都不是,所以 softmax 里我们会有 5 种输出。但实际上这样效果并不好,因为如此小的训练集不足以去训练一个稳健的神经网络。

而且,假如有新人加入你的团队,你现在将会有 5 个组员需要识别,所以输出就变成了6 种,这时你要重新训练你的神经网络吗?这听起来实在不像一个好办法。

所以要让人脸识别能够做到一次学习,为了能有更好的效果,你现在要做的应该是学习Similarity 函数。详细地说,你想要神经网络学习这样一个用d表示的函数:

$d(img1,img2) = \deg ree\;of\;difference\;between\;images$

它以两张图片作为输入,然后输出这两张图片的差异值。如果你放进同一个人的两张照片,你希望它能输出一个很小的值,如果放进两个长相差别很大的人的照片,它就输出一个很大的值。所以在识别过程中,如果这两张图片的差异值小于某个阈值$\tau$,它是一个超参数,那么这时就能预测这两张图片是同一个人,如果差异值大于$\tau$,就能预测这是不同的两个人, 这就是解决人脸验证问题的一个可行办法。

要注意在这过程中你是如何解决一次学习问题的,只要你能学习这个函数d,通过输入一对图片,它将会告诉你这两张图片是否是同一个人。如果之后有新人加入了你的团队,你只需将他的照片加入你的数据库,系统依然能照常工作。

转载于:https://www.cnblogs.com/xiaojianliu/articles/9938338.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值