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