基于ResNet50迁移学习的多标签分类模型图像相似性搜索异常问题求助
基于ResNet50迁移学习的多标签分类模型图像相似性搜索异常问题求助
我用fastai v2基于ResNet50做迁移学习,训练了一个多标签分类模型,现在想用来做图像相似性搜索——具体做法是提取最后全连接层的embedding,然后用余弦相似度来匹配。大部分情况效果都不错,能从数据池里找出非常相似的图像,但遇到了一个头疼的问题:有些图像模型完全预测不出任何标签,而且这些图像的embedding几乎完全一样,余弦相似度直接是1.0,导致搜索结果完全误导人,因为这些图像根本不相似。
我感觉这个问题应该挺常见的,但翻了好多博客和文章都没找到相关讨论,想请教大家有没有解决办法?
我自己先想了几个方向,但都没头绪:
- 强制模型至少预测一个标签:这样应该能避免embedding完全一致的情况,但完全不知道怎么实现。之前看的多标签分类相关文章都说,多标签模型不像单标签那样标签互斥,所以允许不预测任何标签,这就让我卡壳了。
- 从ResNet50的更早层提取embedding:感觉这个思路可行,但不知道选哪些层比较合适,有没有经验可以分享?
- 训练另一个模型备用:如果当前模型没预测出标签,就用另一个模型的embedding。但这种方法更像试错,没法从根本上解决问题,总觉得不是最优解。
麻烦各位大佬给点建议,谢谢啦!
备注:内容来源于stack exchange,提问作者Zelurd




