概念
當(dāng)在一個任務(wù)中要優(yōu)化多于一個的目標函數(shù)[1] ,就可以叫多任務(wù)學(xué)習(xí)
一些例外
「一個目標函數(shù)的多任務(wù)」:很多任務(wù)中把loss加到一起回傳,實質(zhì)優(yōu)化的是一個目標函數(shù), 但優(yōu)化的是多個任務(wù),loss相加是多任務(wù)學(xué)習(xí)的一種正則策略,對多個任務(wù)的參數(shù)起一種類似與均值約束的作用[2],所以也叫multi-task
「多個目標函數(shù)的單任務(wù)」:一些NLP中用main-task和auxiliary-task 輔助任務(wù),很多輔助任務(wù)的loss并不重要,個人覺得這種雖然是多個loss,但是就是為了main-task ,不應(yīng)該算多任務(wù)
動機
應(yīng)用上節(jié)省資源,一個模型跑多個任務(wù),單倍的時間雙倍的快樂
感覺上非常的直觀,好不容易花了30分鐘都出門了,肯定多逛幾個個商場,順便剪個頭發(fā)做個指甲
從模型的角度,學(xué)習(xí)得的底層的概率分布通常是對多個任務(wù)都是有效的
兩種常見方式
參數(shù)的硬共享機制:從幾十年前開始到現(xiàn)在這種方式還在流行(Multitask Learning. Autonomous Agents and Multi-Agent Systems[3]),一般認為一個模型中任務(wù)越多,通過參數(shù)共享降低噪聲導(dǎo)致過擬合的風(fēng)險更低,在參數(shù)硬共享機制中l(wèi)oss直接相加就是一種最簡單的均值約束。
參數(shù)的軟共享機制:每個任務(wù)都由自己的模型,自己的參數(shù)。對模型間參數(shù)的距離進行正則化來保障參數(shù)空間的相似。
混合方式:前兩種的混合
為什么會有效
1. 不同任務(wù)的噪聲能有更好的泛化效果
由于所有任務(wù)都或多或少存在一些噪音,例如,當(dāng)我們訓(xùn)練任務(wù)A上的模型時,我們的目標在于得到任務(wù)A的一個好的表示,而忽略了數(shù)據(jù)相關(guān)的噪音以及泛化性能。由于不同的任務(wù)有不同的噪音模式,同時學(xué)習(xí)到兩個任務(wù)可以得到一個更為泛化的表示
2. 輔助特征選擇作用
如果主任務(wù)是那種,噪音嚴重,數(shù)據(jù)量小,數(shù)據(jù)維度高,則對于模型來說區(qū)分相關(guān)與不相關(guān)特征變得困難。其他輔助任務(wù)有助于將模型注意力集中在確實有影響的那些特征上。
3. 特征交流機制
在不同的任務(wù)之間的特征交互交流,對于任務(wù)B來說很容易學(xué)習(xí)到某些特征G,而這些特征對于任務(wù)A來說很難學(xué)到。這可能是因為任務(wù)A與特征G的交互方式更復(fù)雜,或者因為其他特征阻礙了特征G的學(xué)習(xí)。
4. 相互強調(diào)(監(jiān)督)機制
多任務(wù)學(xué)習(xí)更傾向于學(xué)習(xí)到大部分模型都強調(diào)的部分。學(xué)到的空間更泛化,滿足不同的任務(wù)。由于一個對足夠多的訓(xùn)練任務(wù)都表現(xiàn)很好的假設(shè)空間,對來自于同一環(huán)境的新任務(wù)也會表現(xiàn)很好,所以這樣有助于模型展示出對新任務(wù)的泛化能力(Deep Multi-Task Learning with Low Level Tasks Supervised at Lower Layers[4]、Emotion-Cause Pair Extraction: A New Task to Emotion Analysis in Texts[5]),非常適合遷移學(xué)習(xí)場景。
5. 表示偏置機制
如歸約遷移通過引入歸約偏置來改進模型,使得模型更傾向于某些假設(shè),能起到一種正則效果。常見的一種歸約偏置是L1正則化,它使得模型更偏向于那些稀疏的解。在多任務(wù)學(xué)習(xí)場景中,這會導(dǎo)致模型更傾向于那些可以同時解釋多個任務(wù)的解。
為什么無效
先說是不是,再問為什么.
在Identifying beneficial task relations for multi-task learning in deep neural networks[6]中,作者探究到底是什么讓multi-task work, 作者使用嚴格意義上相同的參數(shù)用NLP任務(wù)做了對比實驗,圖中分別是兩個任務(wù)結(jié)合時與單任務(wù)loss的對比,大部分多任務(wù)的效果比不上單任務(wù),作者的結(jié)論是單任務(wù)的主要特征在起作用,那些多任務(wù)結(jié)合效果好的情況,是「主任務(wù)比較難學(xué)(梯度下降比較緩慢),輔助任務(wù)比價好學(xué)的時候,多任務(wù)會有好效果」
為什么會無效?因為所有有效的原因都有它的負向效果
不同任務(wù)的噪聲提高泛化,在模型容量小的時候引入的噪聲也無法忽視。
特征的選擇,交流這些起作用的機制會產(chǎn)生一種負遷移(Negative Transfer),共享的信息交流的信息反而是一種誤導(dǎo)信息
...
Muti-task的一些思路
1. 對任務(wù)間的不同強制加稀疏性約束的正則化項
如塊稀疏正則化,對于不同任務(wù)的參數(shù),加l1正則,或者l1/lx, x>1等的正則,起任務(wù)參數(shù)的選擇,讓模型自動去選擇應(yīng)該共享哪些參數(shù), 在keras的multi-task框架中,就是多個任務(wù)的loss相加后,用一個優(yōu)化器優(yōu)化,就是這種思路
2. 對中間層添加矩陣先驗,可以學(xué)習(xí)任務(wù)間的關(guān)系
3. 共享合適的相關(guān)結(jié)構(gòu)
高層次監(jiān)督(High Supervision),共享大部分結(jié)構(gòu),后面直接輸出分叉那種共享(就是大多數(shù)人入手的multi-task),個人覺得除非有很精致的一些調(diào)整,感覺效果很難超多個single-task.
低層次監(jiān)督(Low Supervision),Deep Multi-Task Learning with Low Level Tasks Supervised at Lower Layers中,在NLP中,作者使用deep bi-RNN低層開始對各個任務(wù)分別建模,不共享的部分模型更新時不受其他任務(wù)影響,效果不錯。
4. 建模任務(wù)之間的關(guān)系
建模任務(wù)之間的關(guān)系有非常多的方式,如,加各種約束項,這個約束項,讓不同任務(wù)的參數(shù)空間,盡量平均, 有很多方式花式拓展,正則也是一種約束項,loss相加也是一種建立任務(wù)之間關(guān)系的約束項目,如 Learning Multiple Tasks with Kernel Methods[7]對模型聚類 ,a是任務(wù)參數(shù),讓各種任務(wù)參數(shù)空間盡量靠近
a是各個任務(wù)的參數(shù)
特征交互,在 Emotion-Cause Pair Extraction: A New Task to Emotion Analysis in Texts 中,作者通過不同任務(wù)的高層特征交互,同時完成情感向判斷和情感向原因提取,這跟有些多模態(tài)特征fusion的方式很相似,
Cross-Stitch Networks for Multi-Task Learning[8]將兩個獨立的網(wǎng)絡(luò)用參數(shù)的軟共享方式連接起來, 用所謂的十字繡單元來決定怎么將這些任務(wù)相關(guān)的網(wǎng)絡(luò)利用其他任務(wù)中學(xué)到的知識,并與前面層的輸出進行線性組合。
串行的聯(lián)合多任務(wù)模型(A Joint Many-Task Model)
NLP 領(lǐng)域中,各個任務(wù)間經(jīng)常是有層級關(guān)系,A Joint Many-Task Model: Growing a Neural Network for Multiple NLP Tasks[9]中在多任務(wù)并行的同時,加了串行結(jié)構(gòu),例如具體任務(wù):詞性分析 POS->語塊分析 CHUNK->依存句法分析 DEP->文本語義相關(guān) Relatedness->文本蘊涵 Entailment,每個子任務(wù)都偶有自己的loss, 然后又會作為其他任務(wù)的輸入
5. 用loss調(diào)整任務(wù)之間的關(guān)系
Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics[10] 用同方差不確定性對損失進行加權(quán)(Weighting losses with Uncertainty),作者認為最佳權(quán)值與不同任務(wù)的衡量規(guī)模和噪聲相關(guān),而噪聲中除了認知不確定性,異方差不確定性,這些取決于數(shù)據(jù)的不確定性外,作者把同方差不確定性作為噪聲來對多任務(wù)學(xué)習(xí)中的權(quán)重進行優(yōu)化,作者根據(jù)噪聲調(diào)整每個任務(wù)在代價函數(shù)中的相對權(quán)重,噪聲大則降低權(quán)重,反之。
GradNorm: Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks[11] 基于不同任務(wù)loss的降低速度來動態(tài)調(diào)整權(quán)值, 作者定義了另外一個專門針對權(quán)值的優(yōu)化函數(shù)
是每個任務(wù)的loss相對第一步loss的優(yōu)化程度, 是每一步 對 task 任務(wù)的梯度,即如果某個任務(wù)的優(yōu)化程度小,這個loss會超那么就調(diào)大這個任務(wù)的權(quán)值優(yōu)化,達到個loss學(xué)習(xí)程度的平衡
應(yīng)用|適用任務(wù)
輔助任務(wù),相關(guān)性任務(wù),對抗性任務(wù)....等[12]
責(zé)任編輯:xj
原文標題:Multi-Task 多任務(wù)學(xué)習(xí), 那些你不知道的事
文章出處:【微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
AI
+關(guān)注
關(guān)注
87文章
31097瀏覽量
269425 -
多任務(wù)
+關(guān)注
關(guān)注
0文章
18瀏覽量
9077 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8424瀏覽量
132764
原文標題:Multi-Task 多任務(wù)學(xué)習(xí), 那些你不知道的事
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論