零样本学习(Zero-shot Learning, ZSL)背景知识
零样本度量学习(Zero-Shot Learning, ZSL)——背景
训练阶段:
-
已知条件
- 训练样本:\(X=\{x_{i} | i=1, \cdots, N\}\),
- 训练样本的标签:\(Y=\{y_{i} | i=1, \cdots, C\}\),
- 所有类别的side information (SI):\(S = \{s_{c} | c=1, \cdots, C\}\),
P.S.,根据我的理解,\(Y\)和\(S\)为一一对应关系。
-
前传过程
- \(x_{i} \to D^{x} \to f_{i}\): 样本进入样本嵌入模型,输出样本嵌入
- \(S \to D^{s} \to F^{s}\): SI进入语义嵌入模型,输出语义嵌入
-
计算损失
-
计算score:
\(O_{i}=(f_{i})^{T} W F^{s} \in \mathbb{R} ^{C \times 1}\),
P.S., 这里\(W\)可能是需要训练的,也可以是对角矩阵计算欧式距离
-
根据score得到预测标签,再与真实标签对比计算损失
-
-
训练目标
- 样本嵌入模型:\(D^{x}\)
- 语义嵌入模型:\(D^{s}\)
- 以上两个嵌入之间的度量矩阵:\(W\)
测试阶段
-
已知条件
- 测试样本:\(\hat{X}\),
- 所有测试类别的SI: \(\hat{S} = \{\hat{s}_{c} | c=1, \cdots, \hat{C}\}\)
-
前传过程
- \(\hat{x_{i}} \to D^{x} \to \hat{f_{i}}\)
- \(\hat{S} \to D^{s} \to \hat{F^{s}}\)
-
测试目标:得到预测标签 \(Y^{p}\)
-
首先计算score
\(\hat{O}_{i} = (\hat{f_{i})}^{T} W \hat{F^{s}} \in \mathbb{R} ^{\hat{C} \times 1}\) -
然后进行score rank,score最大对应的类别为预测标签
-
性能评价阶段
-
已知条件
- 测试样本的预测标签:\(Y^{p}\),
- 测试样本的真实标签:\(\hat{Y}\),
- 评价指标函数:\(M(\cdot, \cdot)\)
-
计算评价指标
- \(M(Y^{p}, \hat{Y})\)
区分ZSL 和 Generalized ZSL (GZSL)
给定训练集 \(T = (x \in X, y \in Y)\), 测试集 \(E = (\hat{x} \in \hat{X}, \hat{y} \in \hat{Y})\)
- ZSL: $Y \cap \hat{Y} = \emptyset $
- GZSL: $Y \subset \hat{Y} $, testing instance could belong to either seen or unseen categories
常用数据集
- AWA:40类样本(~24700个)训练,10类(~6200个)测试
- CUB:150类样本(~8900个)训练,50类(~2900个)测试
P.S. 以上两个数据集的划分来源于论文ALE
基础的开源项目
一些好的综述 (读过)
- Recent Advances in Zero-Shot Recognition
- Zero-Shot Learning—A Comprehensive Evaluation of the Good, the Bad, and the Ugly
- Knowledge-aware Zero-Shot Learning: Survey and Perspective

浙公网安备 33010602011771号