一篇比较有意思的文章,用来增强模型对易混淆样本的学习,有别于传统的CE和Focal Loss。
文章链接:arxiv
code: github
why need this
理由很简单,我们在做类似分类任务的时候,模型最终往往都会输出一个概率,我们会在输出的所有类别的概率中挑选其中最大的一个作为模型的输出。大部分情况下这种做法是没有问题的,但对于一些易混淆的任务来说,例如图片分类中一些看着相似但类别不一致的图片,人体姿态估计中两个相对的左右关节,这些都会对模型的输出造成一定的困扰。如文章中图1所示:
对于人体姿态估计来说,我们想要识别出左膝盖点,但模型在这个分类的的输出上,除了左膝盖处响应值比较大之外,右膝盖出同样响应值也很大;对于图像分类任务来说,上图是一个bottle,但在can(罐头)类别响应值也很大。所以就会有个问题,虽然真正label的概率已经很大,但其它类别的概率同样很大,这就会造成模型只取最大值时发生错误。Anchor Loss就是要对类别预测错误但分值很高的时候,给予更大的惩罚。
How to do