零样本学习指标

一、零样本学习(Zero-Shot Learning, ZSL)概念总览

**零样本学习(ZSL)**指的是:

在训练阶段从未见过目标类别的样本的情况下,模型仍能对这些类别进行正确识别。

实现手段通常依赖:

  • 语义侧信息:

    • 属性向量(Attributes)
    • 文本描述
    • 词嵌入(word2vec, GloVe)
    • CLIP 类图文嵌入
  • 对齐机制:

    • 将视觉特征映射到语义空间
    • 或将语义嵌入映射到视觉空间
    • 或联合嵌入(vision--language joint embedding)


二、狭义零样本学习(Conventional ZSL)

1. 定义

狭义零样本(Conventional ZSL)是最早、最理想化的一种ZSL设定:

测试阶段仅包含"未见类(Unseen Classes)"样本。

即:

text 复制代码
训练集 = Seen Classes
测试集 = Unseen Classes

模型完全不用考虑对已见类的判断偏置问题。


2. 数学表述

  • 训练类别集合:

    \\mathcal{Y}_s = {y_1, y_2, ..., y_S}

  • 测试类别集合:

    \\mathcal{Y}*u = {y* {S+1}, ..., y_{S+U}}, \\quad \\mathcal{Y}_s \\cap \\mathcal{Y}_u = \\emptyset

  • 测试标签预测范围仅限:

\\hat y \\in \\mathcal{Y}_u


3. 特点

✅ 优点

  • 评估简单
  • 无类别间严重偏置
  • 易于展示模型的"语义迁移能力"

❌ 局限

  • 严重不符合真实应用

现实中:
模型既要面对见过类,也要面对没见过类。


4. 农业场景举例

假设你训练模型仅见过:

text 复制代码
Seen: 稻瘟病、稻曲病、白叶枯病

测试时只让模型识别:

text 复制代码
Unseen: 稻条纹叶枯病、纹枯病

👉 这就是狭义ZSL。

模型不会需要判断输入是不是"老病害"还是"新病害",因此任务容易很多。



三、广义零样本学习(Generalized ZSL, GZSL)


1. 定义

**广义零样本(GZSL)**是现实世界的零样本版本:

测试阶段同时包含 Seen 类和 Unseen 类样本。

即:

text 复制代码
训练集 = Seen Classes  
测试集 = Seen ∪ Unseen

并且:

\\hat y \\in \\mathcal{Y}_s \\cup \\mathcal{Y}_u



2. 核心难点:Bias Problem(类别偏置)

在普通训练下:

模型对 Seen 类天然更熟悉 ,

因而会严重偏向预测 Seen 类。

典型现象:

  • Unseen 类准确率很低
  • 几乎所有样本都会被强行判为 Seen 类


3. GZSL 为什么更难?

本质难度

GZSL = 同时解决:

  1. 语义迁移(Seen → Unseen)
  2. 分布偏置校正
  3. 开放集感知(novelty detection)


4. 农业场景举例

部署无人机病害识别系统时,模型面临:

text 复制代码
输入样本 = 老病害 + 新病害混合

模型必须:

✅ 既能正确识别:稻瘟病

✅ 还能识别:从未训练过的稻条纹叶枯病


实际应用中 你们做的 SCLOD + MoE + CLIP 微调 基本都是 GZSL 场景。



四、H-Mean 评价指标


1. 为什么要 H-Mean?

因为在 GZSL 中:

  • seen 类准确率 ( Acc_s ) 通常很高
  • unseen 类准确率 ( Acc_u ) 通常很低

如果只看总体准确率:

Acc = \\frac{N_{correct}}{N_{total}}

👉 会被 seen 类"掩盖",对 unseen 完全不敏感。



2. H-Mean 定义

**H-Mean(调和平均)**专门用于平衡 seen / unseen 性能:

\\boxed{ H = \\frac{2 \\cdot Acc_s \\cdot Acc_u}{Acc_s + Acc_u} }



3. 指标性质

✅ 平衡敏感

任何一方准确率趋近 0,整体得分即趋近 0:

text 复制代码
Acc_s = 90%
Acc_u = 5% → H ≈ 9.5%

逼迫模型必须兼顾两类。


✅ 比算术均值更严格

算数均值:

M = \\frac{Acc_s + Acc_u}{2}

无法严厉惩罚极端失衡。


H-Mean 能有效揭示:

模型是否真正实现了 "Seen 与 Unseen 双均衡"。



4. 使用方式

在 GZSL 实验中,通常汇报:

text 复制代码
Acc_s  (Seen Accuracy)
Acc_u  (Unseen Accuracy)
H-Mean

三项同时汇报,缺一不可。



五、三者关系速查表

项目 狭义 ZSL 广义 GZSL
测试类别 只有 Unseen Seen + Unseen
是否存在偏置问题 ❌ 否 ✅ 严重
实验难度 ⭐⭐ ⭐⭐⭐⭐⭐
现实适用性 ❌ 较弱 ✅ 极强
是否需要 H-Mean ❌ 不需要 ✅ 必须


指标 适用范围 作用
Acc_u ZSL + GZSL 测 unseen 类能力
Acc_s GZSL 测已知类记忆能力
H-Mean GZSL 专用 综合平衡度评价


六、与你当前研究的关联

你目前在做:

  • 病害零样本识别(SCLOD + MoE / CLIP)
  • 多病害、多作物、跨域泛化

几乎全部属于 GZSL 的研究范式。

评估时:

✅ 你一定要使用:
Acc_s, Acc_u, H-Mean

❌ 只报单一准确率 = 论文不规范



七、论文可用标准表述模板

你可以直接用下面这一小段话写论文:


狭义零样本学习(Conventional ZSL)是指在测试阶段仅包含未见类别样本的识别任务设置,而广义零样本学习(Generalized ZSL, GZSL)则更贴合真实应用场景,其测试阶段同时包含已见类与未见类样本。由于模型在训练阶段仅见过已知类别,往往对 seen 类产生明显偏置,因此需分别评估两类识别准确率,并采用调和平均指标(H-Mean)对模型在 seen / unseen 类之间的综合平衡性能进行度量,其定义为:

H = \\frac{2 \\cdot Acc_s \\cdot Acc_u}{Acc_s + Acc_u}.


相关推荐
qq_284274054 小时前
机械设计基础·滚动轴承全解(类型·代号·选型·寿命)+轮系与蜗杆蜗轮传动
笔记·学习·自动化·制造
2603_965148119 小时前
社区与学习资源:从入门到精通的API选品学习路径
数据库·人工智能·python·学习·数据挖掘
硅谷秋水11 小时前
CommitFlow:面向长时程机器人操作 VLA 执行的语义承诺验证与局部修正
机器学习·计算机视觉·语言模型·机器人
kaixin_啊啊11 小时前
【用于更准确 G×E 基因组预测的大规模作物数据集与基于深度学习的多模态融合框架】论文学习
人工智能·深度学习·学习
xier_ran11 小时前
【infra之路】AI 编译器学习笔记(六):重拾 C++——lambda 与 MLIR 中的回调
c++·笔记·学习
deepseek2312 小时前
AI 模型隐藏任意能力拆解:把加密神经网络塞进宿主权重,能力评估为什么在密码学上抓不到
人工智能·深度学习·神经网络·密码学·模型安全
Smoothcloud润云12 小时前
PyTorch推理服务模型热切换与失败回滚实战:降低版本更新中断
服务器·人工智能·pytorch·python·深度学习·gpu
lll235269177913 小时前
法律咨询过程中的重要信息如何保存?
深度学习·智能手机
小王20413 小时前
Day 41:模型注意力机制 — SE / CBAM / ECA
python·深度学习·机器学习
朝朝辞暮i13 小时前
第 22 课:Conditional 1D U-Net——Diffusion Policy 怎样理解一整段未来动作?
人工智能·pytorch·深度学习·transformer·vla