来源:Coursera吴恩达深度学习课程

上个文章One-Shot学习/一次学习(One-shot learning)中函数d的作用就是输入两张人脸图片,然后输出相似度。实现这个功能的一个方式就是用Siamese网络

上图是常见的卷积网络,输入图片x^(1),然后经过卷积层、池化层和全连接层,最终得到特征向量。假如它有128个数,它是由网络深层的全连接层计算出来的,给这128个数命个名字,f(x^(1)),可以看成是图像x^(1)的编码。建立一个人脸识别系统的方法就是:如果要比较两个图片的话,把第二张图片x^(2)喂给有同样参数的神经网络,然后得到一个不同的128维向量。这里x^(1)和x^(2)仅代表两个输入图片,是任意两个图片

接下来定义d,将x^(1)和x^(2)的距离定义为这两种图片编码之差的范数

对于两个不同的输入,运行相同的卷积神经网络,然后比较它们,这一般叫做Siamese网络架构(Siamese neural network architecture)。这里提到的很多观点,都来自于Yaniv Taigman,Ming Yang,Marc’ Aurelio Ranzato,Lior Wolf的这篇论文DeepFace closing the gap to human level performance,他们开发的系统叫做DeepFace。怎么训练这个Siamese神经网络呢?

由于两个网络有相同的参数,因此就是训练一个网络。我们要做的就是学习参数,如果两张图片是同一个人,那两个编码的距离就很小;如果是不同的人,编码距离就大一些。如果你改变这个网络所有层的参数,你会得到不同的编码结果,你要做的就是用反向传播(back propagation)来改变这些所有的参数,以确保满足这些条件。

现在我们已经了解了Siamese网络架构,并且知道想要网络输出什么,即什么是好的编码。但是如何定义实际的目标函数(define an objective function),能够让神经网络学习并做到我们刚才讨论的内容呢?在下一个文章里,我们会看到如何用三元组损失函数达到这个目的。

说明:记录学习笔记,如果错误欢迎指正!转载请联系我。

Siamese 网络(Siamese network)相关推荐

  1. 4.3 Siamese 网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 4.2 One-Shot 学习 回到目录 4.4 Triplet 损失 Siamese 网络 (Siamese Network) 上个视频中你学到的函数 ddd 的作用就是输 ...

  2. 智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习

    1.Siamese网络 Siamese network就是"连体的神经网络",神经网络的"连体"是通过共享权值来实现的,如下图所示.共享权值意味着两边的网络权重 ...

  3. CV | Siamese网络

    简介 今年的CVPR大会看到了好多带"siamese"关键词或者同类的词的文章,之前不了解这个网络,今学习并总结如下. 以后学习到新的与之有关的网络再行更新. 1. Siamese ...

  4. siamese网络_CVPR 2019手写签名认证的逆鉴别网络

    点击我爱计算机视觉标星,更快获取CVML新技术 本文简要介绍CVPR2019论文"Inverse Discriminative Networks for Handwritten Signat ...

  5. Siamese网络(孪生神经网络)详解

    SiameseFC Siamese网络(孪生神经网络) 本文参考文章: Siamese背景 Siamese网络解决的问题 要解决什么问题? 用了什么方法解决? 应用的场景: Siamese的创新 Si ...

  6. High Performance Visual Tracking with Siamese Region Proposal Network全文翻译

    摘要   近年来,视觉对象跟踪一直是一个基本主题,许多基于深度学习的跟踪器在多个基准测试中取得了最先进的性能.然而,这些跟踪器中的大多数很难以实时速度获得最佳性能.在本文中,我们提出了 Siamese ...

  7. High Performance Visual Tracking with Siamese Region Proposal Network 论文学习

    文章目录 论文阅读总结 Translation Abstract 1 Introduction 2 Related Works 2.1 Trackers based on Siamese networ ...

  8. 走进VOT--《High Performance Visual Tracking with Siamese Region Proposal Network》阅读翻译

    前言:siamRPN是Siamfc之后的又一突破.SiamFC的缺点: Siamese的方法只能得到目标的中心位置,但是得不到目标的尺寸,所以只能采取简单的多尺度加回归,这即增加了计算量,同时也不够精 ...

  9. 2016 ECCV-Gated Siamese Convolutional Neural Network Architecture for Human Re-ID

    论文地址 第一篇论文笔记,希望大家能多提些意见来帮助我提高论文笔记模型的性能.相关方向的童鞋可以加qq:396543018一起交流~ Motivation 现在的Siamese CNN对每个照片仅在f ...

最新文章

  1. (转)面向对象的 JavaScript 编程:dojo.declare 详解
  2. 未定义标识符 stringc/c++(20)_20款丰田酷路泽5700绝版现车最后促销
  3. HTML5 required是必填
  4. 获取SAP Spartacus当前显示产品json数据的又一办法
  5. 如何脚踏实地构建Java Agent
  6. 前端学习(1317):静态资源2
  7. kafka 日志相关配置
  8. SQL2012 之 创建备份计划
  9. C++局部变量和全局变量的初始化
  10. oracle active data guard,Oracle Active DataGuard配置手册(一)
  11. 左侧栏下拉框HTML代码,html5下拉菜单代码
  12. 【语法】NSFileManager 文件目录操作
  13. noteexpress 笔记导出_把笔记还给用户,可以选择自己存储位置的笔记应用#Joplin...
  14. JavaWeb EL表达式, JSTL标签及过滤器综合学习
  15. 【HTML5+MVC4】xhEditor网页编辑器图片上传
  16. 软件测试知识——Linux常用命令
  17. 云桌面优缺点_云桌面中VDI架构有什么优势和劣势?
  18. 14个UI精美功能强大的Android应用设计模板
  19. 汽车电子ECU bootloader工作原理及开发要点
  20. Linux Mint 21编译Android kernel,遇到 multiple definition of `yylloc‘ 的错误解决

热门文章

  1. 基于MS的Dmol3模块计算离子液体的电子转移和成键
  2. SDK armature 和 animation spine
  3. qa 芯片测试_[转]芯片设计中验证Verification,确认Validation以及测试Test的区别
  4. MoveWindow() SetWindowPos()的区别与联系
  5. 机器学习:基于XGBoost对信用卡欺诈行为的识别
  6. 紫光同创 FPGA 开发跳坑指南(三)—— 联合 Modelsim 仿真
  7. Android音视频开发进阶
  8. 自动构造支撑和阻力线
  9. 神经网络之特征图可视化
  10. layui隐藏侧边栏_layui禁用侧边导航栏点击事件的处理方法