元学习论文解读 | Learning a Universal Template for Few-shot Dataset Generalization, ICML 2021

  • motivation

为了实现在小样本数据集上的泛化性能1)在不受干扰的情况下学习不同的信息,2)定义一种机制,以重新利用所获得的知识,泛化到测试任务上。本文建议通过学习一个通用模板来解决这个问题:在多个数据集上并行训练部分模型参数,通过其余的参数来给出数据集特定的(dataset-specialized)模型。

  • contribution

本文将FiLM用在批正则化层(可以理解成条件批正则化),跨不同的数据集联合训练特征提取器,也就是在数据集之间共享卷积层的参数,但为每个数据集分配一组特定的批量归一化参数。

  • FLUTE

1. 整体框架

元学习论文解读 | Learning a Universal Template for Few-shot Dataset Generalization, ICML 2021_第1张图片

 对于每个测试任务,从训练数据集的FiLM参数的凸组合初始化一个新任务的FiLM参数,其中组合权重是每个训练数据集与新任务“兼容”程度的函数, 这里“兼容性”是指数据集分类器的输出,衡量了数据集之间的差异程度。组合权重通过Blender网络学习得到。

2. 训练通用卷积层参数和数据集特定的正则化参数

给定特征提取器f,定义Φ和Ψ 分别为共享的通用模板参数(f的卷积层)和数据集特定的参数,其中第m行就是数据集mFiLM参数。

3. 训练blender网络

g l 分别为set encoder和线性输出层构成数据集分类器,组合权重由如下blender function给出:

4. 测试任务的解决

(1) 获取特征提取器(关键:数据集特定的批正则化层参数)

根据源域的批正则化参数集合,进行组合得到目标域特定参数的初始化:

在测试任务的支持集上计算类的中心:

元学习论文解读 | Learning a Universal Template for Few-shot Dataset Generalization, ICML 2021_第2张图片

其中S_{\mathcal{T}}^j是支持集中属于类j的点的集合。

使用NCC对样本进行分类,利用分类损失获得任务特定的参数:

(这里没有训练得到任务特定的卷积层参数,可能会对最后结果有影响?)

(2) Predict a class label for each query example: NCC

  • 实验结果

元学习论文解读 | Learning a Universal Template for Few-shot Dataset Generalization, ICML 2021_第3张图片

  • 总结

本文的核心思想为每个数据集分配一组特定的批量归一化参数,本质上和之前的调制方式是一样的,但我之前的理解域间泛化性能关键是在于特征提取部分(卷积层),只改变正则化参数就能泛化到不同的数据集上,这一点的原因不太懂,可以结合基于实例的正则化方法提高泛化性能去理解?Tri-M(ICCV2021)是在该方法的基础上把调制参数划分成了domain-specific domain-cooparative 两个部分,取得了一定效果的提升。

你可能感兴趣的:(跨域小样本学习,小样本学习,深度学习,机器学习,神经网络)