【目标分类_长尾分布问题】BBN:Bilateral-Branch Network _ CVPR2020

六眼飞鱼酱① 提交于 2020-04-12 17:03:43


在这里插入图片描述
论文路径: http://www.weixiushen.com/publication/cvpr20_BBN.pdf
代码路径: https://github.com/Megvii-Nanjing/BBN

一、视觉任务数据的特征

机器视觉的代表数据集有很多,如 ImageNet ILSVRC 2012, MS COCO, Places Database等。这些数据集中的数据量是大致均匀分布的,但实际中,存在大量的长尾分布数据,也就是少数类别有大部分数据,而多数类别只有小部分数据,如图1所示。

这样的数据分布会使得网络嫩姨获得良好的识别效果,原因有两个:

  • 其一是 data-hungry limitation of models
  • 其二是长尾分布数据的极端不平衡问题。
    在这里插入图片描述

在这里插入图片描述

二、现有文献是怎么解决这类问题的

现有的文献中,常用的解决这种极度不平衡的方法是:

  • class re-balancing 策略,比如 re-weighting 或 re-sampling。

正面作用: 能够调整网络的训练,通过在小批量内对样本重新取样或对样本损失重新加权,期望更接近于测试的分布,因此,类别的 re-balancing 可以直接影响深层网络分类器权重的更新,从而促进分类器的学习。

负面作用:

  • re-balancing 有很好的效果,但能够一定程度的损坏网络所学习的深层特征的能力,也就是当数据极度不平衡时,re-sampling 有对尾部数据过拟合的风险(通过过采样)也有对全部数据欠拟合的风险(通过欠采样)。
  • re-weighting,直接改变或翻转数据出现的频率,会使原数据失真。

这些常用方法的特点:

  • 能够显著的促进网络的分类器学习能力
  • 在一定程度上损害所学习深层特征的表达能力

二、本文做法

基于此,该文章提出了一个统一的双边分支网络 Bilateral-Branch Network(BBN),来同时处理表达学习和分类学习。

模型组成:

  • conventional learning branch(对原始数据均匀采样,学习识别任务的通用模式)
  • re-balancing branch(reversed sampler 来对长尾数据建模)

预测输出:通过自适应权重参数 α \alpha α 将这些双边分支的预测输出聚合到累积学习的部分。

α \alpha α: 根据训练epoch来自适应的调整大小。可以调整整个BBN模型,首先从原始分布中学习通用特征,然后逐步关注尾部数据。

作用:进一步控制每个分支的参数更新,例如在训练后期注重尾部数据时,避免损坏已学习的通用特征。

贡献点:

  • 探索了针对长尾问题的显著的类别 re-balancing,进一步发现,这些方法可以极大促进类别学习,但同时会影响原始数据分布的表示学习。
  • 提出了一个统一的双边分支网络(BBN),来兼顾表示学习和分类器学习。同时,结合BBN模型的训练,提出了一种新的累积学习策略来调整双边学习。
  • 在四个benchmark 长尾数据集上测试,取得了较好的成绩。

三、方法

在这里插入图片描述
两个分支,一个分支学习原始的数据分布,另一方分支学习尾部数据

α : \alpha: α 随着 epoch 的增加,re-balancing 分支的权重变大,也就是 α \alpha α 慢慢减小,模型向 re-balancing 分支倾斜。

这类似于一种注意力机制,通过动态调节 α \alpha α,来控制不同阶段模型需要关注的地方。
虽然图像特征学习和分类器学习应该有着同等地位,但是BBN在学习过程中从关注图像特征学习逐渐到分类器学习,这样可以保证在训练过程中,不同目标的两个分支都能在整个训练过程中不断更新,这样可以避免两个过程中的相互影响。
α : \alpha: α

在这里插入图片描述
T m a x T_{max} Tmax 是最大的 epoch,随着 T T T 的增加, α \alpha α 越来越小。

四、实验结果

在这里插入图片描述
在这里插入图片描述




发布了154 篇原创文章 · 获赞 729 · 访问量 71万+
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!