数据集划分

一个简单的Siamese network可以如下
这样就可以对一个Query 来分别对比support set 中的每个图片计算sim的值

而对于孪生网络的训练过程
-
首先选择一个图片作为anchor(锚点),然后记录下这个anchor ,再在这个anchor所在类中随机抽取一个样本共同构成正样本,然后在非anchor所在类中的其他类中随机抽取一个样本构成负样本
-
将anchor、正样本和负样本分别输入同一个神经网络,计算特征之间的距离

-
所以在这里希望正样本的d更小而负样本的d更大,定义loss=0情况为:负样本的d>=正样本的d+anchor的d
-
算出所有距离
-
得到最后的结果