MAML原始paper:Chelsea Finn, Pieter Abbeel, and Sergey Levine, “Model Agnostic Meta-Learning for Fast Adaptation of Deep Networks”, ICML, 2017
MAML 是個跨model的learning方法,但限制是所有Network的架構要是一樣的
MAML目的是:學出最好的初始化參數 $\phi$(以往是從一個distribution裡面sample)
需要定義一個 loss function $L$ 評估每一組$\phi$
評估方法是拿這組初始化參數$\phi$去各個不同的task上做訓練,每組$\phi$都可以學出一個model parameter $\hat θ$
$\hat\theta ^n$ 代表第n個task中學出來的model parameter
$l^n(\hat\theta^n)$ 代表拿$\hat\theta ^n$這組參數去task n 的testing set跑完後的loss
假設總共有N個tasks,那麼評估初始化參數$\phi$的loss function $L$ 可以寫為:
$$ L(\phi)=\sum_{n=1}^{N}l^n(\hat\theta^n) $$
只要有辦法用$\phi$對$L(\phi)$算出gradient,就可以直接使用 gradient descent 來 minimize $L(\phi)$
$$ \phi \leftarrow\phi-\eta\nabla_{\phi}L(\phi) $$
這跟Transfer learning的model pre-training很像,但不一樣。
model pre-training的loss function長這樣:
$$ L(\phi)=\sum_{n=1}^{N}l^n(\textcolor{blue}{\phi}) $$
$l^n$是直接拿現在的model來算
MAML的loss function長這樣:
$$ L(\phi)=\sum_{n=1}^{N}l^n(\textcolor{blue}{\hat\theta^n}) $$
$l^n$是用$\phi$訓練完的model $\hat\theta^n$來算
也就是說,對MAML而言:
我們不在意 $\phi$ 在 training task 上表現如何,我們在意的是用 $\phi$ 訓練出來 $\hat\theta^n$ 表現如何
比較像是尋找最有潛力的$\phi$
對model pre-training而言:
找尋在所有 task 都最好的 $\phi$ 。但並不保證拿 $\phi$ 去訓練以後會得到好的 $\hat\theta^n$
比較像是尋找現在最好的$\phi$