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

简介: Siamese network就是“连体的神经网络”,神经网络的“连体”是通过共享权值来实现的,如下图所示。共享权值意味着两边的网络权重矩阵一模一样,甚至可以是同一个网络。

1.Siamese网络


Siamese network就是“连体的神经网络”,神经网络的“连体”是通过共享权值来实现的,如下图所示。共享权值意味着两边的网络权重矩阵一模一样,甚至可以是同一个网络。


873c5c9da2a94b9c9236bc80293c508b.png


如果左右两边不共享权值,而是两个不同的神经网络,叫伪孪生网络(pseudo-siamese network,伪孪生神经网络),对于pseudo-siamese network,两边可以是不同的神经网络(如一个是lstm,一个是cnn),也可以是相同类型的神经网络。


3304ce1e711a44e1b49745492dcef4c8.png


1.1 原理


Siamese网络衡量两个输入的相似程度,输出是一个[0,1]的浮点数,表示二者的相似程度。孪生神经网络有两个输入(Input1 and Input2),将两个输入feed进入两个神经网络(Network1 and Network2),这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。通过Loss的计算,评价两个输入的相似度。


传统的siamese network使用Contrastive Loss(对比损失函数),如下所示:


46b41d31059a46be868de18b4ec2320c.png


  • 其中Dw被定义为姐妹孪生网络的输出之间的欧氏距离。Dw欧式距离公式如下:


f518d2a78aad44d7973493555bf27ca8.png


也可以是其他的距离度量方法,比如Cosine距离主要用于词汇级别的语义相似度度量。


  • 其中Gw是其中一个子网络的输出。X1和X2是输入数据对。


  • Y值为1或0。如果模型预测输入是相似的,那么Y的值为0,否则Y为1。


  • max是表示0和m-Dw之间较大值的函数。


  • m是大于0的边际价值(margin value),边际价值表示超出该边际价值的不同不会造成损失,因为希望基于实际不相似对网络进行优化。


1.2 用途


孪生神经网络用于处理两个输入“比较类似"的情况。


伪孪生神经网络适用于处理两个输入"有一定差别”的情况。


比如,我们要计算两个句子或者词汇的语义相似度,使用siamese network比较适合;如果验证标题与正文的描述是否一致(标题和正文长度差别很大),或者文字是否描述了一幅图片(一个是图片,一个是文字),就应该使用pseudo-siamese network。也就是说,要根据具体的应用,判断应该使用哪一种结构,哪一种Loss。


  • 词汇的语义相似度分析,QA中question和answer的匹配,签名/人脸验证。
  • 手写体识别也可以用siamese network。
  • 还有kaggle上Quora的question pair的比赛,即判断两个提问是不是同一问题。
  • 在图像上,基于Siamese网络的视觉跟踪算法也已经成为热点。
  • 单样本学习


2.单样本学习


2.1 原理


传统的神经网络试图学习某一个类别的图像的表达,而One-Shot Learning 试图学习不同图像(可以同一类别或者不同类别) 的区别。


给定图片A和图片B, 将A转换为一个表达(embedding vector) p, 将B转换为 一个表达(embedding vector) q


• 如果 A 和 B 属于同一个类别, 那么我们希望 p 和 q 是相似的


1dcfbd8b9bcf4efda26a4d8d028edcb7.png


• 如果 A 和 B 不属于同一个类别, 那么我们希望 p 和 q 是不相似的


dde7479732e14860be246c2d4ca53c42.png


• 相似度的度量, 欧几里得距离:


7a398d71fa49462d9a63271a925a6feb.png


2.2 意义


1.减少训练数据


• 深度学习需要大量的数据, MNIST 为了 10 个类别的区分, 需要 60,000 张训练图像, 平均一个类别需要6000 张训练图像


• One-Shot 试图将一个类别的训练图像减少, 极端情况时减小到一张图片


2.在新类别的数据出现时, 无需重新训练


• 传统的深度神经网络无法处理没有出现在训练集中的类别


• 以员工刷脸打卡为例, 使用传统深度神经网络, 每一个新员工入职, 都是一个新的 类别, 需要重新训练深度神经网络


• 如果每天都有新员工入职, 每天都要重新训练网络, 成本非常高


• One-Shot learning 可以无需重新训练即可应用于新的类别的数据

目录
相关文章
|
2月前
|
机器学习/深度学习 计算机视觉
Siamese网络和Triplet网络
【10月更文挑战第1天】
|
1月前
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
126 5
|
1月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
1月前
|
安全 网络协议 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-1):主动信息收集之ping、Nmap 就怕你学成黑客啦!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-1):主动信息收集之ping、Nmap 就怕你学成黑客啦!
|
1月前
|
网络协议 安全 NoSQL
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
|
1月前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
|
1月前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
85 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
2月前
|
存储 安全 网络安全
浅谈网络安全的认识与学习规划
浅谈网络安全的认识与学习规划
41 6
|
3月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
124 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
2月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
64 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
下一篇
DataWorks