Siamese 网络(Siamese network)
来源: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)相关推荐
- 4.3 Siamese 网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 4.2 One-Shot 学习 回到目录 4.4 Triplet 损失 Siamese 网络 (Siamese Network) 上个视频中你学到的函数 ddd 的作用就是输 ...
- 智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习
1.Siamese网络 Siamese network就是"连体的神经网络",神经网络的"连体"是通过共享权值来实现的,如下图所示.共享权值意味着两边的网络权重 ...
- CV | Siamese网络
简介 今年的CVPR大会看到了好多带"siamese"关键词或者同类的词的文章,之前不了解这个网络,今学习并总结如下. 以后学习到新的与之有关的网络再行更新. 1. Siamese ...
- siamese网络_CVPR 2019手写签名认证的逆鉴别网络
点击我爱计算机视觉标星,更快获取CVML新技术 本文简要介绍CVPR2019论文"Inverse Discriminative Networks for Handwritten Signat ...
- Siamese网络(孪生神经网络)详解
SiameseFC Siamese网络(孪生神经网络) 本文参考文章: Siamese背景 Siamese网络解决的问题 要解决什么问题? 用了什么方法解决? 应用的场景: Siamese的创新 Si ...
- High Performance Visual Tracking with Siamese Region Proposal Network全文翻译
摘要 近年来,视觉对象跟踪一直是一个基本主题,许多基于深度学习的跟踪器在多个基准测试中取得了最先进的性能.然而,这些跟踪器中的大多数很难以实时速度获得最佳性能.在本文中,我们提出了 Siamese ...
- High Performance Visual Tracking with Siamese Region Proposal Network 论文学习
文章目录 论文阅读总结 Translation Abstract 1 Introduction 2 Related Works 2.1 Trackers based on Siamese networ ...
- 走进VOT--《High Performance Visual Tracking with Siamese Region Proposal Network》阅读翻译
前言:siamRPN是Siamfc之后的又一突破.SiamFC的缺点: Siamese的方法只能得到目标的中心位置,但是得不到目标的尺寸,所以只能采取简单的多尺度加回归,这即增加了计算量,同时也不够精 ...
- 2016 ECCV-Gated Siamese Convolutional Neural Network Architecture for Human Re-ID
论文地址 第一篇论文笔记,希望大家能多提些意见来帮助我提高论文笔记模型的性能.相关方向的童鞋可以加qq:396543018一起交流~ Motivation 现在的Siamese CNN对每个照片仅在f ...
最新文章
- (转)面向对象的 JavaScript 编程:dojo.declare 详解
- 未定义标识符 stringc/c++(20)_20款丰田酷路泽5700绝版现车最后促销
- HTML5 required是必填
- 获取SAP Spartacus当前显示产品json数据的又一办法
- 如何脚踏实地构建Java Agent
- 前端学习(1317):静态资源2
- kafka 日志相关配置
- SQL2012 之 创建备份计划
- C++局部变量和全局变量的初始化
- oracle active data guard,Oracle Active DataGuard配置手册(一)
- 左侧栏下拉框HTML代码,html5下拉菜单代码
- 【语法】NSFileManager 文件目录操作
- noteexpress 笔记导出_把笔记还给用户,可以选择自己存储位置的笔记应用#Joplin...
- JavaWeb EL表达式, JSTL标签及过滤器综合学习
- 【HTML5+MVC4】xhEditor网页编辑器图片上传
- 软件测试知识——Linux常用命令
- 云桌面优缺点_云桌面中VDI架构有什么优势和劣势?
- 14个UI精美功能强大的Android应用设计模板
- 汽车电子ECU bootloader工作原理及开发要点
- Linux Mint 21编译Android kernel,遇到 multiple definition of `yylloc‘ 的错误解决
热门文章
- 基于MS的Dmol3模块计算离子液体的电子转移和成键
- SDK armature 和 animation spine
- qa 芯片测试_[转]芯片设计中验证Verification,确认Validation以及测试Test的区别
- MoveWindow() SetWindowPos()的区别与联系
- 机器学习:基于XGBoost对信用卡欺诈行为的识别
- 紫光同创 FPGA 开发跳坑指南(三)—— 联合 Modelsim 仿真
- Android音视频开发进阶
- 自动构造支撑和阻力线
- 神经网络之特征图可视化
- layui隐藏侧边栏_layui禁用侧边导航栏点击事件的处理方法