論文閱讀筆記《Meta-Learning of Neural Architectures for Few-Shot Learning》

核心思想

  本文提出一種基於參數優化的小樣本學習算法(MetaNAS)。本文最重要的改進就是將神經架構搜索(neural architecture search,NAS)引入到小樣本學習算法中,簡單地理解就是MAML和Reptile等元學習算法,是在確定網絡結構的基礎上,通過元訓練的方式獲得較好的初始化參數,而本文引入NAS後,不僅要對初始化參數進行學習,而且要對網絡結構參數進行學習。爲了實現這一想法,作者將經典的NAS算法DARTS和小樣本學習算法Reptile進行了結合,爲了方便大家理解,我們首先介紹一下DARTS算法的過程,如下圖所示
在這裏插入圖片描述
  圖中帶有數字的矩形塊表示網絡中的結點,或者就是許多組特徵圖,不同顏色的連線分別表示不同的操作(如3 * 3的卷積,5 * 5的卷積和最大值池化等),而連線的粗細表示不同操作所佔的權重比例。經過NAS搜索得到的網絡結構如最左側的圖所示,各個結點之間是稠密鏈接的,每兩個結點之間都有三種不同的操作方式,只不過每種操作所佔的比例不同,這一過程如下式
在這裏插入圖片描述
式中x(j)x^{(j)}表示第jj個節點處的特徵圖,O\mathcal{O}表示所有可能操作的集合,α^oi,j\hat{\alpha}_o^{i,j}表示從節點x(i)x^{(i)}到結點x(j)x^{(j)}之間操作oo所佔的權重比例,woi,jw_o^{i,j}就表示操作oo所包含的常規參數,如卷積核的權重值等。而NAS搜索的過程最重要的就是學習權重參數α^oi,j\hat{\alpha}_o^{i,j}其計算方式如下
在這裏插入圖片描述
可以看到DARTS是通過加權求和的方式,將所有的操作混合起來,然後將所有x(j)x^{(j)}結點之前的輸出都累加起來作爲結點x(j)x^{(j)}的輸入。通過這種混合操作,就將原本節點之間多種操作方式融合爲一種,結點間的連接變得稀疏了一些,如中間的圖所示。但是儘管如此,每個結點的輸入都包含之前所有結點的輸出,結點之間的連接還是過於稠密,爲了得到最終的網絡模型,DARTS算法採用一種硬剪枝(hard-pruning)的方式,對於每個結點僅保留1-2個輸入,其他輸入全部刪去(如最右側的圖所示),但這種方式會導致模型性能下降,因此需要將剪枝後的模型進行重訓練。
  關於本文的另一個基礎算法MAML或Reptile可以參看我先前的筆記,這裏不再贅述。本文則是在MAML或Reptile的基礎上增加對於網絡結構權重參數αoi,j\alpha_o^{i,j}的元學習部分,在任務學習階段不僅要更新原本的權重參數ww還要更新結構參數α\alpha,計算過程如下
在這裏插入圖片描述
同理在元學習階段也需要對兩個參數進行更新,對於MAML算法,其計算過程如下
在這裏插入圖片描述
對於Reptile算法,其計算過程如下
在這裏插入圖片描述
  同DARTS算法一樣,在得到網絡結構權重參數α\alpha後需要進行剪枝操作,但原本的硬剪枝操作存在兩個問題:1.剪枝後需要重訓練,這對於需要分成多個任務進行訓練的小樣本學習算法而言,成本太高;2.對於小樣本學習多個任務而言,訓練得到的網絡結構是相同的,不能根據不同的任務調整網絡結構。針對上述兩個問題,本文提出一種柔性剪枝(soft-pruning)的方法,具體的實現過程就是給α^oi,j\hat{\alpha}_o^{i,j}計算中增加一個退火溫度參數τα\tau_{\alpha},如下式所示
在這裏插入圖片描述
隨着溫度參數τα\tau_{\alpha}逐漸衰退到0,網絡結構權重參數α^oi,j\hat{\alpha}_o^{i,j}會收斂到0或1,這樣就相當於獲得了一個獨熱向量,兩個結點間多種操作中只有一種操作的權重接近1,其他的都接近0(相當於被剪枝)。用這一方式取代了DARTS算法中加權求和的方式,實現了對不同操作的剪枝,而且作者認爲溫度參數衰減的過程,就是網絡權重參數逐步適應任務需求的過程,根據每個任務的訓練集不同,可以學習到不同的權重參數α^oi,j\hat{\alpha}_o^{i,j}以滿足不同任務的需求,整個過程如下圖所示
在這裏插入圖片描述
  最後對於每個結點的多個輸入進行剪枝,處理過程與上文采用的方式類似。令兩個節點之間的連接權重爲βi,j\beta^{i,j},並引入退火溫度參數τβ\tau_{\beta},然後按照下式進行計算
在這裏插入圖片描述

實現過程

網絡結構

  通過NAS的方式進行學習

損失函數

在這裏插入圖片描述
式中Φk\Phi^k表示第kk個任務學習器

訓練策略

  與Reptile算法相結合的訓練過程如下圖所示
在這裏插入圖片描述

創新點

  • 將NAS中的DARTS算法與小樣本學習中的Reptile算法相結合,通過元學習的方式同時訓練權重參數和結構參數
  • 引入退火溫度參數,實現任務自適應的柔性剪枝方案

算法評價

  真是一個萬物皆可AutoML的時代,連我認爲與AutoML訴求最爲矛盾的小樣本學習問題都納入了NAS的研究版圖。因爲對於普通的問題,採用NAS方法實際上是將搜索空間擴大,不僅尋找最好的權重或者偏置參數,而且還要尋找最好的模型結構,而這一過程無疑加劇了對於數據集的依賴,必須有充足的樣本用於訓練,才能夠避免過擬合的問題,是其具備較好的泛化能力,而小樣本學習問題所缺少的恰恰就是訓練樣本。本文是利用元學習的方式,將網絡結構參數作爲學習的對象,利用MAML或Reptile等方法進行訓練,並且設計了一種新的柔性剪枝方案,使其更好的適應小樣本學習任務。

如果大家對於深度學習與計算機視覺領域感興趣,希望獲得更多的知識分享與最新的論文解讀,歡迎關注我的個人公衆號“深視”。在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章