1.原理与训练
目前只初步完成算法在VGG_face2数据集上的训练,训练误差在30个epoch之内可以降到0.005以下。
- 算法基于triple loss, 训练的目的是使组内的距离尽可能的小,组间的距离尽可能的大。
- 距离的计算采用squared L2 norm。
- 找出所有的三元组合是一个很大的工作量。所以在实现的过程中,我们在positive中选择一个最不像的,在negative中选择一个最像的(因为这样算出的损失距离是最大的距离,优化这样的损失函数即可,当采用这种方式算出来的值都能达到要求时,其他更小的也能达到要求)
- 而上面的查找只在一个batch中完成,避免遍历整个数据集