本文第一次提出一个基于分布矫正和Ensemble的真正通用的长尾算法,可以在实际问题实际应用中提升各种任务的表现,而不仅限于精心设计的长尾数据集。
离开学校加入公司的业务部门已经半年多了,往后应该会努力抽时间做点开源项目,但暂时没什么计划再发一作论文了。这次介绍下我和我(前)实验室一位非常优秀的学弟beier(https://www.zhihu.com/people/zhu-bei-er-65)合作的一篇NeurIPS 2023论文《Generalized Logit Adjustment: Calibrating Fine-tuned Models by Removing Label Bias in Foundation Models》,算是我入职前在学术界最后的回响吧。
论文链接:https://arxiv.org/pdf/2310.08106.pdf
一. 大模型时代的长尾分布研究该何去何从
在当下这个大模型群星闪耀的时代,想必过去两三年中关注长尾任务的同学都面临着何去何从的困惑。长尾问题固然普世,除了狭义的类间长尾还有广义长尾问题,但过去几年学术界中研究的主流长尾算法却并不同样普世。以最常见的图像长尾分类任务为例,要想大多数长尾分类算法能够生效,首先训练过程中的长尾分布就必须是显性的,要通过统计具体的类别分布来实现去偏。而大模型成功的根基,却恰恰也给传统长尾算法关上了大门,因为大模型所依赖的自监督预训练无法为下游任务提供一个显性的长尾分布去矫正。
以大语言模型(如GPT等)和多模态模型(如CLIP等)为例,即便近来有一些论文尝试去研究大模型在下游任务微调时的下游数据偏见问题,但却并没有工作能够解决大模型预训练阶段本身的数据不均衡问题。但我们都知道在海量的预训练数据之下,数据的长尾分布是必然的。之所以鲜有人尝试去研究自监督预训练阶段本身的数据偏见,是因为要想在大模型的自监督预训练中研究长尾问题存在三大挑战:
其一,原始文本数据的歧义性导致无法精准的统计类别的分布。比如以CLIP为例,其预训练目标是将图片与文本配对,而下游的视觉端backbone可以用作图像分类任务,但此时如果下游是一个{human, non-human}的二分类,我们并不能直接用human关键词的出现与否作为预训练数据分布的统计标准,比如包含a worker的图片虽然没有human这个词但也应该被统计为human,因此文本天然的歧义和多意会给长尾分布研究带来极大的困难和偏差。
其二,预训练任务与下游任务的弱耦合导致无法明确数据分布的统计方式。<