Meta-Learning
元学习包括Zero-Shot/One-Shot/Few-Shot 学习,模型无关元学习(Model Agnostic Meta Learning) 和元强化学习(Meta Reinforcement Learning)等元学习的训练样本和测试样本都是基于任务的。元学习是要去学习任务中的特征表示,从而在新的任务上泛化用于训练任务的训练集称为support set,测试集称为query set从图中可
元学习包括Zero-Shot/One-Shot/Few-Shot 学习,模型无关元学习(Model Agnostic Meta Learning) 和元强化学习(Meta Reinforcement Learning)等
元学习的训练样本和测试样本都是基于任务的,训练样本来源于多个任务,首先学习一个任务共有的函数 F ϕ F_{\phi} Fϕ。如下图所示训练任务有两个,目标任务有一个。用于训练任务的训练集称为support set,测试集称为query set。
利用不同的任务的support set得到映射函数
f
θ
^
1
f_{\widehat{\theta}^{1}}
fθ
1,
f
θ
^
2
f_{\widehat{\theta}^{2}}
fθ
2,
从图中可以看出,元学习的损失通过 N N N个训练任务query set上损失相加得到。若定义在第n个任务query set 的损失是 l n l^{n} ln,则对于N个任务来说,总的损失为 L ( ϕ ) = ∑ n = 1 N l n L(\phi)=\sum_{n=1}^{N} l^{n} L(ϕ)=∑n=1Nln。
传统深度学习与元学习的区别如下图:
传统深度学习:定义一个网络架构,初始化参数,然后通过自己选择的优化器更新参数,图中通过两次epoch更新最终得到网络输出
θ
^
\hat{\theta}
θ^
注意到红色方框中的东西都是人为设计定义的
元学习:自动学习或者说代替方框中的东西,不同的代替方式就发明出不同的元学习算法。对应与三个方框分别是:
- 学习网络结构 Network Architecture Search (NAS)
- 学习参数的初始化,例如MAML算法,Reptile算法
- 学习优化器
与其他几种学习方法思想区别:
-
终身学习:一个模型可以做所有的任务
-
元学习:掌握其他任务的内在原理从而举一反三
-
迁移学习种的预训练:感觉很像元学习中的学习参数的初始化。但是预训练后的模型,需要根据下游任务增加不同的网络结构;(不确定,需要进一步学习)
参考:
https://zhuanlan.zhihu.com/p/108503451
更多推荐
所有评论(0)