Awesome-LongTailed-Learning

GitHub
1k 127 较难 1 次阅读 1周前其他
AI 解读 由 AI 自动生成,仅供参考

Awesome-LongTailed-Learning 是一个专为深度学习领域打造的开源资源库与代码合集,源自发表于顶级期刊 TPAMI 2023 的综述论文《Deep Long-Tailed Learning: A Survey》。它主要致力于解决人工智能训练中常见的“长尾分布”难题:即在现实数据集中,少数类别样本丰富,而绝大多数类别样本稀缺,导致模型对稀有类别的识别能力严重不足。

该项目不仅系统梳理了该领域的最新进展,将现有方法科学地划分为重采样、信息增强、模块改进等三大类及九个子方向,还提供了一个持续更新的顶会论文清单(涵盖 ICCV 等会议),并附带了多种主流算法的代码实现与实证分析。其独特的技术亮点在于清晰的分类体系(如解耦训练、对数调整、表示学习等)以及从理论综述到代码复现的一站式支持。

Awesome-LongTailed-Learning 非常适合 AI 研究人员、算法工程师及计算机视觉开发者使用。无论是希望快速了解长尾学习前沿动态的学者,还是需要在实际项目中提升模型对稀缺样本识别能力的开发者,都能从中获得宝贵的理论指引和实用的代码参考,从而高效推动相关技术的落地与研究。

使用场景

某医疗影像初创公司的算法团队正在开发一款罕见皮肤病辅助诊断系统,面临训练数据中常见病症样本海量而罕见病症样本极少的严峻挑战。

没有 Awesome-LongTailed-Learning 时

  • 模型严重偏科:直接训练导致模型“偷懒”,只愿识别常见皮肤病,对罕见病的召回率几乎为零,无法满足临床筛查需求。
  • 试错成本高昂:团队需从零复现论文中的重采样或损失函数调整策略,缺乏统一代码基准,耗费数周时间仍在调试超参数。
  • 技术选型盲目:面对类平衡、信息增强、模块改进等三大类九小种技术方案,缺乏系统性对比,难以判断哪种最适合当前数据分布。
  • 泛化能力薄弱:自行设计的简单加权方法在噪声干扰下表现不稳定,导致模型在实际医院部署时误报率居高不下。

使用 Awesome-LongTailed-Learning 后

  • 性能显著提升:直接调用库中经过验证的 LA(Logit Adjustment)或 Decoupled Training 代码,罕见病识别准确率在三天内从 15% 提升至 68%。
  • 研发效率飞跃:依托 curated list 和标准化代码库,团队迅速定位到适合医疗场景的 Representation Learning 方案,将算法验证周期从数周缩短至两天。
  • 决策科学清晰:参考综述中的分类图谱和实证分析,快速锁定“解耦训练 + 语义增强”组合策略,避免了盲目的技术试探。
  • 鲁棒性增强:采用集成的前沿算法(如 2025 年 ICCV 收录的噪声标签处理方法),有效抵抗数据标注噪声,模型在医院实地测试中表现稳定。

Awesome-LongTailed-Learning 通过提供系统化的理论指引与开箱即用的代码基座,让开发者在数据极度不平衡的场景下也能高效构建公平、精准的深度学习模型。

运行环境要求

GPU

未说明

内存

未说明

依赖
notes该仓库是一个长尾学习(Long-Tailed Learning)领域的论文与资源清单(Awesome List),主要包含论文列表、分类体系及对应代码库的链接,本身不是一个可直接运行的单一软件工具,因此 README 中未提供具体的操作系统、硬件配置或依赖库安装要求。具体运行环境需参考列表中各独立论文对应的官方代码仓库。
python未说明
Awesome-LongTailed-Learning hero image

快速开始

令人惊叹的长尾学习(TPAMI 2023)

Awesome 欢迎提交PR

我们向社区发布了*深度长尾学习:综述以及*我们的代码库。在这篇综述中,我们回顾了基于深度神经网络的长尾学习领域的最新进展。现有的长尾学习研究可以归纳为三大类(即类别重平衡、信息增强和模块改进),而这三大类又可进一步细分为九个小类(如图所示)。此外,我们还通过评估几种最先进方法在多大程度上解决了类别不平衡问题,对其进行了实证分析。最后,我们总结了深度长尾学习的重要应用,并指出了未来研究的若干有前景的方向。

完成这篇综述后,我们决定公开我们的长尾学习资源和代码库,以期推动该领域的社区发展。如果您有任何问题或建议,请随时与我们联系。

1. 长尾学习的类型

符号 采样 CSL LA TL Aug
类型 重采样 类别敏感学习 激活值调整 迁移学习 数据增强
符号 RL CD DT Ensemble other
类型 表征学习 分类器设计 解耦训练 集成学习 其他类型

2. 顶级会议论文(更新至2025年6月)

2025

标题 会议名称 年份 类型 编号
有监督探索性学习用于长尾视觉识别 ICCV 2025 采样,强化学习
你就是自己最好的老师:在异构且长尾分布的数据下实现中心化水平的联邦学习性能 ICCV 2025 本地训练,迁移学习,强化学习 官方代码库
通过语义相关实例增强类别表征,以实现鲁棒的带噪声标签长尾学习 ICCV 2025 迁移学习,集成学习,其他 官方代码库
基于多粒度语义的长尾分类 ICCV 2025 数据增强,强化学习
AMD:自适应动量与解耦对比学习框架,用于鲁棒的长尾轨迹预测 ICCV 2025 数据增强,强化学习
基于可控扩散模型的生成式主动学习用于长尾轨迹预测 ICCV 2025 数据增强,其他
面向长尾多标签图像分类的类别特定选择性特征增强 ICCV 2025 强化学习
克服双重漂移以实现持续的长尾视觉问答 ICCV 2025 强化学习,持续学习
微小改变,巨大飞跃:基于几何原型对齐的长尾增量学习 ICCV 2025 强化学习,持续学习 官方代码库
通过类别无关概念迈向长尾在线异常检测 ICCV 2025 其他 官方记录
重新思考基础模型在长尾分布下的偏差 ICML 2025 本地训练
利用神经坍缩推进个性化学习以应对长尾挑战 ICML 2025 强化学习 官方代码库
Focal-SAM:面向长尾分类的焦点锐度感知最小化 ICML 2025 强化学习
方枘圆凿:面向长尾半监督学习的元专家 ICML 2025 强化学习,集成学习
平衡模型效率与性能:面向长尾数据的自适应剪枝器 ICML 2025 其他 官方代码库
TailedCore:用于无监督长尾噪声异常检测的小样本采样 CVPR 2025 采样 官方代码库
分形校准用于长尾目标检测 CVPR 2025 本地训练,其他 官方代码库
SimLTD:简单有监督与半监督长尾目标检测 CVPR 2025 迁移学习
向邻居学习:面向长尾学习的类别外推 CVPR 2025 迁移学习,数据增强,强化学习
长尾数据集的蒸馏 CVPR 2025 迁移学习,数据蒸馏 官方代码库
搜索与检测:基于网络图像检索的免训练长尾目标检测 CVPR 2025 其他 官方代码库
TAET:针对长尾分布的两阶段对抗均衡训练 CVPR 2025 其他 官方代码库
通过类别信息量追求更好的决策边界,用于长尾目标检测 ICLR 2025 类别敏感学习
重新思考长尾识别中的分类器重训练:标签过度平滑可以起到平衡作用 ICLR 2025 本地训练,持续学习
带有自我蒸馏的长尾对抗训练 ICLR 2025 迁移学习,其他
ConMix:面向长尾深度聚类的表示层对比混合 ICLR 2025 数据增强,强化学习 官方代码库
长尾表示学习的几何学:为偏斜分布重新平衡特征 ICLR 2025 强化学习

2024年

标题 会议地点 年份 类型 编号
驯服人类移动性预测中的长尾分布 NeurIPS 2024 采样,LA
长尾目标检测预训练:基于双重重建的动态再平衡对比学习 NeurIPS 2024 采样,RL
AUCSeg:面向AUC的像素级长尾语义分割 NeurIPS 2024 采样,其他 官方
用于长尾半监督识别的连续对比学习 NeurIPS 2024 CSL,LA,RL 官方
通过归一化异常分布自适应进行长尾分布外检测 NeurIPS 2024 LA 官方
LLM-ESR:针对长尾序列推荐的大语言模型增强 NeurIPS 2024 TL,集成 官方
DiffuLT:无需外部知识的长尾识别扩散模型 NeurIPS 2024 增广
LLM-AutoDA:大语言模型驱动的长尾问题自动数据增强 NeurIPS 2024 增广 官方
突破长尾学习瓶颈:由超网络生成多样化专家的可控范式 NeurIPS 2024 集成 官方
一次阅读足够:面向长尾领域知识的聚类引导稀疏专家无领域特定预训练语言模型 NeurIPS 2024 集成
通过高斯邻域最小化改进视觉提示微调以用于长尾视觉识别 NeurIPS 2024 其他 官方
迈向异构长尾学习:基准测试、指标与工具箱 NeurIPS 2024 其他 官方
是什么让CLIP对长尾预训练数据更加鲁棒?一项可迁移见解的受控研究 NeurIPS 2024 其他 官方
灵活的分布对齐:迈向具有适当校准的长尾半监督学习 ECCV 2024 LA 官方
基于分组时序logit调整的长尾时间动作分割 ECCV 2024 LA 官方
带有噪声标签的长尾数据的分布感知鲁棒学习 ECCV 2024 增广,RL 官方
长尾多标签图像分类的分布稳健损失 ECCV 2024 RL 官方
修正长尾目标检测中的回归偏差 ECCV 2024 RL,CD
LTRL:通过反思式学习提升长尾识别能力 ECCV 2024 其他 官方
学习标签移位校正以实现测试无关的长尾识别 ICML 2024 LA 官方
长尾实例分割的生成式主动学习 ICML 2024 增广
ELTA:针对美学导向模型的长尾增强器 ICML 2024 增广 官方
通过神经坍缩优化长尾分类中的分布对齐 ICML 2024 RL 官方
使用基础模型进行长尾学习:过度微调有害 ICML 2024 CD 官方
SimPro:一个简单的概率框架,用于实现更真实的长尾半监督学习 ICML 2024 CD 官方
在测试无关的长尾识别中利用层次化标签分布的变化 ICML 2024 集成 官方
双拳一心:基于多目标优化策略融合的长尾学习 ICML 2024 其他 官方
BEM:平衡且基于熵的混合方法,用于长尾半监督学习 CVPR 2024 CSL,TL,CD 官方
DeiT-LT:蒸馏反击,用于长尾数据集上的视觉Transformer训练 CVPR 2024 CSL,TL,CD 官方
在长尾分布下重新审视对抗训练 CVPR 2024 CSL,增广 官方
具有可学习类别名称的长尾异常检测 CVPR 2024 TL,增广 官方
LTGC:利用大语言模型生成的内容进行长尾识别 CVPR 2024 增广 官方
深入探讨多目标跟踪中的轨迹长尾分布 CVPR 2024 增广,CD 官方
通过独立子原型构建进行长尾类别增量学习 CVPR 2024 RL
具有定向校准的长尾扩散模型 ICLR 2024 采样,CSL,TL 官方
一石二鸟:重新思考深度长尾学习的数据增强 ICLR 2024 增广 官方
FedLoGe:长尾数据下的本地与通用联邦学习联合 ICLR 2024 RL 官方
拒绝学习与长尾学习相遇 ICLR 2024 CD
探索长尾识别问题中的权重平衡 ICLR 2024 DT 官方
帕累托深度长尾识别:一种冲突回避解决方案 ICLR 2024 其他 官方

2023年

标题 会议地点 年份 类型 编码
重采样如何助力长尾学习? NeurIPS 2023 采样,增强 官方
Fed-GraB:基于自适应梯度平衡器的联邦长尾学习 NeurIPS 2023 CSL 官方
通过混合提升少数类:一种用于长尾分类的自适应最优传输方法 NeurIPS 2023 增强 官方
从丰富语义和粗略位置中学习以进行长尾目标检测 NeurIPS 2023 强化学习 官方
极端多标签分类中长尾性能的广义测试工具 NeurIPS 2023 其他
基于内在长尾数据的标签噪声学习 ICCV 2023 采样 官方
MDCS:通过一致性自蒸馏实现更多样化的专家,用于长尾识别 ICCV 2023 采样,迁移学习,集成 官方
子类平衡对比学习用于长尾识别 ICCV 2023 采样,强化学习 官方
当噪声标签遇上长尾困境:一种表征校准方法 ICCV 2023 采样,强化学习,决策树
AREA:基于有效面积的自适应重加权,用于长尾分类 ICCV 2023 CSL 官方
协调对象级与全局级目标以进行长尾检测 ICCV 2023 CSL 官方
针对长尾学习的局部与全局 logits 调整 ICCV 2023 CSL,LA,集成
在不完美环境中学习:具有长尾分布和部分标签的多标签分类 ICCV 2023 CSL,TL 官方
用于联邦长尾学习的全局均衡专家 ICCV 2023 CSL, 集成 官方
通过在平滑尾部数据上分步学习来提升长尾目标检测 ICCV 2023 集成
通过潜在特征与真实标签之间的互信息最大化进行长尾识别 ICML 2023 CSL,RL 官方
大型语言模型难以学习长尾知识 ICML 2023 增强
特征方向很重要:通过旋转平衡表示进行长尾学习 ICML 2023 强化学习
用于长尾视觉识别的包裹式柯西分布角度 softmax ICML 2023 强化学习,CD 官方
从长尾分布学习的角度重新思考图像超分辨率 CVPR 2023 CSL
将知识从头部传递到尾部:长尾分布下的不确定性校准 CVPR 2023 CSL,TL 官方
迈向现实的长尾半监督学习:一致性就是一切 CVPR 2023 CSL,TL,集成 官方
用于长尾视觉识别的全局与局部混合一致性累积学习 CVPR 2023 CSL,强化学习 官方
通过自我异质性整合与知识挖掘进行长尾视觉识别 CVPR 2023 TL,集成 官方
平衡 logits 变化以进行长尾语义分割 CVPR 2023 增强 官方
动动脑子:改进长尾视频识别 CVPR 2023 增强 官方
FCC:用于长尾视觉识别的特征聚类压缩 CVPR 2023 强化学习 官方
FEND:面向长尾轨迹预测的未来增强型分布感知对比学习框架 CVPR 2023 强化学习
SuperDisco:超级类别发现改善长尾视觉识别 CVPR 2023 强化学习
深度长尾识别中的类别条件锐度感知最小化 CVPR 2023 DT 官方
用于长尾识别的校准专家平衡乘积 CVPR 2023 集成 官方
不让任何人掉队:改进长尾学习中最差的类别 CVPR 2023 集成
关于分布外数据在自监督长尾学习中的有效性 ICLR 2023 采样,TL,增强 官方
LPT:用于图像分类的长尾提示调优 ICLR 2023 采样,TL,其他 官方
通过动态再平衡进行长尾部分标签学习 ICLR 2023 CSL 官方
深入探讨语义尺度不平衡 ICLR 2023 CSL,RL
INPL:在不平衡半监督学习中首先对内点进行伪标签标注 ICLR 2023 TL
CUDA:用于长尾识别的数据增强课程 ICLR 2023 增强 官方
长尾学习需要特征学习 ICLR 2023 强化学习
基于随机表示的长尾分类解耦训练 ICLR 2023 强化学习,DT

2022年

标题 会议地点 年份 类型 编码
用于测试无关长尾识别的自监督多样化专家聚合 NeurIPS 2022 CSL,Ensemble 官方
SoLar:用于不平衡部分标签学习的Sinkhorn标签精炼器 NeurIPS 2022 CSL 官方
深度神经网络的末端是否真的需要可学习的分类器? NeurIPS 2022 RL,CD
以矩阵形式实现的最大类别分离作为归纳偏置 NeurIPS 2022 CD 官方
在类别不平衡数据上通过逃离鞍点实现有效泛化 NeurIPS 2022 other 官方
面包屑:用于长尾识别的对抗性类别平衡采样 ECCV 2022 Sampling,Aug,DT 官方
从不平衡中构建平衡以进行长尾图像识别 ECCV 2022 Sampling,RL 官方
应对领域迁移下的长尾类别分布 ECCV 2022 CSL,Aug,RL 官方
通过组谱正则化改进面向长尾数据的GAN ECCV 2022 CSL,Other 官方
为长尾视觉识别学习类别的视觉-语言表示 ECCV 2022 TL,RL 官方
利用免费对象分割进行长尾实例分割的学习 ECCV 2022 Aug
SAFA:用于长尾图像分类的样本自适应特征增强 ECCV 2022 Aug,RL
关于多域长尾识别、不平衡域泛化及更多内容 ECCV 2022 RL 官方
用于广义长尾分类的不变特征学习 ECCV 2022 RL 官方
通过分布重叠系数实现校准的超球面表示,用于长尾学习 ECCV 2022 RL,CD 官方
使用Gumbel优化损失函数的长尾实例分割 ECCV 2022 CD 官方
长尾类别增量学习 ECCV 2022 DT 官方
识别长尾样本分布中的难样本噪声 ECCV 2022 Other 官方
通过成对类别平衡缓解长尾实例分割问题 CVPR 2022 CSL 官方
多数可以帮助少数:面向长尾分类的上下文丰富型少数类过采样 CVPR 2022 TL,Aug 官方
通过组合式知识迁移进行长尾识别 CVPR 2022 TL,RL
BatchFormer:学习探索样本关系以进行稳健的表征学习 CVPR 2022 TL,RL 官方
用于长尾视觉识别的嵌套协作学习 CVPR 2022 RL,Ensemble 官方
通过权重平衡进行长尾识别 CVPR 2022 DT 官方
面向领域自适应语义分割的类别平衡像素级自标签 CVPR 2022 other 官方
一石二鸟:通过部分全连接层高效且稳健地训练人脸识别CNN CVPR 2022 other 官方
具有可学习代价矩阵的最优传输用于长尾识别 ICLR 2022 LA
深度网络是否会在不同类别之间传递不变性? ICLR 2022 TL,Aug 官方
自监督学习对数据集不平衡更具鲁棒性 ICLR 2022 RL

2021年

标题 会议地点 年份 类型 编号
通过开放世界采样改进不平衡种子数据上的对比学习 NeurIPS 2021 采样,TL, DC 官方
通过自适应均衡学习进行半监督语义分割 NeurIPS 2021 采样,CSL,TL, Aug 官方
关于长尾目标检测和实例分割的模型校准 NeurIPS 2021 LA 官方
在过参数化条件下处理标签不平衡和群体敏感分类问题 NeurIPS 2021 LA
从先验视角出发,构建面向长尾视觉识别的校准模型 NeurIPS 2021 Aug, RL 官方
利用基于能量的对比表示迁移增强不平衡数据学习 NeurIPS 2021 Aug, TL, RL 官方
VideoLT:大规模长尾视频识别 ICCV 2021 采样 官方
探索长尾目标检测中的分类平衡 ICCV 2021 采样,CSL 官方
GistNet:用于长尾识别的几何结构迁移网络 ICCV 2021 采样,TL, DC
FASA:用于长尾实例分割的特征增强与采样适配 ICCV 2021 采样,CSL
ACE:联合互补专家解决一次性长尾识别问题 ICCV 2021 采样,集成 官方
不平衡视觉分类的影响平衡损失 ICCV 2021 CSL 官方
为半监督语义分割重新分配有偏伪标签:一项基线研究 ICCV 2021 TL 官方
自监督到蒸馏:用于长尾视觉识别的方法 ICCV 2021 TL 官方
为长尾识别提炼虚拟样本 ICCV 2021 TL
MosaicOS:一种简单有效的以目标为中心的图像用于长尾目标检测 ICCV 2021 TL 官方
参数化对比学习 ICCV 2021 RL 官方
用于长尾学习的分布鲁棒性损失 ICCV 2021 RL 官方
视觉关系的学习:魔鬼藏在细节中 ICCV 2021 DT
图像级还是目标级?两种针对长尾检测的重采样策略 ICML 2021 采样 官方
自我损害的对比学习 ICML 2021 TL,RL 官方
深入探讨深度不平衡回归 ICML 2021 其他 官方
通过均匀采样和再平衡采样的协同训练实现长尾多标签视觉识别 CVPR 2021 采样,集成
均衡损失v2:一种用于长尾目标检测的新梯度平衡方法 CVPR 2021 CSL 官方
长尾实例分割的跷跷板损失 CVPR 2021 CSL 官方
长尾目标检测的自适应类别抑制损失 CVPR 2021 CSL 官方
PML:用于长尾年龄分类的渐进式间隔损失 CVPR 2021 CSL
解耦长尾视觉识别中的标签分布 CVPR 2021 CSL,LA 官方
长尾分布下的对抗鲁棒性 CVPR 2021 CSL,LA,CD 官方
分布对齐:长尾视觉识别的统一框架 CVPR 2021 CSL,LA,DT 官方
改进长尾识别的校准 CVPR 2021 CSL,Aug,DT 官方
CReST:用于不平衡半监督学习的类再平衡自训练框架 CVPR 2021 TL 官方
Conceptual 12M:将网络规模的图文预训练推向长尾视觉概念的识别 CVPR 2021 TL 官方
RSG:一个简单但有效的不平衡数据学习模块 CVPR 2021 TL,Aug 官方
MetaSAug:面向长尾视觉识别的元语义增强 CVPR 2021 Aug 官方
基于对比学习的混合网络用于长尾图像分类 CVPR 2021 RL
利用层次化自监督无监督发现实例分割中的长尾部分 CVPR 2021 RL
通过logit调整进行长尾学习 ICLR 2021 LA 官方
通过路由多样化的分布感知专家实现长尾识别 ICLR 2021 TL,集成 官方
探索用于表示学习的平衡特征空间 ICLR 2021 RL,DT

2020

标题 会议/期刊 年份 类型 代码
用于长尾视觉识别的平衡元Softmax NeurIPS 2020 采样,CSL 官方
针对不均衡数据集的后验重校准 NeurIPS 2020 LA 官方
通过保留良性动量并消除不良动量因果效应进行长尾分类 NeurIPS 2020 LA,CD 官方
重新思考标签在改善类别不平衡学习中的价值 NeurIPS 2020 TL,RL 官方
魔鬼藏在分类中:一种用于长尾实例分割的简单框架 ECCV 2020 采样,DT,集成 官方
基于分区水库采样的不均衡持续学习 ECCV 2020 采样 官方
用于长尾数据集多标签分类的分布平衡损失 ECCV 2020 CSL 官方
针对长尾数据的特征空间增强 ECCV 2020 TL,增强,DT
向多位专家学习:用于长尾分类的自定节奏知识蒸馏 ECCV 2020 TL,集成 官方
使用深度真实分类学分类器解决长尾识别问题 ECCV 2020 CD 官方
学习分割尾巴 CVPR 2020 采样,TL 官方
BBN:具有累积学习功能的双分支网络,用于长尾视觉识别 CVPR 2020 采样,集成 官方
利用平衡组Softmax克服长尾目标检测中的分类器不平衡 CVPR 2020 采样,集成 官方
从领域适应视角重新思考用于长尾视觉识别的类别平衡方法 CVPR 2020 CSL 官方
用于长尾目标识别的均衡化损失 CVPR 2020 CSL 官方
领域平衡:长尾领域上的人脸识别 CVPR 2020 CSL
M2m:通过多数到少数的转换进行不均衡分类 CVPR 2020 TL,增强 官方
长尾数据上的深度表示学习:可学习嵌入增强视角 CVPR 2020 TL,增强,RL
利用区域自注意力扩充情景记忆以进行长尾视觉识别 CVPR 2020 RL
解耦表示与分类器以进行长尾识别 ICLR 2020 采样,CSL,RL,CD,DT 官方

2019

标题 会议/期刊 年份 类型 代码
元加权网络:学习样本加权的显式映射 NeurIPS 2019 CSL 官方
基于标签分布感知间隔损失的学习不平衡数据集 NeurIPS 2019 CSL 官方
面向不平衡数据分类的动态课程学习 ICCV 2019 Sampling
基于有效样本数的类别平衡损失 CVPR 2019 CSL 官方
用不确定性取得恰当平衡 CVPR 2019 CSL
针对欠代表数据的人脸识别特征迁移学习 CVPR 2019 TL,Aug
长尾噪声数据下的深度人脸识别不均衡训练 CVPR 2019 RL 官方
开放世界中的大规模长尾识别 CVPR 2019 RL 官方

2018年

标题 会议/期刊 年份 类型 代码
大规模细粒度分类与领域特定的迁移学习 CVPR 2018 TL 官方

2017年

标题 会议/期刊 年份 类型 代码
学习建模长尾部分 NeurIPS 2017 CSL
密集目标检测中的焦点损失 ICCV 2017 CSL
长尾训练数据下深度人脸识别的范围损失 ICCV 2017 RL
不平衡深度学习中的类别校正困难挖掘 ICCV 2017 RL

2016年

标题 会议/期刊 年份 类型 代码
用于不平衡分类的深度表示学习 CVPR 2016 Sampling,RL
长尾分布下目标检测深度模型微调的影响因素 CVPR 2016 CSL,RL

3. 基准数据集

数据集 长尾任务 # 类别 # 训练数据 # 测试数据
ImageNet-LT 分类 1,000 115,846 50,000
CIFAR100-LT 分类 100 50,000 10,000
Places-LT 分类 365 62,500 36,500
iNaturalist 2018 分类 8,142 437,513 24,426
LVIS v0.5 检测和分割 1,230 57,000 20,000
LVIS v1 检测和分割 1,203 100,000 19,800
VOC-LT 多标签分类 20 1,142 4,952
COCO-LT 多标签分类 80 1,909 5,000
VideoLT 视频分类 1,004 179,352 25,622

4. 我们的代码库

  • 要使用我们的代码库,请安装依赖项:

    pip install -r requirements.txt
    
    • 硬件要求:建议使用4张显存≥23GB的GPU。
    • ImageNet-LT数据集:请下载ImageNet-1K数据集,并将其放置在./data文件夹中。
      data
      └──ImageNet
          ├── train
          └── val
      
    • Softmax:
      cd ./Main-codebase 
      训练:python3 main.py --seed 1 --cfg config/ImageNet_LT/ce.yaml  --exp_name imagenet/CE  --gpu 0,1,2,3 
      
    • 加权Softmax:
      cd ./Main-codebase 
      训练:python3 main.py --seed 1 --cfg config/ImageNet_LT/weighted_ce.yaml  --exp_name imagenet/weighted_ce  --gpu 0,1,2,3
      
    • ESQL(均衡化损失):
      cd ./Main-codebase 
      训练:python3 main.py --seed 1 --cfg config/ImageNet_LT/seql.yaml  --exp_name imagenet/seql  --gpu 0,1,2,3
      
    • 平衡Softmax:
      cd ./Main-codebase 
      训练:python3 main.py --seed 1 --cfg config/ImageNet_LT/balanced_softmax.yaml  --exp_name imagenet/BS  --gpu 0,1,2,3
      
    • LADE:
      cd ./Main-codebase 
      训练:python3 main.py --seed 1 --cfg config/ImageNet_LT/lade.yaml  --exp_name imagenet/LADE  --gpu 0,1,2,3
      
    • 去混杂(因果):
      cd ./Main-codebase 
      训练:python3 main.py --seed 1 --cfg config/ImageNet_LT/causal.yaml  --exp_name imagenet/causal --remine_lambda 0.1 --alpha 0.005 --gpu 0,1,2,3
      
    • 解耦(IB-CRT):
      cd ./Main-codebase 
      第一阶段训练:python3 main.py --seed 1 --cfg config/ImageNet_LT/ce.yaml  --exp_name imagenet/CE  --gpu 0,1,2,3 
      第二阶段训练:python3  main.py --cfg ./config/ImageNet_LT/cls_crt.yaml --model_dir exp_results/imagenet/CE/final_model_checkpoint.pth  --gpu 0,1,2,3 
      
    • MiSLAS:
      cd ./MiSLAS-codebase
      第一阶段训练:CUDA_VISIBLE_DEVICES=0,1,2,3 python3 train_stage1.py --cfg config/imagenet/imagenet_resnext50_stage1_mixup.yaml
      第二阶段训练:CUDA_VISIBLE_DEVICES=0,1,2,3 python3 train_stage2.py --cfg config/imagenet/imagenet_resnext50_stage2_mislas.yaml resume checkpoint_path
      评估:CUDA_VISIBLE_DEVICES=0  python3 eval.py --cfg ./config/imagenet/imagenet_resnext50_stage2_mislas.yaml  resume checkpoint_path_stage2
      
    • RSG:
      cd ./RSG-codebase
      训练:python3 imagenet_lt_train.py 
      评估:python3 imagenet_lt_test.py 
      
    • ResLT:
      cd ./ResLT-codebase
      训练:CUDA_VISIBLE_DEVICES=0,1,2,3 bash sh/X50.sh
      评估:CUDA_VISIBLE_DEVICES=0 bash sh/X50_eval.sh
      # 测试性能可在日志文件中找到。
      
    • PaCo:
      cd ./PaCo-codebase
      训练:CUDA_VISIBLE_DEVICES=0,1,2,3 bash sh/ImageNetLT_train_X50.sh
      评估:CUDA_VISIBLE_DEVICES=0 bash sh/ImageNetLT_eval_X50.sh
      # 测试性能可在日志文件中找到。
      
    • LDAM:
      cd ./Ensemble-codebase 
      训练:CUDA_VISIBLE_DEVICES=0,1,2,3 python3 train.py -c ./configs/config_imagenet_lt_resnext50_ldam.json
      评估:CUDA_VISIBLE_DEVICES=0 python3 test.py -r checkpoint_path
      
    • RIDE:
      cd ./Ensemble-codebase 
      训练:CUDA_VISIBLE_DEVICES=0,1,2,3 python3 train.py -c ./configs/config_imagenet_lt_resnext50_ride.json
      评估:CUDA_VISIBLE_DEVICES=0 python3 test.py -r checkpoint_path
      
    • SADE:
      cd ./Ensemble-codebase 
      训练:CUDA_VISIBLE_DEVICES=0,1,2,3 python3 train.py -c ./configs/config_imagenet_lt_resnext50_sade.json
      评估:CUDA_VISIBLE_DEVICES=0 python3 test.py -r checkpoint_path
      

    5. 实证研究

    (1) 长尾基准测试性能

    • 我们在ImageNet-LT上评估了几种最先进的方法,以了解它们通过新的评估指标(即UA和RA)在多大程度上处理类别不平衡问题。我们根据类别重平衡(CR)、信息增强(IA)和模块改进(MI)对这些方法进行了分类。

    • 几乎所有长尾方法在准确率方面都优于Softmax基线,这表明长尾学习的有效性。
    • 对于大多数长尾方法来说,训练200个epoch能够带来更好的性能,因为充分的训练使深度模型能够更好地拟合数据并学习更好的图像表示。
    • 除了准确率之外,我们还基于UA和RA评估了长尾方法。对于具有较高UA的方法,其性能提升不仅来自于类别不平衡的缓解,还可能来自其他因素,如数据增强或更好的网络架构。因此,仅使用准确率进行评估并不够准确,而我们提出的RA指标则是一个很好的补充,因为它可以减轻类别不平衡以外因素的影响。
    • 例如,基于数据混合的MiSLAS在90个训练epoch下,其准确率高于平衡Softmax,但它的UA也更高。因此,MiSLAS的相对准确率低于平衡Softmax,这意味着在90个训练epoch下,平衡Softmax比MiSLAS更能有效缓解类别不平衡。
    • 尽管一些近期高精度的方法RA较低,但从下图可以看出,长尾学习的整体发展趋势仍然是积极的。

    • 目前在准确率和RA方面都处于最先进水平的长尾方法是SADE(一种基于集成的方法)。

    (2) 关于代价敏感损失的更多讨论

    • 我们进一步评估了基于解耦训练方案的不同代价敏感学习损失的表现。
    • 与联合训练相比,解耦训练可以进一步提高除平衡Softmax(BS)之外的大多数代价敏感学习方法的整体性能。
    • 尽管BS在单阶段训练下表现优于其他代价敏感损失,但在解耦训练下它们的表现却相当接近。这表明,虽然这些代价敏感损失在联合训练下的表现不同,但它们本质上学习到的特征表示质量是相似的。

    5. 引用

    如果本仓库对您有所帮助,请引用我们的综述。

    @article{zhang2023deep,
          title={Deep long-tailed learning: A survey},
          author={Zhang, Yifan and Kang, Bingyi and Hooi, Bryan and Yan, Shuicheng and Feng, Jiashi},
          journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
          year={2023},
          publisher={IEEE}
    }
    

    5. 其他资源

相似工具推荐

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

74.9k|★★★☆☆|今天
语言模型图像开发框架

awesome-machine-learning

awesome-machine-learning 是一份精心整理的机器学习资源清单,汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点,这份清单按编程语言(如 Python、C++、Go 等)和应用场景(如计算机视觉、自然语言处理、深度学习等)进行了系统化分类,帮助使用者快速定位高质量项目。 它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库,还是资深工程师对比不同语言的技术选型,都能从中获得极具价值的参考。此外,清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源,构建了从学习到实践的全链路支持体系。 其独特亮点在于严格的维护标准:明确标记已停止维护或长期未更新的项目,确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”,awesome-machine-learning 以开源协作的方式持续更新,旨在降低技术探索门槛,让每一位从业者都能高效地站在巨人的肩膀上创新。

72.1k|★☆☆☆☆|2天前
开发框架其他

scikit-learn

scikit-learn 是一个基于 Python 构建的开源机器学习库,依托于 SciPy、NumPy 等科学计算生态,旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口,涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具,内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。 对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言,scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点,让用户无需重复造轮子,只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。 其核心技术亮点在于高度一致的 API 设计风格,所有估算器(Estimator)均遵循相同的调用逻辑,极大地降低了学习成本并提升了代码的可读性与可维护性。此外,它还提供了强大的模型选择与评估工具,如交叉验证和网格搜索,帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目,scikit-learn 以其稳定性、详尽的文档和活跃的社区支持,成为连接理论学习与工业级应用的最

65.6k|★☆☆☆☆|今天
开发框架其他数据工具

keras

Keras 是一个专为人类设计的深度学习框架,旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。 无论是刚入门的学生、专注算法的研究人员,还是需要快速落地产品的工程师,都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。 Keras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码,即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性,还允许开发者根据需求自由选择:利用 JAX 或 PyTorch 的即时执行模式进行高效调试,或切换至速度最快的后端以获得最高 350% 的性能提升。此外,Keras 具备强大的扩展能力,能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群,是连接原型开发与生产部署的理想桥梁。

63.9k|★★☆☆☆|昨天
开发框架数据工具其他