零样本学习(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
posted @ 2023-01-06 17:55  徐嘻嘻xixi  阅读(266)  评论(0)    收藏  举报