《BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition》笔记

Paper:《BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition》
Authors: Boyan ZhouQuan CuiXiu-Shen WeiZhao-Min Chen
Institutions: Megvii Technology; Waseda University; Nanjing University
Published on CVPR 2020 ( Oral).
Keywords: Long-Tailed Visual Recognition;

https://zhuanlan.zhihu.com/p/109648173

【概览】

  • 文章首先指出了现在解决Long-Tail问题常用的re-balancing方法(Re-Weighting & Re-Sampling)虽然可以通过提升网络结构中classifier部分的性能,但是却损害了Representation部分(feature extractor backbone)学习的效果。如图1所示,虽然在Re-blancing之后,模型可以正确分类部分tail类的数据,但是却使得每个类的类内分布变得更加separable。

图1

  • 提出了Bilateral-BranchNetwork(BBN)网络来更好地兼顾到representation learning和classifier learning两部分。
  • 结合一种cumulative learning渐进式学习的策略,使得模型在训练过程中首先关注于非tail类的学习,然后随着模型训练,逐渐关注到tail类的学习当中去。

【How class re-balancing strategies work】

  • 作者首先通过一组控制变量的对比试验来验证关于Re-blancing策略的观点是正确的。具体的,作者设计了一个two-stage的策略来将深度模型的学习过程分成representations的学习和 classifiers 的学习两部分。
  • 第一阶段是representations learning(for backbone layers)。作者使用传统的cross entropy损失,re-weighting和re-sampling三种训练策略来训练模型。
  • 第二阶段是classifier learning(for FC layers)。固定feature extractors部分(backbone部分)的参数,按照第一步使用的训练策略from scratch地重新训练分类器。

Figure 2. Top-1 error rates of different manners for representation learning and classifier learning on two long-tailed datasets CIFAR-100-IR50 and CIFAR-10-IR50

  • 图2展示的是在CIFAR-100-IR50 和 CIFAR-10-IR50 连个数据集上的实验效果。横向比较时,即Classifier部分的学习策略一致,Representation Learning阶段使用RS和RW会导致error rate变差;纵向比较时,即Representation Learning阶段使用的训练策略一致,classifier部分使用RS或者RW会提升模型的性能。这与作者在之前argue的关于Re-Blancing的观点是一致的。

【Bilateral-Branch Network(BBN)】

Figure 3. Framework of our Bilateral-Branch Network (BBN).

  • 如图3所示,文中提出的BBN模型包含两个分支,分别用来负责representation learning和classifier learning。其中,conventional learning分支使用正常的uniform sampler;而re-blancing分支使用reversed sampler,即与每个类别样本数量成反比例关系的采样策略。每个样本的采样概率如公式1所示。其中, [公式] 。
    [公式] (公式1)
  • 调整器Adaptior使用渐进式学习的策略通过控制 [公式] 来调整两个branch在训练过程中的权重。如公式2所示。其中, [公式] 为当前的训练epoch, [公式] 为总的训练epoch。因此, [公式] 在训练过程中是逐渐减小的。在inference阶段, [公式] 设置为0.5。
    [公式] (公式2)
  • 输出的logits如公式3所示。BBN最终的损失函数如公式4所示。其中, [公式] 为交叉熵损失函数。在测试阶段,最终的logits是通过将两个logits做element-wise的加法得到的。
    [公式] (公式3)
    [公式] (公式4)
  • 综上,BBN的算法流程如图4所示。

Figure 4 . Learning algorithm of our proposed BBN.

  • 另,文章中的实验和Ablation Studies做的也十分充分。具体可参见paper。

【参考资料】

[1]. https://arxiv.org/abs/1912.02413

[2]. https://github.com/Megvii-Nanjing/BBN

编辑于 2020-03-15

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值