论文阅读笔记:COCO_LOSS: Rethinking Feature Discrimination and Polymerization for Large-scale Recognition

本文介绍了COCO Loss,一种旨在提升大规模识别任务中特征区分度的损失函数。通过结合余弦距离和中心损失,COCO Loss有效地减小了类内方差并增加了类间方差。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文阅读笔记:COCO_LOSS: Rethinking Feature Discrimination and Polymerization for Large-scale Recognition


本文主要包含如下内容:

  论文地址
  代码地址
  参考博客
  pytorch 实现COCO_Loss/Center_Loss/SoftmaxLoss

  2017年NIPS的一篇文章,来自商汤科技。论文提出了一种新的LOSS–“COCO_LOSS”,其目的同样是拉近同样本的特征(类内方差小),拉远不同分类样本的特征(类间方差大)


主要思想


  在分类、识别任务的时候常见的loss是softmax,但softmax只有类间的监督,缺乏类内信息。因此,作者提出了一种新的LOSS–“COCO_LOSS”,其主要特征:使用cosine余弦距离;使用center思想;构造新的loss,使得distance具有softmax特性。


算法原理


  首先,论文提出了思想:即提高类间距离,减小类内距离。根据思想,论文先将输入特征与中心特征归一化:(其中, c 为目标的特征中心,是可以学习的,总共有 K 类。 f(i) 表示输入特征,i=1,…,N,即batch size为 N。 此外, α 是一个对性能有重要影响的可调节参数)

f(i)^=αf(i)|f(i)| f ( i ) ^ = α f ( i ) | f ( i ) |

c^k=ck|ck| c ^ k = c k | c k |

  由于输入特征和中心特征已经做过归一化,因此其Cos距离可以简化为
d=c^Tkf(i)^ d = c ^ k T ⋅ f ( i ) ^

  最终,得到新的LOSS–“COCO_LOSS”:
LCOCO(f(i),ck)=iBlogexp(c^Tkf(i)^)mexp(c^Tmf(i)^) L C O C O ( f ( i ) , c k ) = − ∑ i ∈ B log ⁡ e x p ( c ^ k T ⋅ f ( i ) ^ ) ∑ m e x p ( c ^ m T ⋅ f ( i ) ^ )

  其中,分子项表示输入特征 f(i) 与其对应的中心特征间的Cos距离;分母项表示输入特征到所有中心特征距离之和。通过取负对数,我们会发现该Loss的优化目标是分子越大越好(类内Cos相似度高),分母越小越好(类间Cos相似度低)。接下来,运用交叉熵就可以得到真正的loss函数。

  参数 α 的选择:针对不同的任务调整 loss 的范围,可以得到更好的效果。

α>12logK1exp(ϵ)1 α > 1 2 log ⁡ K − 1 e x p ( ϵ ) − 1


总结


   是个很好的工作,结果也不错。用归一化的特征把cosine距离和center loss结合起来,除了只用中心点这个信息不够理想之外其他的都还好。


代码实现


  没有caffe代码实现,有pytorch代码。代码与Noem_Face类似,可以参考其代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值