Siamese Network简介
Siamese Network 是一种神经网络的框架,而不是具体的某种网络,就像seq2seq一样,具体实现上可以使用RNN也可以使用CNN。
简单的说,Siamese Network用于评估两个输入样本的相似度。网络的框架如下图所示
Siamese Network有两个结构相同,且共享权值的子网络。分别接收两个输入 X1 与 X2 ,将其转换为向量 Gw(X1) 与 Gw(X2) ,再通过某种距离度量的方式计算两个输出向量的距离 Ew 。
训练Siamese Network采用的训练样本是一个tuple (X1,X2,y) ,标签 y=0 表示 X1 与 X2 属于不同类型(不相似、不重复、根据应用场景而定)。 y=1 则表示 X2