news 2026/5/12 5:02:41

教授你的模型从自身学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
教授你的模型从自身学习

原文:towardsdatascience.com/teaching-your-model-to-learn-from-itself-8b5ef13eb173?source=collection_archive---------1-----------------------#2024-09-16

基于迭代和置信度的伪标签分类案例研究

https://medium.com/@niklasvmoers?source=post_page---byline--8b5ef13eb173--------------------------------https://towardsdatascience.com/?source=post_page---byline--8b5ef13eb173-------------------------------- Niklas von Moers

·发表于 Towards Data Science ·6 分钟阅读·2024 年 9 月 16 日

在机器学习中,更多的数据通常会带来更好的结果。但标记数据可能非常昂贵且耗时。如果我们能够利用通常很容易获得的大量未标记数据呢?这就是伪标签方法的用武之地。

TL;DR:我在 MNIST 数据集上进行了案例研究,并通过应用迭代的、基于置信度的伪标签方法,将模型的准确率从 90%提高到了 95%。本文涵盖了伪标签的详细内容,以及我实验中的实用技巧和洞察。

它是如何工作的?

伪标签是半监督学习的一种方式。它弥合了监督学习(所有数据都有标签)和无监督学习(没有标签数据)之间的差距。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/6daf2b07ddb532f3f4dbe1575ddeab4b.png

过程示意图,展示了在 MNIST 数据集上执行的步骤。来源:Yann LeCun、Corinna Cortes 和 Christopher J.C. Burges。根据 CC BY-SA 3.0 许可授权。

我遵循的具体步骤如下:

虽然这种方法可能会引入一些错误标签,但它的好处在于大幅增加了训练数据的数量。

回声室效应:伪标签方法能有效吗?

模型从自己预测中学习的想法可能会引起一些质疑。毕竟,我们不是在尝试从无到有,而是在依赖一个“回音室”,模型只是不断强化自己最初的偏见和错误,不是吗?

这个担忧是合理的。这可能让你想起传奇人物明茨豪森男爵,他曾声称自己通过自己的头发把自己和他的马从沼泽中拉了出来——这是物理上不可能的。类似地,如果一个模型完全依赖于自己可能存在缺陷的预测,它就有可能陷入自我强化的循环,就像那些被困在回音室中的人们,只听到自己信仰的回响。

那么,伪标签化真的可以有效避免陷入这个陷阱吗?

答案是肯定的。虽然明茨豪森男爵的故事显然是一个童话故事,但你可以想象一位铁匠随着时代的进步。他从基本的石器工具(最初的标注数据)开始,利用这些工具从原矿(无标签数据)中锻造出粗糙的铜器工具(伪标签)。这些铜器工具虽然仍然很粗糙,但使他能够进行之前不可行的任务,最终创造出青铜、铁等材料制成的工具。这个迭代过程至关重要:你不能仅用石锤锻造钢剑。

就像铁匠一样,在机器学习中,我们可以通过以下方式实现类似的进展:

当伪标签化正确执行时,它可以成为最大化利用小型标注数据集的强大工具,正如我们在接下来的案例研究中将看到的那样。

案例研究:MNIST 数据集

我在 MNIST 数据集上进行了实验,MNIST 是一个经典的 28×28 像素手写数字图像集合,广泛用于机器学习模型的基准测试。它包含 60,000 张训练图像和 10,000 张测试图像。目标是根据 28×28 像素的图像,预测所写的数字是什么。

我用 1,000 张带标签的图像训练了一个简单的 CNN 模型,剩下的 59,000 张图像没有标签。然后,我用训练好的模型预测无标签图像的标签。对于置信度高于某个阈值(例如 95%)的预测结果,将其添加到训练集中,并标上预测的标签。接着,模型在这个扩展的数据集上重新训练。这个过程反复进行,最多进行十次,或者直到没有更多的无标签数据为止。

此实验使用不同数量的最初标记图像和置信度阈值进行了重复。

结果

以下表格总结了我的实验结果,比较了伪标签与在完整标记数据集上训练的表现。

即使初始标记的数据集较小,伪标签仍然能产生显著的效果,对于 1,000 个初始标记样本,准确率提高了 4.87 个百分点。当仅使用 100 个初始样本时,这一效果更为显著。然而,手动标记超过 100 个样本会更明智。

有趣的是,使用 100 个初始训练样本的实验最终测试准确率超过了正确训练标签的比例。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d4a4cbc4693970537bde69c9d7f89ca4.png

相较于第一次迭代,按阈值(x 轴)和每次迭代(颜色)计算的准确率提升(y 轴)。更高的阈值和更多的迭代呈现出明显的改善趋势。图像由作者提供。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/6e5333817dec9573ecd7c8d114e0bdfd.png

每次迭代中按阈值划分的正确训练标签的比例和总训练数据点数量。更高的阈值导致更稳健但更慢的标记。图像由作者提供。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d29c6bdf6c94983a13d687ecb5eccb40.png

每次迭代中按阈值划分的高置信度和低置信度预测的准确率。更高的阈值会导致更好的准确率,但随着时间推移,每个阈值选择的准确率都会下降。图像由作者提供。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/0a15634d4ea5ccafd780fb5816c2aa9f.png

与第一次迭代相比,按阈值对 100 个和 10,000 个最初标记的训练样本(分别位于左侧和右侧)计算的每次迭代的准确率提升。注意不同的刻度。图像由作者提供。

通过观察上述图表,可以明显看出,通常情况下,更高的阈值会导致更好的结果——只要至少有一些预测超过了阈值。在未来的实验中,可以尝试在每次迭代时变化阈值。

此外,准确率在后期迭代中仍然有所提高,这表明迭代的性质确实带来了真正的好处。

主要发现和经验教训

链接

包含实验代码的仓库可以在这里找到。

相关论文:使用深度特征注释和基于置信度的采样的迭代伪标签方法

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 5:00:35

达梦数据库安全加固实战:手把手教你配置密码策略和登录限制(含安全版/非安全版差异)

达梦数据库安全加固实战:密码策略与登录限制深度配置指南 在数字化转型浪潮中,数据库作为企业核心数据的存储载体,其安全性直接关系到业务连续性和合规性。达梦数据库作为国产数据库的代表产品,在金融、政务等对安全性要求极高的领…

作者头像 李华
网站建设 2026/5/12 4:58:43

从零构建:基于微信小程序与ESP32的智能灯控系统全栈开发指南

1. 项目背景与核心功能 想象一下这样的场景:冬天窝在被窝里发现客厅灯没关,摸黑找开关太痛苦;出差在外突然想起家里走廊灯没关,又不想麻烦邻居帮忙。这时候如果有个能用手机远程控制的智能灯,问题就迎刃而解了。这就是…

作者头像 李华
网站建设 2026/5/12 4:53:15

LLM赋能强化学习:从奖励设计到智能体控制的实践指南

1. 项目概述:一个为智能体控制而生的前沿研究索引库 如果你正在研究如何让机器人、游戏角色或者任何需要与环境交互的智能体变得更“聪明”,那么你很可能正站在两个技术浪潮的交汇点上: 大语言模型 和 强化学习 。前者拥有近乎人类的理解…

作者头像 李华
网站建设 2026/5/12 4:53:13

低配置Mac也能运行:claude-code-local内存优化与模型选择策略

低配置Mac也能运行:claude-code-local内存优化与模型选择策略 【免费下载链接】claude-code-local Run Claude Code 100% on-device with local AI on Apple Silicon. MLX-native Anthropic-API server, 65 tok/s Qwen 3.5 122B, Llama 3.3 70B, Gemma 4 31B. Priva…

作者头像 李华
网站建设 2026/5/12 4:53:07

CMN-600错误注入与RAS事件处理深度解析

1. CMN-600错误注入机制深度解析在芯片验证领域,错误注入是验证系统可靠性的关键技术手段。Arm CoreLink CMN-600作为高性能互连芯片,其软件可配置错误注入功能允许开发者模拟各类硬件故障场景。这个功能主要通过HN-F(Home Node-Full&#xf…

作者头像 李华