想象一家刚成立的小医院影像科:资料库里躺着十万张CT片子,可全科只有一位即将退休的老专家。要教AI助手读片,传统“全监督”路线需要老专家亲手把每张片子的病灶描成精细轮廓——这就像让一位名医抄写整座图书馆的藏书,等抄完,病人早就散场了。好在科里来了三位风格迥异的年轻医生:半监督医生让老专家只带教几个典型病例,自己消化其余的海量片子;弱监督医生只要一份“有/无病灶”的报告单,就自己琢磨病灶究竟长在哪;自监督医生干脆不要任何答案,靠解剖结构自身的规律自学成才。三者共享同一个现实:人类专家的时间永远稀缺,而医疗数据近乎无限。这篇文章,就是带你看懂三位医生各自的看家本领、实战套路与选人用人的心法。
学会在标注稀缺时“用更少的标签撬动更多的数据”,是医学影像AI工程师的核心竞争力——它直接决定一个项目能否在预算与时间都拮据的临床环境中落地。
可视化演示
展示半监督伪标签生成、弱监督CAM分割及自监督对比学习三种标注稀缺场景方案,切换模式查看。
本节配有交互动效(进入视口后自动加载,约 3KB)。
半监督学习 少量标注L+大量未标注U 伪标签PL迭代增强 L∪PL→model, iterate 伪标签扩展训练集
标注稀缺之困
老专家翻开那本泛黄的《标注手册》,第一页写着一行字:“每张片子必须逐像素勾勒病灶轮廓,双人复核签名。”他苦笑着放下笔——按照这个标准,十万张CT够他画到下个世纪。全监督学习就像这本手册要求的那样,假定每个训练样本都配有精确答案:模型从“问题-答案”对里学习,答案越全、越细,学得越扎实。可医学影像偏偏是最贵的答案来源,一位持证影像科医生标注一张分割图需要四十分钟,还要面对漏诊责任的压力。标注,成了整个AI流程里最昂贵的瓶颈。
于是行业把目光投向了一个朴素的问题:能不能让模型少依赖一点人工答案,多依赖一点数据自身的规律?沿着这个思路,三种范式陆续登场。半监督学习手里握着一小撮“金标准”标注,四周是海量的未标注片子,它想的是“用少量精确答案激活大量沉默数据”;弱监督学习把标准降到“只看报告结论”,用一句“右肺上叶有磨玻璃结节”代替像素级勾勒;自监督学习则彻底抛开人工标签,让模型从图像本身的结构里自学。三者合在一起,构成了标注稀缺场景下的完整工具箱。
要理解三者的位置,先看它们共同的参照系——全监督的损失函数。假设我们手头有 N 张带标注的影像,训练目标是让模型预测和专家答案尽量一致:
回归老专家的困境:全监督是“最好的老师、最贵的学生”,每学会一张片子都要付出一份专家时间。三位新来的年轻医生,正是为了在专家时间耗尽之前,把整座图书馆“读”完。
- 训练数据集$x_i$ 是第 $i$ 张医学影像,$y_i$ 是专家给的标签(分类中是“有/无病变”,分割中是像素级轮廓),$N$ 是标注样本总数。
- 模型预测$f(x_i \mid \theta)$ 表示参数为 $\theta$ 的网络对第 $i$ 张影像的输出,对分割任务来说,输出是与原图同尺寸的概率图,每个像素点都有一个“属于病灶”的概率。
- 平均损失$\ell(\hat{y}_i, y_i)$ 度量预测与标签的差异,分类常用交叉熵,分割常用 Dice 损失或交叉熵;对所有样本取平均,就得到需要最小化的总目标 $\mathcal{L}_{sup}$,最优参数 $\theta^{*}$ 由最小化它得到。
半监督核心原理
老专家实在挤不出时间,只认真带教了三例典型肺炎CT。实习生很聪明,他先死死记住这三例的样子,然后自己翻阅剩余几百张片子,凡是他觉得“和典型病例够像”的,就先写上初步诊断、折个角放在一边,当作自己出的练习题,反复核对。这种“先猜、挑有把握的记下来当答案、再学”的循环,就是半监督学习的雏形——它同时拥有一点带标签数据(师父教过的三例)和大量无标签数据(自己翻的几百张)。
半监督的形式化设定很简洁:有 $N$ 个带标注样本,$M$ 个无标注样本,且 $M \gg N$。它隐含一个关键假设——聚类假设:相似的片子大概率属于同一类,所以在特征空间中聚成一团的未标注样本,可以共享邻居的标签。基于这个信念,最经典的策略是伪标签自训练:先用有标数据训练一个初始模型,再对无标数据做预测,挑选置信度最高的预测作为“伪标签”,连同有标数据一起训练新模型,如此迭代。另一个重要支柱是一致性正则:同一张片子经过轻度扰动(旋转、加噪、裁切)后,模型的输出不应剧烈变化,这种“扰动不变性”本身就是天然的教学信号。再配合熵最小化——鼓励模型对无标数据的预测尽量“斩钉截铁”,而非含糊其辞——就构成了半监督的三板斧。
把这套逻辑写成损失函数,可以看到它是在全监督基础上多挂了一项“从无标数据中榨取信号”的项:
回到实习生的故事:他的笔记越折越厚,诊断能力也从三例典型片子的“死记硬背”,逐渐变成能独立应对百变病例的“临床直觉”——半监督的精髓正是用一点真金白银的标注,撬动一整片沉默的数据矿藏。
- 有标监督项前半部分与全监督完全一致,在有标样本上计算预测与真实标签的差距,保证模型方向不跑偏。
- 生成伪标签对无标样本 $\tilde{x}_j$,先让当前模型输出各类别概率 $p_k$,取最大概率对应的类别作为伪标签 $\hat{y}_j$——相当于实习生写下“我认为这是肺炎”。
- 置信度门控指示函数 $\mathbb{1}[\cdot]$ 表示“只有最大置信度超过阈值 $\tau$ 的预测才被采纳”,这是防止低质量猜测污染模型的关键闸门——实习生只折角标记非常有把握的片子,拿不准的翻过。
- 权重调节$\lambda_u$ 控制无标项整体影响力,通常训练初期设小、后期逐步加大(也叫 ramp-up 策略),让模型先站稳脚跟再放开手脚自学。
半监督实战套路
实习生的本子越记越厚,但真要他独立画病灶边界,还是心里发虚。医院给他配了两位带教:一位是资深主治医生——以 U-Net 为主干的分割网络,负责从有标数据里学“金标准画法”;另一位是“影子老师”——一个总比学生慢半拍的模型,参数通过学生参数的滑动平均(EMA)不断更新,它不直接学标签,而是专门提供“标准答案的平滑版本”供学生对照。这套师生框架在医学影像圈里叫 Mean Teacher,是半监督分割落地的经典配置。
具体流程分四步走。第一步,用少量有标影像把 U-Net 训练到“基本会画”;第二步,对无标注影像施加两种不同的随机扰动(比如仿射变换、高斯噪声),分别交给学生和影子老师,计算它们输出之间的差异——差异大说明学生学得还不稳,需要修正;第三步,把影子老师输出中不确定性低的区域提取出来,当作高质量的伪标签回灌给学生;第四步,重复迭代。整个过程里,置信度过滤是生命线:医学影像噪声大、病灶形态多变,如果伪标签不设门槛,等于让实习生把每一个错误猜测都折角当笔记,错误会像雪球一样越滚越大。
扰动下的输出一致性约束,是这套流程的数学核心。对每张无标影像,我们要求学生与影子老师的预测互相靠拢:
两位老师一个主攻、一个把关,学生在高置信区间大胆学、低置信区间谨慎问。这就是 Mean Teacher 式半监督在医学影像分割中的日常:不需要更多专家的笔,只需要让已有的每一笔标注发挥出十倍杠杆。
- 随机扰动$\mathcal{A}(x)$ 和 $\mathcal{A}'(x)$ 是两张经过了不同随机扰动的同一影像。扰动是“考试变题”——不会改变病灶本质,却考验模型是否真的抓住了结构而非死记硬背。
- 师生双视角$F_\theta$ 是学生网络,$F_{\theta'}$ 是影子老师网络。影子老师不参与梯度更新,而是用 EMA 方式跟踪学生的历史状态,提供更稳定的“参考答案”。
- 平方误差$\| \cdot \|_2^2$ 逐像素比较两个输出的差异。该差值在无标数据上反向传播给学生,形成无监督的学习信号——影子老师的话虽不是金标准,却足以引导学生走向稳健。
弱监督热图原理
老专家连轮廓都懒得画了,只愿意在每个病例报告单上写一句话:“右上肺有结节”或“未见异常”。实习生拿到一摞只有结论、没有批注的报告单,反倒琢磨出一招妙计:既然分类模型说“有结节”,那它一定是看到了某些像素才敢下结论——把模型“目光停留的地方”反过来画出来,不就是病灶的位置吗?这个“目光地图”在学术上叫类激活图(CAM),它是弱监督定位的第一块基石。
弱监督学习的核心设定,是只用图像级标签(整张片子“有没有病”)来训练模型完成定位甚至分割任务,彻底绕开昂贵的像素级标注。CAM 的实现并不复杂:取一个训练好的分类网络,把最后一个卷积层的每个通道特征图保留下来;分类层不是直接对整张图下结论吗?它对每个通道都有一个权重,这个权重恰好刻画了“该通道对判定结果贡献了多少”。把所有通道按权重加权叠加,再做一个 ReLU 截断,就得到了一幅“哪里让模型产生这个结论”的热力图。
CAM 的数学表达如下。设最后一个卷积层有 $K$ 个通道,$f_k(x,y)$ 是第 $k$ 个通道在位置 $(x,y)$ 的响应值,$w_k^c$ 是分类层对类别 $c$ 在第 $k$ 个通道上学习的权重:
报告单是“结论”,CAM 把结论翻译成“目光落点”。实习生据此画圈,虽然圈得粗糙,却已经能大致锁定病灶所在的区域——而这,正是弱监督分割实战的起点。
- 卷积特征图$F \in \mathbb{R}^{K \times h \times w}$ 是最后一个卷积层的输出。每个通道 $f_k$ 相当于一种“视觉滤波器”,有的响应血管纹理,有的响应结节边缘。
- 分类权重$w_k^c$ 是全局平均池化后全连接层中,类别 $c$ 对第 $k$ 个通道的权重。它解答了“这个通道对判定为 $c$ 有多重要”——权重越大,该通道的激活区域越可能是病灶。
- 加权叠加与截断按权重把所有通道热图叠加,并用 $\mathrm{ReLU}$ 抑制负值。负激活往往对应“与类别相反”的证据(如“非病灶”区域),截断后热区更干净。
弱监督分割实战
画圈容易、圈得准难。实习生很快发现:CAM 热区往往只覆盖病灶最“醒目”的一小块——比如结节中心亮得刺眼,边缘的毛刺、分叶却被忽略。这就像用激光笔照地图,只照亮了城市中心,却看不清整个城区。要得到完整的分割结果,还需要两招后处理:种子区域生长和对抗擦除。
种子生长的思路,是把热区里响应最强的几个点当作“种子”,沿着图像纹理逐步向外扩散——好比一滴墨落在宣纸上,顺着纸张纤维自然晕染。对抗擦除更聪明:先把已知的热区“涂黑”,再让模型重新分类,逼它去寻找第二个、第三个关注区域——就像老师问“这处看过了,还有哪里异常?”反复提问几次,模型就把分散的病灶区域一块块拼齐了。最后,把 CAM 热图做阈值化,生成粗略的伪分割 mask,再交给全监督分割网络作为训练标签,这就是弱监督语义分割(WSSS)的经典流水线。
阈值化的公式极其简单,却决定了伪 mask 的质量:
墨迹晕染加上“这里看过了,还有哪里?”的反复追问,让一句“有结节”的粗报告,最终长成了一幅可训练的分割标签。弱监督从来不是与全监督为敌,恰恰是在标注预算被卡死时,把历史报告这种“废弃燃料”重新点着的务实选择。
- 归一化基准$\max_{(x',y')} M_c$ 取整张热图的最大激活值,用它把亮度归一到“相对强度”。这样可以兼容不同病人的影像对比度差异。
- 阈值判定位置 $(x,y)$ 的激活值若超过 $\tau \cdot M_{max}$,指示函数 $\mathbb{1}[\cdot]$ 取值 1,标记为前景;否则为 0,标记为背景。$\tau$ 通常取 0.2 左右,太小噪声多、太大漏检多。
- 伪标签输出得到的 $S_c$ 是粗略的分割掩码。实务中还会叠加超像素边界修正或 CRF(条件随机场)细化边缘,再送入分割网络训练。
自监督无师自通
故事进入最绝的一章:这次没有专家、没有报告单,只有冰柜里十万张从未被解释过的影像。实习生把心一横,干脆自己当出题人。他把一张正常肺CT的局部小方块抠掉,然后尝试凭周围的解剖结构“填空”——肋骨走势、血管分叉、气管位置都有固定的规律,填对了,说明他真的读懂了图像结构;他还玩“连连看”:同一病人的相邻层面应该比不同病人的层面更相似,能认出这种相似关系,就掌握了影像内容的核心特征。这些自己设计的任务,学术上叫代理任务(pretext task),它们不需要任何人工标注,自动为模型生成学习信号,这就是自监督学习。
自监督在医学影像里有两条主流路线。其一是对比学习:把同一张影像做两次不同的增强,当作“正样本对”,把其他影像当作“负样本”,训练目标是让正样本的特征距离近、负样本的特征距离远。其二是掩码自编码器(MAE):像填空一样,遮住影像的大部分区域,迫使编码器从可见的局部推断全局结构。无论哪条路线,产出的都是高质量的预训练权重——好比一个已经熟读解剖图谱的学生,之后再跟老师学诊断,自然事半功倍。医学影像领域基于这两种范式涌现了 CONCH、MAE 预训练等模型,在少量标注的微调场景下显著刷新了精度纪录。
对比学习的目标函数 InfoNCE 是理解这条路线的一把钥匙:
自监督像一门“无师自通”的解剖课。实习生付出的不是标注成本,而是大量的原始影像——好在医院最不缺的就是这个。他啃完十万张片子后,已经对内里的结构了然于胸,只待一点点带教,就能成为真正的诊断高手。
- 特征编码$z_i$ 是影像 $x_i$ 经过编码器 $f_\theta$ 和投影头 $g$ 后得到的特征向量,它是整张图的“压缩摘要”。
- 正负样本$z_i^{+}$ 是同一影像经另一种增强得到的视图(正样本),$z_k$ 是其他影像的特征(负样本)。相似度用余弦相似度衡量,取值越接近 1 表示越像。
- 温度系数$\tau_T$ 控制特征分布的“锐利程度”。$\tau_T$ 越小,模型越苛刻,必须把正样本从干扰项中极其明确地区分出来。
- 负对数似然整个式子取负对数后,最小化它等价于最大化“正样本被正确选中的概率”——模型最终学会的是“什么样的片子内在一致”,也就是解剖结构本身的规律。
三范式选型复盘
培训结束,影像科主任把三位年轻医生的履历摊在桌上:自监督医生擅长零标注自学,半监督医生擅长小带教快速成长,弱监督医生擅长从粗结论里抠细节。到底派谁上手术台?主任没有纠结,他扫了一眼标注预算表,很快给出了结论——成年人不做选择题,三个都要用,关键是谁先谁后。
选型的经验法则可以浓缩成一张场景矩阵。当标注量几乎为零时,唯一的选择是自监督预训练:先用海量无标影像学结构,再拿极少标注微调,相当于背熟解剖图谱再去上临床课;当手头有 1%~10% 的精确标注时,最优策略是自监督预热 + 半监督自训练的组合——预训练提供了好起点,半监督再把未标注的宝藏一点点挖出来;当只有粗标签(历史报告)但没有像素级标注时,弱监督路线是唯一的冷启动方案,先用 CAM 定位、再生成伪 mask、最后人工修正少量难例即可上线。三种路线的最终形态,往往收敛到一个把各信号加权融合的总目标:
主任最终拍板:让自监督医生先带实习生们集体自学解剖(预训练),再请老专家带教几十例典型病例(有标微调),同时把历年的报告单翻出来做弱监督兜底。十万张片子,就这样在几周内被消化得干干净净。标注稀缺从来不是绝境,清醒的选型与组合,才是破局的钥匙。
- 金标准项$\mathcal{L}_{sup}$ 是所有手段的锚。验证集必须始终保持少量人工精标,否则整个训练过程失去参照系。
- 伪标签项$\mathcal{L}_{pseudo}$ 是从无标数据中提取的高置信伪标签损失,对应半监督的自训练部分。
- 一致性项$\mathcal{L}_{cons}$ 是师生框架下扰动不变性的约束,稳住无标数据的输出空间。
- 弱监督项$\mathcal{L}_{weak}$ 利用图像级标签(如 CAM 生成的伪 mask)提供粗粒度监督,成本最低但能防止模型在大区域内跑偏。
AI 应用场景
新院区影像AI冷启动
阶段:数据准备 / 预训练 / 半监督微调
解决的问题:新建院区或引入新型设备(如高端OCT)后,历史影像没有标注,传统方案要等专家标注数月至半年才能动工。采用“自监督预训练 + 半监督自训练”组合:先用院内十万张无标注影像跑 MAE 预训练,让模型先学会视网膜结构;再用手头仅有的 200 份专家标注启动半监督伪标签迭代,把未标注档案一块块盘活。两周内即可获得可用的病灶检出模型,避免为等标注而空转。
具体案例:某三甲医院引入新一代眼底OCT设备,历史档案 10 万份无标注、新采集仅 200 份医生标注。团队用 MAE 预训练后做半监督自训练,3 周内 AUROC 从 0.62 提升至 0.89,接近过去需要 2000 份标注才能达到的水平。
历史报告驱动的弱监督结节定位
阶段:标注生成 / 弱监督定位
解决的问题:影像科信息系统里沉淀着海量文字报告,如“右肺上叶见磨玻璃结节”,但没有任何像素级标注。传统方案需要重新找人回头标注,成本极高。用 NLP 从报告中抽取图像级标签,训练分类网络生成 CAM 热图,再经种子生长与阈值化生成伪 mask,把尘封的历史报告变成训练燃料。
具体案例:某创业公司接手一家体检中心的 5 万份胸部 CT 历史报告,仅用一周清洗出标签,训练弱监督分割模型,Top-1 结节定位准确率达 62%。随后人工修正了 300 例难例,便迭代上线了辅助筛查系统,为早期肺癌筛查争取了宝贵时间。
超声分割的Mean Teacher半监督流水线
阶段:模型训练 / 性能优化
解决的问题:乳腺超声图像噪声大、病灶边界模糊,专家标注一例要近一小时。传统全监督管线因标注瓶颈迟迟无法扩充训练集。用 Mean Teacher 师生框架对无标注超声施加一致性正则,让模型从大量原始超声中学习形态学先验,显著降低对标注量的需求。
具体案例:某医疗AI团队只有 80 例标注的乳腺超声,另收集 1000 例无标注数据。在 Mean Teacher 框架下,分割 Dice 系数从 0.68 升至 0.79,逼近 500 例全监督标注的效果,项目周期缩短了两个月。
Python 演示
"""半监督自训练演示:少量标注 + 大量无标注提升影像特征分类"""import numpy as npfrom sklearn.datasets import load_digitsfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.metrics import accuracy_scorefrom sklearn.model_selection import train_test_split X, y = load_digits(return_X_y=True)data, X_test, label, y_test = train_test_split( X, y, test_size=0.3, random_state=42, stratify=y) # 只保留 5% 带标注,其余 95% 视为"无标注"影像库X_lab, X_unlab, y_lab, _ = train_test_split( data, label, train_size=0.05, random_state=42, stratify=label) model = RandomForestClassifier(n_estimators=100, random_state=42)model.fit(X_lab, y_lab)acc_before = accuracy_score(y_test, model.predict(X_test))print("仅用少量标注准确率:", round(acc_before, 4)) # 自训练循环:预测 -> 置信度过滤 -> 伪标签并入 -> 重训for epoch in range(3): proba = model.predict_proba(X_unlab) conf = proba.max(axis=1) mask = conf > 0.9 X_pseudo = X_unlab[mask] y_pseudo = proba[mask].argmax(axis=1) X_lab = np.vstack([X_lab, X_pseudo]) y_lab = np.concatenate([y_lab, y_pseudo]) X_unlab = X_unlab[~mask] model.fit(X_lab, y_lab) acc = accuracy_score(y_test, model.predict(X_test)) print("第", epoch + 1, "轮: 伪标签", mask.sum(), "个, 测试准确率", round(acc, 4)) print("半监督自训练后准确率:", round(acc, 4))
train_test_split(..., train_size=0.05, ...)只留 5% 数据带标签,模拟稀缺标注的真实处境。model = RandomForestClassifier(n_estimators=100, random_state=42)这是“实习生模型”,先在少量金标准上学会基本判断。proba = model.predict_proba(X_unlab)对无标注影像输出各类别概率,相当于实习生对每张片子给出“我有几分把握”。mask = conf > 0.9置信度门控:只有把握超过 90% 的样本才被折角标记为伪标签。y_pseudo = proba[mask].argmax(axis=1)取最大概率对应的类别作为伪标签。X_lab = np.vstack([X_lab, X_pseudo])把伪标签样本并入训练集,笔记越折越厚。X_unlab = X_unlab[~mask]没把握的样本继续留在“待学习”池里,等待下一轮。model.fit(X_lab, y_lab)用扩充后的训练集重新训练,这模拟了半监督的自训练迭代。
常见误区
误区自监督既然不需要标注,那只要有模型和算力就能训练,数据多少无所谓。
正解自监督免的是“标注”而不是“数据”。它恰恰需要海量的原始影像——MAE 要遮块填空,对比学习要构造正负样本对,没有足够多的无标注数据,代理任务根本无从学起。零标注数据 + 大量无标影像,才是自监督的完整配方。
为何常见:人们容易把“不需要人工标注”误解为“不需要数据”,其实自监督是把监督信号从标签转移到了数据自身结构中。
误区反正未标注数据那么多,不如把所有预测结果都当成标签,让模型一次吃个饱。
正解伪标签本质是模型的自我猜测,低置信度的猜测往往是错的。无门槛地全量加入,等于让实习生把每一个错误判断都折角当笔记,错误会通过下一轮训练被放大,这就是“确认偏差”。必须设置信度阈值、配合不确定性过滤,并对伪标签样本降权。
为何常见:半监督的直觉“数据多了肯定更好”太有诱惑力,忽略了噪声标签对训练的破坏性。
误区既然 CAM 已经标出了病灶区域,直接把它热区轮廓存下来就是分割 mask 了。
正解CAM 是分类网络的“注意力副产品”,定位粗糙、边界模糊,往往只覆盖病灶最显著的一小块。要变成可用的分割标签,还需要种子生长、对抗擦除、阈值化、CRF 细化等一系列后处理,而且必须经过人工抽检。
为何常见:热力图可视化效果很惊艳,人眼会觉得“它已经找到了病灶”,却忽略它离像素级精确还差着几个数量级。
误区选定了半监督就不能用自监督,用了弱监督就与半监督无关。
正解实战中最强的是组合拳:自监督预训练提供好初始化,半监督在后挖掘未标注数据,弱监督用粗标签兜底并生成冷启动伪标签。三者融合到总损失函数中,分别用 $\lambda_1, \lambda_2, \lambda_3$ 调节权重,远比单打独斗稳健。
为何常见:教材通常分章节讲,容易让人形成“范式=独立路线”的割裂印象,忽略了它们在工程中天然互补。
误区只要未标注数据足够多,半监督最终能超越甚至取代全监督。
正解半监督的天花板受标注质量与信息量约束。伪标签的信息来自模型自身,本质是已有知识的复制与强化,很难创造出超出标注分布的新知识。当未标注数据与标注数据分布差异大时,效果还会明显衰减。它的价值是“在标注预算不足时逼近全监督”,而非“替代全监督”。
为何常见:论文里半监督曲线一路逼近全监督的图太深入人心,让人忽略了那是在精心设定的理想条件下。
面试题
Q1. 半监督学习的训练数据通常是什么形式?
- A.少量带标注样本加大量无标注样本← 正确答案
- B.全部样本都带有像素级标注
- C.只有无标注样本没有人工标签
- D.只有图像级标签没有像素级标签
答案:A。半监督的核心标志是“少量有标 + 大量无标”。B 是全监督,C 是纯无监督/自监督的输入形式,D 是弱监督的标签形式。记住三者的区分就能选对。
Q2. 伪标签自训练中,筛选伪标签最关键的操作是什么?
- A.按预测置信度设置阈值过滤← 正确答案
- B.按样本文件名排序取前一半
- C.将所有预测结果全部采纳
- D.随机抽取等量无标样本
答案:A。伪标签是模型的自我猜测,低置信度样本错误率高。只有超过置信度阈值 τ 的预测才可靠,好比实习生只折角标记“非常有把握”的笔记。全部采纳会把噪声放大,引入确认偏差。
Q3. 一致性正则(consistency regularization)的核心思想是什么?
- A.同一输入经不同扰动后输出应保持稳定← 正确答案
- B.不同输入应有完全相同的输出
- C.模型参数在训练中保持不变
- D.损失函数中不加入任何正则项
答案:A。一致性正则要求对同一张影像施加不同扰动(旋转、噪声、裁切)后,模型的预测尽量一致。病灶的本质不会因扰动改变,所以“扰动不变性”是天然的教学信号,也是半监督的核心支柱之一。
Q4. Mean Teacher 框架中,“影子老师”的模型参数是如何更新的?
- A.对学生参数做指数滑动平均(EMA)← 正确答案
- B.用标注数据独立训练一份
- C.每次迭代随机初始化一次
- D.与学生参数完全同步更新
答案:A。影子老师通过 EMA 平滑地跟踪学生参数的历史状态,$\theta' \leftarrow m\theta' + (1-m)\theta$。它比学生更稳定,能提供更可靠的“参考答案”。若与学生完全同步,就丧失了对噪声的缓冲。
Q5. CAM 类激活图通常取自模型的哪个部分?
- A.最后一个卷积层的特征图加权组合← 正确答案
- B.第一个卷积层的原始像素响应
- C.全连接层输出的类别概率本身
- D.输入图像直接做灰度阈值分割
答案:A。CAM 用最后一个卷积层的多通道特征图,按分类权重加权叠加得到热图。此时特征图已具备高层语义且保留了空间位置信息;第一层只有低级边缘,全连接层已丢失空间结构。
Q6. 弱监督医学影像分割最常使用的标签形式是什么?
- A.图像级标签(有/无病灶)← 正确答案
- B.每个像素的精确类别
- C.每个患者的基因测序数据
- D.病灶区域的完整三维模型
答案:A。弱监督的关键就是“用便宜的粗标签替代昂贵的细标注”。图像级标签只需一句“有结节”即可,像素级标注属于全监督,选项 C、D 与此无关。
Q7. 自监督学习通常应用于训练流程的哪个阶段?
- A.在下游任务前的预训练阶段← 正确答案
- B.只在推理阶段做后处理
- C.只用于数据增强的在线阶段
- D.只用于模型压缩剪枝阶段
答案:A。自监督先用海量无标影像通过代理任务训练出特征提取器,产生预训练权重,再在下游任务上微调。它解决的是“冷启动没有好参数”的问题,和推理、剪枝无关。
Q8. 标注量极低(如仅有 0.5%)时,合理的实践策略有哪些?
- A.立即投入十倍人力大规模标注
- B.先做自监督预训练再迁移← 正确答案
- C.用半监督伪标签扩张数据← 正确答案
- D.用弱监督报告标签辅助冷启动← 正确答案
答案:BCD。标注极稀缺时,最忌盲目堆人力(标注昂贵且周期长)。正确路径是自监督预训练打底、半监督伪标签扩张、弱监督粗标签兜底三者组合。选项 A 成本过高且时间不等人,不符合稀缺场景约束。
Q9. 半监督伪标签训练可能带来哪些风险?
- A.低质量伪标签的噪声被放大← 正确答案
- B.模型产生自我强化的确认偏差← 正确答案
- C.模型在无标数据上过度自信← 正确答案
- D.推理阶段速度大幅下降
答案:ABC。伪标签来自模型自身预测,错误会随迭代累积(噪声放大),模型逐渐只信自己的错误判断(确认偏差),熵最小化还可能让预测过度自信。推理速度只与网络结构有关,与训练方式无关。
Q10. 关于弱监督 CAM 及其在分割中的使用,下列说法正确的有哪些?
- A.CAM 由分类权重与卷积特征加权生成← 正确答案
- B.CAM 定位精度可媲美像素级标注
- C.CAM 可结合种子生长细化边界← 正确答案
- D.CAM 阈值化可生成伪分割标记← 正确答案
答案:ACD。CAM 公式 $M_c=\mathrm{ReLU}(\sum_k w_k^c f_k)$,A 正确。CAM 定位粗糙,只能指示大致区域,达不到像素级精度,B 错误。实际流水线中 CAM 热图经种子生长、阈值化后生成伪 mask 再训练分割网络,C、D 正确。