深度学习基础--不同网络种类--siamese网络(孪生网络)
发布日期:2021-06-28 13:52:41 浏览次数:3 分类:技术文章

本文共 893 字,大约阅读时间需要 2 分钟。

siamese网络(孪生网络)

  05年Yann Lecun提出来的。提起siamese network一般都会引用这两篇文章: 《Learning a similarity metric discriminatively, with application to face verification》和《 Hamming Distance Metric Learning》。

  Siamese也算是降维方法的一种。
  Siamese网络是一种相似性度量方法,当类别数多,但每个类别的样本数量少的情况下可用于类别的识别、分类等。传统的用于区分的分类方法是需要确切的知道每个样本属于哪个类,需要针对每个样本有确切的标签。而且相对来说标签的数量是不会太多的。当类别数量过多,每个类别的样本数量又相对较少的情况下,这些方法就不那么适用了。

  参考资料:

  
  
  

主要思想

  通过一个函数将输入映射到目标空间,在目标空间使用简单的距离(欧式距离等)进行对比相似度。在训练阶段去最小化来自相同类别的一对样本的损失函数值,最大化来自不同类别的一堆样本的损失函数值。

  它的特点是它接收两个图片作为输入,而不是一张图片作为输入。

  主要思想就是三点:

  1)输入不再是单个样本,而是一对样本,不再给单个的样本确切的标签,而且给定一对样本是否来自同一个类的标签,是就是0,不是就是1
  2)设计了两个一模一样的网络,网络共享权值W,对输出进行了距离度量,可以说l1、l2等。
  3)针对输入的样本对是否来自同一个类别设计了损失函数,损失函数形式有点类似交叉熵损失。

损失函数

  当X1和X2描述来自相同类别的时候,最小化损失函数;当X1和X2来自不同类别的时候,最大化。

在这里插入图片描述

在这里插入图片描述

网络结构

  因为针对成对样本输入,这里两个相同的函数G,拥有一份相同的参数W,即这个结构是对称的,我们将它叫做siamese architecture。

  在这篇论文中,作者用这个网络去做面部识别,比较两幅图片是不是同一个人,而且这个网络的一个优势是可以去区分那些新的没有经过训练的类别的样本。
在这里插入图片描述

转载地址:https://blog.csdn.net/wydbyxr/article/details/84560798 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:其他加速方案--Learning Structured Sparsity in Deep Neural Networks
下一篇:NIN(network in network)

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月04日 00时12分20秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章