三重态SemiHardLoss
PyTorch半硬。基于可在找到的tensorflow插件版本。无需使用此实现来创建暹罗体系结构,就像创建main_train_triplet.py cnn创建过程一样简单!
对于具有N_CLASSES >> N_SAMPLES_PER_CLASS的分类问题,三元组损失是一个不错的选择。例如,人脸识别问题。
在分类层之前,我们需要切断具有三重态损失的CNN架构。另外,必须添加L2归一化层。
MNIST上的结果
我在MNIST数据集上测试了三重态损失。我们无法直接与TF插件进行比较,因为我没有进行实验,但是从性能的角度来看这可能很有趣。如果您想比较结果,这是训练日志。准确性无关紧要,因为我们不训练分类模型,所以准确性不应该存在。
阶段1
首先,我们训练最后一层和批次归一化层,使验证损失接近0.079。
阶段2
最后,解冻所有层,经过足够的训练和超参数调整
1