當前位置:
首頁 > 科技 > Sentient提出基於深度多任務學習的偽任務增強,提高深度學習性能

Sentient提出基於深度多任務學習的偽任務增強,提高深度學習性能

圖源:pixabay

原文來源:arXiv

作者:Elliot Meyerson、Risto Miikkulainen

「雷克世界」編譯:嗯~阿童木呀、KABUDA

一般來說,深度多任務學習(Deep multitask learning)通過在相關任務中共享已學習結構從而提高性能表現。本文將深度多任務學習中的思想調整應用到一個只有單個任務可用的環境中。該方法被形式化為偽任務增強(pseudo-task augmentation),在此過程中,使用每個任務中的多個解碼器對模型進行訓練。偽任務對來自同一領域緊密相關的任務的訓練效果進行模擬。在一組實驗中,結果顯示,偽任務增強可以提高單任務學習問題的性能表現。當與多任務學習進行結合時,性能就會得到進一步的改進,CelebA數據集上的最先進性能表現也涵蓋在內,這些都表明偽任務增強和多任務學習具有互補價值。總而言之,偽任務增強是一種能夠提高深度學習系統性能的廣泛適用且有效的方法。

多任務學習(MTL)(Caruana於1998年提出)通過利用不同學習問題之間的關係來提高性能。近年來,MTL已擴展到了深度學習領域中,其中,它在諸如視覺、自然語言、語音、強化學習等應用、以及來自不同領域的看似無關的任務中的性能都得以改善。深度多任務學習依賴於來自多個數據集的訓練信號,從而用以對跨任務間共享的深層結構進行訓練。由於共享結構必須支持解決多個問題,因此它本質上是更為通用的,從而能夠進行更好的泛化從而維持數據。

圖1:用兩個任務進行偽任務增強的一般設置:(a)基礎模式,所有任務輸入都通過完全共享的基礎模型進行嵌入的;(b)多個解碼器,每個任務都有多個解碼器(實黑線),每個解碼器都將嵌入投影到不同的分類層;(c)並行遍歷模型空間,與解碼器相連接的基礎模型定義了任務模型。任務模型填充了模型空間,當前模型顯示為黑點,以前的模型顯示為灰點;(d)多個損失信號,每個當前任務模型都會收到明顯的損失以計算其明顯的梯度。一個與解碼器相連接的任務以及其參數為基礎模型定義了一個偽任務。

本文將深度MTL中的思想調整應用於單任務學習(STL)的情況,即當只有一個任務可用於訓練時。該方法被形式化為偽任務增強(PTA),其中,單個任務具有多個不同的解碼器,用於將共享結構的輸出投影到任務預測中。通過訓練共享結構以多種方式解決同一個問題,PTA會對來自同一個領域中不同但緊密相關的任務的訓練效果進行模擬。理論證明顯示了,具有多個偽任務的訓練動態是如何嚴格地僅使用一個偽任務將訓練納入其中的,並且在實踐中引入了一類用於控制偽任務的演算法。

經過一系列的實驗證明,PTA能夠顯著提高單任務環境中的性能表現。儘管PTA的多種不同變體能夠以各種質量不同的方式遍歷假任務的空間,但它們都表現出了顯著的性能提升。實驗結果還表明,當PTA與MTL相結合時,性能還可以得到進一步的改進,包括CelebA數據集上的的最先進性能表現。換句話說,雖然PTA可以被看作是MTL的一個基本案例,但是PTA和MTL在學習更為通用化的模型方面具有互補的價值。而結論就是偽任務增強是一種有效的、可靠的和具有廣泛適用性的能夠提高深度學習系統性能的方法。

訓練多個深度模型

有多種方法可以利用多個深度模型之間的協同作用。我們可以將這些方法分為三種類型加以描述:(1)對多任務的模型進行聯合訓練的方法;(2)為單一任務的多個模型進行單獨訓練的方法;(3)對單一任務的多個模型進行聯合訓練的方法。可以說,(3)中的方法的發展統一了(1)和(2)的優點。

圖4.偽任務軌跡。t-SNE(van der Maaten和Hinton於2008年提出)對IMDB上PTA-I、PTA-F、PTA-HGD運行的偽任務軌跡進行預測。每個形狀對應於一個特定的解碼器,每個點是在時期結束時長度為-129的權重向量的投影,不透明度會隨著時間增長。這一行為符合我們對每種情況下會發生何種事情的直覺:(a)當解碼器僅進行獨立初始化時,它們的偽任務逐漸收斂。(b)僅有一個解碼器被凍結時,未凍結的解碼器需在其他解碼器之間解決。(c)在使用貪心方法時,解碼器在遍歷偽任務空間時執行本地搜索。

圖5.CeleA dropout進度。藍色的粗線條表示在PTA-HGD運行中,400個偽任務的平均droput進度。其餘每一行都顯示了一個特定任務進度,共有10個偽任務的平均值。所有線條均由長度為10的單調移動平均值繪製。進度的多樣性表明系統正在利用PTAHGD的能力來調整特定任務的超參數進度。

實驗表明,PTA具有廣泛的適用性,並且可以提高各種單任務和多任務問題的性能。使用多個解碼器對單個任務進行訓練,便可以訪問更廣泛的模型。如果這些解碼器是多樣性的,且性能良好,那麼共享結構就可以以多種方式解決相同問題,這是強智能(robust intelligence)的一個特徵。在MTL環境中,獨立控制每個任務的偽任務可以檢測到不同特定任務的學習動態(如圖5所示)。增加解碼器的數量也可以增加跨任務解碼器之間進行匹配的幾率。

表1.Omniglot 50-任務結果。顯示每個設置的所有任務的平均測試錯誤。總而言之,MTL的性能補充並提升了PTA的性能,PTA-F再次成為性能最優且最具魯棒性的方法。

表2.IMDB結果。所有PTA方法都優於LSTM基線。當D=10時,PTA-HGD可以獲得最佳性能。隨著貪心演算法(greedy algorithm)執行更廣泛的搜索,該方法將解碼器的數量從4個增長至10個,從而使其能力得到了極大提升。另一方面,PTA-F的性能隨著解碼器數量的增多而降低,這表明過多的凍結解碼器可能會過度抑制F。

表3.CelebA結果。將PTA與CelebA的現有方法進行比較。測試錯誤在所有屬性中取平均值。PTA-HGD優於其他所有方法,並在這一基礎上構建了一個新的先進水平。

控制偽任務軌跡的方法是PTA的核心。實驗表明,儘管PTA的性能幾乎總是優於基線,但改進的量可以根據控制方法的選擇而變化(如圖2和圖3,表1和表2所示)。不同的方法表現出高度結構化但又存在差異的行為(如圖4所示)。初始方法的成功表明,開發更複雜的方法是開展未來研究工作的一個有效途徑,特別要強調,可選擇上面所提到的三種方法中的第二種:為單一任務的多個模型進行單獨訓練,以更有效地控制偽任務軌跡。例如:考慮本文中評估的最複雜的方法:PTA-HGD。這種複製解碼器權重和執行局部超參數搜索的方法可以被更智能地生成新模型的方法所取代(Bergstra等人於2011年, Snoek等人於 2012年,Miikkulainen等人於2017,Real等人於2017年,Zoph和Le於2017年提出)。這種方法特別適用於將PTA擴展到複雜的非線性解碼器中,而不僅僅是本文所討論的線性情況。最直接的非線性擴展是增加每個解碼器的深度。然而,由於一組解碼器所進行的是並行訓練,因此使用更通用的神經構架搜索方法(Miikkulainen等人於2017年,Real等人於2017年,Zoph和Le於2017年提出)來搜索最佳解碼器構架。雖然這些方法會極大地擴展偽任務空間,但偽任務軌跡呈現出高度結構化的行為表明,直接對偽任務空間建模也可以為控制策略提供有用的信息。

最後要說的是,儘管將單獨的PTA模型集成在一起是有效果的,但在我們在初步測試中發現,用於評估的樸素集成解碼器(等式6)並沒有在單一最佳(等式5)情況下產生顯著性能改進。這可能是由於最終模型之間存在很高的相關性所致,開發一種用於生成更為互補的解碼器的PTA訓練方法和集成這組解碼器的有效方法,可以使性能得到進一步提升。

本文介紹了一種將深度MTL的思想應用於單任務學習的方法--偽任務增強法。通過訓練共享結構以多種方式解決相同任務,偽任務增強模擬了與多個密切相關的任務的訓練,從而產生類似於MTL中的性能改進。然而,這些方法是相輔相成的:將偽任務增強與MTL相結合可以進一步提高性能。因此,廣泛適用的偽任務增強是提高深度學習性能的一種很有效的方法。總而言之,本文首次提出了一種基於任務內參數共享的高效模型搜索演算法,在未來,還將進行進一步探索。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷克世界 的精彩文章:

DeepMind提出圖形的深度生成式模型,可實現任意圖形的生成
Yoshua Bengio團隊發布最新強化學習智能體研究

TAG:雷克世界 |