為給定任務自動生成神經網路:MIT提出RNN架構生成新方法

黃小天發表於2017-12-22
由 MIT 研究人員最近提出的 RNN 架構自動生成方法使用了靈活的 DSL 搜尋和強化學習,在語言建模和機器翻譯等任務上表現良好。新方法可以讓我們擺脫依靠直覺的費力模型設計方式,同時也大大擴充套件了迴圈神經網路的可能性空間。

開發全新的神經網路架構是很多人工智慧創新的核心所在。然而,搜尋架構和工程定製的速度緩慢、耗費資源,同時也需要開發者投入大量勞動。人類專家通常以直覺為指導來探索架構的潛在發展空間,即使是微小的修改也可能產生意想不到的結果。理想狀況下,自動架構搜尋演算法可以幫助我們找到給定任務的最佳模型架構。

對機器學習自動化的探索已有很多,比如超引數優化(Bergstra et al., 2011;Snoek et al., 2012),以及生成全新模型架構的不同方法(Stanley et al., 2009; Baker et al., 2016; Zoph and Le, 2017)。對於架構搜尋,確保這些自動化方法產生相似於人的結果通常需要不切實際地遍歷大型搜尋空間——假設高質量架構存在於搜尋空間之中。儘管最近工作已經在非標準運算元使用中發現了有希望的結果(Vaswani et al., 2017),選擇組成框架的底層運算元通常仍進一步受限於跨架構的標準集。

MIT 的研究人員提出了一種用於迴圈神經網路靈活自動化架構搜尋的元學習策略,明確涵蓋搜尋中的全新運算元。它包含三個階段,如圖 1 所示,該論文給出了兩個例化版本。

1. 藉助高度靈活的 DSL,候選架構生成函式帶來了潛在的 RNN 架構。DSL 不會對所生成樹的大小或複雜度施加限制,並可通過隨機策略或 RL 智慧體累加建構。

2. 排序函式通過遞迴神經網路處理每個候選架構的 DSL,預測架構的效能。通過展示 RNN 表徵,排序函式也可以逐漸建模候選架構隱藏層的互動。

為給定任務自動生成神經網路:MIT提出RNN架構生成新方法

圖 1. 生成器通過迭代取樣下一節點產生候選架構(隨機地或者使用由 REINFORCE 訓練的 RL 智慧體)。排序函式處理完整架構並評估最有希望的候選架構。在基線實驗上執行模型的結果接著用於提升生成器和排序函式。

3. 評估器評定最有希望的候選架構,把其 DSL 編譯為可執行的程式碼,並訓練每個模型用於特定任務。這些評估結果構成了架構效能組合,接著可用於訓練排序函式和 RL 生成器。

雖然特定域的語言並非完全通用,但它足夠靈活以捕捉到最為標準的 RNN 架構,這包含但不限於 GRU、LSTM、MGU(最小門控單元/Zhou et al., 2016)、QRNN(Bradbury et al., 2017)、NASCell(神經架構搜尋單元/Zoph and Le, 2017)和簡單的 RNN。

對於給定的架構定義,我們可以通過遍歷來自源節點到最後節點 h_t 的樹而把 DSL 編譯為程式碼。研究人員獲得了兩組原始碼,一組用於節點需要的初始化,比如定義矩陣乘法的一組權重;一組用於執行時的前向呼叫。

通過強化學習構建累加架構

在一個從輸出 h_t 開始的時間,DSL 中的架構一個累加地構建的節點。最簡單的智慧體是隨機的,它選擇來自運算元集的下一節點,而不在搜尋空間中內化關於架構或最優化的任何知識。優先允許智慧體構建架構,因為智慧體在可能的構架空間中可以學習聚焦在有希望的方向上。

對於做出選擇下一節點決策的智慧體,它必須有一個架構當前狀態的表徵,以及一個指導性的工作儲存器。我們提出藉助以下兩個元件來實現它:

1. 表徵(區域性)架構當前狀態的樹編碼器

2. 饋送當前樹狀態並取樣下一節點的 RNN

樹編碼器是遞迴地應用於節點 token 的 LSTM,並且所有子節點共享權重,但是狀態在節點之間重新設定。RNN 是應用在已編碼區域性架構之上,並且每個運算元預測動作分值。我們通過多項式取樣,並鼓勵用 epsilon-greedy 策略探索。通過 REINFORCE 演算法聯合訓練模型的兩個元件(Williams, 1992)。

為給定任務自動生成神經網路:MIT提出RNN架構生成新方法

圖 3. 語言建模架構搜尋隨時間推移的視覺化。越低的 log 困惑度(y 軸)越好。

為給定任務自動生成神經網路:MIT提出RNN架構生成新方法

表 1. Penn Treebank 語言建模任務上驗證集/測試集的模型困惑度;表 2.WikiText-2 語言建模任務上驗證集/測試集的模型困惑度。

為給定任務自動生成神經網路:MIT提出RNN架構生成新方法

圖 4. 運算元隨時間推移的分佈。在開始階段,生成器使用核心 DSL(漸灰色),隨著架構表徵的穩定,開始使用擴充套件 DSL。

論文:A Flexible Approach to Automated RNN Architecture Generation

為給定任務自動生成神經網路:MIT提出RNN架構生成新方法

論文連結:https://arxiv.org/abs/1712.07316

摘要:設計神經架構的過程需要專業知識和大量的試錯過程。儘管自動架構搜尋方法或許可以簡化這些需求,但使用目前的方法生成迴圈神經網路(RNN)會受到靈活性與元件數量的限制。我們提出了一個域定義語言(DSL)用於自動架構搜尋,可以產生任意深度和寬度的新 RNN 模型。DSL 的靈活性足以定義標準架構如門控迴圈單元(GRU)和長短期記憶網路(LSTM),並允許引入非常規的 RNN 元件如三角曲線和層歸一化。使用兩種不同的候選生成技術——帶有排序函式的隨機搜尋和強化學習,我們探索了由 RNN、DSL 為語言建模和機器翻譯等任務生成新架構的方式。這些生成的架構不遵循人類直覺,同時在目標任務上表現良好,這表明可用 RNN 架構的空間要比之前我們認為的要大上很多。

相關文章