Neural Architecture Search

Background

深度學習在圖像識別、語音識別、機器翻譯等領域取得了很大的進展,部分原因在於各種創新的神經網絡結構。當前的網絡結構主要是通過人類專家手工設計,費時費力又容易犯錯(就像編程一樣)。因此,研究人員提出自動化的神經網絡結構搜索方法(neural architecture search, NAS)。NAS本質上是在給定空間裏搜索滿足特定目標(比如性能)的神經網絡結構,可以從三個角度來回顧現有的NAS研究:搜索空間、搜索策略和性能估計策略。

搜索空間

搜索空間實際上限定了能夠表示的網絡結構的範圍。利用適合特定任務的網絡結構的典型屬性的先驗知識,可以簡化搜索空間和搜索策略,但是同時也引入了人類偏見,從而很難脫離人類現有知識的限制找到更創新的結構。

搜索空間的選擇在很大程度上決定了優化問題的難度。通過不同的抽象級別,可以實現不同程度的搜索空間壓縮。

簡單的鏈式神經網絡

其參數空間包括:

  • 層數
  • 每一層的操作類別,比如pooling, convolution, 或者depthwise separable convolution, dilated convolution
  • 跟操作類別相關的超參,比如過濾器的數目、卷積層的核的大小和步長,全聯接網絡中結點數目。

多分支網絡

將輸入層i建模成前面網絡層輸出的函數,可以支持鏈式網絡、residual networks, denseNets等。

分塊優化

通過提取網絡中的塊模式,然後以塊爲粒度來建立搜索空間,從而壓縮搜索空間;通過提高抽象級別,還有可以提高在不同數據集之間的可遷移性。

搜索策略

搜索策略即搜索方法。因爲通常需要搜索指數級空間甚至是無界的空間,所以一方面希望儘快找到高性能的解,另一方面需要避免過早收斂到局部最優解。常用的搜索策略包括隨機搜索、貝葉斯優化、演化算法、強化學習(Reinforcement Learning, RL)、基於梯度的方法等。

性能估計策略

NAS的目標通常是找到在新數據集上預測效果好的網絡結構。最簡單的性能估計是在數據集上進行標準的訓練-測試評估,但是計算成本極爲昂貴,從而大大限制了可以估計的網絡結構數目。所以目標是提高估計性能。

lower fidelity方法

通過使用更少的epoch,更少的數據集、簡化的網絡模型等,來降低訓練時間。

learning curve extrapolation

只跑一部分訓練,然後根據學習曲線的趨勢通過外插值得到性能估計。

Weight inheritance/Network Morphism

對新的模型,繼承已訓練好的別的相關模型參數,開始訓練,而不是從零開始。

One-Shot MOdels/Weight sharing

將所有的網絡結構視爲同一個超圖(one-shot model)的子圖;訓練該超圖,然後在子圖訓練時共享權重。

下一步方向

  • NAS的應用範圍從目前的圖像分類,推廣到更多領域,同時也能提供更多的可行解。
  • 多目標NAS。除了性能目標,還有資源受限目標等。該領域跟網絡壓縮(network compression)緊密相關。
  • 不同的NAS方法之間的比較和可重現面臨很大挑戰。一方面時間成本高,另一方面性能評估受網絡結構以外的太多因素影響。
  • NAS仍然不能針對爲什麼某個網絡結構表現優秀提供很好的解釋。

Reference

Elsken, Thomas, Jan Hendrik Metzen, and Frank Hutter. “Neural Architecture Search: A Survey.” Journal of Machine Learning Research 20.55 (2019): 1-21.

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