YouTube学习_Few- Shot Learning2-孪生网络

数据集划分

YouTube学习_Few- Shot Learning2-孪生网络

一个简单的Siamese network可以如下

YouTube学习_Few- Shot Learning2-孪生网络这样就可以对一个Query 来分别对比support set 中的每个图片计算sim的值

YouTube学习_Few- Shot Learning2-孪生网络

而对于孪生网络的训练过程

  1. 首先选择一个图片作为anchor(锚点),然后记录下这个anchor ,再在这个anchor所在类中随机抽取一个样本共同构成正样本,然后在非anchor所在类中的其他类中随机抽取一个样本构成负样本

  2. 将anchor、正样本和负样本分别输入同一个神经网络,计算特征之间的距离

    YouTube学习_Few- Shot Learning2-孪生网络

  3. 所以在这里希望正样本的d更小而负样本的d更大,定义loss=0情况为:负样本的d>=正样本的d+anchor的dYouTube学习_Few- Shot Learning2-孪生网络

  4. 算出所有距离YouTube学习_Few- Shot Learning2-孪生网络

  5. 得到最后的结果