写点什么

CVPR 2020 Oral | 旷视研究院提出双边分支网络 BBN:攻坚长尾分布的现实世界任务

  • 2020-04-07
  • 本文字数:4823 字

    阅读完需:约 16 分钟

CVPR 2020 Oral | 旷视研究院提出双边分支网络BBN:攻坚长尾分布的现实世界任务

IEEE 国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 将于 6 月 14-19 日在美国西雅图举行。近日,大会官方论文结果公布,旷视研究院 17 篇论文被收录,研究领域涵盖物体检测与行人再识别(尤其是遮挡场景)、人脸识别、文字检测与识别、实时视频感知与推理、小样本学习、迁移学习、3D 感知、GAN 与图像生成、计算机图形学、语义分割、细粒度图像等众多领域,取得多项领先的技术研究成果,这与即将开源的旷视 AI 平台 Brain++ 密不可分。

本文是旷视 CVPR 2020 论文系列解读第 5 篇,是 CVPR 2020 Oral 展示论文之一,它揭示了再平衡方法解决长尾问题的本质及不足:虽然增强了分类器性能,却在一定程度上损害了模型的表征能力。针对其不足,本文提出了一种针对长尾问题的新型网络框架——双边分支网络(BBN),以兼顾表征学习和分类器学习。通过该方法,旷视研究院在细粒度识别领域权威赛事 FGVC 2019 中,获得 iNaturalist Challenge 赛道的世界冠军。该网络框架的代码已开源。



论文名称:BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition


论文链接:http://www.weixiushen.com/publication/cvpr20_BBN.pdf


开源代码:https://github.com/Megvii-Nanjing/BBN

导语

随着深度卷积神经网络(CNN)研究的推进,图像分类的性能表现已经取得了惊人的进步,这一成功与高质量的大规模可用数据集密不可分,比如 ImageNet ILSVRC 2012、MS COCO 和 Places 数据集。这些视觉识别数据集的类别标签分布是大致均匀的,相对而言,真实世界的数据集却总是存在偏重情况,呈现出长尾分布模式,即少量类别(头部类别)具有大量数据,而大部分类别(尾部类别)仅有少量样本,如图 1 所示。


另外,计算机视觉社区在近些年中构建出了越来越多反映真实难题的长尾数据集,如 iNaturalist、LVIS、RPC。当处理这样的视觉数据时,深度学习方法不足以取得优良的识别精度,原因有二:一是深度模型本身就需要大量数据,二是长尾数据分布存在极端的类别不平衡问题。



图 1:真实世界的大规模数据集往往会展现出长尾分布现象


长尾分布这种极端不平衡会导致分类训练难以得到很好的效果,尤其是对于长尾类别而言。类别再平衡策略可让模型在长尾问题上的准确度表现更好。本文揭示出,这些策略的机制是显著提升分类器学习,但同时又会在一定程度上出人意料地损害已学的深度特征的表征能力。


如图 1 所示,经过再平衡之后,决策边界(黑色实弧线)往往能更准确地分类尾部数据(红色方块)。但是,每个类别的类内分布会变得更加松散。在过去的研究中,处理长尾问题的显著且有效的方法是类别再平衡,它可以缓解训练数据的极端不平衡问题。


一般来说,类别再平衡方法有两类:1)再采样方法,2)代价敏感再加权方法。这些方法可对 mini-batch 中的样本进行再采样或对这些样本的损失进行重新加权,以期望能够和测试分布维持一致,从而实现对网络训练的调整。因此,类别再平衡可有效地直接影响深度网络的分类器权重更新,即促进分类器的学习。正是因为这个原因,再平衡方法可以在长尾数据上取得令人满意的识别准确度。


但是,尽管再平衡方法最终能得到良好的预测结果,这些方法仍会产生不良影响,即会在一定程度上出人意料地损害深度特征的表征能力。

简介

在本文中,旷视研究院首先通过验证实验,对前述论点进行了证明。具体来说,为了解析再平衡策略的工作方式,把深度网络的训练过程分为两个阶段:1)表征学习;2)分类器学习。


表征学习阶段,旷视研究院采用的传统的训练方法(交叉熵损失)、再加权和再采样这三种学习方式来习得各自对应的表征。


然后,在分类器学习阶段,采用的做法是先固定在前一阶段收敛的表征学习的参数(即骨干层),然后再从头开始训练这些网络的分类器(即全连接层),这个过程同样使用了上述三种学习方法。



图 2:在 CIFAR-100-IR50 和 CIFAR-10-IR50 这两个大规模长尾数据集上采用不同的表征学习和分类器学习方法所得到的 top-1 错误率


图 2 给出了在 CIFAR-100-IR50 和 CIFAR-10-IR50 这两个基准长尾数据集上所得到的预测错误率。很明显,当表征学习的方式固定时,再平衡方法可以合理地实现更低的错误率,这表明它们确实可以促进分类器学习。


另一方面,通过固定分类器的学习方式,简单的交叉熵损失相比再平衡策略反而可以取得更低的错误率,这说明再平衡策略在一定程度上损害了表征学习。从该角度出发,旷视研究院提出了一种统一的双边分支网络(BBN),可以同时兼顾表征学习和分类器学习,大幅提升了长尾问题的识别性能。


如图 3 所示,BBN 模型由两个分支构成,即常规学习分支(Conventional Learning Branch)和再平衡分支(Re-Balancing Branch)。总体而言,BBN 的每个分支各自执行其表征学习和分类器学习任务。顾名思义,常规学习分支为原始数据分布配备了典型的均匀采样器(Uniform Sampler),可用于为识别任务学习通用的表征;再平衡分支则耦合了一个逆向的采样器(Reversed Sampler),其目标是建模尾部数据。


接着,再通过累积学习(Cumulative Learning)将这些双边分支的预测输出聚合起来。累积学习使用了一个自适应权衡参数 α,它通过「适应器(Adaptor)」根据当前训练 epoch 的数量自动生成,可以调节整个 BBN 首先从原始分布学习通用的特征,然后再逐渐关注尾部数据。此外,α 并没有阶跃式地从 1 变为 0,而是逐渐降低,使得两个分支在整个训练过程可以同时维持学习状态,让模型在迭代后期关注尾部数据的同时不损害已习得的通用表征。

论点证明

为探究再平衡策略对表征学习和分类器学习的影响,旷视研究院设计了一个两阶段的验证实验,把深度学习模型解耦为了表征提取器和分类器。


具体来说,第一阶段使用普通的训练方法(即交叉熵)或再平衡方法(即再加权/再采样)作为学习方法训练一个分类网络;然后,获取对应于这些学习方法的不同类型的表征提取器。


在第二阶段,固定在前一阶段学习到的表征提取器的参数,再使用前述的三种学习方法从头开始重新训练分类器。如图 2 所示,旷视研究院在 CIFAR-100-IR50 数据集(这是不平衡比为 50 的长尾 CIFAR-100)上通过对照实验对上述论点进行了验证。可以看到,在每个数据集上,基于不同的排列组合可得到 9 组结果。基于此,可得到两个方面的观察结果:


  • 分类器:可以发现,当应用同样的表征学习方法时(比较竖直方向上三个单元格的错误率),RW/RS 的分类错误率总是低于 CE,这是因为它们的再平衡操作会对分类器权重的更新过程进行调整,以与测试分布相匹配;

  • 表征:当应用同样的分类器学习方法时(比较水平方向上三个单元格的错误率),可以惊讶地发现 CE 的错误率总是低于 RW/RS。这说明使用 CE 进行训练可以获得更好的表征,RW/RS 在一定程度上损害了习得的深度特征的表征能力。


此外,如图 2 左图所示,通过在表征学习上应用 CE 和在分类学习上应用 RS,在 CIFAR-100-IR50 的验证集上得到的错误率最低。

方法

如图 3 所示,BBN 模型包含 3 个主要组件:1)常规学习分支,2)再平衡分支,3)累积学习策略。



 图 3:BBN 框架示意图


具体来说,常规学习分支和再平衡分支分别用于表征学习和分类器学习 。这两个分支使用了同样的残差网络结构,除最后一个残差模块,两个分支的网络参数是共享的。旷视研究院为这两个分支分别配备了均匀采样器和逆向采样器,得到两个样本 (x_c, y_c) 和 (x_r, y_r) 作为输入数据,其中前者用于常规学习分支,后者用于再平衡分支。将这两个样本送入各自对应的分支后,通过卷积神经网络和全局平均池化(GAP)得到特征向量 (如下图)





在这之后是旷视研究院专门设计的累积学习策略,可在训练阶段在两个分支之间逐渐切换学习的「注意力」。具体的做法是使用一个自适应权衡参数 α 来控制 f_c 和 f_r 的权重,经过加权的特征向量 αf_c 和 (1−α)f_r 将分别被发送给分类器





然后再通过逐元素累加的方式将其输出整合到一起。这个输出 logit 的公式为:



其中



是预测得到的输出,即



对于每个类别 i ∈ {1, 2, . . . , C},softmax 函数可通过下式计算该类别的概率:



然后,用 E(·, ·) 表示交叉熵函数,并将输出概率分布记为



则 BBN 模型的加权交叉熵分类损失为:



而且,能以端到端方式训练整个 BBN 网络模型。关于双边分支结构的设计与累积学习策略的细节信息请参阅原论文。

实验

旷视研究院在不平衡比分别为 10、50、100 的三个长尾 CIFAR 数据集上进行了广泛的实验,结果如下所示:


表 1 在不同设置的 CIFAR 数据集上比较了 BBN 模型与其它多种方法。



表 1:在长尾 CIAFR-10 和 CIFAR-100 数据集上的 ResNet 的 top-1 错误率


可以看到,新提出的 BBN 模型在所有数据集上均取得了最佳结果,对比的方法包括之前最佳的方法 CB-Focal 和 LDAM-DRW。


表 2 则给出了在 iNaturalist 2018 和 iNaturalist 2017 这两个大规模长尾数据集上的结果。



 表 2:ResNet-50 在 iNaturalist 2018 和 iNaturalist 2017 上的 top-1 错误率


和前面的结果一样,新提出的 BBN 仍然更优。此外,由于 iNaturalist 数据集规模很大,旷视研究院还使用 2× 调度器进行了实验。同时,为了公平地比较,研究者也使用 2× 调度器训练了之前最佳的 LDAM-DRW。可以明显看到,使用 2× 调度器的 BBN 的表现显著优于未使用 2× 调度器的 BBN 的表现。此外,BBN(2×) 的表现也明显优于 LDAM-DRW (2×)。

结 论

本文首先探索了类别再平衡策略对深度网络的表征学习和分类器学习产生的影响,并揭示出这些策略虽然可以显著促进分类器学习,但也会对表征学习产生一定的负面影响。基于此,本文提出了一种带有累积学习策略的双分支网络 BBN,可以同时考虑到表征学习与分类器学习,大幅提升长尾识别任务的性能。


经过广泛的实验验证,旷视研究院证明 BBN 能在长尾基准数据集上取得最佳的结果,其中包括大规模的 iNaturalist 数据集。未来,旷视研究院还将继续探索 BBN 模型在长尾检测问题上的应用,并希望通过 BBN 开源项目促进社区在长尾问题方面的探索和研究。


参考文献


  • Yin Cui, Menglin Jia, Tsung-Yi Lin, Yang Song, and Serge Belongie. Class-balanced loss based on effective number of samples. In CVPR, pages 9268–9277, 2019.

  • Haibo He and Edwardo A Garcia. Learning from imbalanced data. IEEE Transactions on Knowledge and Data Engineering, 21(9):1263–1284, 2009.

  • Chen Huang,Yining Li,Chen ChangeLoy, and Xiaoou Tang. Learning deep representation for imbalanced classification. In CVPR, pages 5375–5384, 2016.

  • Xiu-Shen Wei, Peng Wang, Lingqiao Liu, Chunhua Shen, and Jianxin Wu. Piecewise classifier mappings: Learning fine-grained learners for novel categories with few examples. IEEE Transactions on Image Processing, 28(12):6116–6125, 2019.

  • Nathalie Japkowicz and Shaju Stephen. The class imbalance problem: A systematic study. Intelligent Data Analysis, 6(5):429–449, 2002.

  • Xiu-Shen Wei, Quan Cui, Lei Yang, Peng Wang, and Lingqiao Liu. RPC: A large-scale retail product checkout dataset. arXiv preprint arXiv:1901.07249, pages 1–24, 2019.

  • Mengye Ren, Wenyuan Zeng, Bin Yang, and Raquel Urtasun. Learning to reweight examples for robust deep learning. In ICML, pages 1–13, 2018.

  • Li Shen, Zhouchen Lin, and Qingming Huang. Relay back-propagation for effective learning of deep convolutional neural networks. In ECCV, pages 467–482, 2016.

  • Yu-Xiong Wang, Deva Ramanan, and Martial Hebert. Learning to model the tail. In NeurIPS, pages 7029–7039, 2017.

  • Xiu-Shen Wei, Jian-Hao Luo, Jianxin Wu, and Zhi-Hua Zhou. Selective convolutional descriptor aggregation for fine-grained image retrieval. IEEE Transactions on Image Processing, 26(6):2868–2881, 2017.


2020-04-07 09:422811
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 539.8 次阅读, 收获喜欢 1977 次。

关注

评论

发布
暂无评论
发现更多内容

通过 UIView 和 UIControl 实现的蒙层,哪种更简单?

fuyoufang

swift iOS 知识体系 8月日更

自适应负载均衡算法原理与实现

万俊峰Kevin

负载均衡 微服务 负载均衡算法 Go 语言

apipost--接口流程化测试

与风逐梦

软件测试 接口测试 软件自动化测试

手把手教你写 Gradle 插件 | 数据采集

神策技术社区

程序员 埋点 数据化 神策数据

极客时间架构实战营作业一

jjn0703

架构实战营

架构实战营模块一作业

michael

架构实战营

在java程序中使用protobuf

程序那些事

Java protobuf 程序那些事

前端人员必会工具-apipost两分钟上手(2分钟玩转apipost)

Proud lion

大前端 测试 后端 Postman 开发工具

protocol buffer没那么难,不信你看这篇

程序那些事

Java protobuf 程序那些事

vivo商城计价中心 - 从容应对复杂场景价格计算

vivo互联网技术

Java 架构 后端 促销系统

带你认识MRS CDL架构

华为云开发者联盟

数据库 大数据 FusionInsight MRS MRS CDL 实时同步

springBoot中redis的自动装配

Rubble

8月日更

国产数据库的挑战与机遇

晨山资本

数据库 大数据 云原生 超融合

Battle:你会TLAB,我会逃逸分析

阿Q说代码

逃逸分析 8月日更 栈上分配 同步省略 标量替换

如何构建 Spring Boot 12 因素应用

码语者

Sprint Boot

混合云时代来临,你的存储ready了吗?

焱融科技

云计算 分布式 高性能 云存储 混合云

神策分析 iOS SDK 全埋点解析之启动与退出

神策技术社区

ios 代码 埋点 神策数据

遇见低码:在价值中审视

华为云开发者联盟

ide 低代码 应用 开发语言 低成本

在openGauss上做开发?这个大赛拿出30万寻找开源的你

华为云开发者联盟

数据库 开源 信创 opengauss 鲲鹏

保护亿万数据安全,Spring有“声明式事务”绝招

华为云开发者联盟

spring 数据安全 事务管理

基于Mybatis-plus实现多租户架构

码农参上

多租户 8月日更 Mybatis-Plus

神策分析 Android SDK 网络模块解析

神策技术社区

程序员 代码 神策数据

前端、后端、测试、研发经理必备技能-ApiPost接口管理工具

CodeNongXiaoW

大前端 测试 后端 接口工具

图文并茂的聊聊ReentrantReadWriteLock的位运算

程序猿阿星

ReentrantReadWriteLock 位运算

拿捏!隔离级别、幻读、Gap Lock、Next-Key Lock

艾小仙

MySQL sql 面试 大前端

手撸二叉树之另一棵树的子树

HelloWorld杰少

数据结构与算法 8月日更

摸鱼小技巧之IDEA调试篇一~

4ye

Java debug 后端 IDEA 8月日更

docker入门:elk环境安装记录

小鲍侃java

8月日更

Go- if-else结构

HelloBug

if Go 语言 else

FusionInsight怎么帮「宇宙行」建一个好的「云数据平台」?

华为云开发者联盟

大数据 数据仓库 FusionInsight 云数据平台 LakeHouse

Go Channel实例剖析

非晓为骁

源码 channel Go 语言 实例分析

CVPR 2020 Oral | 旷视研究院提出双边分支网络BBN:攻坚长尾分布的现实世界任务_AI&大模型_旷视研究院_InfoQ精选文章