1.本文提出得主要想解决的问题是什么?
作者在本文中提到了基于梯度的元学习技术(尤其是学习到公共初始化参数随后通过调整初始化参数来适应特定任务的元学习方法:MAML, Reptile)使用特定任务的小样本数据集来通过梯度下降调整高维参数使得泛化困难(我的理解是小样本调整高维参数的适应过程容易过拟合)。
2.本文作者试图如何解决上述问题?
1.设计模型使每个待解决的特定任务的初始化参数与此任务的训练集相关,使用Relation Network将每个任务的初始化参数引入数据集之间的相关性。
2.学习一个高维模型参数的一个低维隐式embedding,在低维空间进行小样本适应(adaption)过程。
如图所示: D i t r D_i^{tr} Ditr代表不同task的训练集。由于 D i t r D_i^{tr} Ditr为小样本数据集,直接在高维参数空间进行adaption过程会很困难,作者提出了一个模型,在低维空间进行adaption再解构出模型高维空间的参数。
3.模型/算法及训练过程。
模型架构:
根据上图可以模型主要由编码器、解码器、和解决具体任务的高维参数模型 f θ f_\theta fθ组成。Optimation-based Meta-Learning的两个主流方法MAML、Reptile都是基于 f θ f_\theta fθ学习可以快速泛化到各个满足同一task distribution 的各个task的初始化参数模型。
其中Encoder是常规的输出特征向量的特征提取层,Relation Net的主要作用是使得最终得到的latent code z z z “上下文相关”,即生成 z z z 时考虑任务Support Set中任意两个样本(同类或不同类)之间的相关性。Decoder的作用是由z解码出模型的高维参数 θ \theta θ 。
结合给出的算法我们来研究一下模型的训练过程:
1.首先初始化三个模块的参数,sample出一个task或者a batch of task;
2. T i T_i Ti中的训练集全部输入到 g ϕ e g_{\phi_e} g