《BBN:Bilateral-Branch Network with Cumulative Learning for Long-Tailed visual Recognition》简读

本文作者为了解决数据长尾的问题,作者提出了BBN模型,该模型分成两个分支,一个是传统的学习分支,另一个是数据再平衡分支。这两个分支利用参数\alpha进行平衡,\alpha是根据训练的epochs的数量进行调整,它自适应调整整个模型,让模型首先关注传统的学习分支,之后逐渐关注数据再平衡分支。

数据平衡的一般策略

  • 再采样方法:该方法是数据平衡中的主要方式,可以分为两类:1.对于拥有大部分数据的类别进行降采样;2.对拥有小部分数据的类别进行过采样。
  • 权重再调整:该方法是另一个数据平衡的重要方法,它的策略是分配大的权重给小的类别在损失函数中。然而在真实数据应用时该方法会导致优化困难。
  • 两步调节策略:该方法是把训练过程分为两部分,第一步用原始不平衡的数据训练模型,第二步用很小的学习率和平衡后的数据微调模型。

BBN模型

如上图所示,文中提出的BBN模型包含两个分支,分别是传统学习和对数据再平衡学习。其中传统学习分支输入的是正常的数据分布,而再平衡分支则使用reversed sampler,即与每个类别样本数量成反比例关系的采样策略。每个样本的采样概率为:
 

其中

两个分支共享除了最后模块的所有权重,为了在训练阶段平衡两个分支。用自适应权衡参数\alpha来平衡两个分支,\alpha采用自适应渐进式学习策略来进行调节,调节的方式是根据训练的epoch的数量调节,随着epoch的次数增多,\alpha的值减少,在inference阶段,\alpha设置为0.5,\alpha的调节公式如下:

两个分支的权重是f_{c}f{_{r}},权重f_{c}f{_{r}}将要被送到分类器W_{c}\in \mathbb{R}^{D\times C}W{_{r}}\in \mathbb{R}^{D\times C}中,则输出的结果是这些权重的和,输出的结果可以表示为:

其中z\in \mathbb{R}^{C}是预测的输出,对于每一个类别i\in \left \{ 1,2,3,.....C \right.,损失函数的类别预测概率为:

文中用E(\cdot ,\cdot )作为计算交叉熵损失函数,则输出的概率分布为\breve{p}=[\breve{p_{1}},\breve{p_{2}},......,\breve{p_{C}},],BBN模型权重交叉熵损失可以写为:

 

 

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值