跳到主内容
快讯直播
AI智模界
AI 词典

伪标签:让模型自己给自己出题、自己批卷

一句话:伪标签(Pseudo-Labeling)就是先让一个已经训练过的模型去猜无标注数据,把其中"猜得很自信"的那部分结果当成临时答案,再把它们混进训练集,重新训练模型。

打个比方

想象你带一个实习生做题库。真正有标准答案的题只有一百道,但没答案的题有一万道。你不可能每题都亲自批。于是你让实习生先按自己学到的东西把一万道题全做一遍,然后规定:自己觉得有九成把握的题,就当答案是对的,拿去复习;没把握的题直接跳过。复习一轮后,他水平涨了,再回头把之前跳过的题重做一遍,又能捞回一批。

这就是伪标签的循环:训练 → 预测 → 挑高置信的当标签 → 再训练。通常把出预测的模型叫教师(teacher),被教的那个叫学生(student),两者可以是同一个模型,也可以不是。

关键在"高置信"三个字。实现上一般看模型输出的概率,比如只保留预测概率超过某个门槛的样本,或者每个类别只取最靠前的一小撮。也可以不丢硬标签,直接把整条概率分布当软标签用,信息量更大。

为什么它管用,又为什么容易翻车

管用的理由很朴素:无标注数据几乎不要钱,标注数据很贵。模型其实已经对一部分数据学到了不错的特征,让这些可靠判断反过来固化进参数,等于凭空扩大了训练集。

翻车的理由也很朴素:模型错的地方,它自己往往同样自信。你一旦把它的错误当成标准答案,下一轮它就会更坚定地错下去,这叫确认偏误(confirmation bias),噪声会滚雪球。

常见的刹车手段有几个:卡置信度阈值、按类别配平避免某一类被刷屏、给伪标签的损失降权、要求模型对同一张图的不同增强版本给出同样答案(一致性正则)、教师模型用参数的滑动平均慢慢更新而不是蹦来蹦去。具体怎么配,各家实现差别很大,以自己项目的验证集为准。

和几个近邻的区别

概念谁产生标签挑哪些样本主要目的
伪标签模型自己最自信的用上无标注数据
自训练模型自己最自信的基本是同义词
主动学习人模型最没把握的省人的标注时间
知识蒸馏大模型全部把小模型压到能上线

注意伪标签和主动学习刚好相反:一个挑最确定的交给模型,一个挑最不确定的交给人类。而知识蒸馏虽然也是"教师教学生",但它通常追求的是把大模型变小,伪标签追求的是白捡数据。

对从业者的意义

第一,这是一条"用算力换标注"的路子,在检测、分割、语音、文本分类里都很常见。第二,做实验时千万别把伪标签打到验证集和测试集上,否则指标会虚高,上线的落差能让你怀疑人生。第三,伪标签本质上是把模型当下的判断写进了数据,迭代节奏太快容易自我强化,建议每轮都留一份干净的人工标注集做体检。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。