想象你是一个果园采购员,要在上万棵果树里挑出最甜的 100 颗果子,但预算有限,不可能每颗都剖开尝一口。新手会随机摘几颗就下结论,精明的老手却有一套策略:先扫一圈,专挑那些“看着熟不熟最拿不准”的果子尝——因为它信息量最大;同时不同品种的树都得照顾到——免得只盯着一片好果园,就误以为整片山都甜。还要凭多年的挑果经验,先靠颜色、香气猜出七八分,只在关键时剖开验证。 AI 训练也是这样。标注一张图要花钱、花人力、花时间,而主动学习(Active Learning)就是那位“精明采购员”:它让模型自己判断“哪些图片最值得被标注”,用最少的标注预算撬动最高的模型精度。从怎么度量“拿不准”(不确定性采样)、怎么避免选到一堆相似图(多样性采样),到怎么和半监督学习配合、用什么工具落地——本文把这套“水果采购心法”完整讲给你听。
掌握主动学习,等于学会用最省的标注预算训出更好的 CV 模型——这是数据标注团队与算法工程师手里最实用的一把杠杆,值得每一位 AI 从业者掌握。
可视化演示
动态演示计算机视觉主动学习实战应用的核心机制,通过架构/数据/状态/性能四种模式展示关键概念与交互流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
计算机视觉主动学习实战应用:主动学习 主动学习的核心思想与CV标注成 不确定性采样的度量方法与选图逻 核心机制可视化 计算机视觉主动学习实战应用整体架构与关键组件
主动学习基础
采购员接手果园前,第一件事不是急着尝果子,而是想清楚策略:预算能尝多少颗、先扫哪片园子、每轮怎么规划。主动学习的起点也一样,它不改变你的模型结构,改变的是“数据从哪来”这件事。传统训练是模型被动等着投喂数据,主动学习则让模型主动开口:“我要标注这几张图,别给我那些我已经知道的。”
把这套逻辑翻译成技术语言:主动学习假设有一大堆未标注图片,称为未标注池 $\mathcal{U}$;每次从池子里挑一小批最有价值的样本,交给人工标注者(Oracle)打标签,然后更新训练集、重新训练模型,循环往复。整个循环是“训练 → 预测 → 挑图 → 标注 → 再训练”。挑图环节的核心,是所有主动学习算法的灵魂——选择函数(Query Strategy):
像采购员每轮尝过几颗果子,心里那份“哪片园子甜”的判断就更准一分。主动学习每轮挑完、标完、训完,模型对“哪些图有价值”的认识也更新一次。标注预算有限,所以每一轮挑选都格外珍贵——这正是整套方法的出发点。
- 候选池 $\mathcal{U}$所有还没标注的图片集合,就像果园里还没被尝过的果子。
- 评分函数 $s(x)$给每张图打一个“价值分”,表示这张图值得标注的程度。
- $\arg\max$ 贪心挑选每次都挑当前得分最高者,一步步逼近最优。
不确定性采样
采购员手握预算,最该先尝哪颗?老手的答案是:越“拿不准”的果子越要先剖开看。一颗表皮红得透亮的苹果,谁都知道它甜;但一颗颜色发黄又带点斑的,你反而想切开验证——因为它可能惊艳,也可能酸掉牙,信息量最大。不确定性采样(Uncertainty Sampling)就是这个思路:挑模型“最犹豫”的样本。
对于一个分类模型,输入一张图 $x$,它会输出属于每个类别的概率 $P(y=c|x)$。如果模型对某张图输出“猫 50%、狗 50%”,说明它快纠结死了,这张图最有训练价值。最常用的度量是熵(Entropy),它把“犹豫程度”量化成一个数:
除了熵,还有两个常用的“犹豫”指标。一个是间隔采样(Margin Sampling),看最大概率和第二大概率差多少,差值越小越犹豫;另一个是最低置信度(Least Confidence),直接看最大概率本身,越低越值得标。间隔的定义是:
$M(x)$ 越小,说明模型在两个类别间摇摆越厉害,这张图越需要人工给个“标准答案”。一颗果子越让老采购员看不透,他越要亲自剖开;一张图越让模型两头为难,它越该被送去标注——这就是不确定性采样的全部哲学。
- 类别概率 $P(y=c|x)$模型猜测图 $x$ 属于第 $c$ 类的概率,取值在 0 到 1 之间。
- 对数项 $\log P$把概率映射到“信息量”的尺度,概率越小、信息量越大。
- 对类别求和把所有类别的贡献加总,均匀分布时熵最大。
多样性采样
只挑“拿不准”的果子有隐患。假设果园东头有好几棵相邻的苹果树,因为光照差都长着半青半红的果子,模型对它们全都“拿不准”。如果你挨个标注,等于花三份预算买了三颗几乎一模一样的果子。聪明的采购员会先抬头看看全局:东边一片、西边一片、山上还有一片,每片挑一颗代表尝尝,心里对整个果园才有谱。多样性采样(Diversity Sampling)干的就是这件事。
常见的做法是聚类选择:把未标注图片的特征向量做聚类(比如 K-Means),每个簇里的图片彼此相似,于是从每个簇里挑一两个代表去标注,保证覆盖不同“口味”。更理论化一点的是核心集选择(Core-Set),它的目标是找一个小子集,使得子集里的点能“代表”整个候选池——两个聚类结果是殊途同归的“分区尝果”。核心集形式化如下:
在实际工程里,主动学习很少只用单一策略,常见套路是把不确定性和多样性组合起来:先按不确定性排出前几百张候选,再用聚类或核心集从里面“去重压缩”出最终的一批。先尝最可疑的,再保证品种多样——采购员的这两条铁律,也是主动学习的两根支柱。
- 代表子集 $V$从候选池里选出的 $k$ 个样本,就像挑出的 $k$ 颗代表果。
- 最近代表距离 $\min_{x_j \in V} d(x_i, x_j)$每个候选点找离它最近的代表点,距离越小越安心。
- 最大覆盖半径 $\max_{x_i \in \mathcal{U}}$让最远的那个候选点也别离代表点太远,保证全局覆盖。
半监督配合
经验丰富的采购员有个绝活:不用剖开果子,光看颜色、捏捏软硬,就能猜个八九不离十。他仍然会剖开最关键的几颗验证猜测,但其他果子靠经验“猜”就能节省大量动作。半监督学习(Semi-Supervised Learning)就是 AI 界的“猜果经验”,它和主动学习配合起来天衣无缝。
具体怎么配合?主流做法是伪标签(Pseudo-Labeling):用当前模型对未标注图做预测,只采纳置信度足够高的预测作为“假标注”,加进训练集一起训练。比如模型对某张图输出“猫 98%”,那这张图就贴上个“猫”的伪标签,当真实标注用。判断依据是一个阈值:
更进一步,还可以把伪标签作为一项正则化约束加入总损失,让模型在带标签和无标签数据上一起训练:
其中 $\mathcal{L}_{\mathrm{sup}}$ 是人工标注的监督损失,$\mathcal{L}_{\mathrm{unsup}}$ 是无标注数据的正则损失(比如对图片做随机增强后,模型输出要保持一致),$\lambda$ 是两者权重。主动学习和半监督的分工很清晰:主动学习解决“标什么”,半监督解决“用什么不标的数据”。一个派活,一个干活,配合起来能把标注预算的价值放大数倍。
- 模型输出 $f_c(x)$模型对图 $x$ 属于类 $c$ 的打分。
- 置信度阈值 $\tau$一个超参数,表示“多大把握才算可靠”,通常设 0.95 左右。
- $\arg\max_c$ 选标签把概率最大的类别当作这张图的伪标签。
CV场景应用
不同水果有不同挑法:西瓜靠拍、芒果靠闻、苹果看色。CV 任务也一样,图像分类、目标检测、语义分割、关键点检测,各自的不确定性度量方式大不相同。直接照搬通用公式,就像拿拍西瓜的手势去拍葡萄,必然翻车。
图像分类最简单:整张图过一个分类网络,直接对输出的 softmax 概率算熵或 margin 就行。一张图对应一个不确定性分数,干净利落。目标检测则复杂得多——图上有一堆框,每个框里一个物体、带一个分类概率,模型对这张图的“犹豫”要怎么算?常用做法是聚合:把所有候选框的不确定性取平均,或者取最高 Top-K 框的均值,把“图级不确定性”推导出来:
语义分割对每个像素都要输出类别,不确定性可以在像素级算好,再聚合成“图平均不确定性”或“高不确定像素占比”。关键点检测则更讲究:遮挡、模糊的关键点才是标注难点,可以只取最不确定的那几个关键点区域去标注。核心原则始终不变:把模型当前的“犹豫”准确地汇总成一张图的优先级,只是换了一把符合任务形态的尺子。
- 元素集合 $P_I$图片 $I$ 内所有待聚合的元素,检测任务中是预测框,分割任务中是像素。
- 元素级分数 $s(p)$每个框或像素各自算出的不确定性(熵或 margin)。
- 平均聚合 $\frac{1}{|P_I|}\sum$把元素级分数平均,得到整张图的标注优先级。
工具与框架
老采购员会定期擦亮自己的工具箱:电子秤称重、光谱仪测糖、小刀剖果,各有各的用场。做主动学习也一样,不需要什么都从零造轮子——一套趁手的工具能让你从“想法”快速跑到“实验验证”。
最常用的轻量级工具是 modAL,它把主动学习封装成了 sklearn 风格接口,几行代码就能搭一个循环:定义模型、定义查询策略、调用 fit 和 query。非常适合做基线实验和数据集的初步验证。另一个思路是在 PyTorch 生态里自己写训练循环,灵活度最高——你可以把不确定性计算插进任何模型前向传播之后,再配合 DataLoader 对未标注池做批量推理。一个典型的流程形式化如下:
开源世界里还有不少现成方案:像 ALiPy 提供了丰富的策略对比框架,Baal 支持贝叶斯不确定性估计,慢速但更稳健的 scikit-activeml 也是学术实验的好帮手。选工具的准则和挑水果一样——别选最贵的,选最合手型的。先拿 modAL 跑通基线,确认策略有效,再迁移到 PyTorch 定制化管线,是性价比最高的路径。
- 上一轮模型 $\mathcal{M}_{t-1}$当前已训练好的模型,用来给未标注图打分。
- 查询函数 $\mathrm{Query}$采样策略(熵、margin、核心集),是采购员手里的工具。
- 批量大小 $k$每轮挑几张送标,太小浪费人力排班,太大挑选精度下降。
项目落地
光有策略和工具,离真正“把果子卖上好价钱”还差一套完整的采购流程。落地主动学习项目时,你会遇到几个现实问题:一开始模型啥都没学过,怎么知道哪张图“不确定”?每轮送标多少张才不会让标注团队手忙脚乱?怎么量化这套方法到底省了多少钱?
第一个问题叫冷启动。模型还没训练,不确定性无从谈起。稳妥的做法是先随机标注一小批(几十到几百张)打底,训练出一个“粗糙但能用”的模型,再从第二轮开始走上主动学习正轨。这就像采购员首次进园,绕了一圈先摘几颗找找手感,后面才进入“挑最有价值”的精细操作。第二个问题是轮次管理:每轮送标量 $k$ 不宜太大也不宜太小,通常设为数据总量的 1%~5%,并保持与标注团队产能匹配。
第三个问题最关键——效果评估。不要只看最终精度,要看“预算-精度”曲线的形状:同样标注 5000 张,主动学习比随机采样高几个点?一个简单的量化指标是每轮标注增益:
工程排坑还有个常见细节:每轮对未标注池重新提取特征时,记得缓存特征向量,否则几百个 epoch 的推理会拖垮迭代速度。还要给每轮采样加“去重”保护,防止模型反复挑出几乎同一张图。至此,从策略到工具再到流程,你和那位精明采购员之间只差一次次实践了——先小规模跑通,再扩大预算,让每一分标注钱都花在刀刃上。
- 预算 $b$ 与基线 $b_0$$b_0$ 是冷启动的初始标注量,$b$ 是当前累计标注量。
- 精度差 $\mathrm{Acc}(b) - \mathrm{Acc}(b_0)$多标出来的这部分数据带来的模型精度提升。
- 归一化 $\frac{\cdot}{b - b_0}$精确到“每增加一张标注换多少精度”,公平比较不同方法。
AI 应用场景
安防监控的目标检测标注优化
阶段:数据标注与模型迭代训练
解决的问题:安防摄像头每天产生海量监控画面,其中绝大多数是“无人、无车、无异常”的平庸帧。传统做法是把所有画面都送入标注平台,标注员耗费数小时标注大量对训练毫无帮助的背景图。主动学习让检测模型先学习一个粗糙版本,然后只挑出模型“拿不准”的帧——例如光线复杂的夜晚、遮挡严重的行人——优先送标,标注预算直接降低 60% 以上。
具体案例:某园区智能安防团队部署行人检测模型,原始方案每月需人工标注 5 万帧。引入以熵聚合为查询策略的主动学习后,每月只精标 1.5 万帧,模型在低光照场景的 mAP 反而提升了 4 个百分点。标注员也不用再熬夜刷无意义的空镜头。
自动驾驶长尾场景挖掘
阶段:数据采集与筛选
解决的问题:自动驾驶路测数据中,99% 是晴天笔直公路,真正决定系统安全的是那些“长尾”场景——暴雨、逆光、突然窜出的行人。人工从海量路测数据里捞这些场景如同大海捞针。主动学习利用多样性采样对场景特征聚类,再配合不确定性采样,自动把“罕见但模型害怕”的片段挖出来送标,让每一份标注预算都花在提升安全性的刀刃上。
具体案例:某自动驾驶公司用核心集选择算法对 200 万帧路测数据做主动筛选,每轮只精标 2 万帧。迭代三轮后,模型在长尾场景的误检率下降了 32%,而常规场景精度几乎无损。数据车队的采集效率和标注团队的产能都得到了最优化配置。
医疗影像的病灶筛查加速
阶段:辅助诊断模型训练
解决的问题:肺部 CT 筛查中,大部分切片的阴影都是良性的,真正的病灶占比很低。放射科医生时间宝贵,不可能逐张精标。主动学习让模型先学一遍,只把“特征最模糊、最需要专家判断”的切片挑给医生——比如小结节良恶性难辨的区域,配合 entropy 与 margin 两种不确定性度量交叉验证,医生标注量大幅减少,模型却越训越敏锐。
具体案例:某医疗 AI 团队开发肺结节检测模型,原始方案需要医生标注 1 万套 CT。采用主动学习后,医生只精标 3 千套,模型在独立测试集上的敏感度反而提升了 5.1%。团队把省下的标注预算用于扩充 MRI 新模态数据,整体产品线加速了三个月的研发周期。
Python 演示
import numpy as npfrom sklearn.linear_model import LogisticRegressionfrom sklearn.datasets import make_classification X, y = make_classification( n_samples=400, n_features=2, n_redundant=0, n_informative=2, n_clusters_per_class=2, flip_y=0.05, random_state=42)rng = np.random.RandomState(0) INIT_N = 20BATCH = 10ROUNDS = 10 def run_active(): idx = np.array(rng.choice(len(X), INIT_N, replace=False)) accs = [] for _ in range(ROUNDS): clf = LogisticRegression() clf.fit(X[idx], y[idx]) accs.append(clf.score(X, y)) cand = np.setdiff1d(np.arange(len(X)), idx) proba = clf.predict_proba(X[cand]) ent = -(proba * np.log(proba + 1e-9)).sum(axis=1) pick = cand[np.argsort(ent)[::-1][:BATCH]] idx = np.concatenate([idx, pick]) return accs def run_random(): idx = np.array(rng.choice(len(X), INIT_N, replace=False)) accs = [] for _ in range(ROUNDS): clf = LogisticRegression() clf.fit(X[idx], y[idx]) accs.append(clf.score(X, y)) cand = np.setdiff1d(np.arange(len(X)), idx) pick = rng.choice(cand, BATCH, replace=False) idx = np.concatenate([idx, pick]) return accs acc_active = run_active()acc_random = run_random()print("主动学习各轮准确率:", [round(a, 3) for a in acc_active])print("随机采样各轮准确率:", [round(a, 3) for a in acc_random])print("最终领先幅度:", round(acc_active[-1] - acc_random[-1], 3))
make_classification(n_samples=400, ...)生成 400 张“图片特征”的模拟数据集,两簇分布让分类有难度,更贴近真实 CV 特征。clf.fit(X[idx], y[idx])只拿当前已标注的样本训练模型,模拟“预算有限”的标注场景。proba = clf.predict_proba(X[cand])对未标注池做批量推理,得到每张图属于各个类别的概率。ent = -(proba * np.log(proba + 1e-9)).sum(axis=1)按熵公式计算每张图的不确定性,1e-9防止对 0 取对数。pick = cand[np.argsort(ent)[::-1][:BATCH]]把未标注图按熵从高到低排序,挑出最犹豫的 10 张送标。accs.append(clf.score(X, y))每轮在全量数据上评估模型精度,画出“预算-精度”曲线。run_random()` 中的 `rng.choice(cand, BATCH, replace=False)随机挑 10 张当作对照组,与主动学习做公平对比。
常见误区
误区“模型越不确定,这张图就越值得标。我只要把熵算出来,从高到低排个序挑 top-k 就行。”
正解不确定性高只代表模型“没把握”,不代表这张图能带来新知识。果园里东头那排光照不足的树,果子全都青红参半,模型对它们全都不确定——但标了三颗就会发现它们长一个样,后面的全是冗余。正确做法是让不确定性采样和多样性采样配合:先按不确定度圈定一批候选,再用聚类或相似度去重,保证挑出来的每一张图都贡献新信息。
为何常见:初学者最容易只盯单一指标,忽略了数据集的整体分布,觉得“越犹豫越有价值”这个直觉很自然,但没想过“大量样本可能同样地犹豫”。
误区“最低置信度算起来最快,熵还要算 log,差别不大,我用最简单的就行。”
正解不同策略的偏好其实不同:最低置信度只看最大概率,容易忽略第二、第三类别的分布;熵对整体分布更敏感,但计算稍重;margin 则特别适合类别高度重叠的场景。就像挑西瓜,拍、掂、看藤都是手段,各有各的适用场合。实际项目中应至少对比两种策略,在验证集上挑效果好的,而不是拍脑袋决定。
为何常见:代码里置信度只需一行 1 - proba.max(),看起来“省事”,让人误以为省事就是好。
误区“我分类任务上熵策略有效,检测任务直接把每个框的熵算出来取最大不就行了?”
正解目标检测和语义分割的输出结构是“一组框/一组像素”,直接在框级或像素级算不确定性会带来尺度偏置:大框天然比小框熵值高,背景像素占多数的图平均熵会被稀释。正确姿势是按任务形态做聚合——检测用框内最大类别熵、Top-K 框均值;分割用高不确定像素占比或区域平均。每种任务要找自己的“尺子”,不能一把卡尺量所有水果。
为何常见:分类任务的不确定性计算太简单,形成思维惯性,忽略了 CV 不同任务输出结构的巨大差异。
误区“我预算 5000 张,第一轮就把 5000 张全部挑出来送标,省得来回折腾。”
正解主动学习的核心假设是“模型在训练中不断成长”,第一轮模型还很弱,它认为“最有价值”的样本未必真的有价值。就像刚进果园的新手,看谁都像甜的,转了三圈才找到门道。正确做法是采用小批量多轮迭代:每轮标 200~500 张,训练一轮再挑下一批,让模型在每个阶段都能用最新的眼光重新评估候选池。
为何常见:把主动学习误解成“一次性筛选工具”,忽略了它与模型训练的耦合——挑选策略的质量依赖于模型的成熟度。
误区“半监督的伪标签嘛,阈值设 0.99,模型只有非常肯定才给伪标签,这样一定最安全。”
正解阈值过高会导致绝大多数未标注数据被浪费,半监督形同虚设;阈值过低则会引入大量噪声标注,反而拉低训练精度。阈值 $\tau$ 是一个需要调参的权衡旋钮,实践中 0.9~0.95 常用,但也取决于任务难度和类别数量。更稳妥的做法是配合数据增强的一致性约束(对同一张图做不同增强,模型输出应稳定),让低置信样本也能以“软约束”的方式参与训练。
为何常见:“越保守越安全”的直觉在标注环节成立,但半监督的精髓恰恰是“安全地利用那部分不确定但有用的数据”,误把保守当原则。
面试题
Q1. 主动学习的核心目标是什么?
- A.用更少的标注获得更高精度← 正确答案
- B.让模型对所有样本都确定
- C.减少模型的训练参数量
- D.加快单次前向推理速度
答案:A。主动学习解决的是“标注预算有限”问题,核心目标是用最少的人工标注换取尽可能高的模型精度,类似采购员用有限的品尝次数挑出最甜的果子。它既不减少参数量,也不优化推理速度,更不是追求“对一切都确定”。
Q2. 关于熵 $H(x) = -\sum_{c} P(y=c|x)\log P(y=c|x)$,以下说法正确的是?
- A.概率分布越均匀熵越大← 正确答案
- B.概率分布越极端熵越大
- C.熵的大小与概率无关
- D.熵越大表示置信度越高
答案:A。熵衡量分布的“混乱程度”。当模型对各类别概率输出均匀(如猫 0.5、狗 0.5),熵最大,代表模型最纠结;概率越极端(如 0.99 vs 0.01),熵越小,模型越有把握。所以熵大 = 不确定高,而非置信度高。
Q3. Margin 采样中,间隔 $M(x) = P(\hat{y}_1|x) - P(\hat{y}_2|x)$ 代表什么?
- A.最大两类概率之差← 正确答案
- B.最小两类概率之和
- C.所有类别的平均概率
- D.最大概率与熵的乘积
答案:A。Margin 取最大概率与第二大概率之差。差越小说明模型在“第一名”和“第二名”之间摇摆,越需要标注。它比最低置信度多考虑了“第二选择”,好比果子虽然被判定为甜,但甜味和酸味非常接近,仍需切开来确认。
Q4. 以下哪些属于主动学习的采样策略?
- A.熵不确定性采样← 正确答案
- B.间隔不确定采样← 正确答案
- C.置信度最低采样← 正确答案
- D.随机梯度下降法
答案:ABC。熵、间隔、置信度是三种主流的不确定性采样策略,分别从不同角度度量模型“犹豫”程度。随机梯度下降是优化器,与“挑哪些样本标注”无关,属于训练环节的工具,不是采样策略。
Q5. 多样性采样主要解决什么问题?
- A.避免选到相似冗余样本← 正确答案
- B.缩小特征向量的维度
- C.加快反向传播计算速度
- D.降低标注人员的时薪
答案:A。如果只按不确定性挑,可能选出一堆彼此相似的“难点”,信息冗余。多样性采样通过聚类或核心集让挑选的样本广泛覆盖整个数据分布,保证每张标注图都贡献新知识,如同采购员会照顾到不同品种的果树。
Q6. 关于主动学习与半监督学习的配合,以下说法正确的是?
- A.高置信伪标签可扩充训练集← 正确答案
- B.一致性正则能利用无标注数据← 正确答案
- C.两种方法互斥不能同时使用
- D.伪标签只用于测试集评估
答案:AB。半监督学习中,高置信伪标签和一致性正则都能利用海量未标注数据,与主动学习互补——主动学习决定“标哪张”,半监督决定“怎么榨干不标的那些”。二者并非互斥,伪标签作用于训练集而非测试集。
Q7. 目标检测任务中,如何把框级不确定性聚合成图级标注优先级?
- A.对框内分数取平均聚合← 正确答案
- B.取整张图最大像素熵
- C.对每像素做独立人工标注
- D.直接套用分类任务熵公式
答案:A。检测输出多个预测框,每框有独立概率分布。图级优先级通常将所有框的不确定性取平均(或 Top-K 均值)聚合,得到“这张图整体有多值得标”。逐像素标注成本过高,直接套分类熵到多框输出则忽略了框的粒度差异。
Q8. 核心集选择(Core-Set)的核心思想是什么?
- A.用小子集覆盖整个数据分布← 正确答案
- B.只选每个类别的中心样本
- C.在全量数据上做随机采样
- D.先标注全部再筛掉冗余
答案:A。核心集挑选 $k$ 个代表点,使所有候选点到最近代表点的最大距离尽量小——即用最少代表覆盖最广分布。它并不局限于类别中心,也不做全量标注,而是数学上求解一个“最优覆盖”子集。
Q9. 主动学习项目落地时,哪些工程做法是合理的?
- A.缓存特征向量加速每轮推理← 正确答案
- B.迭代式小批量标注与管理← 正确答案
- C.多轮模型版本对比评估效果← 正确答案
- D.第一轮标完所有候选样本
答案:ABC。缓存特征避免每轮重复对整个未标注池推理;小批量迭代是主动学习的标准节奏;多轮版本对比能看到预算-精度曲线。一次性标完所有候选,既违背“边训边挑”的迭代思想,也让预算利用率大打折扣。
Q10. 主动学习项目冷启动阶段,最好的做法是?
- A.先随机标注小批量样本← 正确答案
- B.等积累海量数据再启动
- C.仅采集已确定类别的样本
- D.跳过标注直接预训练模型
答案:A。冷启动时模型还没学会任何东西,“不确定性”无从谈起,因此先随机标注一小批样本训练出粗糙模型,再进入主动学习循环。这与采购员第一次进园先随手摘几颗“找手感”的道理完全一致。