零样本学习指标

一、零样本学习(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}.


相关推荐
Michelle80231 小时前
机器学习实战操作手册
人工智能·算法·机器学习
喜欢踢足球的老罗1 小时前
Qoder AI IDE深度体验:用Repo Wiki与AskModel重塑开源库学习范式
人工智能·学习·qoder
茶色岛^1 小时前
解析CLIP:从“看标签”到“读描述”
人工智能·深度学习·机器学习
极客BIM工作室2 小时前
Gemini 3 技术细节公布:架构、能力与未公开信息汇总
人工智能·机器学习
可可苏饼干2 小时前
NoSQL 与 Redis
数据库·redis·笔记·学习·nosql
普美瑞生物前沿2 小时前
创新药物发现:基于机器学习的虚拟筛选发现新型CYP19A1抑制剂
人工智能·机器学习·虚拟筛选
All The Way North-2 小时前
一文系统性理清PyTorch多分类任务交叉熵损失:从 Softmax 到 CrossEntropyLoss
人工智能·pytorch·深度学习·机器学习·交叉熵损失·多分类损失
Lau_way2 小时前
AVadCLIP: Audio-Visual Collaboration for Robust Video Anomaly Detection
人工智能·深度学习
重生之我在番茄自学网安拯救世界2 小时前
网络安全中级阶段学习笔记(一):DVWA靶场安装配置教程与网络空间搜索语法
笔记·学习·网络安全·靶场·dvwa·fofa·google hack