3. 采集策略设计:主动采集与被动采集、随机采样与困难样本挖掘、平衡探索与利用
好,咱们进入第三章。这一章我打算聊聊采集策略的设计。说白了,就是解决一个核心问题:数据从哪来,怎么来,才能让模型学得又快又好。
我在做数据 pipeline 的时候,发现很多团队一上来就闷头采数据,采了一大堆,结果模型效果还是上不去。为什么?因为策略不对。你想想看,喂给模型的数据,如果全是它已经会的,那它永远学不到新东西。反过来,如果全是它完全看不懂的,那它直接崩溃。
所以,这一章我们拆成三个部分来讲:主动采集 vs 被动采集、随机采样 vs 困难样本挖掘,以及如何平衡探索与利用。
3.1 主动采集 vs 被动采集:谁在驱动数据流?
先问一个问题:你的数据是用户主动给的,还是系统偷偷记下来的?
这两种方式,我分别叫它「主动采集」和「被动采集」。它们没有绝对的好坏,但适用场景完全不同。
主动采集
主动采集,就是用户明确知道自己在贡献数据。比如:
- 用户给搜索结果点「赞」或「踩」
- 用户填写反馈表单:「这个回答有用吗?」
- 用户手动标注图片中的物体
这种数据质量通常很高,因为用户是有意识地在表达偏好。但问题也很明显——采集成本高。用户凭什么帮你干活?你得设计激励机制。
关键点:时机比形式更重要。
被动采集
被动采集,就是系统在后台默默记录用户行为,用户甚至不知道。比如:
- 用户点击了哪个链接
- 用户在某个页面停留了多久
- 用户输入了哪些关键词但没点结果
这种数据量大、成本低,但噪声也大。用户点了一个链接,不代表他喜欢这个结果——可能只是手滑。用户停留时间长,也不代表内容好——可能只是去接了个电话。
所以,我的建议是:主动采集用来做「定性验证」,被动采集用来做「定量覆盖」。两者结合,才是王道。
3.2 随机采样 vs 困难样本挖掘:数据不是越多越好
好,数据来源搞定了。下一个问题:采哪些数据?
很多人觉得,随机采样最公平。嗯,从统计学的角度讲,随机采样确实能保证无偏。但问题是,模型训练不是做统计调查。模型需要的是「有信息量的样本」。
随机采样
随机采样就是无差别地从数据池里抽。优点是简单、无偏。缺点是:
- 大量样本是「简单样本」,模型早就学会了
- 少量「困难样本」可能永远抽不到
- 训练效率低,浪费计算资源
举个例子。你在训练一个垃圾邮件分类器。随机采样 1000 封邮件,可能 950 封都是「正常邮件」,50 封是「垃圾邮件」。模型学完,准确率 95%,看起来很漂亮。但实际部署时,它把真正的垃圾邮件全放过去了——因为训练时根本没见到多少垃圾邮件样本。
困难样本挖掘
困难样本挖掘,英文叫 Hard Negative Mining 或 Hard Example Mining。核心思想是:专门去找模型当前最容易犯错的那些样本。
怎么做?流程一般是:
- 用当前模型对未标注数据做一次预测
- 找出预测置信度最低的样本(模型最不确定的)
- 把这些样本送去人工标注
- 用新标注的数据继续训练模型
这样迭代几轮,模型会越来越强。因为它在不断「啃硬骨头」。
或者:困难样本 = 模型预测结果与真实标签差距最大的样本
我在一个图像识别项目里用过这招。一开始模型对「猫」和「狗」的区分准确率只有 82%。我们随机采了 5000 张图去标注,效果提升到 85%。后来改用困难样本挖掘,只采了 1000 张模型最不确定的图,准确率直接跳到 91%。同样的标注预算,效果差了三倍。
3.3 平衡探索与利用:强化学习视角下的采集策略
最后这部分,我想聊聊一个更高级的话题——探索与利用的平衡。这个词你可能在强化学习里听过,但它在数据采集里同样重要。
简单解释一下:
- 利用(Exploitation):采那些「已知能带来好效果」的数据。比如,模型已经知道某些样本很难,那就继续采类似的。
- 探索(Exploration):采那些「不确定有没有用」的数据。比如,随机去采一些从未见过的样本类型。
如果只利用不探索,模型会陷入局部最优。如果只探索不利用,模型永远学不到深度。
怎么平衡?我常用的策略有三种:
| 策略 | 描述 | 适用场景 |
|---|---|---|
| ε-贪心 | 以 ε 的概率随机探索,以 1-ε 的概率选择当前最优 | 初期 ε 设大一点(0.3),后期逐渐减小到 0.05 |
| UCB(上置信界) | 优先采那些「不确定性高」且「潜在收益大」的样本 | 样本量充足,需要精细控制时 |
| 汤普森采样 | 用贝叶斯方法,根据后验分布随机采样 | 数据稀疏,需要概率建模时 |
我个人最常用的是 ε-贪心,因为它简单、好解释。但要注意,ε 的衰减曲线很关键。我见过一个团队把 ε 设成固定值 0.1,结果模型训练到后期还在大量探索,收敛速度慢得离谱。后来改成指数衰减,效果好多了。
3.4 知识体系总览
下面这张图,我把本章的核心逻辑画出来了。你可以把它当作一个决策流程图:
嗯,这张图基本把本章的脉络串起来了。从上到下,先决定数据来源(主动/被动),再决定采样方式(随机/困难),最后用探索与利用的机制来动态调整。
最后说一句:没有完美的策略,只有适合当前阶段的策略。项目初期多探索,中期多利用,后期再微调。这个节奏,你慢慢就会找到感觉。
公众号:蓝海资料掘金营,微信deep3321