←上一篇 ↓↑ 下一篇→
4.4 Triplet 损失 回到目录 4.6 什么是神经风格转换?

人脸验证与二分类 (Face Verification and Binary Classification)

Triplet loss是一个学习人脸识别卷积网络参数的好方法,还有其他学习参数的方法,让我们看看如何将人脸识别当成一个二分类问题。

另一个训练神经网络的方法是选取一对神经网络,选取Siamese网络,使其同时计算这些嵌入,比如说128维的嵌入(编号1),或者更高维,然后将其输入到逻辑回归单元,然后进行预测,如果是相同的人,那么输出是1,若是不同的人,输出是0。这就把人脸识别问题转换为一个二分类问题,训练这种系统时可以替换Triplet loss的方法。

最后的逻辑回归单元是怎么处理的?输出 y^\hat{y}y^​ 会变成,比如说sigmoid函数应用到某些特征上,相比起直接放入这些编码( f(x(i),f(x(j)))f(x^{(i)},f(x^{(j)}))f(x(i),f(x(j))) ),你可以利用编码之间的不同。

y^=σ(∑k=1128wi∣f(x(i))k−(x(j))k∣+b\hat{y}=\sigma(\sum_{k=1}^{128}w_i|f(x^{(i)})_k-(x^{(j)})_k|+by^​=σ(∑k=1128​wi​∣f(x(i))k​−(x(j))k​∣+b

我解释一下,符号 f(x(i))kf(x^{(i)})_kf(x(i))k​ 代表图片 x(i)x^{(i)}x(i) 的编码,下标 kkk 代表选择这个向量中的第 kkk 个元素, ∣f(x(i))k−f(x(j))k∣|f(x^{(i)})_k-f(x^{(j)})_k|∣f(x(i))k​−f(x(j))k​∣ 对这两个编码取元素差的绝对值。你可能想,把这128个元素当作特征,然后把他们放入逻辑回归中,最后的逻辑回归可以增加参数 wiw_iwi​ 和 bbb ,就像普通的逻辑回归一样。你将在这128个单元上训练合适的权重,用来预测两张图片是否是一个人,这是一个很合理的方法来学习预测0或者1,即是否是同一个人。

还有其他不同的形式来计算绿色标记的这部分公式( ∣f(x(i))k−f(x(j))k∣|f(x^{(i)})_k-f(x^{(j)})_k|∣f(x(i))k​−f(x(j))k​∣ ),比如说,公式可以是 (f(x(i))k−f(x(j))k)2f(x(i))k+f(x(j))k\frac{(f(x^{(i)})_k-f(x^{(j)})_k)^2}{f(x^{(i)})_k+f(x^{(j)})_k}f(x(i))k​+f(x(j))k​(f(x(i))k​−f(x(j))k​)2​ ,这个公式也被叫做 χ2\chi^2χ2 公式,是一个希腊字母 χ\chiχ ,也被称为 χ\chiχ 平方相似度。

Yaniv Taigman, Ming Yang, Marc’Aurelio Ranzato, Lior Wolf (2014). DeepFace:Closing the gap to human-level performance in face verification

这些公式及其变形在这篇DeepFace论文中有讨论,我之前也引用过。

但是在这个学习公式中,输入是一对图片,这是你的训练输入 xxx (编号1、2),输出 yyy 是0或者1,取决于你的输入是相似图片还是非相似图片。与之前类似,你正在训练一个Siamese网络,意味着上面这个神经网络拥有的参数和下面神经网络的相同(编号3和4所示的网络),两组参数是绑定的,这样的系统效果很好。

之前提到一个计算技巧可以帮你显著提高部署效果,如果这是一张新图片(编号1),当员工走进门时,希望门可以自动为他们打开,这个(编号2)是在数据库中的图片,不需要每次都计算这些特征(编号6),不需要每次都计算这个嵌入,你可以提前计算好,那么当一个新员工走近时,你可以使用上方的卷积网络来计算这些编码(编号5),然后使用它,和预先计算好的编码进行比较,然后输出预测值 y^\hat{y}y^​ 。

因为不需要存储原始图像,如果你有一个很大的员工数据库,你不需要为每个员工每次都计算这些编码。这个预先计算的思想,可以节省大量的计算,这个预训练的工作可以用在Siamese网路结构中,将人脸识别当作一个二分类问题,也可以用在学习和使用Triplet loss函数上,我在之前的视频中描述过。

总结一下,把人脸验证当作一个监督学习,创建一个只有成对图片的训练集,不是三个一组,而是成对的图片,目标标签是1表示一对图片是一个人,目标标签是0表示图片中是不同的人。利用不同的成对图片,使用反向传播算法去训练神经网络,训练Siamese神经网络。

这个你看到的版本,处理人脸验证和人脸识别扩展为二分类问题,这样的效果也很好。我希望你知道,在一次学习时,你需要什么来训练人脸验证,或者人脸识别系统。

课程板书




←上一篇 ↓↑ 下一篇→
4.4 Triplet 损失 回到目录 4.6 什么是神经风格转换?

4.5 人脸验证与二分类-深度学习第四课《卷积神经网络》-Stanford吴恩达教授相关推荐

  1. 深度学习第四课——卷积神经网络(week 1)

    目录 一.前言 1.1 卷积 1.2 其他滤波器 1.3 Padding 1.3.1 解释 1.3.2 填充多少像素的选择 1.4 卷积步长 1.5 三维卷积 1.6 单层卷积网络 1.7 深度卷积神 ...

  2. 2.19 总结-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 2.18 Logistic 损失函数的解释 回到目录 3.1 神经网络概览 文章目录 总结 习题 第 11 题 第 12 题 第 13 题 第 14 题 第 15 题 第 1 ...

  3. 4.1 什么是人脸识别-深度学习第四课《卷积神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.11 总结 回到目录 4.2 One-Shot 学习 什么是人脸识别 (What is face recognition?) 欢迎来到第四周,即这门课卷积神经网络课程的最 ...

  4. 0.0 目录-深度学习第五课《序列模型》-Stanford吴恩达教授

    文章目录 目录 第五课 第四课 第三课 第二课 第一课 目录 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1. ...

  5. 4.4 Triplet 损失-深度学习第四课《卷积神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 4.3 Siamese 网络 回到目录 4.5 面部验证与二分类 Triplet 损失 (Triplet Loss) 要想通过学习神经网络的参数来得到优质的人脸图片编码,方法 ...

  6. 0.0 目录-深度学习第四课《卷积神经网络》-Stanford吴恩达教授

    文章目录 第五课 第四课 第三课 第二课 第一课 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1.2 数学符号 ...

  7. 0.0 目录-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授

    文章目录 第五课 第四课 第三课 第二课 第一课 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1.2 数学符号 ...

  8. 0.0 目录-深度学习第二课《改善神经网络》-Stanford吴恩达教授

    文章目录 第五课 第四课 第三课 第二课 第一课 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1.2 数学符号 ...

  9. 0.0 目录-深度学习第一课《神经网络与深度学习》-Stanford吴恩达教授

    文章目录 第五课 第四课 第三课 第二课 第一课 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1.2 数学符号 ...

最新文章

  1. 浅谈25种设计模式(4/25)(此坑未填)
  2. Linux命令--pwd
  3. 手把手教你写DI_2_小白徒手撸构造函数注入
  4. 验证部分表单是否重复
  5. Debian的软件包管理工具命令不完全列表
  6. 云计算实战系列十五(SQL I)
  7. hausaufgabe--python 22- Recurse
  8. Python导包的几种方法,自定义包的生成以及导入详解
  9. cesium之三维漫游飞行效果实现篇(转)
  10. modelsim 常用快捷键
  11. 设有n个人围坐一圈并按顺时针方向从1到n编号
  12. TienLen游戏模型、算法,类似斗地主游戏算法
  13. U盘内文件变为快捷方式怎么办?【一招解决】
  14. php中如何插入图片,php如何添加图片
  15. FFmpeg的HEVC解码器源码简单分析:概述
  16. 攻防世界 happyctf
  17. selenium实战 登录后跳转到外部网站,添加多个数据 (UI-0107)分享(白月黑羽网站selenium自动化学习)
  18. uTools(工具集合)
  19. python基于pygame实现跨年烟花效果
  20. 计算机打单基础知识,电脑基础知识:简单认识打印机及耗材

热门文章

  1. 不是同一个工程的exe与dll,如何调试dll
  2. centos 7 配置 到多站点设置
  3. 实现Web虚拟现实的最轻松方案—A-Frame框架
  4. android-数据库SQLite相关
  5. SQL SERVER的锁机制(二)——概述(锁的兼容性与可以锁定的资源)
  6. PHP中遍历stdclass object 及 json 总结[中国航天神舟十号以json形式向地面返回数据]...
  7. WindowsPhone后台新特性
  8. Expect 在网络管理中发挥着重要作用
  9. 2007年的SEO优化趋势
  10. 矩阵分析与多元统计 线性空间与线性变换2