一個神經網絡學習一切!谷歌又放了個大衛星(附論文)

轉自  佩服 量子位
李林 問耕 編譯自 Arxiv  量子位 出品 | 公衆號 QbitAI

論文下載:Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer

最近,Google又在論文題目上口出狂言:One Model To Learn Them All,一個模型什麼都能學。

非營利研究機構OpenAI的研究員Andrej Karpathy在Twitter上評論說,Google在把自己整個變成一個大神經網絡的路上,又前進了一步。

這個題目,可以說繼“Attention Is All You Need”之後,再爲標題黨樹立新標杆,量子位作爲媒體自愧不如。

這篇最近預發表在Arxiv上的論文說,深度學習挺好,但是每解決一個問題都得建一個模型,還要花好長時間調參、訓練,太討厭了。

於是,他們搞出了一個在各種領域的很多問題上效果都不錯的模型MultiModel。

他們現在在訓練這個神經網絡識別ImageNet圖像、進行多種語言的翻譯、在COCO數據集上根據圖片生成文字說明、做語音識別、做英文語法分析。

這個德智體美勞全面發展的模型,包含卷積層、注意力機制、稀疏門控層。

上面提到的每個計算模塊,都會在某些類任務中發揮着關鍵作用,但有意思的是,就算在那些發揮不了關鍵作用的任務中,這些模塊也沒搗亂,大多數時候還稍微有點用……

在數據比較少的任務上,用這個模型和其他任務聯合訓練效果尤其好。雖然有時候大型任務的性能會下降,也只是降了一點點。

摘要就講了這些,接下來我們看看論文的詳細內容:

1. 簡介

多任務模型這個問題,並不是谷歌突發奇想開始研究的,以前也有不少相關論文。但是原來的模型都是一個模型訓練一類任務:翻譯的歸翻譯,識圖的歸識圖。

也有那麼一兩篇用一個模型訓練多種不相關任務的,但效果都不怎麼好。

於是,Google Brain的同學們就搞了個MultiModel,用一個模型,可以同時學習不同領域的多個任務。

現在,MultiModel就同時在8個數據集上進行訓練:

(1) 《華爾街日報》語音語料庫

(2) ImageNet數據集

(3) COCO圖片說明數據集

(4) 《華爾街日報》句法分析數據集

(5) WMT英-德翻譯預料庫

(6) WMT德-英翻譯預料庫

(7) WMT英-法翻譯預料庫

(8) WMT法-英翻譯預料庫

論文作者們說,模型在這些任務上的表現都不錯,雖然算不上頂尖水平,但也比最近很多研究強。

下圖舉例展示了MultiModel模型的學習成果:



 從左到右分別是生成圖片說明、圖像分類、英譯法、英譯德、句法分析

爲了在不同維度、大小、類型的數據上進行訓練,MultiModel由多個特定模式的子網絡對這些輸入數據進行轉換,並放進一個共同的表示空間。這些子網絡叫做“模式網絡(modelity nets)”。

2. MultiModel架構


如上圖所示,MultiModel由幾個模式網絡、一個編碼器、I/O混合器、一個自迴歸解碼器構成。

這個模型的主體,包含多個卷積層、注意力機制、和稀疏門控專家混合層(sparsely-gated mixture-of-experts layers),論文中對這三個部分分別做了說明。

2.1 卷積模塊

這個模塊的作用是發現局部模式,然後將它泛化到整個空間。

這個卷積模塊包含三個組件:線性整流函數(ReLU)、SepConv和歸一層。

如圖所示,這個模型用了四個卷積層,前兩層有3×1個卷積核,後兩層有15×1個卷積核,每層最後加了40%的dropout。

2.2 注意力模塊

MultiModel模型中所用注意力機制和谷歌之前發佈的標題黨典範論文Attention Is All You Need中差不多。


如圖所示,注意力層的輸入包括兩個張量,一個來源張量(source)和一個目標張量(target),形式都是[batch size,sequence length, feature channels]。

本文的注意力模塊和以前的主要區別在於是定時信號,定是信號的加入能讓基於內容的注意力基於所處的位置來進行集中。

2.3 專家混合模塊

MultiModel中的稀疏陣列混合專家層,由一些簡單的前饋神經網絡(專家)和可訓練的門控網絡組成,其選擇稀疏專家組合處理每個輸入。

詳情見這篇論文:

Krzysztof Maziarz, Andy Davis, Quoc Le, Geoffrey Hinton, Jeff Dean, Noam Shazeer, Azalia Mirhoseini. Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. arXiv preprint 1701.06538, 2017.

因爲MultiModel裏的專家混合模塊基本是完全照搬。

本文的模型在同時訓練8個問題時,用了240個“專家”,訓練單個問題時用了60個“專家”。

2.4 編碼器、混合器、解碼器

MultiModel的主體由3部分組成:僅處理輸入的編碼器、將編碼輸入與先前輸出(自動迴歸部分)混合的混合器、以及處理輸入和混合以產生新輸出的解碼器。

編碼器、混合器和解碼器的結構類似於以前的完全卷積序列到序列模型,如ByteNet或WaveNet,但使用的計算模塊不同。


上圖描繪了它們的架構。從圖中可以看出,編碼器由6個重複的卷積模塊組成,中間有一個專家混合層。

混合器由注意力模塊和2個卷積模塊組成。解碼器由四個卷積和注意力模塊組成,中間有專家混合層。關鍵的是,混合器和解碼器中的卷積填充在左邊,所以他們將來永遠不會訪問任何信息。這讓模型是自迴歸的,並且這種卷積自迴歸生成方案在輸入和過去的輸出上提供大的感受野,這能夠建立長期依賴性。

爲了讓解碼器即便在相同的模態下,也能爲不同任務生成輸出,我們總是使用命令令牌開始解碼,例如To-English或To-Parse-Tree。我們在訓練期間學習一個與每個令牌相對應的嵌入矢量。

2.5 模式網絡

我們有4種模態網絡,分別對應:語言(文本數據)、圖像、音頻和分類數據。

2.5.1 語言模式網絡

我們將基於語言的數據用和8k subword-units相同的詞彙進行標記化。語言輸入模式是到終止令牌結束的一系列token。在輸出端,語言模式通過解碼器進行輸出,並執行學到的線性映射和Softmax,生成令牌詞彙的概率分佈。

2.5.2 圖像模式網絡

圖像輸入模式類似於Xception進入流。 輸入圖像的特徵深度使用殘差卷積塊逐漸加深,我們稱之爲ConvRes,並定義如下:

網絡深度爲d(我們使用了d=1024)的圖像模態的輸入流定義爲:

2.5.3 分類模式網絡

分類輸出模式類似於Xception退出流。 如果網絡的輸入是諸如圖像或光譜音頻數據的二維數據,則來自模型體的一維輸出首先被重構成二維,然後是逐行下采樣:

2.5.4 音頻模式網絡

我們以一維波形或者二維頻譜圖的形式接受音頻輸入,這兩種輸入模式都使用來上面提到的8個ConvRes塊的堆棧。

3. 實驗

我們使用TensorFlow實現了上述MultiModel架構,並在多種配置中對其進行了訓練。

在下面提到的所有訓練中,我們使用了一組相同的超參數和帶有梯度裁剪的Adam優化器。我們會把這個實現以及所有的設置和超參數細節進行開源。我們聚焦於實驗來回答以下問題:

(1) 基於8個任務同時訓練的MultiModel與最先進的結果差距有多大?

(2) 在8個任務上同時訓練,與單個進行訓練有何不同?

(3) 上述不同的計算模塊,如何影響不同的任務?

在回答上述問題時,我們並不總是考慮所有8個問題。特別是4個翻譯問題的行爲非常相似,所以我們決定不把它們全部包含在每個比較中,但是我們專注於更多樣化的問題。

爲了回答問題(1),我們將8個問題的MultiModel的性能與最先進的結果進行了比較,見表1。我們沒有花費太多時間調整MultiModel的超參數,我們認爲更多的調教能把二者的差距降低到很小。我們實現的結果類似於沒有進行大量調教的任務特定模型。

爲了回答問題(2),在共同對8個任務進行訓練時,我們還用相同的參數在進行了每個任務進行了單獨的訓練。在進行單獨訓練時,我們使用了一個worker來完成相似的步驟。從表2的結果可以看出,8個任務聯合訓練的模型,性能和單獨訓練的模型非常接近,而且有時候效果更好。

考慮到翻譯任務中的大量文本數據,表2中所看到的巨大改進並不令人驚訝。那麼在ImageNet上的表現會怎樣?從表3可以看出,性能的差異比較明顯,由於同時使用了dropout和early stopping,我們推測這與過擬合無關。相反,看起來不同任務之間似乎有着共享的計算原語,即使像ImageNet和句法分析這樣看似無關的任務之間,也可以存在一些遷移學習。

爲了回答問題(3),我們比較瞭如果沒有混合專家層或沒有注意力機制的訓練,會如何影響不同問題的表現。由於這兩種機制都是爲機器翻譯設計的,所以我們比較了英文 - 法文翻譯。但是我們用了ImageNet進行比較,因爲這是從這些塊中獲益最少的問題。實際上,如果這些模塊真的沒用,那麼去掉之後也不會影響在ImageNet上的表現。相比之下,我們在表4中看到,這些模塊不會影響或稍微提高性能。這導致我們得出結論,混合不同的計算塊實際上是改善各種任務性能的好方法。

4. 結論

我們首次證明,單一的深度學習模式可以從多個領域中共同學習一些大型任務。

成功的關鍵在於設計一種多模式架構,其中共享盡可能多的參數,並將不同領域的計算模塊一起使用。

我們相信,這將爲未來研究更通用的深度學習架構開闢一條有趣的道路,特別是我們的模型顯示出,基於大量數據訓練而成的任務,可以遷移學習應用在數據有限的任務上。

論文作者:Lukasz Kaiser, Aidan N. Gomez, Noam Shazeer, Ashish Vaswani, Niki Parmar, Llion Jones, Jakob Uszkoreit

論文下載:Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer


【完】


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