[ECCV 2020] Distribution-balanced loss for multi-label classification in long-tailed datasets
Contents
- Introduction
- Methods
- Re-balanced weighting after Re-sampling
- Negative-Tolerant Regularization
- Distribution-Balanced Loss (DB loss)
- Experiments
- Dataset Construction
- Experiments
- Benchmarking Results
- References
Introduction
- 针对具有长尾分布的多标签分类问题,作者提出了一种新的损失函数 Distribution-Balanced Loss。作者认为,多标签分类问题有两个难点:label co-occurrence 和 dominance of negative labels,Distribution-Balanced Loss 则通过两个对标准二分类交叉熵的改进来解决上述问题:(1) 考虑了 label co-occurrence 之后的权值重平衡策略 (re-balanced weighting);(2) 用于缓解负样本过度抑制 (over-suppression of negative labels) 的 negative tolerant regularization
- 在 Pascal VOC 和 MS COCO 上的实验证明,Distribution-Balanced Loss 与已有方法相比性能有较大提升
Related work: 其他的重加权工作:
Methods
NNN 为数据集的样本数,CCC 为类别数,yk=[y1k,...,yCk]∈{0,1}Cy^k=[y_1^k,...,y_C^k]\in\{0,1\}^Cyk=[y1k,...,yCk]∈{0,1}C 为样本 kkk 对应的标签向量,ni=∑k=1Nyikn_i=\sum_{k=1}^Ny_i^kni=∑k=1Nyik 为类别 iii 的正样本数 (N≤∑i=0CniN\leq\sum_{i=0}^Cn_iN≤∑i=0Cni)
Re-balanced weighting after Re-sampling
- 在单标签分类中,常用的重采样方法有 class-aware sampling,也就是先随机采样一个类别,再从该类别中随机采样一个样本。然而,在多标签分类中,label co-occurrence 是十分常见的。例如,一张图片中包含的 “老虎”、“猎豹” 等非常见标签经常会和 “树”、“河” 等常见标签一起出现。因此,(1) 重采样会引入类内不平衡,也就是同一类中的不同样本不再是以相同概率被采样,这是因为按照 class-aware sampling,多标签分类中样本的采样概率为 PI(xk)=1C∑yik=11niP^I(x^k)=\frac{1}{C}\sum_{y_i^k=1}\frac{1}{n_i}PI(xk)=C1∑yik=1ni1 而非 PiC(xk)=1C1niP_i^C(x^k)=\frac{1}{C}\frac{1}{n_i}PiC(xk)=C1ni1;(2) 更致命的是,对多标签分类数据集进行上述重采样未必会使得类别分布更加均衡,甚至可能加剧类别分布不均衡的情况,这是因为在增加稀有标签采样概率的同时也会增加常见标签的采样概率
- 基于上述观察,作者提出在重采样后增加一个重平衡加权策略。首先,对于样本 xkx^kxk 和标签 iii (yik=1y_i^k=1yik=1),我们期望的 Class-level 重采样概率 PiC(xk)P_i^C(x^k)PiC(xk) 为
然而,实际的 Instance-level 重采样概率 PI(xk)P^I(x^k)PI(xk) 却为
为了缩小期望重采样概率 PiC(xk)P_i^C(x^k)PiC(xk) 和实际重采样概率 PI(xk)P^I(x^k)PI(xk) 之间的差距,作者在损失函数中引入了重平衡权重 rikr_i^krik,用于缓解各个类别实际采样概率大于期望采样概率的问题:
但是,rikr_i^krik 有时会趋近于 0,这不利于模型的优化。为了使优化过程更加稳定,作者进一步使用了一个平滑函数来将 rikr_i^krik 映射到 (α,α+1)(\alpha,\alpha+1)(α,α+1) 的值域内:
r^ik=α+σ(β×(rik−μ))\hat r_i^k=\alpha+\sigma(\beta\times(r_i^k-\mu))r^ik=α+σ(β×(rik−μ))其中,α\alphaα 为偏置,β,μ\beta,\muβ,μ 控制映射函数的形状,σ\sigmaσ 为 sigmoid 函数。最终,可以得到如下的 Re-balanced-BCE:
其中,zikz_i^kzik 为样本 kkk 输出的类别 iii 的 logit。值得一提的是,尽管 r^ik\hat r_i^kr^ik 是从正样本的重采样过程中推出的,但这里 r^ik\hat r_i^kr^ik 不仅被用在了正样本上,还被用在了负样本上,作者表示这是为了维持类级别的一致性 (对于某一类别而言,经过重加权后正负样本的采样概率是一样的,均为 PiCP_i^CPiC)
Negative-Tolerant Regularization
- 在多标签分类数据集中,每个样本通常只属于少数几个类别,因此给定一个样本,就会产生少数正样本和大量负样本,带来正负样本的不平衡。如果使用 BCE 这种对称损失进行训练,过多的负样本就会导致负样本的过度抑制 (我的理解是这里 “过度抑制” 就是指模型倾向于输出更小的 logit),进而使得分类边界带有显著的偏向性。具体而言,与单标签分类中的 CE+Softmax 相比,BCE+sigmoid 的优化过程更为剧烈。当遇到负样本时,CE 和 BCE 对 logit 的导数如下:
下图对导数进行了可视化:
可见,CE+Softmax 在优化时,如果样本的正类 logit 远高于负类 logit,损失对负类 logit 的梯度就会很小,但 BCE+sigmoid 在优化时,由于将多标签分类拆分为了多个二分类问题,因此不管样本的正类 logit 是多少,损失对负类 logit 的梯度总会使得负类 logit 远离 0,向比较小的负值靠拢 (which results in continuous suppression) (同理,也会使得正类 logit 远离 0,向比较大的正值靠拢)。上述负样本的过度抑制现象带来的最直接的后果就是模型容易对尾部类别过拟合 (因为对于一个特定类别 (尤其是尾部),数据集中绝大多数都是它的负样本,当分类器被海量负样本包围,且被要求对每一个负样本都输出一个足够低的预测值时,分类器向量在训练过程中将被迫远远偏离大量自然样本的分布,而仅仅过拟合在它的个别正样本上。可以想像分类器预测值在特征向量空间中的分布具有一个尖锐的波峰,泛化性能很差) - 为了解决上述问题,作者提出了一种正则化方式,使得模型在训练时不再对负样本持续施加过重的惩罚,而是点到为止。我们只需要对分类器的负类输出进行一个简单的线性变换就能够实现上述功能 (i.e. 新的负类输出 =λzik=\lambda z_i^k=λzik) (不要忘记加上正则化系数 1λ\frac{1}{\lambda}λ1 来约束梯度值的范围在 0 到 1 之间),变换后的损失函数对负类 logit 的梯度如下图所示,可以看到,当负类 logit 低于阈值 000 时,相比原来的梯度 (lambda=1),加入正则化后的梯度急剧降低,进而缓解了负类 logit 的过度优化:
最后的损失函数为:
其中,viv_ivi 为 class-specific bias,它与模型的内在偏置 bib_ibi 有关。在模型训练过程中,模型的内在偏置会接近类概率先验 pi=ni/Np_i=n_i/Npi=ni/N,也就是最小化下式:
求解上式可得估计的 b^i\hat b_ib^i,该偏置随样本频率递增:
viv_ivi 即为一个用于模拟该内在偏置的量,这种手动初始化 bias 的方法可以把这种本征概率分布嵌入学习过程中,便于网络更多地学习频率分布之外的类别特征 (类似的思想在《Long-Tail Learning via Logit Adjustment》这篇文章里有更清楚的解释):
Distribution-Balanced Loss (DB loss)
- Distribution-Balanced Loss 就是将之前的 R-BCE 和 NT-BCE 结合起来,有助于平滑模型的输出分布:
Experiments
Dataset Construction
- 作者基于 Pascal VOC 和 MS COCO,按照 pareto distribution pdf(x)=αxminαxα+1pdf(x)=\alpha\frac{x^\alpha_{min}}{x^{\alpha+1}}pdf(x)=αxα+1xminα,以抽取的方式人工构造了两个长尾分布的多标签数据集用以训练,称为 VOC-MLT 和 COCO-MLT,其中 ααα 可以控制数据规模衰减的速度。具体而言,选定 α\alphaα 后可以得到 pareto distribution,可以在 CDF 达到 0.99 时截断 pdf,然后将 pdf 的最大值 rescale 到 NmaxN_{max}Nmax,最后将 xxx 轴按照原始数据集中的样本数均匀分割就能得到 reference distribution
- 在多标签数据集中,假设我们随机选取一个类别 jjj,那么从该类别中采样得到的样本也属于类别 iii 的概率为
可以认为 p^i\hat p_ip^i 较大的类别即为 head class. 在构造长尾数据集 (subset) 时,作者首先将所有类别按照 p^i\hat p_ip^i 降序排列,此时 subset 为空。然后从 head 到 tail,对每个类别 iii,作者都比较现在 subset 内已有的类别 iii 的样本数和 reference distribution 中期望的样本数并随机进行样本的增加或删减,这样就能保证 tail classes 具有比较少的数据量。如下图所示,长尾数据集的构造过程是递进的,并且各个类别包含的样本个数的排列顺序与测试集较为接近
- VOC-MLT:VOC-MLT 来自 VOC-2012 的 train-val set,α=6\alpha=6α=6. 它包括了来自 20 个类别的 1142 张图像,最多的类别有 775 张图像,最少的类别只有 4 张图片。测试集来自 VOC2007 test set,包含 4952 张图像
- COCO-MLT:COCO-MLT 来自 MS COCO-2017,α=6\alpha=6α=6. 它包括了来自 80 个类别的 1909 张图像,最多的类别有 1128 张图像,最少的类别只有 6 张图片。测试集来自 COCO2017 test set,包含 5000 张图像
Experiments
Benchmarking Results
- Evaluation Metrics: 作者以 mAP 为主要评价指标在原始测试集上进行验证。作者根据每个类别含有的训练样本数量 nnn 将其划分为头部 (head, n>100n>100n>100),中部 (medium, 20<n≤10020<n\leq10020<n≤100) 和尾部 (tail, n≤20n\leq20n≤20) 三个子集,并在整体和各子集上都进行了结果对比
- Comparing Methods: (1) Empirical risk minimization (ERM): baseline; (2) Re-weighting (RW): a smooth version of re-weighting to be inversely proportional to the square root of class frequency, and we normalize the weights to be between 0 and 1 in a mini-batch; (3) Re-sampling (RS): class-aware re-sampling; …
References
- Wu, Tong, et al. “Distribution-balanced loss for multi-label classification in long-tailed datasets.” European Conference on Computer Vision. Springer, Cham, 2020.
- code: https://github.com/wutong16/DistributionBalancedLoss
[ECCV 2020] Distribution-balanced loss for multi-label classification in long-tailed datasets相关推荐
- ECCV 2020开源项目合集 (ECCV 2020 paper list with code/data)
文章转载自https://www.paperdigest.org/2020/08/eccv-2020-papers-with-code-data/,如有侵权,留言后删除. 以下表格列出了ECCV 20 ...
- 30 篇亮点论文、5 大主题带你一览 ECCV 2020研究趋势
编译 | 陈彩娴.Barack 编辑 | 陈彩娴 转自 | AI科技评论 ECCV 2020已圆满落幕.会议收到了1360篇论文投稿,其中包含104篇Oral论文.160篇Spotlight论文和10 ...
- ECCV 2020 论文大盘点-人脸技术篇
本文盘点ECCV 2020 所有与人脸相关的研究,涵盖人脸各子领域,总计46篇文章,涉及21个方向. 除了常见的人脸检测.对齐.识别.活体检测,人脸合成.编辑.重建.动画等技术都非常吸引人. 下载包含 ...
- 腾讯优图8篇论文入选ECCV 2020,涵盖目标检测/跟踪/Re-ID/人脸等领域
点击上方"视学算法",选择加"星标"置顶 重磅干货,第一时间送达 本文转载自:腾讯优图 近日,计算机视觉方向的三大国际顶级会议之一的ECCV 2020公布论文获 ...
- ECCV 2020 Oral | 可逆图像缩放:完美恢复降采样后的高清图片
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文介绍的是ECCV 2020 Oral论文<Inverti ...
- ECCV 2020 | 腾讯优图8篇论文入选,涵盖目标跟踪、行人重识别、人脸识别等领域...
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要10分钟 Follow小博主,每天更新前沿干货 来源:腾讯优图 近日,计算机视觉方向的三大国际顶级会议之一的ECCV 2020公布论文获奖结果 ...
- ECCV 2020 | 史上最强二值化网络ReActNet,精度首超ResNet
在众多卷积神经网络(CNN)压缩算法中,二值化网络(BNN)作为网络量化的极端情况,一直拥有着高压缩比,高加速比的性能优势,但是 BNN 的精度不高也一直饱受诟病,阻碍了 BNN 在实际场景中的应用. ...
- ECCV 2020 大规模实例分割挑战赛(LVIS Challenge)冠军方案
本文介绍 ECCV 2020 大规模实例分割挑战赛(LVIS Challenge)冠军方案,来自冠军团队 lvisTraveler 官方发布的报告:1st Place Solution of LVIS ...
- ECCV 2020 best paper: RAFT算法解析
ECCV 2020 best paper: RAFT 作者| flow 编辑| 3D视觉开发者社区 3D开发者社区该文链接| https://mp.weixin.qq.com/s/IknaCBVllJ ...
- Embedding Propagation: Smoother Manifold for Few-Shot Classification ECCV 2020
论文题目 Embedding Propagation: Smoother Manifold for Few-Shot Classification ECCV 2020 1分钟思维导图(来源) Abst ...
最新文章
- Oracle的join默认为,Oracle中的三种Join方法详解
- 小米平板2更新bios版本_【军团战争5.25】新版本更新预告第一弹,2级兵3次升级!...
- centos7安装sftp服务器
- jquey(判断文本框输入的网址链接是否符合规则)
- Python3内置模块之json编码解码方法讲解
- Qt的Socket通信
- c#中将HTML文件转换成PDF文件
- 聊聊一直困扰前端程序员的浏览器兼容-【css】
- 基于主机Overlay和自研虚拟化网关的VPC在360的落地
- Spring Boot数据持久化之NamedParameterJdbcTemplate
- java web 项目伪静态_【Java Web】使用URLRewrite实现网站伪静态
- 喜马拉雅下载成mp3方法
- mysql jemalloc_MySQL性能测试--jemalloc内存管理
- 视频教程-EOS 入门实战-区块链
- 应该怎么评价大数据杀熟?
- STL之算法——排序算法
- 罗振宇“时间的朋友”跨年演讲:为做事的人服务 准确抓住小趋势
- Excel怎么快速截取图片?
- 分享给你——2017我学到的方法论
- 学计算机要重修一门语言嘛,大学挂科率“最高”的4门科目,不仅要补考还要重修,你中招了吗...
热门文章
- operator-和operator-*
- 驾校学车VIP班和普通班区别是什么?
- 甲骨文和IBM的IaaS云战略:畅所欲言,少投资
- 初识Json浅扯ajax
- linux 试题(包含答案)
- 音频术语中常见的“采样频率”对录音效果有什么影响
- python视频处理模块_python使用moviepy模块对视频进行操作
- 捉泥鳅用计算机怎么按,看看冬天是怎么捉泥鳅的,吓傻了
- 首台android手机,黑莓首台Android系统曲面屏手机Priv 真机和视频曝光
- 使用信任集利用腐败矩阵提高网络对含噪标签的鲁棒性