【元學習】Meta-learning與MAML


關於元學習,網上的很多教程不太說人話,大多是根據李宏毅教授的課進行的一個拓展,並沒有去詳細的講解一些步驟性的問題;

關於原理或者說概要比較好的博客:

https://zhuanlan.zhihu.com/p/108503451

https://zhuanlan.zhihu.com/p/55643191

 

上面兩篇可以說是大致很好的講解了元學習的基本概念,自己本篇進行一個大致的整理;

 

Meta-Learning:

元學習的大致思想:尋求一種方法使得可以從過去的任務中學習到如何去學習。

 

從本質的上來說,和傳統機器學習相比較:

傳統機器學習:DL包括在內,都是尋求一個boundary來進行定界操作,主要關心得到一個輸入和標簽的映射網絡;

元學習:執着於網絡參數的確定,使得每一次訓練后,都可以讓模型自己去嘗試制定參數,而不是人為去設定參數;

所以,某種程度上訓練過程可能類似,但是側重思想是不一樣的;

 

 

如上所示,可以基本的看出元學習的目的並不是生成預測值,而是通過feed數據集,來世的learning algorithm收斂,得到一個新的函數,為下一個任務做准備,所以,本質就是通過一個任務生成一個特定的網絡,由訓練過程自發的使網絡來達到最佳,其實和傳統學習還是有點像的;

但是比較不同的一點是,生成的網絡可以在不同的task有不同的結果,而后續的MAML則是固定一類模型,算是meta-learning中的特殊情況;

 

所以元學習的基本步驟有以下幾步:

1.進行一群F函數的選擇,對於同樣的一系列task來進行訓練;

2.根據一定的方法評價task的好壞;

3.最后選擇最好的F;

 

對於上述,完整的流程可以如下所示:

 

所以,對於不同的F,尋找出生成f效率最好的函數,總體通過loss funcion l來進行評估;

 

MAML是Meta-learning中的一種,但是其核心思想是初始化參數的設定;

即通過task的學習,得到一個使得每個task都最優的初始參數;

對於各個網絡中的參數,直接利用初始參數進行更新;

而對於目標函數,我們要求L函數有最小值,所以可以直接借此更新初始化參數,從而達到尋找最優初始化參數的目的;

 

其中需要注意的是以下幾點:

1.局部網絡和整體初始參數更新的速率不同;

2.局部網絡中往往是一次訓練,但是也可以根據數據量進行更改,使得收斂更好;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM