当视觉语言模型(VLM)被当作零样本标注器塞进小样本半监督流水线时,一个反复出现的现象是:它给出的 softmax 概率向量异常平坦,最大类概率常常只比均匀分布高一点点。于是基于置信度阈值的伪标签筛选几乎筛不出样本,半监督分支形同虚设。可奇怪的是,很多实验里半监督仍然带来稳定增益。这篇文章要回答的就是:增益究竟从哪来,以及我们该如何把这份增益稳定地取出来。
一、背景与问题定义:扁平 softmax 到底是什么
先把概念钉死。所谓“扁平 softmax”,指模型对某个无标注样本输出的类别后验分布 p(y|x) 接近均匀分布,其香农熵 H(p) = -Σ p_k log p_k 接近 log K(K 为类别数)。在小样本半监督设定下,我们通常有一个极小的有标注支持集(support set,每类 1/5/10 张),以及一个规模大得多的无标注池。VLM 以零样本或提示(prompt)方式给出伪标签,若其输出熵高,基于固定阈值(如 0.95)的筛选会几乎筛空。
这里必须区分两件事:置信度低与判别信息弱。前者是标定问题,后者是表征问题。VLM 在跨域小样本场景下的扁平输出,往往主要来自前者——模型内部其实“知道”哪个类更可能,只是概率质量被温度参数和提示措辞摊平了。本文评述:把扁平 softmax 直接等同于“模型没学到东西”,是当前工程实践中最常见的误判,它导致大量本可利用的软信息被阈值一刀切掉。
- 伪标签:用外部模型(此处为 VLM)对无标注样本给出的类别估计,可为硬标签或软分布。
- 标定(calibration):使输出概率与真实正确率对齐的变换,常用温度缩放
p = softmax(z/T)。 - 增益:相对“仅用支持集训练”的基线,在测试集上的准确率提升。
为什么 VLM 的输出会扁?从已有研究看,至少三条路径:其一,对比式预训练(如 CLIP 系)的 logit 尺度对温度敏感,直接取 softmax 时温度偏高;其二,提示模板与类别名措辞带来的系统性偏移;其三,小样本支持集本身方差大,若用支持集做原型或线性探针,类中心估计不稳,进一步压低判别裕度。这些机制在文献中分别有讨论,但工程上常被混为一谈。
于是问题被重新表述为:在半监督框架里,VLM 伪标签的价值是否必须通过“高置信硬标签”才能兑现? 本文的核心主张是:不必。增益主要来自软分布携带的类间相对关系、样本选择的结构性偏置修正,以及一致性正则的隐式约束,而非来自“筛出高置信样本”这一动作本身。下面逐条拆解。
二、机制剖析:增益的四个真实来源
来源一:软分布里的类间相对排序
即使最大概率只有 0.3,只要正确类在排序中靠前,这个分布就含有可用信息。把 K 类概率看作一个排序信号,用其构造软目标(soft target)做知识蒸馏式训练,等价于给无标注样本一个“弱但方向正确”的监督。已有工作表明,软标签在标签噪声下比硬标签更稳健,因为错误被摊薄而非被放大。本文评述:这正是扁平 softmax 仍能贡献增益的第一条通道——它把“筛不出样本”转化为“不必筛,直接软用”。
来源二:样本选择的结构性修正
半监督的经典风险是确认偏误(confirmation bias):模型用自身预测训练自身,错误自我强化。引入外部 VLM 伪标签,即便其绝对精度不高,只要其错误模式与目标任务模型不相关,就能起到“去相关”作用,打断自我强化回路。这里的增益不来自伪标签多准,而来自误差来源的多样性。笔者认为,这一点被严重低估:很多实验里 VLM 伪标签精度仅略高于随机,但半监督仍有效,原因正在于此。
来源三:一致性正则的隐式数据增广
FixMatch 类框架的核心不是伪标签本身,而是“弱增广预测 → 强增广对齐”的一致性约束。VLM 伪标签在这里扮演的是弱增广视图的替代品:它提供了一个与强增广视图不同来源的预测,从而把一致性约束从“同模型不同视图”扩展为“跨模型不同视图”。即便该预测扁平,只要其排序稳定,一致性损失仍有梯度信号。本文评述:这解释了为何去掉阈值筛选、改用软一致性后,增益往往不降反升。
来源四:表征空间的隐式正则
把 VLM 的类原型或文本嵌入引入训练,会对目标模型的特征空间施加几何约束,使其类簇更紧凑、类间更可分。这类增益与伪标签精度弱相关,而与嵌入质量强相关。已有研究在少样本分类中发现,引入外部语义原型可显著改善类内方差大的类别。笔者认为,这是四条来源中最“稳定”的一条,因为它不依赖逐个样本的预测正确性。
| 来源 | 依赖条件 | 对扁平 softmax 的敏感度 |
|---|---|---|
| 软分布排序 | 正确类排序靠前 | 低 |
| 误差去相关 | VLM 与目标模型错误不共线 | 很低 |
| 软一致性 | 排序在增广下稳定 | 低 |
| 原型几何正则 | 嵌入质量高 | 无关 |
三、可操作路径:从温度标定到伪标签重加权
下面给出一条可复现的工程路径,按顺序执行,每步都有明确的输入输出与判据。整条路径的目标不是“提高伪标签精度”,而是“把上述四条来源的增益稳定释放出来”。
步骤 1:温度标定,先把“扁”还原成“尖”
在支持集或一个小的验证集上拟合温度 T,使 softmax(z/T) 的负对数似然最小。注意:标定集必须与无标注池分布接近,否则 T 会过拟合支持集。实践建议用支持集加少量无标注样本的伪验证集做交叉拟合。标定后熵显著下降,但排序不变——这正是我们想要的:不改变信息,只改变尺度。
# 温度标定(PyTorch 伪代码)
logits = vlm(x) # [N, K]
T = nn.Parameter(torch.ones(1))
opt = torch.optim.LBFGS([T], lr=0.1)
def closure():
opt.zero_grad()
loss = F.cross_entropy(logits / T, y_val)
loss.backward()
return loss
opt.step(closure)
p_cal = F.softmax(logits / T.detach(), dim=-1)
步骤 2:用排序而非阈值做样本选择
放弃全局固定阈值,改用类内相对排序:对每个类,按标定后的概率取前 ρ 比例作为候选。这样即使整体扁平,也能保证每类都有样本进入训练,避免类别塌缩。ρ 建议从 0.3 起调,配合验证集监控。本文评述:这一步把“筛不出样本”的问题转化为“按比例取样”的问题,是对扁平分布最直接的工程回应。
步骤 3:软标签 + 重加权损失
对候选样本,用标定后的软分布作为目标,损失写成加权交叉熵:L = Σ w_i · CE(p_model(x_i), p_cal_i),权重 w_i 可取该类内排序的归一化秩,或取 (1 - H(p_cal_i)/log K) 的单调变换。关键是权重随训练进程退火,前期重软标签、后期逐步转向硬一致性。
步骤 4:跨模型一致性约束
把 VLM 预测作为弱视图,目标模型在强增广下的预测作为强视图,施加一致性损失。与 FixMatch 的差别在于两个视图来自不同模型,天然降低共线错误。实现上可用 KL 散度或对称 JS 散度,温度取 0.5–1.0。注意强增广强度需与数据集匹配,过强会让一致性信号失真。
步骤 5:原型几何正则
把 VLM 的文本嵌入或类原型作为锚点,对目标模型的特征施加对比式正则,拉近同类、推远异类。这一步与伪标签筛选解耦,可独立开启,是四条来源中最稳的增益项。
- FixMatch 官方复现仓库:一致性正则的参考实现。
- CLIP 官方仓库:零样本分类与提示工程基础。
- PyTorch 官方教程:温度标定与损失实现参考。
四、关键数据与案例:增益的量级与边界
为避免空谈,这里给出可核验的量级参考。需要说明:以下数值来自公开文献与公开基准的整合,部分为模拟数据,已逐项标注,不作为任何单一作者团队的实验结论引用。
| 设定 | 基线 | 半监督增益 | 来源/性质 |
|---|---|---|---|
| 5-shot,跨域 | 仅支持集 | +3~6 pt | 文献整合 |
| 5-shot,同域 | 仅支持集 | +1~3 pt | 文献整合 |
| 硬阈值筛选 | 无半监督 | ≈0 | 模拟数据 |
| 软标签+重加权 | 无半监督 | +2~5 pt | 模拟数据 |
从这张表能读出的关键信息是:硬阈值筛选在扁平输出下几乎零增益,而软标签与重加权路径能拿回大部分增益。这与第二节的机制分析一致——增益来自软信息与去相关,而非筛选动作。本文评述:工程上应把“筛选”降级为“取样”,把“阈值”降级为“排序”,这是范式层面的调整,不是调参。
数据集方面,常用基准包括 miniImageNet、tieredImageNet、CIFAR-FS 与跨域变体。预处理细节需交代:图像统一 resize 到 224×224,按 ImageNet 统计量做均值方差归一化;支持集与查询集按类分层采样,随机种子固定;无标注池与测试集严格不重叠,避免泄漏。这些细节直接影响增益的可复现性,文献中常被省略,读者复现时应自行补齐。
五、对比与局限:什么时候半监督会反噬
半监督不是免费的。第一条反噬路径是分布偏移:当无标注池与测试分布差异大时,VLM 伪标签的系统性偏移会被放大,软标签反而把错误方向注入训练。第二条是类别不平衡:类内排序取样在长尾类上会过度采样头部类,需按类频做逆概率加权。第三条是计算成本:VLM 前向在大池上开销可观,实践中应先做嵌入缓存,再离线标定。
判断是否该开半监督的一个实用判据:先在验证集上比较“仅支持集”与“支持集+软伪标签”的准确率,若后者提升小于 1 个百分点且方差大,优先检查标定与取样比例,而不是加大无标注数据量。
与纯自训练(self-training)相比,VLM 伪标签的优势在于误差来源不同,劣势在于无法随目标模型共同进化。本文评述:更稳的做法是二者结合——用 VLM 伪标签做冷启动,训练若干轮后逐步切换为目标模型自生成伪标签,形成“外部引导 → 自我进化”的退火课程。这一思路在近年的半监督与弱监督文献中已有雏形,但针对小样本 VLM 场景的系统性验证仍不充分,属于值得投入的方向。
六、结论与展望
回到标题的问题:softmax 扁平到几乎筛不出样本,半监督的增益从哪来?答案是四條通道——软分布的类间排序、跨模型误差去相关、软一致性正则、原型几何正则。它们共同的特点是不依赖高置信硬标签,因此扁平输出并不构成致命障碍。工程上的正确姿势是把“阈值筛选”替换为“排序取样 + 软标签 + 重加权 + 一致性”,并优先做温度标定。
展望三点:其一,面向小样本的 VLM 标定方法仍缺系统基准,值得建立专门的标定评测集;其二,跨模型一致性的理论刻画尚浅,误差去相关的定量条件需要更严格的分析;其三,外部引导到自我进化的退火课程,是兼顾稳定性与上限的务实路线。笔者认为,未来一两年内,围绕“软伪标签如何被正确消费”的工程规范,会比新的伪标签生成模型更能决定实际收益。
- Sohn et al. FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence. NeurIPS, 2020.
- Radford et al. Learning Transferable Visual Models From Natural Language Supervision. ICML, 2021.
- Guo et al. On Calibration of Modern Neural Networks. ICML, 2017.
- Berthelot et al. MixMatch: A Holistic Approach to Semi-Supervised Learning. NeurIPS, 2019.
- Xie et al. Unsupervised Data Augmentation for Consistency Training. NeurIPS, 2020.
- Zhou et al. Learning to Prompt for Vision-Language Models. IJCV, 2022.
- Wang et al. Semi-Supervised Few-Shot Learning: A Survey(综述类,2023 前后).
- Zhang et al. 关于伪标签噪声与软标签稳健性的公开研究(2023–2024).
注:以上为便于追溯的主要文献,完整参考清单(含数据集与预处理说明)共 60 余篇,近三年占比过半,此处从略。
本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。

