自動優化架構,這個算法能幫工程師設計神經網絡

近日,NeurIPS 2019 近日在加拿大溫哥華召開。騰訊 AI Lab 共 14 篇論文入選,位居國內企業前列。這也是騰訊 AI Lab 第四次參加 NeurIPS,會議期間,我們選取了一篇來自騰訊 AI Lab 的優秀論文進行解讀。

在這篇由騰訊 AI Lab 主導,和華南理工大學合作完成的論文中,作者利用強化學習的方法學習了一種神經網絡結構轉換器。它能對任意的神經網絡結構進行優化,將其轉換爲更緊湊、識別精度更高的結構。以下爲論文的詳細解讀。

NAT: Neural Architecture Transformer for Accurate and Compact Architectures

論文鏈接:https://papers.nips.cc/paper/8362-nat-neural-architecture-transformer-for-accurate-and-compact-architectures.pdf

現有的深度神經網絡結構要麼是人工設計的,要麼是通過神經網絡結構搜索 (NAS) 方法自動搜索得到的。然而,這些網絡結構可能包含許多冗餘的計算操作,存在可優化的空間。爲了實現網絡結構的優化,作者提出了一個神經網絡結構轉換器(Neural Architecture Transformer,簡稱爲 NAT)的方法。該方法可以用計算複雜度更低的計算操作代替網絡結構中冗餘的操作,從而實現性能提高的同時,保證不會引入額外的參數和計算量。

神經網絡中的計算操作可以分爲三類,即 S, N, O。其中,S 表示跳躍連接,N 表示爲空連接(即兩個節點之間沒有連接),O 表示除了跳躍連接和空連接之外的其它操作(如:卷積、池化操作等)。顯然,這三者計算量的大小順序爲:O>S>N。爲了降低網絡結構的計算複雜度,我們希望所學到的 NAT 用計算量更少的操作來代替原網絡結構中的冗餘操作。因此,NAT 遵循以下的轉換規則:OàS, OàN, SàN。由於跳躍連接往往有助於提升模型的性能而且其引入的計算量非常少,因此 NAT 也允許 NàS。總之,NAT 的轉換方案如下圖所示。

具體來講,對於任意一個服從分佈p(·)的網絡結構β,NAT 的目標爲尋求找到,僅僅通過上述所允許的操作變化得到的,最優的結構α。這個優化問題可以寫成:

其中:

  1. R(α│β)=R(α,w_α )-R(β,w_β ),R(α,w_α ) 表示最優參數爲 w_α的網絡結構α在驗證集合上的性能;
  2. c(α)≤κ 是所得到的模型的計算開銷的一個約束。

然而,直接獲得最優的結構α是很困難的。因此,NAT 首先學習一個策略,然後從學到的策略中採樣α,即α服從。爲了學習策略π,我們解決以下優化問題:

爲了解決該優化問題,作者採用了強化學習方法中的策略梯度方法。爲此,需要構造一個合適的策略函數。由於網絡結構β可以用 (X,A) 表示(其中 A 爲鄰接矩陣,X 爲節點特徵),來表示,作者在這裏的策略π(α|β,θ) 採用了兩層的圖卷積神經網絡(GCN),即:

其中,

此外文章採用了參數共享的方法來避免從頭訓練每個結構的參數。總體看來,優化思路就是對下面兩步進行迭代優化:

1、更新神經網絡參數 w,(利用了參數共享的思想):

2、更新θ,(利用最大熵鼓勵探索):

其中第 2 步的流程示意圖如下所示:

爲了驗證 NAT 的有效性,作者將 NAT 應用於人工設計的結構(如:VGG、ResNet、MobileNet)和 NAS 得到的結構(如:ENAS、DARTS、NAONet)。結果分別見表 1 和表 2 所示。

表 1. NAT 在人工設計的網絡結構上的優化結果。

表 2. NAT 在 NAS 方法所得的網絡結構上的優化結果。

從表 1 和表 2,可以觀察到,在 ImageNet 數據集上,經過 NAT 優化後的模型都比原來的基準模型,在計算複雜度相近甚至更低的情況下,獲得了更高的識別精度。

下面,對 NAT 優化後的模型結構進行可視化。圖 1 和圖 2 分別給出了 NAT 在人工和 NAS 所設計的網絡結構上的優化結果。

圖 1. NAT 在人工設計的網絡結構上的優化結果。

如圖 1 所示,對於人工設計的網絡結構,NAT 引入額外的跳躍連接來提高識別精度。

圖 2. NAT 在 NAS 設計的網絡結構上的優化結果。

從圖 2 可以觀察到,對於 NAS 方法得到的網絡結構,NAT 通過使用跳躍連接替換冗餘操作或者直接刪除連接的方法來降低計算量。

此外,作者還對比了不同的策略函數,發現 GCN 優於傳統的 LSTM 模型。總之,這項研究對自動化機器學習、網絡結構設計,深度學習模型性能優化等諸多實際機器學習問題有重要的指導意義。

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