Siamese Network
原文:《Learning a Similarity Metric Discriminatively, with Application to Face Verification》

1、四个问题

  1. 要解决什么问题?

    • 用于解决类别很多(或者说不确定),然而训练样本的类别数较少的分类任务(比如人脸识别、人脸认证)
    • 通常的分类任务中,类别数目固定,且每类下的样本数也较多(比如ImageNet)
  2. 用了什么方法解决?
    • 提出了一种思路:将输入映射为一个特征向量,使用两个向量之间的“距离”(L1 Norm)来表示输入之间的差异(图像语义上的差距)。
    • 基于上述思路设计了Siamese Network。每次需要输入两个样本作为一个样本对计算损失函数。
      • 常用的softmax只需要输入一个样本。
      • FaceNet中的Triplet Loss需要输入三个样本。
    • 提出了Contrastive Loss用于训练。
  3. 效果如何?
    • 文中进行了一个衡量两张人脸的相似度的实验,使用了多个数据库,较复杂。
    • siamese network现在依然有很多地方使用,可以取得state-of-the-art的效果。
  4. 还存在什么问题?
    • contrastive loss的训练样本的选择需要注意,论文中都是尽量保证了50%的正样本对和50%的负样本对。

2、论文概述

2.1、问题的提出与解决方案

  • 分类问题:

    • 第一类,分类数量较少,每一类的数据量较多,比如ImageNet、VOC等。这种分类问题可以使用神经网络或者SVM解决,只要事先知道了所有的类。
    • 第二类,分类数量较多(或者说无法确认具体数量),每一类的数据量较少,比如人脸识别、人脸验证任务。
  • 文中提出的解决方案:
    • learn a similar metric from data。核心思想是,寻找一个映射函数,能够将输入图像转换到一个特征空间,每幅图像对应一个特征向量,通过一些简单的“距离度量”(比如欧式距离)来表示向量之间的差异,最后通过这个距离来拟合输入图像的相似度差异(语义差异)。

2.2、网络结构概述

  • 数学符号描述

    • 输入数据:X1X_1X1​、X2X_2X2​、X2′X_2^{'}X2′​。其中X1X_1X1​和X2X_2X2​属于同一类,X1X_1X1​和X2′X_2^{'}X2′​属于不同类。
    • 模型:GWG_WGW​。其中WWW表示模型参数,GWG_WGW​的作用就是将输入数据XXX转换为一组特征向量。
    • 距离(文中称其为energy function):EWE_WEW​。用于衡量两个输入向量转换为向量之后,两个向量之间的距离。
      • 如果采用L1距离,则公式为:EW(X1,X2)=∥GW(X1)−GW(X2)∥E_W(X_1, X_2)=\| G_W(X_1) - G_W(X_2) \|EW​(X1​,X2​)=∥GW​(X1​)−GW​(X2​)∥。

2.3、Contrastive Loss损失函数

  • YYY表示X1X_1X1​、X2X_2X2​是否属于同一类。为同类,则为0;不同类,则为1。
  • PPP表示输入的总样本数,iii表示当前样本的下标。
  • LGL_GLG​表示两个样本为同类时的损失函数,LIL_ILI​表示两个样本未不同类时的损失函数。
  • 使用Contrastive Loss的任务主要是设计合适的LGL_GLG​和LIL_ILI​损失函数,当为同类时,使得LGL_GLG​尽可能小;当不同类时,使得LIL_ILI​尽可能大。文中给出的函数如下图,现在也不常用了,推导步骤略。

  • 查找资料看到,caffe中的contrastive loss定义如下:(参考:https://blog.csdn.net/autocyz/article/details/53149760)

L=12N∑n=1Nyd2+(1−y)max(margin−d,0)2L=\frac{1}{2N}\sum_{n=1}^Nyd^2+(1-y)max(margin-d,0)^2 L=2N1​n=1∑N​yd2+(1−y)max(margin−d,0)2

论文笔记:孪生神经网络(Siamese Network)相关推荐

  1. 【论文阅读笔记】Occlusion-Aware Siamese Network for Human Pose Estimation

    论文地址:Occlusion-Aware Siamese Network for Human Pose Estimation 论文总结   本文的网络名,作者命名为OASNet.本文的出发点就如名字所 ...

  2. 吴恩达机器学习笔记week8——神经网络 Neutral network

    吴恩达机器学习笔记week8--神经网络 Neutral network 8-1.非线性假设 Non-linear hypotheses 8-2.神经元与大脑 Neurons and the brai ...

  3. 论文笔记004-《Knowledge Graph Alignment Network with Gated Multi-hop Neighborhood Aggregation》

    更多博客可以关注MyBlog,欢迎大家一起学习交流! 1. 简介 题目:<Knowledge Graph Alignment Network with Gated Multi-hop Neigh ...

  4. [论文笔记]SwinSUNet: Pure Transformer Network for Remote Sensing Image Change Detection

    1 论文标题 标题: SwinSUNet: Pure Transformer Network for Remote Sensing Image Change Detection 作者: Cui Zha ...

  5. 【论文笔记】Multi-Interactive Attention Network for Fine-grained Feature Learning in CTR Prediction

    <Multi-Interactive Attention Network for Fine-grained Feature Learning in CTR Prediction>论文学习 ...

  6. 论文笔记: 图神经网络 GAT

    摘要: 分享对论文的理解. 原文见 Petar Velickovic, Guillem Cucurull, Arantxa Casanova, Adriana Romero, Pietro Lio, ...

  7. 【论文笔记】Multi-Content Complementation Network for Salient Object Detection in Optical RSI

    论文 论文:Multi-Content Complementation Network for Salient Object Detection in Optical Remote Sensing I ...

  8. 论文笔记 Multiple Instance Detection Network with Online Instance Classifier Refinement - CVPR 2017

    Multiple Instance Detection Network with Online Instance Classifier Refinement 华中科大Peng Tang, Xingga ...

  9. 论文笔记:Contrastive Adaptation Network for Unsupervised Domain Adaptation

    1. 任务设置 U n s u p e r v i s e d D o m a i n A d a p t a t i o n f o r I m a g e C l a s s i f i c a ...

最新文章

  1. [LeetCode]42. Trapping Rain Water雨水填坑
  2. win7利用remote连接服务器,显示发生身份验证错误 要求的函数不受支持
  3. VC6.0下调bug的流程
  4. loadrunner安装补丁报错
  5. Service Worker 的一个实战例子
  6. thinking-in-java(14)类型信息
  7. 同步工具之Semaphore信号量
  8. 自己动手写操作系统(一)
  9. 软件开发中的需求种类
  10. 苹果越狱后怎么还原_iOS 13.3 越狱提升稳定性,自签又可以使用了
  11. java 病毒查杀_Java清除exe文件中的病毒
  12. 第一章-问题求解策略-LA4238-Area of Polycubes
  13. vue报错Navigating to current location (/login) is not allowed
  14. 百度这样搜索,可以去掉广告!
  15. [计算机视觉] 什么是齐次坐标?为什么要引入齐次坐标?
  16. 收集一个错误,foxmail发送邮件时报错反馈550 5.7.0 DT:SPM
  17. 计算机三级缺考停一年,2020四级缺考会不会被禁考一年
  18. vnc故障,连接不上Linux远程桌面,手动杀掉故障进程
  19. GAN应用案例:音频转图像
  20. hexo安装sitemap

热门文章

  1. php购物系统论文答辩老师评价,答辩指导教师的评语大全
  2. ntfs 格式在linux下挂载
  3. 6.分布式数据库HBase第2部分
  4. 【目标检测】Fast RCNN算法详解
  5. 九十分钟极速入门Linux——Linux Guide for Developments 学习笔记
  6. Java 面试知识点解析(七)——Web篇
  7. 提高跑步速度的3个方法
  8. 程序员面试题精选100题(12)-从上往下遍历二元树[数据结构]
  9. Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”
  10. REdis AOF文件结构分析