现在主要有两个版本
这个对比学习的损失函数是从何凯明的MOCO一文中获得。 使用对比学习的损失函数直接用到模型中,对模型的精度影响较大。但是调整模型的损失的权重可以一定程度上解决这个问题。 但是对于公平性来说,并没有进行过实际的测试。 还有就是理论上这个做法可能能够提升模型的鲁棒性,但是没测过。下次一定。
借鉴MOCO的做法。MOCO中的动量迭代更新模型的做法。这里将动量迭代更新直接应用到特征上。一定程度上可以缓解在模型训练过程中的特征变化过快的影响。但是应该也会导致模型训练慢一些。 还有就是这个的做法其实很简单,一个就是拉进相同类的特征的距离。 一个就是拉远不同类的最相似类的距离。 然后由于整体特征有一个更新的过程,就会使得特征逐渐的转移。 这和PCL一文其实蛮像的,但是不同的是特征更新的策略,以及只选择一个最相似的不同的细粒度的选择。 这里使用的是KL散度。
对前面版本的损失loss2,loss3添加一个加权的过程。