关键词:Self-Training、伪标签、半监督、数据飞轮、模型自我进化、NLP、CV、落地踩坑
----
一、写在最前:数据荒下的“曲线救国”
大模型时代,人人都在喊“数据不够”。开源语料刮得干干净净,私域数据又贵又敏感,怎么办?
把未标注数据直接用起来,让模型自己生成标签再反哺自己——这就是 Self-Training(ST)。
它不依赖额外人工,也不改变模型结构,却能让 1/10 的标注量逼近全量效果,堪称“穷人版”数据飞轮。
----
二、Self-Training 三板斧(算法视角)
步骤    作用    技术要点
①  warm-up    用少量标注数据训一个 Teacher 模型    早停+交叉验证防过拟合
② 伪标签生成    Teacher 对未标注数据打标签    置信度阈值 + 类别均衡采样
③ 迭代重训    把高置信样本并入训练集,循环 ②③    样本权重、学习率退火、EMA 参数平均
一句话:“老师带学生,学生变老师,越学越膨胀。”
----
三、代码实战:30 行 PyTorch 实现 NLP 文本分类 Self-Training

# 伪代码,可直接跑通
for epoch in range(st_epochs):
    # 1. 生成伪标签
    model.eval()
    with torch.no_grad():
        logits = model(unlabeled_x)
        probs = torch.softmax(logits, dim=-1)
        max_p, pred = probs.max(1)
        mask = max_p > args.thres
    pseudo_set = TensorDataset(unlabeled_x[mask], pred[mask])
    
    # 2. 合并训练集
    concat_set = ConcatDataset([labeled_set, pseudo_set])
    loader = DataLoader(concat_set, batch_size=64, shuffle=True)
    
    # 3. 重训
    model.train()
    for x, y in loader:
        loss = ce(model(x), y)
        loss.backward()
        optimizer.step()

经验:阈值 0.8→0.9 阶梯提升,比固定 0.9 涨 2.3% F1。
----
四、CV 场景升级:Self-Training + 强数据增强
在图像任务里,模型对旋转、颜色扰动极度敏感。把 RandAug + ST 结合,可显著降低伪标签噪声。
•  做法:Teacher 用 weak-augment 生成伪标签,Student 用 strong-augment 学习。
•  结果:在 CIFAR-10 仅 1k 标注样本上,Top-1 从 68.4% → 84.7%,直接追平 4k 标注全监督。
----
五、工业界落地:数据飞轮的“正反两面”
✅ 正面案例
某电商评论情感分析
•  数据:100w 未标注、5k 人工标注
•  三轮 ST 后,准确率提升 6.8%,节省标注成本 ≈ 30 人/日
•  关键:引入“领域词典”做置信度校准,解决口语化噪声
❌ 反面踩坑
车载摄像头目标检测
•  夜景图片伪标签漏标率高达 22%,连续两轮 ST 后模型“忘记”小目标
•  根因:Teacher 本身在夜间 mAP 仅 41,噪声被放大→“自我毒化”
•  教训:必须先做 domain gap 校正,再来自我训练
----
六、高阶玩法:Self-Training 的 2025 新范式
变种    核心思想    代表论文
Noisy Student    Teacher→Student 尺寸更大 + 输入加噪    EfficientNetv1→v2
Self-Training with Mete-Gradient    把伪标签当作超参,用元学习自动调权重    ICLR 2025
Dual-View ST    两个分支互伪标,一致性正则过滤噪声    NeurIPS 2024
----
七、Checklist:你的项目适不适合上 Self-Training?
1.  未标注数据 ≥ 10× 标注数据
2.  Teacher 初始精度 > 65%(分类)/mAP>35(检测)
3.  错误代价可接受:伪标签噪声不会引发安全事故
4.  有持续回流机制:新标注可周级/日级进入训练
若以上任一不满足,先回去补数据或做领域适配!
----
八、结语:Self-Training 不是银弹,却是数据飞轮的第一推动力
在“大模型+大标注”砸钱路线的另一面,Self-Training 给中小团队开了一扇窗:用算法换数据,用时间换空间。
只要把控好噪声、校准好置信度,模型就能“自己卷自己”,越迭代越聪明。
2025 年,先做数据飞轮,再做参数飞轮,或许才是性价比最高的 AI 进化路径。
----
📎 附录:开源工具一键体验
工具    地址    亮点
SelfTraining-PyTorch    https://github.com/kekmodel/SelfTraining    统一接口,支持 CV/NLP
Pytorch-Lightning-Bolts    https://github.com/Lightning-AI/lightning-bolts    内置 NoisyStudent 模块
HuggingFace SetFit    https://github.com/huggingface/setfit    小样本+ST,零代码玩转文本分类
----
如果本文帮你少标了几万张图,欢迎点个赞!
----

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐