【论文笔记】多任务学习(Multi-Task Learning)
1. 前言
多任務(wù)學(xué)習(xí)(Multi-task learning)是和單任務(wù)學(xué)習(xí)(single-task learning)相對的一種機器學(xué)習(xí)方法。在機器學(xué)習(xí)領(lǐng)域,標準的算法理論是一次學(xué)習(xí)一個任務(wù),也就是系統(tǒng)的輸出為實數(shù)的情況。復(fù)雜的學(xué)習(xí)問題先被分解成理論上獨立的子問題,然后分別對每個子問題進行學(xué)習(xí),最后通過對子問題學(xué)習(xí)結(jié)果的組合建立復(fù)雜問題的數(shù)學(xué)模型。多任務(wù)學(xué)習(xí)是一種聯(lián)合學(xué)習(xí),多個任務(wù)并行學(xué)習(xí),結(jié)果相互影響。
拿大家經(jīng)常使用的school data做個簡單的對比,school data是用來預(yù)測學(xué)生成績的回歸問題的數(shù)據(jù)集,總共有139個中學(xué)的15362個學(xué)生,其中每一個中學(xué)都可以看作是一個預(yù)測任務(wù)。單任務(wù)學(xué)習(xí)就是忽略任務(wù)之間可能存在的關(guān)系分別學(xué)習(xí)139個回歸函數(shù)進行分數(shù)的預(yù)測,或者直接將139個學(xué)校的所有數(shù)據(jù)放到一起學(xué)習(xí)一個回歸函數(shù)進行預(yù)測。而多任務(wù)學(xué)習(xí)則看重 任務(wù)之間的聯(lián)系,通過聯(lián)合學(xué)習(xí),同時對139個任務(wù)學(xué)習(xí)不同的回歸函數(shù),既考慮到了任務(wù)之間的差別,又考慮到任務(wù)之間的聯(lián)系,這也是多任務(wù)學(xué)習(xí)最重要的思想之一。
在機器學(xué)習(xí)中,我們通常關(guān)心優(yōu)化某一特定指標,不管這個指標是一個標準值,還是企業(yè)KPI。為了達到這個目標,我們訓(xùn)練單一模型或多個模型集合來完成指定得任務(wù)。然后,我們通過精細調(diào)參,來改進模型直至性能不再提升。盡管這樣做可以針對一個任務(wù)得到一個可接受得性能,但是我們可能忽略了一些信息,這些信息有助于在我們關(guān)心的指標上做得更好。具體來說,這些信息就是相關(guān)任務(wù)的監(jiān)督數(shù)據(jù)。通過在相關(guān)任務(wù)間共享表示信息,我們的模型在原始任務(wù)上泛化性能更好。這種方法稱為多任務(wù)學(xué)習(xí)(Multi-Task Learning),是本博文的關(guān)注點。
多任務(wù)學(xué)習(xí)有很多形式,如聯(lián)合學(xué)習(xí)(Joint Learning),自主學(xué)習(xí)(Learning to Learn),借助輔助任務(wù)學(xué)習(xí)(Learning with Auxiliary Tasks)等,這些只是其中一些別名。概括來講,一旦發(fā)現(xiàn)正在優(yōu)化多于一個的目標函數(shù),你就可以通過多任務(wù)學(xué)習(xí)來有效求解(Generally, as soon as you find yourself optimizing more than one loss function, you are effectively doing multi-task learning (in contrast to single-task learning))。在那種場景中,這樣做有利于想清楚我們真正要做的是什么以及可以從中得到一些啟發(fā)。
即使對于最特殊的情形下你的優(yōu)化目標只有一個,輔助任務(wù)仍然有可能幫助你改善主任務(wù)的學(xué)習(xí)性能。Rich Caruana 在文獻[1]中總結(jié)了:“多任務(wù)學(xué)習(xí)通過使用包含在相關(guān)任務(wù)的監(jiān)督信號中的領(lǐng)域知識來改善泛化性能”。通過學(xué)習(xí)本博文,我們將嘗試對多任務(wù)學(xué)習(xí)的研究近況做一個簡要的回顧,尤其是針對深度神經(jīng)網(wǎng)絡(luò)的多任務(wù)學(xué)習(xí)。首先,我們探討了多任務(wù)學(xué)習(xí)的靈感來源。接下來,介紹多任務(wù)學(xué)習(xí)的兩種最常見的方法。接著描述了使得多任務(wù)學(xué)習(xí)在實踐中有效的機制。在總結(jié)較為高級的基于神經(jīng)網(wǎng)絡(luò)的多任務(wù)學(xué)習(xí)方法之前,我們回顧了以往多任務(wù)學(xué)習(xí)文獻中的一些背景知識。本文接著介紹了近年來提出的一些給力的基于深度神經(jīng)網(wǎng)絡(luò)的多任務(wù)學(xué)習(xí)方法。最后,我們探討了經(jīng)常使用的輔助任務(wù)的類型以及對于多任務(wù)學(xué)習(xí)講好的輔助任務(wù)所具備的特征。
多任務(wù)學(xué)習(xí)早期的研究工作源于對機器學(xué)習(xí)中的一個重要問題,即“歸納偏置(inductivebias)”問題的研究。機器學(xué)習(xí)的過程可以看作是對與問題相關(guān)的經(jīng)驗數(shù)據(jù)進行分析,從中歸納出反映問題本質(zhì)的模型的過程。歸納偏置的作用就是用于指導(dǎo)學(xué)習(xí)算法如何在模型空間中進行搜索,搜索所得模型的性能優(yōu)劣將直接受到歸納偏置的影響,而任何一個缺乏歸納偏置的學(xué)習(xí)系統(tǒng)都不可能進行有效的學(xué)習(xí)。不同的學(xué)習(xí)算法(如決策樹,神經(jīng)網(wǎng)絡(luò),支持向量機等)具有不同的歸納偏置,人們在解決實際問題時需要人工地確定采用何種學(xué)習(xí)算法,實際上也就是主觀地選擇了不同的歸納偏置策略。一個很直觀的想法就是,是否可以將歸納偏置的確定過程也通過學(xué)習(xí)過程來自動地完成,也就是采用“學(xué)習(xí)如何去學(xué)(learningtolearn)”的思想。多任務(wù)學(xué)習(xí)恰恰為上述思想的實現(xiàn)提供了一條可行途徑,即利用相關(guān)任務(wù)中所包含的有用信息,為所關(guān)注任務(wù)的學(xué)習(xí)提供更強的歸納偏置。
典型方法
目前多任務(wù)學(xué)習(xí)方法大致可以總結(jié)為兩類,一是不同任務(wù)之間共享相同的參數(shù)(common parameter),二是挖掘不同任務(wù)之間隱藏的共有數(shù)據(jù)特征(latent feature)。
2. 動機
我們提出多任務(wù)學(xué)習(xí)的出發(fā)點是多種多樣的:
(1)從生物學(xué)來看,我們將多任務(wù)學(xué)習(xí)視為對人類學(xué)習(xí)的一種模擬。為了學(xué)習(xí)一個新的任務(wù),我們通常會使用學(xué)習(xí)相關(guān)任務(wù)中所獲得的知識。例如,嬰兒先學(xué)會識別臉,然后將這種知識用來識別其他物體。
(2)從教學(xué)法的角度來看,我們首先學(xué)習(xí)的任務(wù)是那些能夠幫助我們掌握更復(fù)雜技術(shù)的技能。這一點對于學(xué)習(xí)武術(shù)和編程來講都是非常正確的方法。具一個脫離大眾認知的例子,電影Karate Kid中Miyagi先生教會學(xué)空手道的小孩磨光地板以及為汽車打蠟這些表明上沒關(guān)系的任務(wù)。然而,結(jié)果表明正是這些無關(guān)緊要的任務(wù)使得他具備了學(xué)習(xí)空手道的相關(guān)的技能。
(3)從機器學(xué)習(xí)的角度來看,我們將多任務(wù)學(xué)習(xí)視為一種歸約遷移(inductive transfer)。歸約遷移(inductive transfer)通過引入歸約偏置(inductive bias)來改進模型,使得模型更傾向于某些假設(shè)。舉例來說,常見的一種歸約偏置(Inductive bias)是L1正則化,它使得模型更偏向于那些稀疏的解。在多任務(wù)學(xué)習(xí)場景中,歸約偏置(Inductive bias)是由輔助任務(wù)來提供的,這會導(dǎo)致模型更傾向于那些可以同時解釋多個任務(wù)的解。接下來我們會看到這樣做會使得模型的泛化性能更好。
3. 深度學(xué)習(xí)中兩種多任務(wù)學(xué)習(xí)模式
前面我們討論了多任務(wù)學(xué)習(xí)的理論源泉。為了使得多任務(wù)學(xué)習(xí)的思想更加具體,我們展示了在基于深度神經(jīng)網(wǎng)絡(luò)的多任務(wù)學(xué)習(xí)中常用兩種方法:隱層參數(shù)的硬共享與軟共享。
(1)參數(shù)的硬共享機制:參數(shù)的硬共享機制是神經(jīng)網(wǎng)絡(luò)的多任務(wù)學(xué)習(xí)中最常見的一種方式,這一點可以追溯到文獻[2]。一般來講,它可以應(yīng)用到所有任務(wù)的所有隱層上,而保留任務(wù)相關(guān)的輸出層。硬共享機制降低了過擬合的風(fēng)險。事實上,文獻[3]證明了這些共享參數(shù)過擬合風(fēng)險的階數(shù)是N,其中N為任務(wù)的數(shù)量,比任務(wù)相關(guān)參數(shù)的過擬合風(fēng)險要小。直觀來將,這一點是非常有意義的。越多任務(wù)同時學(xué)習(xí),我們的模型就能捕捉到越多任務(wù)的同一個表示,從而導(dǎo)致在我們原始任務(wù)上的過擬合風(fēng)險越小。
(2)參數(shù)的軟共享機制:每個任務(wù)都由自己的模型,自己的參數(shù)。我們對模型參數(shù)的距離進行正則化來保障參數(shù)的相似。文獻[4]使用L2距離正則化,而文獻[5]使用跡正則化(trace norm)。用于深度神經(jīng)網(wǎng)絡(luò)中的軟共享機制的約束很大程度上是受傳統(tǒng)多任務(wù)學(xué)習(xí)中正則化技術(shù)的影響。我們接下來會討論。
4. 多任務(wù)學(xué)習(xí)為什么會有效?
即使從多任務(wù)學(xué)習(xí)中獲得歸約偏置的解釋很受歡迎,但是為了更好理解多任務(wù)學(xué)習(xí),我們必須探究其深層的機制。大多數(shù)機制早在1998年被Caruana提出。為了便于距離說明,我們假設(shè)有兩個相關(guān)的任務(wù)A與B,兩者共享隱層表示F。
(1)隱世數(shù)據(jù)增加機制。多任務(wù)學(xué)習(xí)有效的增加了訓(xùn)練實例的數(shù)目。由于所有任務(wù)都或多或少存在一些噪音,例如,當(dāng)我們訓(xùn)練任務(wù)A上的模型時,我們的目標在于得到任務(wù)A的一個好的表示,而忽略了數(shù)據(jù)相關(guān)的噪音以及泛化性能。由于不同的任務(wù)有不同的噪音模式,同時學(xué)習(xí)到兩個任務(wù)可以得到一個更為泛化的表示(As different tasks have different noise patterns, a model that learns two tasks simultaneously is able to learn a more general representations.)。如果只學(xué)習(xí)任務(wù)A要承擔(dān)對任務(wù)A過擬合的風(fēng)險,然而同時學(xué)習(xí)任務(wù)A與任務(wù)B對噪音模式進行平均,可以使得模型獲得更好表示F。
(2)注意力集中機制。若任務(wù)噪音嚴重,數(shù)據(jù)量小,數(shù)據(jù)維度高,則對于模型來說區(qū)分相關(guān)與不相關(guān)特征變得困難。多任務(wù)有助于將模型注意力集中在確實有影響的那些特征上,是因為其他任務(wù)可以為特征的相關(guān)與不相關(guān)性提供額外的證據(jù)。
(3)竊聽機制。對于任務(wù)B來說很容易學(xué)習(xí)到某些特征G,而這些特征對于任務(wù)A來說很難學(xué)到。這可能是因為任務(wù)A與特征G的交互方式更復(fù)雜,或者因為其他特征阻礙了特征G的學(xué)習(xí)。通過多任務(wù)學(xué)習(xí),我們可以允許模型竊聽(eavesdrop),即使用任務(wù)B來學(xué)習(xí)特征G。最簡單的實現(xiàn)方式是使用hints[6],即訓(xùn)練模型來直接預(yù)測哪些是最重要的特征。
(4)表示偏置機制。多任務(wù)學(xué)習(xí)更傾向于學(xué)習(xí)到一類模型,這類模型更強調(diào)與其他任務(wù)也強調(diào)的那部分表示。由于一個對足夠多的訓(xùn)練任務(wù)都表現(xiàn)很好的假設(shè)空間,對來自于同一環(huán)境的新任務(wù)也會表現(xiàn)很好,所以這樣有助于模型展示出對新任務(wù)的泛化能力[7]
(5)正則化機制。多任務(wù)學(xué)習(xí)通過引入歸納偏置(inductive bias)起到與正則化相同的作用。正是如此,它減小了模型過擬合的風(fēng)險,同時降低了模型的Rademacher復(fù)雜度,即擬合隨機噪音的能力。
5. 深度神經(jīng)網(wǎng)絡(luò)的多任務(wù)學(xué)習(xí)的最新進展
盡管最近的許多深度學(xué)習(xí)的工作都或顯式或隱式使用了多任務(wù)學(xué)習(xí)作為其模型的一部分,但是使用方式仍然沒有超出我們前面提到的兩種方式:參數(shù)的硬共享與軟共享。相比之下,僅有少部分的工作專注于提出深度神經(jīng)網(wǎng)絡(luò)中好的多任務(wù)學(xué)習(xí)機制。
5.1 深度關(guān)系網(wǎng)絡(luò)(Deep Relationship Networks)
在用于機器視覺的多任務(wù)場景中,已有的這些方法通常共享卷積層,將全鏈接層視為任務(wù)相關(guān)的。文獻[34]提出了深度關(guān)系網(wǎng)絡(luò)。除了共享層與任務(wù)相關(guān)層的結(jié)構(gòu),他們對全連接層添加矩陣先驗。這將允許模型學(xué)習(xí)任務(wù)間的關(guān)系。這一點與我們之前看過的貝葉斯方法是類似的。然而,問題是這個方法依然依賴于事先預(yù)定義的共享結(jié)構(gòu)。這一點對于機器視覺問題已經(jīng)足夠,但是對于新任務(wù)有錯誤傾向。
5.2 完全自適應(yīng)特征共享(Fully-Adaptive Feature Sharing)
從另一個極端說起,文獻[35]提出了一個自底向上的方法。從瘦網(wǎng)絡(luò)(thin network)開始,使用對相似任務(wù)自動分組的指標,貪心的動態(tài)加寬網(wǎng)絡(luò)。這個加寬的過程動態(tài)創(chuàng)建分支,如圖4所示。然而這種貪心的做法并不能得到全局的最優(yōu)。為每個分支分配精確的一個任務(wù),并不能允許模型學(xué)到更復(fù)雜的任務(wù)間的交互。
5.3 十字繡網(wǎng)絡(luò)(Cross-Stitch Networks)
文獻[36]將兩個獨立的網(wǎng)絡(luò)用參數(shù)的軟共享方式連接起來。接著,他們描述了如何使用所謂的十字繡單元來決定怎么將這些任務(wù)相關(guān)的網(wǎng)絡(luò)利用其他任務(wù)中學(xué)到的知識,并與前面層的輸出進行線性組合。這種結(jié)構(gòu)如圖5所示,僅在pooling(池化)層與全連接層之后加入十字繡單元。
5.4 低層次監(jiān)督(Low Supervision)
相形之下,自然語言處理領(lǐng)域中近年來的多任務(wù)學(xué)習(xí)的工作重點在于找到一個好的層次結(jié)構(gòu):文獻[37]展示了一些NLP中的基本工作,如詞性標注,命名實體識別等,應(yīng)該被作為輔助任務(wù),在較低層次時進行有監(jiān)督學(xué)習(xí)。
5.5 聯(lián)合多任務(wù)模型(A Joint Many-Task Model)
基于這種發(fā)現(xiàn),文獻[38]預(yù)先定義了一個包含多個NLP任務(wù)的層次結(jié)構(gòu),如圖6所示,并用來做多任務(wù)學(xué)習(xí)的聯(lián)合模型。
5.6 用不確定性對損失進行加權(quán)(Weighting losses with Uncertainty)
除了學(xué)習(xí)結(jié)構(gòu)的共享,文獻[39]采用一種正交的方法來考慮每個任務(wù)的不確定性。他們調(diào)整每個任務(wù)在代價函數(shù)中的相對權(quán)重,基于最大化任務(wù)相關(guān)的不確定性似然函數(shù)原理,來得到多任務(wù)學(xué)習(xí)的目標。對u每個像素深度回歸、語義分割、實例分割等三個任務(wù)的框架如圖7所示。
5.7 多任務(wù)學(xué)習(xí)中的張量分解
近來許多工作試圖將已有的多任務(wù)學(xué)習(xí)模型推廣到深度學(xué)習(xí)中:文獻[40]將已有的一些使用張量分解技術(shù)推廣到模型參數(shù)劃分來分解出每層的共享參數(shù)于任務(wù)的相關(guān)系數(shù)。
5.8 水閘網(wǎng)絡(luò)
最后我們說一下文獻[41]中提到的水閘網(wǎng)絡(luò),它是對多種基于深度神經(jīng)網(wǎng)絡(luò)的多任務(wù)學(xué)習(xí)方法的泛化。如圖8所示,這個模型可以學(xué)習(xí)到每層中哪些子空間是必須共享的,以及哪些是用來學(xué)習(xí)到輸入序列的一個好的表示的。
5.9 我的模型中應(yīng)該共享些什么?
已經(jīng)回顧了這些相關(guān)工作,現(xiàn)在我們來總結(jié)一下在深度多任務(wù)學(xué)習(xí)模型中到底應(yīng)該共享些什么信息。大多數(shù)的多任務(wù)學(xué)習(xí)中,任務(wù)都是來自于同一個分布的。盡管這種場景對于共享是有益的,但并不總能成立。為了研發(fā)更健壯的多任務(wù)模型,我們必須處理那些不相關(guān)的任務(wù)。
早期用于深度學(xué)習(xí)的多任務(wù)模型需要預(yù)定義任務(wù)間的共享結(jié)構(gòu)。這種策略不適合擴展,嚴重依賴于多任務(wù)的結(jié)構(gòu)。早在1997年就已經(jīng)提出的參數(shù)的硬共享技術(shù)在20年后的今天仍舊是主流。盡管參數(shù)的硬共享機制在許多場景中有用,但是若任務(wù)間的聯(lián)系不那么緊密,或需要多層次的推理,則硬共享技術(shù)很快失效。最近也有一些工作研究學(xué)習(xí)哪些可以共享,這些工作的性能從一般意義上將優(yōu)于硬共享機制。此外,若模型已知,學(xué)習(xí)一個任務(wù)層次結(jié)構(gòu)的容量也是有用的,尤其是在有多粒度的場景中。
正如剛開始提到的,一旦我們要做一個多目標的優(yōu)化問題,那么我們就是在做多任務(wù)學(xué)習(xí)。多任務(wù)不應(yīng)僅僅局限于將所有任務(wù)的知識都局限于表示為同一個參數(shù)空間,而是更加關(guān)注于如何使我們的模型學(xué)習(xí)到任務(wù)間本應(yīng)該的交互模式(it is thus helpful to draw on the advances in MTL that we have discussed and enable our model to learn how the tasks should interact with each other)。
6. 輔助任務(wù)(Auxiliary Tasks)
對于同時獲得多個任務(wù)的預(yù)測結(jié)果的場景,多任務(wù)學(xué)習(xí)是天然適合的。這個場景在金融或經(jīng)濟的預(yù)測中是常見的,比如,我們可能既想知道相關(guān)的影響因子,又想知道預(yù)測結(jié)果。在生物信息學(xué)中,我們可能想同時知道多種疾病的癥候。但是在大多數(shù)情況下,我們僅關(guān)注一個任務(wù)。本節(jié)中,我們將討論如何找到一個輔助任務(wù)來使得多任務(wù)學(xué)習(xí)受益。
6.1 相關(guān)任務(wù)(Related Tasks)
使用相關(guān)任務(wù)作為一個輔助任務(wù),對于多任務(wù)學(xué)習(xí)來說,是一個典型的選擇。想要知道什么是“相關(guān)任務(wù)”,此處我們展示一些直觀的例子。Caruana于1997年使用預(yù)測不同道路的特征來輔助學(xué)習(xí)自動駕駛的方向掌控。文獻[42]使用頭部姿勢估計與面部特征屬性推斷輔助臉部輪廓檢測任務(wù)。文獻[43]同時學(xué)習(xí)查詢分類與網(wǎng)頁搜索。文獻[44]同時預(yù)測圖像中物體的類別和位置。文獻[45]同時預(yù)測文本到語言的過程中音素的持續(xù)時間和頻率。
6.2 對抗性(Adversarial)任務(wù)
通常情況下,對于一個相關(guān)任務(wù)來說,不存在標注數(shù)據(jù)。然而,在一些場合,我們可以用的任務(wù)與我們想要實現(xiàn)的目標是相反的。這樣的數(shù)據(jù)是可以用來做對抗損失的。這些損失不是用來做最小化的,而是使用Gradient Reversal Layer來做最大化訓(xùn)練誤差的。文獻[46]中展示了這種場景在領(lǐng)域自適應(yīng)方面的成功例子。這種場景中的對抗任務(wù)用來預(yù)測輸入的領(lǐng)域。通過對對抗任務(wù)的梯度求逆,對抗任務(wù)損失最大化。這樣對于主任務(wù)是有利的,可以促使模型學(xué)習(xí)到不用區(qū)分兩個域的表示。
6.3 提示(Hints)性任務(wù)
如前所述,多任務(wù)學(xué)習(xí)可以學(xué)到單任務(wù)學(xué)不到的特征。使用Hints就是這樣一種有效的機制:在輔助任務(wù)中預(yù)測特征。最近的一個例子是在自然語言處理中,文獻[47]在情感分析中將一個輸入句子中是否包含正負面情感詞作為輔助任務(wù)。文獻[48]在錯誤名字識別中將判斷一個句子中是否包含名字作為輔助任務(wù)。
6.4 注意力集中
輔助任務(wù)可以用來將注意力集中在網(wǎng)絡(luò)可能忽略的圖像的某部分上。例如,對于學(xué)習(xí)方向掌控的任務(wù)中,單一的任務(wù)模型通常忽略那些圖像的細微之處,如路標等。那么預(yù)測路標就可以作為一個輔助任務(wù)。迫使模型學(xué)會去表示它們,這樣的知識可以用于主任務(wù)。類似的,對于臉部識別來說,既然這些臉是不同的,我們就可以將預(yù)測臉部特征的位置作為輔助任務(wù)。
6.5 量化平滑
對于多任務(wù)來講,優(yōu)化目標是已經(jīng)被量化的。通常連續(xù)型的是受歡迎的,而可用的標注是離散集合。在大多數(shù)情況下,需要人工評價來收集數(shù)據(jù),例如,預(yù)測疾病的風(fēng)險或情感分析(正面、負面、中立),由于目標函數(shù)是光滑的,所以使用較少量的量化輔助任務(wù)會使學(xué)習(xí)變得容易。
6.6 預(yù)測輸入
在一些情況下使用某些特征作為輸入并不會對預(yù)測目標輸出有益。然而,它們可能能指導(dǎo)監(jiān)督學(xué)習(xí)的過程。在這些情形下,特征是作為輸出的一部分,而非輸入。文獻[49]展示了這些問題在實際應(yīng)用中的場景。
6.7 用未來預(yù)測現(xiàn)在
許多場景中一些特征僅在做出預(yù)測后才可用。例如,在自動駕駛中,一旦汽車經(jīng)過障礙物或路標,便可以對它們做出準確的度量。Caruana于1997年舉了一個肺炎的例子,只有事發(fā)后才能又額外的診斷案例可用。對于這些例子來講,這些額外的數(shù)據(jù)由于在輸入的時刻并不可用,所以并不能作為特征。然而,可以用作輔助任務(wù)來為模型傳授額外的知識以輔助訓(xùn)練。
6.8 表示學(xué)習(xí)
多任務(wù)學(xué)習(xí)中輔助任務(wù)的目標在于使得模型學(xué)習(xí)到共享的表示,以幫助主任務(wù)的學(xué)習(xí)。我們目前所討論到的輔助任務(wù)都是隱式的在做這件事情。由于它們和主任務(wù)密切相關(guān),所以在學(xué)習(xí)的同時可能允許這些模型學(xué)到有利于主任務(wù)的表示。一個更為顯式的做法是利用一個輔助任務(wù)專門來學(xué)習(xí)一個可以遷移的表示。Cheng等人2015年的一個工作以及文獻[50]所采用的語言模型目標就起到了這樣的作用。類似的,autoencoder也是可以用來做輔助任務(wù)的。
7. 為什么輔助任務(wù)對主任務(wù)是有益的?
雖然在實際當(dāng)中我們可能僅僅關(guān)心一種輔助任務(wù),但是前面我們已經(jīng)討論了在多任務(wù)學(xué)習(xí)中可能用的各種輔助任務(wù)。盡管我們并不知道在實際中哪種會起作用。尋找輔助任務(wù)的一個基本假設(shè)是:輔助任務(wù)應(yīng)該是與主任務(wù)密切相關(guān)的,或者是能夠?qū)χ魅蝿?wù)的學(xué)習(xí)過程有益的。
然而,我們并不知道什么樣的兩個任務(wù)是相關(guān)的或相似的。Caruana在1997年給出的定義是:若兩個任務(wù)使用相同的特征來做決策,那么兩個任務(wù)是相似的。Baxer于2000年補充道:理論上講相關(guān)的任務(wù)共享同一個最優(yōu)的假設(shè)類,也就是同樣的歸納偏置(inductive bias)。文獻[50]提出若兩個任務(wù)中的數(shù)據(jù)都產(chǎn)生自由同一類變換F得到固定的概率分布,那么兩個任務(wù)是F相關(guān)的。盡管可以使用于同一個分類問題,但是不能用于處理不同問題的任務(wù)。Xue等人2007年提出若兩個任務(wù)的分類邊界(參數(shù)向量)是閉合的,那么兩個任務(wù)是相似的。
雖然早期在理解任務(wù)相關(guān)性的理論定義方面取得了一些進展,但是近期的成果卻沒有。任務(wù)相似性不是二值的,而是一個范圍。更相似的兩個任務(wù)在多任務(wù)學(xué)習(xí)中受益更大,而反之亦然。使得我們的模型能夠?qū)W習(xí)到共享哪些參數(shù)可能只是暫時克服了理論上的缺失,以及更好的利用聯(lián)系不緊密的任務(wù)。然而,我們也很需要對任務(wù)相似性的理論認知,來幫助我們了解如何選擇輔助任務(wù)。
文獻[52]發(fā)現(xiàn)具有完備且統(tǒng)一的標注分布的輔助任務(wù)對于序列標注主任務(wù)應(yīng)該更有益,這一點在實驗中已經(jīng)得到驗證。此外,文獻[53]發(fā)現(xiàn)non-plateauing的輔助任務(wù)也會為plateauing的主任務(wù)帶來改善。
然而這些實驗都是具有范圍局限性的。近期的這些研究成果只是為我們進一步理解神經(jīng)網(wǎng)絡(luò)中的多任務(wù)學(xué)習(xí)提供了一些線索。
8. 結(jié)論
本文關(guān)注了多任務(wù)學(xué)習(xí)的歷史以及在深度神經(jīng)網(wǎng)絡(luò)中多任務(wù)學(xué)習(xí)的最新進展。盡管多任務(wù)學(xué)習(xí)頻繁使用,但是近20年的參數(shù)硬共享機制仍舊是神經(jīng)網(wǎng)絡(luò)中多任務(wù)學(xué)習(xí)的主要范式。學(xué)習(xí)共享哪些信息的工作看起來更具前景。同時,我們對于任務(wù)的相似性,任務(wù)間的關(guān)系,任務(wù)的層次,以及多任務(wù)學(xué)習(xí)的收益等的理解仍舊是有限的,我們需要學(xué)習(xí)更多以理解深度神經(jīng)網(wǎng)絡(luò)中多任務(wù)學(xué)習(xí)的泛化能力。
9. 參考文獻:
[0] 共享相關(guān)任務(wù)表征,一文讀懂深度神經(jīng)網(wǎng)絡(luò)多任務(wù)學(xué)習(xí): https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650728311&idx=1&sn=62b2dcc82657d1ce3bf91fd6a1197699
[1] Caruana. R. (1998). Multitask Learning. Autonomous Agents and Multi-Agent Systems. 27(1). 95-133.
[2] Caruana. R. Multitask Learning: A Knowledge based Source of Inductive Bias. Proceedings of the Tenth International Conference on Machine Learning. 1993.
[3] Baxter, J. (1997) A Bayesian / Information Theoretic Model of Learning to Learn via Multiple Task Sampling. Machine Learning. 28, 7-39.
[4] Duong, L., Cohn. et.al. 2015. Low Resource Dependency Parsing Cross-Lingual Parameter Sharing in a Neural Network Parser. ACL2015.
[5] Yang, Y. et. al. 2017. Trace Norm Regularized Deep Multi-Task Learning. ICLR2017 workshop.
[6] Abu-Mostafa, et. al. 1990. Learning from Hints in Neural Networks, Journal of Complexity.
[7] Baxter, J. 2000. A Model of Inductive Bias Learning. Journal of Aritificial Intelligence Research.
[8] Argyriou, A. 2007. Multi-Task Feature Learning. NIPS2007.
[9] C. Zhang and J. Huang. 2008. Model Selection Consistency of the Lasso Selection in High Dimensional Linear Regression. Annals of Statistics. 2008.
[10] Yuan, Ming and Yi Lin. 2006. Model Selection and Estimation in Regression with Grouped Variables. Journal of the Royal Statistical Society. 2006.
[11] Lounici. K, et.al. 2009. Taking Advantage of Sparsity in Multi-task Learning. stat.2009.
[12] Negahban, S. et. al. 2008. Joint Support Recovery under High Dimensional Scaling: Benefits and Perils of L1,inf-regularization. NIPS2008.
[13] Jalali, A. et.al. 2010. A Dirty Model for Multi-Task Learning. NIPS2010.
[14] Liu, S. et.al. 2016. Distributed Multi-Task Relationship Learning. AISTATS2016.
[15] Evgeniou, T. et. al. 2005. Learning Multiple Tasks with Kernel Methods. Journal of Machine Learning Research 2005.
[16] Evgeniou, T. et. al. 2004. Regularized Multi-Task Learning. KDD2004.
[17] Jacob, L. et. al. 2009. Clustered Multi-Task Learning: A Convex Formulation . NIPS2009.
[18] Kim, S. and Xing, Eric P. 2010. Tree-Guided Group Lasso for Multi-Task Regression with Structured Sparsity. ICML2010.
[19] Chen, X. et. al. 2010. Graph Structured Multi-Task Regression and An Efficient Optimization Method for General Fused Lasso.
[20] Thrun, S. et. al.1996. Discovering Structure in Multiple Learning Tasks: The TC Algorithm. ICML1998.
[21] Ando, R, K. et. al. 2005. A Framework for Learning Predictive Structures from Multiple Tasks and Unlabeled Data. JMLR2005.
[22] Heskes, T. 2000. Empirical Bayes for Learning to Learn. ICML2000.
[23] Lawrence, N.D. et. al. 2004. Learning to Learn with the informative vector machine. ICML2004.
[24] Yu, K. et. al. 2005. Learning Gaussian Processes from Multiple Tasks, ICML2005.
[25] Bakker, B. et. al. 2003. Task Clustering and Gating for Bayesian Multi-Task Learning. JMLR2003.
[26] Xue, Y. et. al. 2007. Multi-Task Learning for Classification with Dirichlet Process Priors. JMLR2007.
[27] Daume III, H. et. al. 2009. Bayesian Multitask Learning with Latent Hierarcies.
[28] Zhang, Y. et.al. 2010. A Convex Formulation for Learning Task Relationships in Multi-Task Learning. UAI2010.
[29] Cavallanti, G. et. al. 2010. Linear Algorithms for Online Multitask Classification. JMLR2010.
[30] Saha, A. et. al. 2011. Online Learning of Multiple Tasks and their Relationships. JMLR2011.
[31] Kang, Z. et. al. 2011. Learning with Whom to Share in Multi-task Feature Learning. ICML2011.
[32] Kumar, A. et. al. 2012. Learning Task Grouping and Overlap in Multi-Task Learning. ICML2012.
[33] Crammer, K. et. al. 2012. Learning Multiple Tasks Using Shared Hypotheses. NIPS2012.
[34] Long, M. et. al. 2015. Learning Multiple Tasks with Deep Relationship Networks.
[35] Lu, Y. et. al. 2016. Fully-Adaptive Feature Sharing in Multi-Task Networks with Applications in Person Attriute Classification.
[36] Misra, I. et. al. Cross-Stitch Networks for Multi-Task Learning, CVPR2016.
[37] Sogaard, A. et. al. Deep Multi-Task Learning with Low Level Tasks Supervised at Lower Layers. ACL2016.
[38] Hashimoto , K. 2016. A Joint Multi-Task Model: Growing A Neural Network for Multiple NLP Tasks.
[39] Kendail, A. et. al. 2017. Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics.
[40] Yang, Y. et. al. 2017. Deep Multi-Task Representation Learning: A Tensor Factorization Approach. ICLR2017.
[41] Ruder, S. 2017. Sluice Networks: Learning What to Share between Loosely Related Tasks.
[42] Zhang, Z. 2014. Facial Landmark Detection by Deep Multi-Task Learning. ECCV2014.
[43] Liu, X. et. al. 2015. Representation Learning Using Multi-Task Deep Neural Networks for Semantic Classification and Information Retrieval.
[44] Girshick, R. 2015. Fast R-CNN. ICCV2015.
[45] Arik, S. O. et. al. 2017. Deep Voice: Real-time Neural Text-to-Speech. ICML2017.
[46] Ganin, T. 2015. Unsupervised Domain Adaptation by Backpropagation. ICML2015.
[47] Yu, J. 2016. Learning Sentence Embeddings with Auxiliary Tasks for Cross Domain Sentiment Classification. EMNLP 2016.
[48] Cheng, H. 2015. Open-Domain Name Error Detection Using a Multi-Task RNN. EMNLP2015.
[49] Caruana, R. et. al. 1997. Promoting Poor Features to Supervisors: Some Inputs work Better as outputs. NIPS1997.
[50] Rei, M. 2017. Semi-supervised Multitask Learning for Sequence Labeling, ACL2017.
[51] Ben-David, S. et. al. 2003. Exploiting Task Relatedness for Multiple Task Learning. Learning Theory and Kernel Machines.
[52] Alonso, H. M. et. al. 2017. When is Multi-Task Learning Effective? Multitask Learning for Semantic Sequence Prediction Under Varying Data Conditions. EACL2017.
[53] Bingel, J. et. al. 2017. Identifying Beneficial Task Relations for Multi-Task Learning in Deep Neural Networks, EACL2017.
總結(jié)
以上是生活随笔為你收集整理的【论文笔记】多任务学习(Multi-Task Learning)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 歌词 万万岁(万万岁是什么歌的歌词)
- 下一篇: 编译原理:L属性、S属性语法制导