Deep Long-Tailed Learning: A Survey
引言:深度学习的关键推动因素是大规模数据集的可用性、GPU 的出现以及深度网络架构的进步。在现实应用中,训练样本通常表现出长尾类分布,其中一小部分类具有大量样本点,但其他类仅与少数样本相关。因此,训练后的模型很容易偏向于具有大量训练数据的头类,导致在数据有限的尾类上模型性能较差。通过经验风险最小化的方法训练的深度模型无法处理具有长尾类别不平衡的现实世界应用,例如人脸识别、物种分类、医学图像诊断、城市场景理解和无人机检测。根据现有方法将其分为三大类,即类重新平衡、信息增强和模块改进,进一步分为九个子类别:重采样、类敏感学习、逻辑调整、迁移学习、数据增强、表示学习、分类器设计、解耦训练和集成学习
经典方法
问题概述
标题:深度长尾学习:一项调查
摘要:长尾类不平衡是实际视觉识别任务中的常见问题,限制了基于深度网络模型在实际应用中的实用性,因为很容易偏向主导类并且在尾部类上表现不佳。本文旨在对深度长尾学习的最新进展进行全面的调查,(1)将现有的深度长尾学习研究分为三个主要类别(即类重新平衡、信息增强和模块改进),并详细回顾这些方法;(2)通过新提出的评估指标(即相对准确性)评估几种最先进的方法,从而对几种最先进的方法进行实证分析
长尾学习的视觉数据集
评估指标:准确率、mAP等
问题定义:长尾学习的两个挑战(1)跨类的数据数量不平衡使得深度模型偏向头类,而在尾类上表现不佳; (2)尾类样本的缺乏使得训练尾类分类模型变得更加困难
应用
长尾图像分类:ImageNet-LT、CIFAR100-LT、Places-LT和 iNaturalist 2018,前三个遵循 Pareto 分布,而 iNaturalist 是真实世界的长尾数据集。ImageNet-LT、Places-LT和iNaturalist的不平衡比分别为256、996和500; CIFAR100-LT 具有三种不同不平衡比 {10、50、100} 的变体
长尾目标检测和实例分割:LVIS
多标签图像分类:VOC-LT、COCO-LT
长尾视频识别:一个大规模“未修剪”视频数据集,即 VideoLT
图像检测/分割:与 LVIS 和 COCO 上的人工任务相比,由于野外环境更加复杂更具挑战性。 例如,图像可能是从不同的天气条件或一天中的不同时间收集的,可能导致多个图像域具有不同的数据分布和不一致的类偏度。 需要同时考虑如何解决类不平衡和领域转移的问题
视觉关系学习:应用包括长尾场景图生成、长尾视觉问答和图像字幕
图像分类:多类别分类、多标签分类,长尾学习还应用于现实世界的应用,包括物种分类、人脸识别、人脸属性分类、布料属性分类、年龄分类、轨道表面缺陷检测、医学图像诊断等应用,这些应用需要更细粒度的辨别能力,因此,需要同时考虑如何解决类不平衡和微小细粒度信息识别的问题
与长尾学习的相关任务
类不平衡学习:
少样本学习:
非深度长尾学习:通常探索先验知识来增强处理长尾问题的经典机器学习算法,所有方法都基于尺度不变特征变换(SIFT)、梯度方向直方图(HOG)或RGB颜色直方图来提取图像特征,但无法为真实的视觉应用提取信息丰富且具有辨别力的特征,从而导致长尾学习的性能有限
域外泛化:
信息增强:将额外的信息引入模型训练中
模块改进
类别重新平衡:主流方法,重新平衡训练样本数量类别
重采样:调整模型训练每个样本批次中每个类的样本数量来重新平衡类,采样策略包括随机采样、类平衡采样、平方根采样和渐进平衡采样。(1)在非深度学习,最经典的是随机过采样(ROS)和随机欠采样(RUS)。 ROS 在训练前随机重复少数类别的样本,而 RUS 随机丢弃多数类别的样本。 当将重采样应用于类高度倾斜的深度长尾学习时,具有重复尾类数据的 ROS 可能会导致尾类过度拟合,而 RUS 可能会丢弃宝贵的头类样本;(2)在深度学习,开发各种类平衡采样方法,用于深度模型的小批量训练;(3)自适应采样策略,随着训练的进行,从一个类中采样的实例越多,该类在后续阶段被采样的概率就越低
类别敏感学习:调整各个类别的训练损失值
逻辑调整:通过调整类偏向深度模型的预测 Logits 来解决类不平衡问题,通过训练不同类别的标签频率进行logit调整
重新加权
重新调整分类器的决策边界:通过减去不同类别的不同边距因子来调整损失,以便它们在特征和分类器之间具有不同的最小边距(即距离)
(1)WS损失:通过将不同类别的训练损失值乘以不同的权重来调整它们。 最直接方法是直接利用训练样本的标签频率进行损失重新加权,以重新平衡类间不均匀的正梯度;
(2)简单地乘以它的倒数可能不是最佳解决方案,因此提出根据样本感知影响来调整训练标签频率的影响,例如CB损失、BS损失、VS损失(结合了前面两种损失的优点);
(3)焦点损失没有使用训练标签频率,而是探索了重新加权的类别预测难度,较难的尾部类别分配较高的权重,但为较容易的头部类别分配较低的权重;
(4)均衡损失在尾类样本作为头类样本的负标签时,直接降低其损失值的权重;
迁移学习:从源域(数据集)迁移知识,以增强目标域上的模型训练
数据增强
(2)知识蒸馏:根据训练有素的教师模型的输出来训练学生模型
(3)头到尾模型迁移:从头类迁移模型知识,以增强尾类的模型性能
(1)模型预训练:首先使用所有长尾样本预训练模型以进行表示学习,然后在更平衡的训练子集上微调模型
(4)自训练:从少量标记样本和大量未标记样本中学习性能良好的模型
(1)基于迁移的增强:头到尾迁移增强旨在将知识从头类转移到增强尾类样本
(2)非迁移增强:改进或设计传统的数据增强方法来解决长尾问题
分类器设计增强模型分类器:线性分类器、最近类均值分类器等
解耦训练促进特征提取器和分类器的学习:将学习过程解耦为表示学习和分类器训练。在第一阶段对表示学习的不同采样策略进行了评估;在第二阶段固定训练后的特征提取器来评估不同的分类器训练方案
表示学习改进特征提取器
集成学习改进整个架构:生成并组合多个网络模块来解决长尾视觉学习问题
(2)原型学习:学习特定于类的特征原型以增强长尾学习性能
(3)顺序训练:以连续的方式学习数据表示
(1)度量学习:设计特定于任务的距离度量,以建立数据之间的相似性或相异性,探索各种基于距离的损失,以学习长尾数据的判别性特征空间
新的评估指标:相对精度Ar;(1)首先计算经验上参考精度 Au = max(Av, Ab),它是在具有交叉熵的平衡训练集上训练的主干网的普通精度 Av 与平衡精度 Ab 之间的最大值;(2)然后通过 Ar = At/ Au 定义相对精度
未来发展方向
(2)开放集长尾学习:从长尾数据中学习,并在包括头类、尾类和开放类的平衡测试集上优化分类准确性
(3)联合长尾学习:长尾训练数据可能分布在众多移动设备或物联网上
(1)测试无关的长尾学习:现有的长尾学习方法通常假设测试类分布平衡,但实际的测试分布经常违反这一假设(例如,长尾甚至反长尾),这导致现有方法在现实应用中失败
(4)类增量长尾学习
(5)多领域长尾学习:同时处理类别不平衡和领域分布转移
(6)稳健的长尾学习:大多数长尾方法都假设所有图像和标签都是干净的,但 现实世界的长尾样本也可能遭受图像噪声或标签噪声
(7)长尾回归:大多数长尾学习的研究都是带有类别索引的离散标签,处理具有连续标签空间的长尾学习,如何同时解决长尾类不平衡并处理某些标签的潜在缺失数据仍然是一个悬而未决的问题
(8)长尾视频学习: 现有的深度长尾学习研究大多集中在图像层面,却忽略了视频领域也存在长尾类别不平衡的问题。 考虑到视频数据中额外的时间维度,长尾视频学习应该比长尾图像学习更困难