Meta Learning
\[ f^{*}=F(D_{train}) \]
Machine Learning VS Meta Learning
Machine Learning: 根据一组照片,
训练一个能够分类这张照片的f
Meta Learning : 根据一组任务,
训练一个能够处理这组任务的F
如何init以及如何Update都是人工设计,
不是学出来的.
那么如何让机器学习出如何设计出theta?
如何评价F的好坏?
相当于评价一个老师的好坏, 我们是上帝视角,
我们给老师F分发n个教学任务,
老师接受到任务之后要去教学生这n个任务,
最后我们再把n份任务的试卷Test给学生做,
最后把这个学生在这n份任务上的表现loss求和就可以判断这个老师F的好坏了.
测试阶段?
相当于给这个学生分配新的没有被教过的任务, 看看他有没有能力从之前学到的任务中汲取经验, 也能够解决这个新的任务.
类似few-shot.
定义Loss:
$$ L(F)=
$$
\[ F^{*}=argmin L(F) \]
那么让L最小的F就是F *.
N-ways K-shots
n个classes, K个examples
MAML
如何minimize L? Gradient descent!!
真的太秒了!!!!!
对于MAML中的 φ这个初始值,也有好坏之分!!
例如以下两个
φ的初始值:
图一的 φ虽然在最开始没有图二的
φ在两个loss上的小/优, 但是经过训练之后, 第一个
φ可以达到的最优解明显好于第二个
φ可以达到的最优解. 因为第二个
φ的loss2只停留在local minimun中.
所以,MAML find φ achieving good performance
after training, 然而 ML find φ achieving
good performance.
只要UPDATE一次.
Q:没太懂,这个MAML和Model Pre-training的却比?
为什么model pretraining 迭代之后会是水平的? 他们的目标是什么?