元学习的基础概念
- meta learning = learn to learn
- 元学习其实就是阐释训练模型的一种算法。
meta learning 的步骤
- 定义一组learning algorithm
定义红色方块的具体算法进而形成一组learning algorithm - 评价 learning algorithm 的好坏:
L 越小,则 function algorithm 的 representation 越好
meta-learning 和 ml 的区别是meta-learning 需要多个独立的任务
寻找模型初始化模块的 function algorithm
MAML(model-agnostic meta-learning)
MAML:主要是寻找一组较为合适的初始参数 ϕ \phi ϕ ,这里使用的损失函数就是所有任务的损失之和,表示外循环的损失函数。
Model Pre-training
model pre-training 和 MAML 的区别:损失是不同的。
从上图可以看出,model pre-training 的参数主要是 ϕ \phi ϕ。而 meta-learning 的损失,是通过内循环的训练出来结果的损失。简单的说,我们并不在意 初始模型参数 ϕ \phi ϕ 对某个任务的 representation,在意的是对总的损失。这就是 MAML 的核心思想,如下:
点 A 的状态或许对于 task1 和 task2 都不是最后的模型初始点,但是以 ϕ \phi ϕ 为初始状态,我们可以用很小的代价到达 task1 和 task2 的最佳模型。
θ \theta θ 的 update
这里的 θ \theta θ 只更新一次,也就是说每个 task 只在初始化为 ϕ \phi ϕ 情况下更新一次:
只做一次 update 的优点:
- 由于是 few-shot ,因为一次update 可以防止过拟合
- Fast
- 在训练时,期望得到的模型能够在一步 update 后 获得较好的representation。
公式的推导
从上面推导可以看出,我们在模型训练时是求取二阶微分的,但是其实二阶微分的求取是很复杂的。在MAML的实际实验中,作者将二阶微分进行了省略与近似(也就是原论文中的一阶微分近似)。
比如:
即原来的式子可以化为: