Meta Learning = Learn to Learn
LLL与Meta Learning的关系?
同:学过很多task之后,期待在新的task上会学得更好
异:LLL是让同一个model学会所有的task。Meta Learning是让Model学会学习的能力。
什么是Mechine Learning?
- 定义一个F(mechine learning algorithm),输入大量训练数据,输出一组参数f*
- 基于参数f*,输入testing data,输出预测结果
Mechine Learning是一种找f的能力。
Meta Learning是一种找F的能力。
Meta Learning的步骤:
- 定义一组learning algorithm F
图是的红框原本都是人工设计出来的。选择不同的设计就是不同的F。
评价一个F的好坏
L(F)=n=1∑Nln
找到最好的F
2. MAML
Model Agnostic Meta-Learning
只关注“初始化参数”
L(ϕ)=n=1∑Nln(θ^n)ϕ=ϕ−η∇ϕL(ϕ)
横轴:model参数
纵轴:loss
ϕ参数可能在task 1和task 2上效果一般,
但是从ϕ出发,
在task 1上能容易地找到最优参数θ^1,
在task 2上能容易地找到最优参数θ^2,
因此ϕ是一个好的初始化参数。
这个ϕ不是一个好的初始化参数,因为它会导致task 2收敛不到最小。
MAML假设:
最后得到一个比较好的初始化参数ϕ以后,只需经过一次gradient descent,就能找到最好的θ^。
以下是推导公式:
θ^=ϕ−ϵ∇ϕl(ϕ)L(ϕ)=n=1∑Nln(θ^n)ϕ=ϕ−η∇ϕL(ϕ)∇ϕL(θ)=n=1∑N∇ϕln(θ^n)∇ϕl(θ^)=∂θi∂l(θ^)=j∑∂hatθj∂l(θ^)∂θi∂hatθj≈∂hatθi∂hatθj=∇θ^l(θ^)
3. Reptile