BBN:Bilateral-Branch network with cumulative learning for long-tailed visual recognition

48 篇文章 0 订阅
订阅专栏

旷视研究院提出双边分支网络BBN:攻坚长尾分布的现实世界任务 - 知乎IEEE 国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 将于 6 月 14-19 日在美国西雅图举行。近日,大会官方论文结果公布,旷视研究院 17 篇论文被收录,…https://zhuanlan.zhihu.com/p/123876769 mmclassification使用步骤与心得/ACCV实验记录_一杯西瓜籽的博客-CSDN博客比赛链接:accv官网:https://sites.google.com/view/webfg2020比赛网站:https://www.cvmart.net/race/9917/base数据预处理参考博客:https://blog.csdn.net/u013347145/article/details/109250455主要包括:1.数据清洗由于图片直接由网上爬取得到,强制把后缀名改为.jpg,其原先可能包含多种格式,如.gif、.png、.tiff等,还有prefix存在问题的图片,.https://blog.csdn.net/qq_34532604/article/details/109700692       长尾现象是一个很普遍的现象,比如说广告创意图的投放,曝光,点击等等,转一圈下来爆品和尾品都是典型的长尾。本文是对长尾的一次有实验支撑的工程实践,并提出了双分支的特征提取和处理,是工程上比较典型的应用。整体思想就是作者通过把特征提取和分类器分开做训练,去揭示class re-balancing策略的影响,进而把两种方式的有点相结合,做出来的模型。我在日常中处理长尾,正负样本二分类,非图像的话基本都会采用欠采样去做,图像样本,基本都是数据增强,让类别均衡一些,但是一般来说,我处理的数据类别不是很高。

1.Abstract

        class re-balancing strategies,包括两种,re-weighting and re-sampling,是解决长尾现象的极端类别不平衡有效的方法。we firstly discover that these rebalancing methods achieving satisfactory recognition accuracy owe to that they could significantly promote the classifier learning of deep networks. However, at the same time, they will unexpectedly damage the representative ability of the learned deep features to some extent. 这些方法之所以有效,是因为他们能够显著的促进深层网络的分类器学习能力,然后某种程度上也会破坏所学深度特征的表征能力。因此,作者把处理长尾问题看成了两个阶段,第一个是表征能力,第二个是分类器的判别能力。

2.Introduction

        在文献中,处理长尾问题最有效的方式是class re-balancing strategies,re-sampling 和cost-sensitive re-weighting. 这些方法可以调整网络训练,通过重新抽样的例子或重新加权的损失,在小批量的例子,这是在期望更接近测试分布。因此,类重平衡可以直接影响深度网络分类器权值的更新,从而促进分类器的学习。这就是重新平衡可以在长尾数据上获得令人满意的识别精度的原因。

        然而,尽管重新平衡方法具有良好的最终预测,但我们认为这些方法仍然具有不利影响,即它们也会在一定程度上意外地损害所学习的深层特征(即表征学习)的表征能力。具体地说,当数据不平衡严重时,重采样有过度拟合尾部数据(通过过度采样)的风险,也有欠拟合整个数据分布(通过欠采样)的风险。对于重新加权,它将通过直接改变甚至反转数据呈现频率来扭曲原始分布。这里很重要,这是作者的理论来源,后面会专门做实验去证明一点,一般常规的class re-balancing策略是因为对分类器的权重进行更新从而有了更好的结论,但是他们对于特征的表征能力实际上是削弱了,能不能把两者的有点结合起来,既要更好的表征能力,又要很好的更新分类器的权重呢?

3.related work

re-sampling的两种方式:1) Over-sampling by simply repeating data for minority classes and 2) under-sampling by abandoning data for dominant classes.

re-weighting:这个应该和pytorch中的 WeightedRandomSampler 是类似的。

mixup

4.how class re-balancing strategies work?

        这里是作者对上述猜想的实验?猜想是re-balancing的策略促进了分类的学习,但是损害了特征的表征能力?先介绍几个词,CE:常规的长尾数据训练,RS:re-sampling,RW:re-weighting.作者做了两个阶段,第一阶段,用CE/RS/RW三种方式训练数据,得到了这些学习方式相对应的不同类别的特征提取器。第二阶段,我们固定前一阶段学习到的特征提取器的参数,然后用不同的方式训练分类器。

看上面这个表,纵坐标是分类器视角(对应第二阶段),横坐标是特征表征能力视角(对应第一阶段) ,比如CE-CE,就是用常规方式训练的特征提取器,再用常规方式训练的分类器的错误率是58.62,CE-RW,就是用常规方式训练的特征提取器,用RW训练的分类器的错误率是56.53.从分类器学习的视角看,也就是在纵向上,RS,RW总是有更低的分类错误率,说明,控制了特征提取之后,class re-balancing的方式对分类器的学习起到了很积极的作用,从特征表征能力的视角看,也就是横向上,发现CE总是有更低的错误率,说明在统一的分类器训练方式下,CE的特征表征能力更强。这就和猜想对上了。

5.Methodology

这个网络的提出就顺理成章了, 一条支路是在长尾数据上的常规训练,一条支路是用reversed sampler方式采样的训练方式,让模型更关注尾部数据。采样方式类似于WeightedRandomSampler。除此之外,这里面还有个alpha,用来对两条支路学习的f进行加权。在前向的时候也是经过两条支路的,不过alpha取的0.5。

代码:

    def bbn_mix(self, model, criterion, image, label, meta, **kwargs):

        image_a, image_b = image.to(self.device), meta["sample_image"].to(self.device)
        label_a, label_b = label.to(self.device), meta["sample_label"].to(self.device)

        feature_a, feature_b = (
            model(image_a, feature_cb=True),
            model(image_b, feature_rb=True),
        )

        l = 1 - ((self.epoch - 1) / self.div_epoch) ** 2  # parabolic decay
        # l = 0.5  # fix
        # l = math.cos((self.epoch-1) / self.div_epoch * math.pi /2)   # cosine decay
        # l = 1 - (1 - ((self.epoch - 1) / self.div_epoch) ** 2) * 1  # parabolic increment
        # l = 1 - (self.epoch-1) / self.div_epoch  # linear decay
        # l = np.random.beta(self.alpha, self.alpha) # beta distribution
        # l = 1 if self.epoch <= 120 else 0  # seperated stage

        mixed_feature = 2 * torch.cat((l * feature_a, (1 - l) * feature_b), dim=1)
        output = model(mixed_feature, classifier_flag=True)
        loss = l * criterion(output, label_a) + (1 - l) * criterion(output, label_b)

        now_result = torch.argmax(self.func(output), 1)
        now_acc = (
            l * accuracy(now_result.cpu().numpy(), label_a.cpu().numpy())[0]
            + (1 - l) * accuracy(now_result.cpu().numpy(), label_b.cpu().numpy())[0]
        )

        return loss, now_acc

image_a,image_b是两条支路出来的输入图,不同的采样方式,进入model,model的权重是共享的(resnet),但是主干网出来各有一个basicblock不是共享的,对应图中的红蓝块,得到feature_a,feature_b,用alpha做一下concat。

6. validation experiments of our proposals

 这里有个有意思的实验,作者可视化了每个类别的l2范数,不同类别的l2范数可以证明分类器的偏好,即具有最大l2范数的分类器的权重倾向于判断一个示例的类别。可以从上图中看到BBN-CB后面几类的l2范数小,BBN-RB明显后面几类l2大,说明采用方式还是让长尾数据得到了很好的利用。

        本文从分类器学习和特征表征学习两个角度出发,进行相对应的实验,建立了两支路,一路走CE,保存特征表征能力,一路走采样,保留分类器学习能力,很合理。

        对一个领域问题,比如长尾,类别不均衡,细粒度,噪声样本,还是要有理论上的支撑,不然有的时候不知道从什么方面下手,就在不断的试模型,其实是收益很少的工作,算法工程师是接触实际业务一线的人,要在理论支撑下了解普遍业务场景的共性,举一反三,其实一个现实场景中的问题往往也不是一类问题,想要很好的定义并且去找相应的办法其实也不简单,比如之前做的banner品类分类,大品类是从一些图片网站上爬下来的标签,本身噪声标签就很多,其次,十几二十类的数据也不可能是均衡的,基本都是长尾的,并且有些类别并不是严格可分的,类似双十一618这种标签有些图片就是很难做区分的。

        工程类论文之所以好看,还是因为其有一个在实际业务中的问题或者发现作为基础,不会产生空中楼阁那样的理论,比如之前ghostnet,rfbnet这类文章,就编故事,虽然有效,但没那味。这篇论文的代码也是值得学习的,两路其实在工程上也算是比较好的融合特征提取方案,比如很早小视科技开源的活体检测方案也是用了双路,还有我之前做的篡改检测识别模型也是用了双路,一路DCT转换,一路rgb,因此这篇文章的代码以及工程上一些组合,特征mix也是很值得学习的。

更新:在一个27品类,总数为112942,样本分布极不平衡的数据集上未收敛,BBN论文原始参数,同期在resnet上top1为83.8054,top5为96.8726,作者本文支撑理论的实验靠谱?或者说是个普通的现象吗?待议。此外,本文训练时间极慢,本来双支路是会有点慢,但是比我想象中慢太多了,并且显存占用大概是resnet的3倍左右,不像是个理想的工程方案。

【长尾学习】BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition论文阅读
Sihang_Xie的博客
05-05 797
BBN:用于长尾视觉识别的累积学习双边分支网络 BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition 1. 论文信息 标题 BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition 会议 CVPR 2020 原文链接 BBN: Bilater
BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition
sinat_34546154的博客
01-22 486
半监督 该论文是一篇CVPR 2020 oral的文章。 PDF: BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition code: https://github.com/Megvii-Nanjing/BBN 目录MotivationProposed methodCutoutCutMix Motivation Semi-supervised learning 指的是 对于一个数据
论文笔记:BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition
weixin_40371649的博客
12-08 686
BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition,CVPR 2020 核心思想 解耦分类网络的特征学习层和分类层。 问题 长尾识别:少数类别占据大部分数据,大多数类别样本数很少。 以前方法 类重新平衡(class re-balancing),可能损害表示学习的特征的表征能力。 重采样(re-sampling)或重加权(re-weighting)有效的原因是提升分类器的学习能力,但
论文阅读:BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition
qq_44847374的博客
06-27 200
作者探求了类重平衡方法的机制,说明了这样的方法在促进分类器学习的同时也会影响到特征学习。下图中可以看出特征学习使用CE分类器学习使用RS时Error rate最低,如果在特征学习阶段使用类重平衡效果很差。 提出了BBNBilateral-Branch Network)进一步提高长尾识别的性能,提出一个新的cumulative learning策略来调整两条分支的学习,与BBN模型的训练结合。 Conventional Learning Branch用Uniform Sampler,Re-Balancing
tenex:BBN的PDP-10操作系统
02-04
tenex:BBN的PDP-10操作系统
BBN3-netcode:使用bizhawk和LUA脚本为BBN3进行实验性的Netplay构建
03-27
实验性BBN3网络播放 对于绊倒这个的任何人,请耐心等待。 这还没有处于可播放状态。 我们已经有测试员了。 主要的网络播放脚本是“ \ BizHawk-2.5.2 \ bbn3_netplay.lua” 将修补后的“ BBN3.gba”副本放在“ \ ...
BBN:PyTorchBBN的官方实施
05-03
BBN:具有长尾视觉识别的累积学习双边分支网络周伯彦,崔泉,魏秀深*,陈兆敏该存储库是论文的官方PyTorch实施,即。 (这项工作已被口头报告接受)主要要求火炬== 1.0.1 火炬视觉== 0.2.2_post3 tensorboardX == ...
bbn-react:**已弃用** 请参阅 bouzuyablog.bouzuya.net
06-04
React 中的 blog.bouzuya.net 已弃用此存储库已合并到 。 React 中的 blog.bouzuya.net。执照作者 < > ( )
BBN聖書放送-crx插件
04-02
bbn板广播 BBN圣经广播的流播放24小时和365天。 6,000首歌曲或更多基督徒的快乐,圣经,无线电戏剧,奉献,儿童和女性计划等。 如果使用BBN的“Chrome Extension”,您可以轻松收听BBN。 请试试。 如果您想了解更...
论文笔记:BBN: Bilateral-Branch Network with Cumulative Learningfor Long-Tailed Visual Recognition
m0_57459724的博客
08-08 446
论文笔记:BBN: Bilateral-Branch Network with Cumulative Learningfor Long-Tailed Visual Recognition
BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition
Codeoh的博客
04-16 1968
       针对长尾分布中的不平衡分类问题,本文首次发现这些重新平衡方法能够实现令人满意的识别精度,这是因为它们可以显着地促进深度网络的分类学习。但是同时它们也在一定程度上破坏了学习到的深度特征的代表能力。 因此,本文提出了一个统一的双边分支网络(BBN)来同时处理表示学习和分类器学习,其中每个分支分别各自执行自己的职责 特别...
长尾分布论文笔记:BBN
qq_43428929的博客
03-02 1428
1.网络结构图作者已经发现使用re-balancing方法可以提高模型性能,但是使用该方法会导致特征提取层模型性能下降。故作者想要结合这两个方法的优势,来进一步提高模型性能。作者的办法是使用一种累计学习策略,先学习通用模式,然后逐渐关注尾部数据。这里简单介绍一下这个网络的流程。首先通过两个部分共享的双分支网络,输入一个是具有长尾分布的数据集xcyc(x_c,y_c)xc​yc​,另一个是通过reverse操作后的数据集xryr(x_r,y_r)xr​yr​。
数据分布——长尾分布的处理
c___c18的博客
06-11 3979
长尾分布在分类任务中会提到这个名,这是因为长尾分布这个现象问题会导致在训练过程中会出现出错率高的问题,影响了实验结果。这里要说的是,长尾分布是一种现象,有的地方说是一种理论或定律,我感觉这样说不太确切,因为长尾分布并非是一种普遍现象,不能将所有的数据分布或者现象都强加于长尾分布这个概念上。
深入BBN,如何解决长尾数据分布的同时兼顾表示学习
GodWriter的博客
06-13 2485
1. 问题引入 本次要记录的论文是,CVPR2020 的 " BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition "。该文旨在解决长尾数据分布的同时兼顾表示学习。 长尾数据是视觉认知任务如:图像分类、目标检测中影响实验结果的主要问题之一。长尾数据分布的意思是:数据集中某几个类别占据了大部分的数据,而剩余的类别各自的数据很少。 举个例子,想用一个1000张图像的数据集训练一个分类模
BBN:Bilateral-Branch Network with Cumulative Learning for Long-Tailed visual Recognition》简读
sunny的专栏
11-16 856
本文作者为了解决数据长尾的问题,作者提出了BBN模型,该模型分成两个分支,一个是传统的学习分支,另一个是数据再平衡分支。这两个分支利用参数进行平衡,是根据训练的epochs的数量进行调整,它自适应调整整个模型,让模型首先关注传统的学习分支,之后逐渐关注数据再平衡分支。 数据平衡的策略: 再采样方法:该方法是数据平衡中的主要方式,可以分为两类:1.对于拥有大部分数据的类别进行降采样;2.对拥有小部分数据的类别进行过采样。 权重再调整:该方法是另一个数据平衡的重要方法,它的策略是分配大的权重给小的类别在损
论文解读 | 基于双分支特征交互的 3D 点云配准方法
旷视开发者技术社区
03-21 3458
此篇论文已被AAAI 2022 收录,论文链接请见“阅读原文”。3D 点云配准是匹配和叠加在不同时间、不同视角以及不同传感器下获取的两个或多个点云的过程,此技术被广泛应用于三维场景重建(3...
[LRFR] (双分支CNN) LRFR Using a Two-Branch Deep Convolutional Neural Network Architecture
心宝的博客
03-05 2355
一、方法概览&模型优化 使用方法对比: 前人: (CLPMs、MDS、NMCF、DSR) 本文: 2个不同的卷积神经网络FECNN与SRFECNN 模型优化: 1)调参 2)选择合适的 分类模型 3)人脸检测后,对图像数据进行预处理,(角度不好的头像进行旋转变换,以及重构填充) 4)选择合适的人脸检测方法。 5)对两个CNN进行优化 二、INTRODUCTION 为何低分辨率人脸识别...
【论文阅读】BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition
Ayden的博客
04-13 969
【论文阅读】BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition摘要背景具体实现总体框架采样策略共享权重累计学习推理阶段消融实验代码实现(自己参照源码写的粗糙的网络) 摘要 Our work focuses on tackling the challenging but natural visual recognition task of long-tailed data distr
model-epoch
最新发布
01-15
引用中提到了预训练模型BBN.iNaturalist2017.res50.180epoch.best_model.pth。这是一个预训练的模型文件,它在iNaturalist2017数据集上使用ResNet-50架构进行了180个epoch的训练,并保存了在训练过程中性能最好的...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • np.unique( )的用法 121313
  • opencv中颜色空间转换函数 cv2.cvtColor() 107405
  • np.argwhere()的用法 103856
  • tf.reduce_sum( ) 函数用法 78076
  • pandas中的set_index( )函数 75368

分类专栏

  • 图像视频生成大模型 付费 158篇
  • 多模态大语言模型 26篇
  • 大语言模型 37篇
  • 虚拟数字人技术 4篇
  • 图像分类 48篇
  • 目标检测 46篇
  • 图像分割与抠图 43篇
  • 应用算法 41篇
  • 深度学习处理遥感影像 25篇
  • 文本篡改检测识别与OCR 13篇
  • 深度机器学习组件 47篇
  • Python学习 79篇
  • cpp语言 30篇
  • 算法部署 25篇
  • 函数用法 52篇
  • 面试题集合 4篇
  • 安装报错集合 45篇

最新评论

  • 主流抠图算法trimap-based/free

    一杯白开水儿: 请问测试下来哪个效果更好? 相比RVM和BGMV2怎么样

  • geneface++:Generalized and stable real-time audio-driven 3d talking face generation

    星空真懒: 优质好文,支持支持。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • overall accuracy 总体精度的计算

    G鲲鹏展翅Y: 我的oa为啥返回是0?

  • label confusion learning to enhance text classification models

    weixin_45199492: 博主大大你好,请问一下你这个代码里的labels是什么样的,我用这种做labels,text_emb的维度是[batch_size, hidden_size],label_emb的维度是[num_classes, hidden_size] 我的原始labels= ["金融", "房地产", "股票", "教育", "科学", "社会", "政治", "体育", "游戏", "娱乐"],非常期待您的回答,感恩

  • LLaVA:visual instruction tuning

    weixin_47486447: 请问system_message的作用是什么?是作为输入GPT用来生成158k指令跟随数据的Prompt吗? 另外Caption中输入的5句描述是来自于哪?也是GPT生成的吗?求解答

最新文章

  • swift微调多模态大语言模型
  • qwen-vl微调
  • 电商中文场景多模态测试prompt
2024
05月 4篇
04月 32篇
03月 27篇
02月 5篇
01月 5篇
2023年230篇
2022年120篇
2021年43篇
2020年6篇
2019年112篇
2018年92篇
2017年51篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

聚圣源鞋袜男孩起名大全属鼠万达贷给姓韩的男孩子起名字肖还可以起什么名字5any.com德公司起名大全餐饮店铺能起名素水泥浆英格兰国旗造梦西游3大师孩子起名企业吃鸡起名字洛阳起名捉襟见肘入不敷出我要名垂千古起点池上古诗北京卫视直播在线观看高清顶楼第一季海取名起名大全食戟之冒牌小当家家具起什么名字吗起名馆的名字大全免费鼠年起甚么名字好呢小麦财经行情资讯姓肖起名字好狙击手电视剧冰激凌加盟多少钱涵起名的含义淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化