深度学习笔记(45) 人脸验证与二分类

  • 1. 二分类问题
  • 2. 逻辑回归单元的处理
  • 3. 计算技巧

1. 二分类问题

深度学习笔记(44) Triplet 损失 的Triplet loss是一个学习人脸识别卷积网络参数的好方法
还有其他学习参数的方法
可以尝试将人脸识别当成一个二分类问题

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


2. 逻辑回归单元的处理

最后的逻辑回归单元的处理
比如说sigmoid函数应用到某些特征上,相比起直接放入这些编码(f(x(i)),f(x(j)))
可以利用编码之间的不同

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


还有其他不同的形式来计算绿色标记的这部分公式(|f(x(i))k - f(x(j))k|)
比如说,公式可以是

这个公式也被叫做 χ2公式,是一个希腊字母 χ,也被称为 χ平方相似度

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

这些公式及其变形在这篇DeepFace论文中有讨论,深度学习笔记(44) Triplet 损失 也引用过

但是在这个学习公式中:

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


3. 计算技巧

之前提到一个计算技巧可以显著提高部署效果


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

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

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


参考:

《神经网络和深度学习》视频课程


相关推荐:

深度学习笔记(44) Triplet 损失
深度学习笔记(43) Siamese网络
深度学习笔记(42) 人脸识别
深度学习笔记(41) 候选区域
深度学习笔记(40) YOLO


谢谢!

深度学习笔记(45) 人脸验证与二分类相关推荐

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

    ←上一篇 ↓↑ 下一篇→ 4.4 Triplet 损失 回到目录 4.6 什么是神经风格转换? 人脸验证与二分类 (Face Verification and Binary Classificatio ...

  2. 吴恩达《机器学习》学习笔记七——逻辑回归(二分类)代码

    吴恩达<机器学习>学习笔记七--逻辑回归(二分类)代码 一.无正则项的逻辑回归 1.问题描述 2.导入模块 3.准备数据 4.假设函数 5.代价函数 6.梯度下降 7.拟合参数 8.用训练 ...

  3. 【深度学习】Keras实现回归和二分类问题讲解

    [深度学习]Keras实现回归和二分类问题讲解 文章目录 [深度学习]Keras实现回归和二分类问题讲解 1 回归问题1.1 波士顿房价预测数据集1.2 构建基准模型1.3 数据预处理1.4 超参数 ...

  4. 吴恩达深度学习笔记(105)-人脸识别之面部验证与二分类

    https://www.toutiao.com/a6652895489354105351/ 面部验证与二分类(Face verification and binary classification) ...

  5. 深度学习之视频人脸识别系列二:人脸检测与对齐

    作者 | 东田应子 [磐创AI导读]本文是深度学习之视频人脸识别系列的第二篇文章,介绍人脸检测与对齐的相关算法.欢迎大家关注我们的公众号:磐创AI. 一.人脸检测与关键点检测 问题描述: 人脸检测解决 ...

  6. 人脸验证与二分类(Face verification and binary classification)

    来源:Coursera吴恩达深度学习课程 听着五月天的<仓颉>,五月的每一天都是五月天. 三元组损失(Triplet loss)是一个学习人脸识别卷积网络参数的好方法,还有其他学习参数的方 ...

  7. 深度学习实战案例:电影评论二分类

    第一个深度学习实战案例:电影评论分类 公众号:机器学习杂货店 作者:Peter 编辑:Peter 大家好,我是Peter~ 这里是机器学习杂货店 Machine Learning Grocery~ 本 ...

  8. python spark2.0_Python+Spark2.0+hadoop学习笔记——Python Spark MLlib决策树二分类

    决策树是在数据分类问题中的一种常用且经典的机器学习方法,在本例里使用决策树模型来分析StumbleUpon数据集,来预测网页是暂时的(ephemeral)还是长青的(evergreen),并且调教参数 ...

  9. 从零点五开始的深度学习笔记——VAE(Variational AutoEncoder) (二)概率角度理解VAE结构

    概率角度理解VAE结构 1. 从联合概率分布构造的损失函数开始的一切 1.1 定义 1.2 推导过程 1.3 损失函数的理解 2. 总结 1. 从联合概率分布构造的损失函数开始的一切 一个优秀的生成网 ...

最新文章

  1. Seaborn使用set_context函数调整绘图标签和线条的大小、设置不同的模式、例如notebook模式、PPT模式、海报模式等、set_context函数可以指定绘图上下文并自动调整标签和线条
  2. 读取Assets中的文件数据
  3. java中的io系统详解(转)
  4. python 函数参数_python之函数(二)——函数参数详解
  5. 在 Linux 操作系统中安装 Java
  6. 同步手绘板——json
  7. Microduino中LM75温度传感器的使用
  8. 30个值得关注的Vue开源项目
  9. MFC可编辑CListCtrl
  10. [转]C++学习步骤
  11. tomcat 内存溢出配置
  12. Nefu 锐格实验9
  13. 面向对象-当谈论面向对象的时候,我们到底在谈论什么?
  14. 前端学习之路-聚美优品注册页面的实现
  15. 论文发表投稿流程的说明
  16. STM32CUBE+自平衡车-前言
  17. 查看 android 设备号,获取Android设备的唯一识别码|设备号|序号|UUID
  18. 2017寒假作业 计科1501 李俊01
  19. 2021年安全员-A证考试报名及安全员-A证新版试题
  20. 单片机基础入门:单片机电源电路设计,搞定电源不求人

热门文章

  1. 分布式session
  2. 大模型时代,腾讯云“复制”腾讯|WAIC2023
  3. java数组元素旋转,Java实现右旋转数组元素
  4. 【离散数学】 SEU - 28 - 2021/06/11 - Lattice and Boolean Algebra
  5. 工作室课题三【三】贪吃的大嘴
  6. 无线WiFi模组技术,ESP32-S3物联网应用,家居生活智能化发展
  7. ssh localhost解答
  8. 【前端 Canvas 训练营】第一期:鼠标交互粒子背景效果
  9. 试卷如何扫描?三个软件轻松扫描试卷
  10. python回调函数的作用是_回调函数的意义以及python实现