DSCL:已开源,北京大学提出解耦对比损失 | AAAI 2024 - 晓飞的算法工程笔记
内容提要
本文介绍了一种用于长尾识别的解耦监督对比学习方法,通过解耦正样本并优化它们的关系来减轻数据集不平衡的影响。同时,提出了基于块的自蒸馏方法,将知识从头类转移到尾类,以缓解尾类表征不足的问题。实验结果显示该方法在长尾识别任务中表现出较好的性能。
延伸解读
SCL在长尾识别中的两大缺陷
监督对比损失(SCL)在平衡数据集上表现良好,但在长尾场景下存在两个关键问题:一是对两类正样本(增强视图和同类其他样本)同等对待,导致类内距离优化偏向头类;二是均匀推开所有负样本,忽略了不同类别间可能共享的视觉模式。论文通过梯度分析指出,SCL的梯度比和最优条件概率均受类别样本数影响,造成头尾类特征学习不一致。
DSCL如何解耦正样本
解耦监督对比损失(DSCL)通过为增强正样本和同类正样本分配不同权重,使梯度L2范数比和最优条件概率不再依赖于类别样本数。具体地,DSCL引入超参数α,当数据集平衡时,设置α=1/(|P_i|+1)可退化为SCL。这种设计缓解了头尾类特征学习的不平衡,使尾部类别的表征更具语义区分性。
PBSD:利用共享视觉模式增强尾类
基于块的自蒸馏(PBSD)通过挖掘不同类别间共享的视觉模式(如“车轮”在卡车、汽车中共享),将头类知识迁移到尾类。它从全局特征图中随机生成块,经ROI池化得到块特征,并计算其与实例特征的相似度分布;然后强制裁剪图像块的特征嵌入产生相同分布,从而以自蒸馏方式传递知识。实验表明,PBSD比Multi-crop策略更有效,在ImageNet-LT上性能高出1.6%。
方法定位与使用建议
论文方法专注于表征学习,可灵活嵌入不同任务。训练时联合优化DSCL和PBSD损失,主干训练完成后丢弃投影头,并在类平衡采样下用交叉熵训练线性分类器。这种两阶段设计意味着方法主要提升特征提取质量,而非直接改变分类器。读者需注意,DSCL和PBSD均需额外计算开销,且超参数α和λ需根据数据集调整。
Q&A
解耦监督对比学习方法的主要目的是什么?
主要目的是减轻数据集不平衡对长尾识别的影响。
什么是基于块的自蒸馏方法,它的作用是什么?
基于块的自蒸馏方法通过将知识从头类转移到尾类,缓解尾类表征不足的问题。
监督对比损失(SCL)在长尾识别中存在哪些缺陷?
SCL偏向头类,忽略负样本相似性,导致类内距离优化偏差。
解耦监督对比损失(DSCL)是如何改善特征学习的?
DSCL通过重新制定类内距离优化策略,解耦正样本,改善了特征学习的平衡性。
实验结果显示该方法在长尾识别任务中的表现如何?
实验结果表明,该方法在长尾识别任务中表现出较好的性能。
长尾识别中,数据集不平衡会带来哪些挑战?
数据集不平衡导致头类样本过多,尾类样本不足,影响模型的学习效果。