EMNLP 2019 | 4塊GPU搜索1天,神經網路搜索性能還能再改進嗎?

  • 2019 年 11 月 26 日
  • 筆記

作者 | 姜雨帆 編輯 | 唐里

當人工設計的神經網路結構在各項任務上都取得了很好的成績之後,人類開始思考如何自動設計網路結構。

研究人員在2016年提出了神經網路的結構搜索(NAS),旨在從海量的神經網路結構中通過搜索的方式得到一個最優的網路結構。如果採用隨機搜索的策略,搜索代價極高。為此,人們提出了不同的搜索策略來指導網路結構搜索。其中,最成功的策略當屬強化學習和演化演算法,在影像領域都得到了優秀的網路結構。但這些搜索方法需要的計算資源仍不是普通的研究機構可以負擔起的。例如在影像識別任務CIFAR-10上搜索到一個性能優秀的結構需要使用450塊GPU搜索3-4天。

最近,研究人員從不同的角度出發,提出了可微分的神經網路結構搜索方法,該方法通過將離散的網路結構參數連續化,在訓練過程中使用梯度下降的方法對結構參數進行更新,得到最終的網路結構。該方法極大提高了網路結構搜索的效率。將上述任務的時間縮短至4塊GPU 搜索1天。

可微分的網路結構搜索方法將待搜索的單元定義成一個有向無環圖。每兩個節點之間有多條邊相連,每條邊代表不同函數操作。為了能讓離散的搜索空間可導,我們為每個操作引入一個權重,使用歸一化的方法對每種函數操的選擇進行鬆弛。在訓練過程中使用梯度下降的方法對權重進行更新,最後選取權重較大的操作作為最終的結構,可參見下圖左:

儘管可微分的網路結構搜索在保證網路性能的前提下,大大提高了搜索效率,但該方法仍存在一定的局限。在原方法中,歸一化操作僅作用在兩個節點之間的操作,而來自不同節點之間的操作不可比。這樣的限制可能會導致局部偏置問題,使得網路訓練無法收斂。

針對上述問題,本文對可微分的網路結構搜索方法進行改進。我們移除了原方法中存在的局部限制,對每一個節點的所有的輸入邊進行全局歸一化操作,如上圖右,減少網路中『局部偏置』的影響。經過實驗分析,我們改進的方法在保證網路性能的前提下,進一步提高網路搜索的效率以及穩定性。後續將對該方法的思想和實現作具體介紹。

方法描述

可微分的網路結構搜索方法面向的是一個單元模組,類似循環神經網路的一個循環單元,或者卷積神經網路的卷積單元,最終將搜索得到的單元堆疊成整個神經網路。針對語言建模的任務,我們對循環神經網路的循環單元進行搜索。

實驗分析

我們在語言模型和命名實體識別任務上對改進的可微分結構搜索方法進行驗證,實驗結果如下圖所示。具體的實驗配置可參見論文。

為了驗證方法的有效性,我們使用四組不同隨機種子對網路進行初始化。分別使用改進的方法和原方法進行結構搜索。每10輪對當前時刻的結構性能進行驗證,平均性能如下圖所示。

以上實驗結果可以證明,我們改進的方法在保證網路性能的前提下,進一步提高網路搜索的效率以及穩定性。

最後,我們對搜索得到的網路結構進行了可視化,如下圖所示。

圖中上方的結構是通過語言模型任務搜索得到的,下面的結構是通過命名實體識別任務得到的。從圖中可以看出,每個搜索得到的循環神經單元都是一個有向無環圖,圖中包含了有順序的八個節點,節點之間靠不同的激活函數進行連接。我們看到,通過搜索得到的網路結構都十分複雜,無法通過手工設計出來。同時,不同的任務最終搜索得到的結構也是不同的,這可能是因為每個任務都有不同的偏置,這也進一步證明了研究網路結構搜索的必要性。

總結

本文對可微分的網路結構搜索方法進行改進,移除了原方法中歸一化操作的局部限制。提高了結構搜索的效率和穩定性,在語言模型任務和命名實體識別任務上搜索到多個優秀的網路結構。在未來的工作中,我們將在更多的任務上進行網路結構的搜索。

論文鏈接:https://www.aclweb.org/anthology/D19-1367.pdf


姜雨帆,東北大學自然語言處理實驗室研究生,研究方向為神經網路結構搜索、神經語言模型。

小牛翻譯,核心成員來自東北大學自然語言處理實驗室,由姚天順教授創建於1980年,現由朱靖波教授、肖桐博士領導,長期從事計算語言學的相關研究工作,主要包括機器翻譯、語言分析、文本挖掘等。團隊研發的支援140種語言互譯的小牛翻譯系統已經得到廣泛應用,並研發了小牛翻譯雲(https://niutrans.vip)讓機器翻譯技術賦能全球企業。