一句话定义:标签噪声(Label Noise)指训练数据中样本的标签与内容不符——图片明明是猫,却被打上「狗」;评论明显是差评,却被标成好评。错的是 y,不是 x。
打个比方:老师批改作业时把一部分正确答案判成错。如果判错是随机的、东一处西一处,学生从大多数正确批改里仍能学到规律,只是浪费些精力;但如果老师总把某一类题判错,学生就会认真学出一套错误的解题逻辑,考试时错得很稳定。
模型到底会学到什么
深度网络记忆能力很强,最终几乎能把训练集背下来,包括标错的那些。但训练过程通常分两段:先学会简单、干净、通用的模式,之后才开始「硬背」剩余样本。这也是早停(early stopping)常常管用的原因之一。
按错的规律,标签噪声大致分两类:
| 随机噪声 | 系统性噪声 | |
|---|---|---|
| 典型来源 | 手滑、误点、粗心 | 标注规范理解偏差、众包偏见、预标注污染 |
| 与内容的关系 | 基本无关 | 高度相关(某一类总被标错) |
| 模型学到的 | 背下来,难形成可复用规则 | 忠实学到错误规则 |
| 主要危害 | 浪费容量、有效数据变少 | 在真实场景稳定出错 |
为什么有时还能泛化
一是多数标签仍然正确,正确信号占主导;二是神经网络有简化偏置(simplicity bias),倾向先学简单通用的模式,而随机噪声往往与特征没有稳定关联,不容易被学成规则;三是在噪声比例不太高、类型不太糟的前提下,某些损失函数下模型仍能收敛到接近正确的分类器。反过来说,噪声比例一高,或噪声是系统性的,这套「自愈」机制就失效了。
和相邻概念的区别
- 特征噪声(feature noise):错在输入 x,标签是对的。
- 异常值(outlier):罕见但可能标注正确,不能一律当噪声清洗。
- 类别不平衡(class imbalance):是分布问题,标签未必错。
- 标注者不一致(inter-annotator disagreement):是标签噪声的来源之一,也可能说明任务本身有歧义。
- 对抗样本:测试时输入被人为扰动,训练标签没问题。
对实际工作的意义
从业者可以这样做:人工抽检几百条估算噪声率;挑出训练中损失长期偏高的样本复查,但要区分「难样本」和「噪声样本」;用多个模型或多次训练结果不一致的样本来定位可疑标签;标注规范写细、设置仲裁环节;汇报结果时说明数据清洗情况。具体工具与实现方案以各自官方页面为准。
对普通职场人:任何「拿历史数据训练模型」的项目,历史记录本身可能是错的——录入失误、口径变更、人工审批随意。花时间洗标签,往往比换个更大的模型更划算。
