Sep 02, 2018 原创文章
孪生网络与目标跟踪(0)-- 孪生网络的基本概念
孪生网络的概念
孪生网络即 Siamese Networks ,Siamese 意为“孪生的、连体的”,孪生网络的“孪生”在于两个各自独立的神经网络,具有共同的权值。这种神经网络由Yann Lecun 大神在1993年提出,其论文发表在1994年的NIPS上。孪生网络是用于度量学习的监督网络模型(Supervised models)。
共享权值的意义?
两个神经网络共享权值即意味着两个网络的权值完全相同,这意为这在通过代码实现的时候只需要实现一个即可,而不需要再去实现另一个。
伪孪生网络
伪孪生网络即:pseudo-siamese network,存在两个神经独立的神经网络,相比于孪生神经网络他们之间并不共享权值。如下图所示:
两边可以是不同的神经网络(如一个是lstm,一个是cnn),也可以是相同类型的神经网络。
孪生网络的使用
一个孪生网络有两个输入,简单来说,孪生网络的直接用途就是衡量这两个输入的差异程度(或者说相似程度)。将两个输入分别Feed 进入两个神经网络,将两个输入映射到新的空间,将输入在新的空间中表示,通过Loss Function来计算两个输入的差异程度(或相似程度)。
应用场景
孪生网络适用的场景主要为判断两个输入的相似程度。如:比较两个句子的语义相似程度比较、手写字体的笔迹鉴定、以及目标跟踪领域中的目标(前景)和背景区分。
Loss Function
孪生网络的训练目标就是使相似的输入距离尽可能的小,使不同的输入尽可能的大。
孪生网络的两个网络将输入分别转换成向量值,通过计算向量的距离得到输入的差异程度。
参考资料:
- Siamese network 孪生神经网络–一个简单神奇的结构 : https://zhuanlan.zhihu.com/p/35040994
- Chopra S, Hadsell R, LeCun Y. Learning a similarity metric discriminatively, with application to face verification[C]//Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on. IEEE, 2005, 1: 539-546.
- Bromley J, Guyon I, LeCun Y, et al. Signature verification using a” siamese” time delay neural network[C]//Advances in neural information processing systems. 1994: 737-744.
- Bertinetto L, Valmadre J, Henriques J F, et al. Fully-convolutional siamese networks for object tracking[C]//European conference on computer vision. Springer, Cham, 2016: 850-865.
- siamese(孪生) 网络 :https://blog.csdn.net/qq_15192373/article/details/78404761