Siamese Network (原理篇)

1. Siamese Network 用途

      Siamese网络是一种相似性度量方法,当类别数多,但每个类别的样本数量少的情况下可用于类别的识别、分类等。传统的用于区分的分类方法是需要确切的知道每个样本属于哪个类,需要针对每个样本有确切的标签。而且相对来说标签的数量是不会太多的。当类别数量过多,每个类别的样本数量又相对较少的情况下,这些方法就不那么适用了。其实也很好理解,对于整个数据集来说,我们的数据量是有的,但是对于每个类别来说,可以只有几个样本,那么用分类算法去做的话,由于每个类别的样本太少,我们根本训练不出什么好的结果,所以只能去找个新的方法来对这种数据集进行训练,从而提出了siamese网络。siamese网络从数据中去学习一个相似性度量,用这个学习出来的度量去比较和匹配新的未知类别的样本。这个方法能被应用于那些类别数多或者整个训练样本无法用于之前方法训练的分类问题。

2. Siamese Network主要思想

主要思想是通过一个函数将输入映射到目标空间,在目标空间使用简单的距离(欧式距离等)进行对比相似度。在训练阶段去最小化来自相同类别的一对样本的损失函数值,最大化来自不同类别的一堆样本的损失函数值。给定一组映射函数,其中参数分别为权重w和偏好b。Siamese Network的目的就是寻找这样的一系列参数w,b;使得当X1和X2来自同一个类别时(或者是最相似时),损失函数(空间距离)取得极小值;当样本X1`和X2`来自不同的类别时(或者是不相似),损失函数(空间距离)取得极大值。因此,孪生网络需要用一对图像进行训练,这里的是一切可以满足可微分条件的函数。因为针对成对样本输入,这里两个相同的函数φ(·),拥有一份相同的参数w,b,即这个结构是对称的,我们将它叫做siamese architecture。 

更具体的细节可以参考下面文章,作者分析得很详细。《Learning to Compare Image Patches via Convolutional Neural Networks》。

推荐CVPR2005年的文章。 Learning a similarity metric discriminatively, with application to face verification.  http://yann.lecun.com/exdb/publis/pdf/chopra-05.pdf 这是第一个利用Siamese network做的系统匹配工作,作者是大神Yann Lecun

3. CVPR05论文分析

3.1 网络结构

作者用的网络结构非常的简单,如下:

   

作者采用的是权重共享的方式,而且作者并没有使用偏置b。图中的Gw和我们前文的Sw,b指的是一个事。

训练过程中,输入的是一对图像和他们的标签(X1,X2,Y)。其中Y=0表示X1和X2属于同一属性图像,Y=1则表示非同一属性图片。即相同对为(X1,X2,0),欺骗对为(X1,X2’,1)针对两个不同的输入X1和X2,分别输出特征空间结果为。然后对这两个结果使用能量函数进行判断。能量函数设计如下:

3.2 损失函数

假设损失函数只与输入的图相对、标签、网络权重相关(w, X1,X2,Y)。那么损失函数可以定义为如下形式:

其中,LG表示相同类别相似性测度;LI表示不同类别相似性测度。n表示为训练样本。

通过这样分开设计,可以达到当我们要最小化损失函数的时候,可以减少相同类别对的能量,增加不相同对的能量。很简单直观的方法是实现这个的话,我们只要将LG设计成单调增加,让LI单调递减就可以了,但是我们要保证一个前提就是,不相同的图片对距离肯定要比相同图片对的距离大,那么就是要满足: 

最后作者给出一个精确的对单个样本的损失函数: 

其中,Q为一个常量。可以证明,这个损失函数一定是收敛的。

4.方法总结

1、输入不再是单个样本,而是一对样本,不再给单个的样本确切的标签,而且给定一对样本是否来自同一个类的标签,是就是0,不是就是1。这一点还可以用软判据进行处理,也就是我们说的模糊属性。用高斯分布来刻画两个样本具有的相似度程度。
2、设计了两个一模一样的网络,网络共享权值W,对输出进行了距离度量。 (这里可以采用权重共享策略,也可以不采用)
3、针对输入的样本对是否来自同一个类别设计了损失函数,损失函数形式有点类似交叉熵损失:

Siamese Network的优势也是十分明显的:

淡化了标签,使得网络具有很好的扩展性,可以对那些没有训练过的类别进行分类,这点是优于很多算法的。而且这个算法对一些小数据量的数据集也适用,变相的增加了整个数据集的大小,使得数据量相对较小的数据集也能用深度网络训练出不错的效果。

参考:

https://blog.csdn.net/sinat_24143931/article/details/78919432 作者:CV图戈

猜你喜欢

转载自blog.csdn.net/shenziheng1/article/details/81213668