前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FreeAnchor:抛弃单一的IoU匹配,更自由的anchor匹配方法 | NIPS 2019

FreeAnchor:抛弃单一的IoU匹配,更自由的anchor匹配方法 | NIPS 2019

原创
作者头像
VincentLee
修改2020-07-02 11:25:53
7190
修改2020-07-02 11:25:53
举报

论文提出了Circle loss,不仅能够对类内优化和类间优化进行单独地处理,还能根据不同的相似度值调整对应的梯度。总体而言,Circle loss更灵活,而且优化目标更明确,在多个实验上都有较好的表现,个人认为是一个很好的工作undefined 

来源:晓飞的算法工程笔记 公众号

论文: Circle Loss: A Unified Perspective of Pair Similarity Optimization

Introduction


  论文认为两类基础的深度特征学习方法classification learning(比如softmax)和pair-wise learning(比如triplet loss)均是为了最小化类内相似度$s_n$和类间相似度$s_p$,理想是$(s_n=0, s_p = 1)$。而大部分常用的损失函数都是将$s_n$和$s_p$embed成相似度对,然后用各自研究的策略最小化$(s_n-s_p)$的值。这种策略提升$s_p$等同于下降$s_n$,但其实这种对称的优化方法很容易存在以下问题:

  • 缺乏优化的灵活性。由于基于损失函数同时优化$s_n$和$s_p$,导致$s_n$和$s_p$的梯度的幅值是一样的。当$s_n$和$s_p$均很小时,依然会使用较大的梯度惩罚$s_n$,这是不高效且不合理的。
  • 收敛目标不明确。优化$s_n-s_p$通常会遇到决策边界问题$s_p-s_n=m$。而这个边界目前是不够明确的,首先图1a中的ABC点均到决策边界的距离相等,但其收敛点却不太一样(梯度正交于$s_p=s_n$?)。其次,不同收敛点间的类内和类间相似度差异可能较小,比如样本${s_n, s_p}={0.2, 0.5}$和${{s^{'}}_n, {s^{'}}_p}={0.4, 0.7}$,虽然边际(margin)均为0.3,但${s^{'}}_n$和$s_p$的差距仅为0.1,这样的收敛状态会影响整体样本的区分性。

  基于上面的发现,论文认为不同的相似分数应该有不同的惩罚力度,首先将$(s_n - s_p)$转换为$(\alpha_n s_n - \alpha_p s_p)$,$\alpha_n$和$\alpha_p$是独立的权重因子,分别与$s_n$和$s_p$线性相关,这样不仅使得$s_n$和$s_p$能以不同的步伐进行学习,还可以更具相似分数调整幅值。这样的优化策略使得$\alpha_n s_n - \alpha_p s_p=m$在$(s_n, s_p)$空间内呈现圆形,故称为Circle loss。

  Circle loss主要从以下3个方面入手改变深度特征学习的内在特性:

  • 统一损失函数来表示两类基础的深度特征学习方法classification learning(比如softmax)和pair-wise learning(比如triplet loss)。
  • 灵活地优化,由于$\alpha_n$和$\alpha_p$会随着对应的相似度分数来改变对应的梯度,如图1b的点ABC的梯度是各不一样的。
  • 明确的收敛目标,在圆形的决策边界,circle loss有更倾向的决策状态,如图2b的ABC点,均偏向于更新到点T,原因后面会讲到。

  论文的主要贡献如下:

  • 提出Circle loss,通过有监督地加权不同相似度分数来进行深度特征学习,能够更灵活地优化,并且有明确的收敛目标。
  • Circle loss能够兼容class-level标签和pair-wise标签,通过简单的修改就能变化为triplet loss或softmax loss。
  • 在不同的任务(人脸识别,ReID,细粒度图片检索等)上进行实验证明Cirle loss的优势。

A Unified Perspective


  给予特征空间的单样本$x$,假设有$K$个类内相似分数和$L$个类间相似分数关联$x$,定义相似度分数为${s^i_p}(i=1,2,\cdots,K)$和${s^i_n}(i=1,2,\cdots,L)$。

  为了最小化每个$s^j_n$以及最大化每个$s^i_p$,统一的损失函数如公式1,其中$\gamma$为缩放因子,$m$为边际(margin)。公式1迭代每个相似度对来减小$(s^j_n-s^i_p)$,通过简单的修改就能变为triplet loss和classification loss。

Given class-level labels

  在分类层计算样本$x$与各类的相似度以及权重向量$w_i (i=1,2,\cdots,N)$,得到$(N-1)$个类间相似度$s^j_n=w^T_j x/(||w_j||\ ||x||)$以及单个类内相似度$s_p = w^T_y x/(||w_y||\ ||x||)$。

  结合公式1,得到公式2的softmax变种AM-Softmax,当$m=0$时,公式2能够进一步变化为Normface,当将cosine相似度替换为内积以及设置$\gamma=1$时,则为softmax loss。

Given pair-wise labels

  计算mini-batch中样本$x$与其它样本的相似性,得到类间相似度$s^j_n=w^T_j x/(||x_j||\ ||x||)$以及单个类内相似度$s^i_p = w^T_y x/(||x_i||\ ||x||)$。

  结合公式1,$K=|\mathcal{P}|$,$L=|\mathcal{N}|$,得到带hard mining的triplet loss,$\sum exp(\cdot)$用于调节mining的程度,当$\gamma \to + \infty$时,就是绝对的hard mining。

Gradient analysis

  公式2和公式3展示了公式1的通用性,目标均是优化$(s_n-s_p)$。论文假设仅存在单个$s_p$和$s_n$,各种损失函数的梯度进行了可视化,如图2所示,观察到了主流损失函数的几点梯度表现:

  • 在达到决策边界前,$s_p$和$s_n$的梯度是相同的,这缺乏优化的灵活性。
  • 梯度在收敛前几乎是不变,而在收敛时则突然下降。比如图2的B点相对于A点是更优的,但是两点的梯度几乎一样,这也表明了优化的不灵活。
  • 决策边界平行于$s_n - s_p=m$(图2的白线),不同的点$A$ $B$会可能以边界上的不同点$T$或$T^{'}$为目标,导致收敛目标不明确,如之前所述的。

A New Loss Function


Self-paced Weighting

  为了让每个相似度分数能够根据当前优化状态调整学习的幅度,先忽略公式1的$m$并调整为Circle loss,如公式4所示,$\alpha^j_n$和$\alpha^i_p$为非负权重因子。

  假定$s^ip$的最优值为$O_p$,$s^j_n$的最优值为$O_n(O_n < O_p)$,则$\alpha^j_n$和$\alpha^i_p$的计算如公式5,称为self-paced manner,$\cdot+$为cut-off at zero操作来保证$\alpha^j_n$和$\alpha^i_p$非负。

  加权是分类loss中的常见操作,所有的相似度分数共享同一个缩放因子$\gamma$,而Circle loss则根据每个相似度分类的值再进行一次独立的加权,允许不同的学习幅度,能够更加地灵活。

Within-class and Between-class Margin

  在之前的讨论中,主流损失函数的$(s_n-s_p)$的优化是对称的(减少$s_n$等同于增大$s_p$),仅需一个边际(margin)即可。而在Circle loss中,$(s_n-s_p)$的优化是非对称的,因此需要设置独立的边际,如公式6,其中$\Delta_n$和$\Delta_p$为类间边际和类内边际,目标是$s^i_p>\Delta_p$以及$s^j_n<\Delta_n$,下面探讨边际的设置问题。

  考虑简单的二分类问题,决策边界为$\alpha_n(s_n - \Delta_n)-\alpha_p(s_p-\Delta_p)=0$,结合公式5和6,决策边界可转换为公式7,其中$C=((O_n-\Delta_n)^2+(O_p-\Delta_p)^2)/4$,即为Circle loss决策边界为圆的弧,如图1b所示,中心点为$(s_n=(O_n+\Delta_n)/2, s_p=(O_p+\Delta_p)/2)$,半径为$\sqrt{C}$。

  Circle loss包含5个参数$(O_p, O_n, \gamma, \Delta_p, \Delta_n)$,论文通过设置$O_p=1+m$,$O_n=-m$,$\Delta_p=1-m$,$\Delta_n=m$来减少参数,最终将公式7转换为公式8。基于公式8的决策边界,可以看到其目标为$s_n \to 0$和$s_p \to 1$,参数$m$控制决策边界的半径可以看作是松弛因子,即可将Circle loss目标改为$s^i_p>1-m$和$s^i_n<m$。

The Advantages of Circle Loss

  Circle loss关于$s^j_n$和$s^i_p$的梯度分别为公式9和公式10,在简单的二分类问题上,梯度的可视化如图2c所示,可以观察到几点梯度表现:

  • Circle loss能够平衡地优化$s_n$和$s_p$,动态地调整惩罚各自的力度。
  • 逐渐衰弱的梯度,如图2c所示,在训练初期,远离决策边际将获得较大的梯度,随着逐渐接近收敛,其梯度逐渐衰减,并且对$\gamma$具有鲁棒性。
  • 更明确的收敛目标,如图1b所示,Circle loss更倾向于收敛至点$T$,因为相对于其他点,点$T$的$s_p$和$s_n$差距最小,加上梯度足够灵活,最容易学习到该状态。因为$s_p$和$s_n$差距越大,需要将数据划分地更开,更难学习。

Experiment


Face Recognition

Person Re-identification

Fine-grained Image Retrieval

Impact of the Hyper-parameters

Investigation of the Characteristics

  通过观察图4发现:

  • 在初始时,所有的$s_n$和$s_p$都较小,这是由于高维随机特征倾向于彼此分离。而在训练中,$s_p$得到了显著的较大权重,占据了训练,使得相似度快速增加,这证明了Circle loss使用更灵活且平衡的优化手段。
  • 在训练的最后,Circle loss在$s_p$和$s_n$的收敛上都比AMSoftmax要好。

  论文可视化了收敛后的相似度分布,可以看到,Circle loss以更紧密地方式通过了决策边界,而AMSoftmax则较为稀疏地通过了,这表明Circle loss的优化目标较为明确的,特征空间可分离性更好,这种情况在图5c中更为明显。

CONCLUSION


  论文将classification learning和pair-wise learning进行了统一的表达,并根据目前的损失函数实际存在问题进行了改进,提出了Circle loss,不仅能够对类内优化和类间优化进行单独地处理,还能根据不同的相似度值调整对应的梯度。总体而言,Circle loss更灵活,而且优化目标更明确,在多个实验上都有较好的表现。

如果本文对你有帮助,麻烦点个赞或在看呗~undefined更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.
work-life balance.

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Introduction
  • A Unified Perspective
    • Given class-level labels
      • Given pair-wise labels
        • Gradient analysis
        • A New Loss Function
          • Self-paced Weighting
            • Within-class and Between-class Margin
              • The Advantages of Circle Loss
              • Experiment
                • Face Recognition
                  • Person Re-identification
                    • Fine-grained Image Retrieval
                      • Impact of the Hyper-parameters
                        • Investigation of the Characteristics
                        • CONCLUSION
                        相关产品与服务
                        人脸识别
                        腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档