FEAT 论文阅读笔记

1 基本信息

2 背景 Background

2.1 传统少样本学习 FSL(Task-Agnostic)

  • 假设:在SEEN类别上学习特征,对任意的UNSEEN任务都同样有效(Task-Agnostic
  • 缺陷:不同任务需要的判别性特征 Discriminative features 是不同的(例如“猫 vs 狗”和“猫 vs 老虎”需要的特征不同),固定嵌入空间不够灵活。

2.2 本文思路(Task-Specific)

  • 提出嵌入适配 (Embedding Adaptation):将任务无关的嵌入调整为任务特定的嵌入。
  • 核心工具:Set-to-Set 函数,利用支持集内部样本间的关系进行协同适配。

3 方法 Method

3.1 问题定义

  • 任务设定:N-way M-shot 分类任务。
  • 优化目标
    • 公式 (1):argminfl(...)argmin_f \sum l(...)
    • 这里 argminfargmin_{f} 指的是寻找能让 Loss 最小的那个函数 f(即模型参数),而是 Loss 本身的最小值。
  • 数据划分
    • SEEN Classes:训练集(用于元训练)。
      • alias: Support Set (支持集):每个类别少量带标签样本,用于构建分类器。
    • UNSEEN Classes:测试集(用于元测试)。
      • alias: Query Set (查询集):待分类的测试样本。

3.2 嵌入适配 Embedding-Adapting

  • 基本流程
    1. Backbone 提取原始嵌入 ϕx=E(x)\phi_x = E(x)(Task-Agnostic)。
    2. Set-to-Set 函数适配 ψx=T(ϕx)\psi_x = T({\phi_x})(Task-Specific)。
    3. 使用适配后的嵌入 ψx\psi_x 计算原型并进行最近邻分类。
  • 关键性质要求
    • 置换不变性 (Permutation Invariance):输入样本顺序不影响输出(因为支持集是集合)。
    • 上下文感知 (Contextualization):每个样本的更新需参考集合中其他样本。

3.3 Set-to-Set 函数的技术选型

  1. Bi-LSTM:序列模型,对顺序敏感,效果最差(不满足置换不变性)。
  2. DeepSets:天然置换不变,聚合集合信息,效果中等。
  3. GCN:基于图结构传播关系,效果较好。
  4. Transformer (FEAT) ⭐:
    • 使用自注意力机制 (Self-Attention)。
    • Q=K=V=X_train 的含义:Query, Key, Value 都来自支持集样本的嵌入(自注意力),但通过不同的可训练权重矩阵 WxW_x 投影到不同空间。
    • 优势:上下文感知良好,天然满足置换不变性。

3.4 带有对比学习修正项的损失函数

L(y^test,ytest)=l(y^test,ytest)+λl(softmax(sim(ψXtest,cn)),ytest)\mathcal{L}(\hat{y}_{test}, y_{test}) = \mathcal{l}(\hat{y}_{test}, y_{test})
+ \lambda \cdot l(\mathbf{softmax}(\mathbf{sim}(\psi^{'}_{X_{test}}, c_n)), y_{test})
  • 主损失:分类交叉熵损失(公式 1)。
  • 辅助损失:对比损失 (Contrastive Loss, 公式 7)。
    • 目的:让适配后的嵌入同类更近,异类更远。
    • 权重 λ:消融实验显示 λ=0.1 效果最佳。

4 实验和结果 Experiments

4.1 实验设置

  • 数据集:MiniImageNet, TieredImageNet, OfficeHome (跨域), CUB。
  • 评估协议10,000 个采样任务(比传统的 600 个更可靠,方差更小)。
  • 基线 (Baseline)ProtoNet(FEAT 可视为魔改版的 ProtoNet,增加了适配层)。
  • 骨干网络:ConvNet, ResNet-12, WideResNet。

4.2 主要结果

  • SOTA 性能:在 MiniImageNet 和 TieredImageNet 上均取得 State-of-the-Art 结果。

  • 模型对比:FEAT (Transformer) > GCN ≈ DeepSets > BiLSTM。

  • 参数效率:FEAT 参数量最少,但效果最好。

  • 插值与外推 (Interpolation & Extrapolation)

    • 概念:训练 N-way,测试 M-way。M<N 为插值,M>N 为外推。
    • 结果:FEAT 在两者上均表现稳定,DeepSets 外推差,GCN 插值差。
  • 可视化 (PCA)

    • 概念:PCA 主成分分析用于降维可视化。
    • 结果:适配后类原型分得更开,同类更紧凑(见图 1)。
  • 适配时机Pre-Avg(适配前先平均同类样本)优于 Post-Avg。

  • 相似度度量负欧氏距离 (Negative Distance) 略优于余弦相似度。

    • 负距离 = xy2−||x−y||^2,将“距离越小越相似”转换为“值越大越相似”以便 softmax 计算。

4.4 扩展任务 Extended Tasks

  • 少样本域泛化 (Domain Generalization):Clipart 训练 → Real World 测试(FEAT 泛化性强)。
  • 直推式少样本学习 (Transductive):利用未标记测试样本辅助适配(FEAT 无需修改架构即可支持)。
  • 广义少样本学习 (Generalized):测试集包含 SEEN 和 UNSEEN 类(FEAT 均优于 ProtoNet)。

5 学到的概念 Terms

  • N-shot, M-way: M个类别,每个类别,N个样本用于训练

  • argmin:指使函数取得最小值的自变量/参量argument(即最优模型参数),而非最小值本身。

  • Instance:实例/样本(如一张图片)。

  • Support Set (支持集):少样本任务中的“小样本训练集”,用于构建分类器原型。

  • Negative Distance:负欧氏距离,用于将距离转换为相似度得分。

  • PCA:主成分分析,用于高维数据降维可视化(证明适配后特征空间更具判别性)。

  • Q=K=V:在 FEAT 的自注意力中,指输入来源相同(都是支持集嵌入),但投影权重不同。

  • Interpolation/Extrapolation:任务类别数量变化的泛化能力(插值=大训小测,外推=小训大测)。

  • Baseline (ProtoNet):FEAT 是在 ProtoNet 框架基础上增加了 Embedding Adaptation 模块。

  • Backbone: 深度学习中用于提取基础特征的核心神经网络架构,相当于整个模型的"骨架"或"特征提取器"。

6 思考

  • 少样本学习不仅是学特征,更是学“如何调整特征”。
  • 模型不是越深越好
    • 浅层单头(1 层 1 头)效果最好,更深/多头易过拟合。