一、Triplet结构:
triplet loss是一种比较好理解的loss,triplet是指的是三元组:Anchor、Positive、Negative:
整个训练过程是:
- 首先从训练集中随机选一个样本,称为Anchor(记为x_a)。
- 然后再随机选取一个和Anchor属于同一类的样本,称为Positive (记为x_p)
- 最后再随机选取一个和Anchor属于不同类的样本,称为Negative (记为x_n)
由此构成一个(Anchor,Positive,Negative)三元组。
二、Triplet Loss:
在上一篇讲了Center Loss的原理和实现,会发现现在loss的优化的方向是比较清晰好理解的。在基于能够正确分类的同时,我们更希望模型能够:1、把不同类之间分得很开,也就是更不容易混淆;2、同类之间靠得比较紧密,这个对于模型的鲁棒性的提高也是比较有帮助的(基于此想到Hinton的Distillation中给softmax加的一个T就是人为的对训练过程中加上干扰,让distribution变得更加soft从而去把错误信息放大,这样模型能够不光知道什么是正确还知道什么是错误。即:模型可以从仅仅判断这个最可能是7,变为可以知道这个最可能是7、一定不是8、和2比较相近,论文讲解可以参看Hinton-Distillation)。<