训练 AI 模型时,现实里常见的情况是:未标注的数据一大堆,标注好的数据只有一点点。半监督学习,就是同时利用「有标注」和「无标注」的数据来训练模型,用少量标注撬动大量未标注数据里的信息。
核心思路
半监督学习的立足点,是未标注数据里的「分布信息」。简单说,即使不知道答案,知道「数据长什么样」也有帮助:模型能学到数据的结构,再结合少量标注来确定分类边界。它介于监督学习和无监督学习之间,用监督信号打底,用未标注数据的结构来补足。
打个比方:老师先看了一堆没批改的作业,虽然不知道每份的答案,但看得出这些作业大致分几类、难易程度如何。有了这个轮廓,只需要认真批改少数几份,就能把评分标准定下来。半监督学习做的,就是把「没批改的作业」也用起来。模型学完结构后,最终还要靠生成来作答,基础可以看什么是大语言模型。
三种常见做法
自训练:先用少量标注数据训一个模型,让它给未标注数据打「伪标签」,再把这些样本一起拿来训练。一致性正则:同一份数据做不同变换,要求模型输出保持一致。图方法:把数据点连成图,相似的样本应该归为一类。三种做法的共同点,都是想办法从「没有答案的数据」里榨出有用的结构信号。
下面这张表把三种做法摆在一起看。
| 方法 | 思路 | 主要风险 |
|---|---|---|
| 自训练 | 模型打伪标签再一起训 | 错误被自我强化 |
| 一致性正则 | 变换后输出保持一致 | 变换不当引入偏差 |
| 图方法 | 相似样本归一类 | 构图成本高、难扩展 |
标注成本怎么降下来
标注是 AI 落地很贵的一环。专业影像、专业文书这类数据,标注需要专业人士参与,成本很高。半监督学习能明显降低对标注量的依赖,让预算有限的团队也能把模型做得更好。一个可带走的判断:半监督的效果,取决于「未标注数据里有多少可学的结构」,数据越有规律,提升越大。与之相对的自监督学习走得更远,连标注都不需要。
三个前提
半监督学习有前提条件,缺一不可。其一,未标注数据和标注数据要「同分布」,来源完全不同,帮助就有限。其二,少量标注要「够准」,标注本身有噪声,效果会大打折扣。其三,问题本身要有结构,数据里确实存在可学习的规律。前提不满足时,半监督可能比纯监督还差。
自训练的风险
自训练有个隐患:模型的错误会被自己强化。它给未标注数据打错标签,再拿这些错误标签训练自己,错误就固化了。所以实践中要严格控制伪标签的质量,常见做法是只保留高置信度的伪标签,或引入人工抽检。这个风险和标签噪声是同一类问题,可以对照理解。
它做不到什么
半监督学习不能替代人工标注。它只是降低对标注量的依赖,把「必须标很多」变成「标得精一点、少一点」,标注这条线始终不能断。当未标注数据与目标任务无关、或数据本身没有规律时,半监督的效果接近零。更要警惕的是,如果伪标签质量失控,它甚至会带来负效果,让模型越练越歪。
换句话说,半监督的前提是「那堆没标注的数据里,藏着有用的规律」。如果那堆数据是一堆噪声,或者和任务没关系,那它帮不上忙,甚至添乱。把原始数据先加工干净,是这类方法起作用的前提,这和语音合成的文本前端强调的「上游处理干净、下游才不出错」是同一个道理。
速查
- 定位:介于监督与无监督之间,少量标注 + 大量未标注。
- 三种做法:自训练、一致性正则、图方法。
- 三个前提:同分布、标注准、有结构。
- 最大风险:自训练的错误自我强化。
半监督学习是「用未标注数据撬动标注成本」的思路。理解它,能帮你判断一个项目在标注预算有限时,值不值得引入未标注数据。前提对了,它是省钱的办法;前提不对,它会放大错误。


