HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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:422747
用户头像
刘燕 InfoQ高级技术编辑

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

关注

评论

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

原来书中说的JVM默认垃圾回收器是错的!

Java 程序员 后端

如何避免企业在碳排放数据上造假?

石云升

学习笔记 碳中和 碳交易

双非本科进不了大厂?阿里技术四面+交叉面+HR面,成功拿到offer

Java spring 程序员 mybatis

吊打 ThreadLocal,谈谈FastThreadLocal为啥能这么快?

Java 程序员 后端

同一份数据,Redis为什么要存两次

Java 程序员 后端

厉害!腾讯T3-2都还在学的微服务+MySQL+Kafka+boot2

Java 程序员 后端

双非本科毕业的我,为何能在金九银十期间斩获京东、字节、快手的offer

Java 程序员 后端

发量能决定一个程序员的水平吗

Java 程序员 后端

可以回答一下:Redis和mysql数据是怎么保持数据一致的嘛?(1)

Java 程序员 后端

工作10年,面试超过500人想进阿里的同学,总结出的108道面试题

Java MySQL redis spring JVM

活动预告|ArchSummit全球架构师峰会

第四范式开发者社区

【高并发】SimpleDateFormat类到底为啥不是线程安全的?(附六种解决方案,建议收藏)

冰河

Java 并发编程 多线程 高并发 异步编程

同一个Spring-AOP的坑,我一天踩了两次,深坑啊

Java 程序员 后端

怎样选择最合适的Linux发行版?23个版本横向对比,总有适合你的?

奔着腾讯去

Linux

可以回答一下:Redis和mysql数据是怎么保持数据一致的嘛?

Java 程序员 后端

南邮《网络技术与应用》4次作业

Java 程序员 后端

双非本科七面成功入职阿里面经分享!(附面试原题+复盘笔记)

Java 程序员 后端

【Redis源码分析专题】(1)从本质分析你写入Redis中的数据为什么不见了?

洛神灬殇

redis Redis 核心技术与实战 11月日更 缓存驱逐

Apache Pulsar 在 BIGO 的性能调优实战(下)

Apache Pulsar

分布式 中间件 BIGO Apache Pulsar 消息系统 Apache BookKeeper

哪有什么中年危机,不过是把定目标当成了有计划

Java 程序员 后端

哭了,我居然回答不出来女同事的问题:索引为什么能提供查询性能---

Java 程序员 后端

企业数字化转型的起手式是什么?

百度大脑

人工智能 百度

史上最全Java面试266题:算法+缓存+TCP+JVM

Java 程序员 后端

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

Java 程序员 后端

吐血总结——90%程序员面试都用得上的索引优化手册

Java 程序员 后端

数据服务基础能力之元数据管理

数据分析 数据 元数据 数据管理 业务数据

网络安全漏洞复现与分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

博客之星:我去,你竟然还不会用 synchronized

Java 程序员 后端

又一巅峰神作!14年工作经验大佬出品“JVM&G1 GC深入学习手册”

Java 程序员 后端

同事问我如何Java实现,搞定分析栈和队列数据结构的实现过程不就好了

Java 程序员 后端

听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺

Java 程序员 后端

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