0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳解多任務(wù)學(xué)習(xí)的方法與現(xiàn)實(shí)

深度學(xué)習(xí)自然語言處理 ? 來源:煉丹筆記 ? 作者:十方 ? 2021-04-09 10:03 ? 次閱讀

大家在做模型的時(shí)候,往往關(guān)注一個(gè)特定指標(biāo)的優(yōu)化,如做點(diǎn)擊率模型,就優(yōu)化AUC,做二分類模型,就優(yōu)化f-score。然而,這樣忽視了模型通過學(xué)習(xí)其他任務(wù)所能帶來的信息增益和效果上的提升。通過在不同的任務(wù)中共享向量表達(dá),我們能夠讓模型在各個(gè)任務(wù)上的泛化效果大大提升。這個(gè)方法就是我們今天要談?wù)摰闹黝}-多任務(wù)學(xué)習(xí)(MTL)。

所以如何判定是不是多任務(wù)學(xué)習(xí)呢?不需要看模型結(jié)構(gòu)全貌,只需要看下loss函數(shù)即可,如果loss包含很多項(xiàng),每一項(xiàng)都是不同目標(biāo),這個(gè)模型就是在多任務(wù)學(xué)習(xí)了。有時(shí),雖然你的模型僅僅是優(yōu)化一個(gè)目標(biāo),同樣可以通過多任務(wù)學(xué)習(xí),提升該模型的泛化效果。比如點(diǎn)擊率模型,我們可以通過添加轉(zhuǎn)化樣本,構(gòu)建輔助loss(預(yù)估轉(zhuǎn)化率),從而提升點(diǎn)擊率模型的泛化性。

為什么多任務(wù)學(xué)習(xí)會有效?舉個(gè)例子,一個(gè)模型已經(jīng)學(xué)會了區(qū)分顏色,如果直接把這個(gè)模型用于蔬菜和肉類的分類任務(wù)呢?模型很容易學(xué)到綠色的是蔬菜,其他更大概率是肉。正則化算不算多任務(wù)?正則化的優(yōu)化的loss不僅有本身的回歸/分類產(chǎn)生的loss,還有l(wèi)1/l2產(chǎn)生的loss,因?yàn)槲覀冋J(rèn)為“正確且不過擬合”的模型的參數(shù)應(yīng)該稀疏,且不易過大,要把這種假設(shè)注入到模型中去學(xué)習(xí),就產(chǎn)生了正則化項(xiàng),本質(zhì)也是一個(gè)額外的任務(wù)。

MTL兩個(gè)方法

第一種是hard parameter sharing,如下圖所示:

f855993c-98d3-11eb-8b86-12bb97331649.png

比較簡單,前幾層dnn為各個(gè)任務(wù)共享,后面分離出不同任務(wù)的layers。這種方法有效降低了過擬合的風(fēng)險(xiǎn): 模型同時(shí)學(xué)習(xí)的任務(wù)數(shù)越多,模型在共享層就要學(xué)到一個(gè)通用的嵌入式表達(dá)使得每個(gè)任務(wù)都表現(xiàn)較好,從而降低過擬合的風(fēng)險(xiǎn)。

第二種是soft parameter sharing,如下圖所示:

f86393b6-98d3-11eb-8b86-12bb97331649.png

在這種方法下,每個(gè)任務(wù)都有自己的模型,有自己的參數(shù),但是對不同模型之間的參數(shù)是有限制的,不同模型的參數(shù)之間必須相似,由此會有個(gè)distance描述參數(shù)之間的相似度,會作為額外的任務(wù)加入到模型的學(xué)習(xí)中,類似正則化項(xiàng)。

多任務(wù)學(xué)習(xí)能提效,主要是由于以下幾點(diǎn)原因:

隱式數(shù)據(jù)增強(qiáng):每個(gè)任務(wù)都有自己的樣本,使用多任務(wù)學(xué)習(xí)的話,模型的樣本量會提升很多。而且數(shù)據(jù)都會有噪聲,如果單學(xué)A任務(wù),模型會把A數(shù)據(jù)的噪聲也學(xué)進(jìn)去,如果是多任務(wù)學(xué)習(xí),模型因?yàn)橐驜任務(wù)也要學(xué)習(xí)好,就會忽視掉A任務(wù)的噪聲,同理,模型學(xué)A的時(shí)候也會忽視掉B任務(wù)的噪聲,因此多任務(wù)學(xué)習(xí)可以學(xué)到一個(gè)更精確的嵌入表達(dá)。

注意力聚焦:如果任務(wù)的數(shù)據(jù)噪聲非常多,數(shù)據(jù)很少且非常高維,模型對相關(guān)特征和非相關(guān)特征就無法區(qū)分。多任務(wù)學(xué)習(xí)可以幫助模型聚焦到有用的特征上,因?yàn)椴煌蝿?wù)都會反應(yīng)特征與任務(wù)的相關(guān)性。

特征信息竊?。河行┨卣髟谌蝿?wù)B中容易學(xué)習(xí),在任務(wù)A中較難學(xué)習(xí),主要原因是任務(wù)A與這些特征的交互更為復(fù)雜,且對于任務(wù)A來說其他特征可能會阻礙部分特征的學(xué)習(xí),因此通過多任務(wù)學(xué)習(xí),模型可以高效的學(xué)習(xí)每一個(gè)重要的特征。

表達(dá)偏差:MTL使模型學(xué)到所有任務(wù)都偏好的向量表示。這也將有助于該模型推廣到未來的新任務(wù),因?yàn)榧僭O(shè)空間對于足夠多的訓(xùn)練任務(wù)表現(xiàn)良好,對于學(xué)習(xí)新任務(wù)也表現(xiàn)良好。

正則化:對于一個(gè)任務(wù)而言,其他任務(wù)的學(xué)習(xí)都會對該任務(wù)有正則化效果。

多任務(wù)深度學(xué)習(xí)模型

Deep Relationship Networks:從下圖,我們可以看到卷積層前幾層是預(yù)訓(xùn)練好的,后幾層是共享參數(shù)的,用于學(xué)習(xí)不同任務(wù)之間的聯(lián)系,最后獨(dú)立的dnn模塊用于學(xué)習(xí)各個(gè)任務(wù)。

f88c2d4e-98d3-11eb-8b86-12bb97331649.png

Fully-Adaptive Feature Sharing:從另一個(gè)極端開始,下圖是一種自底向上的方法,從一個(gè)簡單的網(wǎng)絡(luò)開始,并在訓(xùn)練過程中利用相似任務(wù)的分組準(zhǔn)則貪婪地動態(tài)擴(kuò)展網(wǎng)絡(luò)。貪婪方法可能無法發(fā)現(xiàn)一個(gè)全局最優(yōu)的模型,而且只將每個(gè)分支分配給一個(gè)任務(wù)使得模型無法學(xué)習(xí)任務(wù)之間復(fù)雜的交互。

f89bdcf8-98d3-11eb-8b86-12bb97331649.png

cross-stitch Networks: 如上文中所談到的soft parameter sharing,該模型是兩個(gè)完全分離的模型結(jié)構(gòu),該結(jié)構(gòu)用了cross-stitch單元去讓分離的模型學(xué)到不同任務(wù)之間的關(guān)系,如下圖所示,通過在pooling層和全連接層后分別增加cross-stitch對前面學(xué)到的特征表達(dá)進(jìn)行線性融合,再輸出到后面的卷積/全連接模塊。

f8b228dc-98d3-11eb-8b86-12bb97331649.png

A Joint Many-Task Model:如下圖所示,預(yù)定義的層級結(jié)構(gòu)由各個(gè)NLP任務(wù)組成,低層級的結(jié)構(gòu)通過詞級別的任務(wù)學(xué)習(xí),如此行分析,組塊標(biāo)注等。中間層級的結(jié)構(gòu)通過句法分析級別的任務(wù)學(xué)習(xí),如句法依存。高層級的結(jié)構(gòu)通過語義級別的任務(wù)學(xué)習(xí)。

f8cabf14-98d3-11eb-8b86-12bb97331649.png

weighting losses with uncertainty:考慮到不同任務(wù)之間相關(guān)度的不確定性,基于高斯似然最大化的多任務(wù)損失函數(shù),調(diào)整每個(gè)任務(wù)在成本函數(shù)中的相對權(quán)重。結(jié)構(gòu)如下圖所示,對像素深度回歸、語義和實(shí)例分割。

f8f02e34-98d3-11eb-8b86-12bb97331649.png

sluice networks: 下圖模型概括了基于深度學(xué)習(xí)的MTL方法,如硬參數(shù)共享和cross-stitch網(wǎng)絡(luò)、塊稀疏正則化方法,以及最近創(chuàng)建任務(wù)層次結(jié)構(gòu)的NLP方法。該模型能夠?qū)W習(xí)到哪些層和子空間應(yīng)該被共享,以及網(wǎng)絡(luò)在哪些層學(xué)習(xí)了輸入序列的最佳表示。

f90a94e0-98d3-11eb-8b86-12bb97331649.png

ESSM: 在電商場景下,轉(zhuǎn)化是指從點(diǎn)擊到購買。在CVR預(yù)估時(shí)候,我們往往會遇到兩個(gè)問題:樣本偏差和數(shù)據(jù)系數(shù)問題。樣本偏差是指訓(xùn)練和測試集樣本不同,拿電商舉例,模型用點(diǎn)擊的數(shù)據(jù)來訓(xùn)練,而預(yù)估的卻是整個(gè)樣本空間。數(shù)據(jù)稀疏問題就更嚴(yán)重了,本身點(diǎn)擊樣本就很少,轉(zhuǎn)化就更少了,所以可以借鑒多任務(wù)學(xué)習(xí)的思路,引入輔助學(xué)習(xí)任務(wù),擬合pCTR和pCTCVR(pCTCVR = pCTR * pCVR),如下圖所示:

f9222772-98d3-11eb-8b86-12bb97331649.png

對于pCTR來說,可將有點(diǎn)擊行為的曝光事件作為正樣本,沒有點(diǎn)擊行為的曝光事件作為負(fù)樣本

對于pCTCVR來說,可將同時(shí)有點(diǎn)擊行為和購買行為的曝光事件作為正樣本,其他作為負(fù)樣本

對于pCVR來說,只有曝光沒有點(diǎn)擊的樣本中的梯度也能回傳到main task的網(wǎng)絡(luò)中

另外這兩個(gè)子網(wǎng)絡(luò)的embedding層是共享的,由于CTR任務(wù)的訓(xùn)練樣本量要遠(yuǎn)超過CVR任務(wù)的訓(xùn)練樣本量,從而能夠緩解訓(xùn)練數(shù)據(jù)稀疏性問題。

DUPN:模型分為行為序列層、Embedding層、LSTM層、Attention層、下游多任務(wù)層(CTR、LTR、時(shí)尚達(dá)人關(guān)注預(yù)估、用戶購買力度量)。如下圖所示

f988fc86-98d3-11eb-8b86-12bb97331649.png

f9c070b2-98d3-11eb-8b86-12bb97331649.png

f9cefc54-98d3-11eb-8b86-12bb97331649.png

MMOE: 如下圖所示,模型(a)最常見,共享了底層網(wǎng)絡(luò),上面分別接不同任務(wù)的全連接層。模型(b)認(rèn)為不同的專家可以從相同的輸入中提取出不同的特征,由一個(gè)Gate(類似) attention結(jié)構(gòu),把專家提取出的特征篩選出各個(gè)task最相關(guān)的特征,最后分別接不同任務(wù)的全連接層。MMOE的思想就是對于不同任務(wù),需要不同專家提取出的信息,因此每個(gè)任務(wù)都需要一個(gè)獨(dú)立的gate。

fa157c56-98d3-11eb-8b86-12bb97331649.png

PLE:即使通過MMoE這種方式減輕負(fù)遷移現(xiàn)象,蹺蹺板現(xiàn)象仍然是廣泛存在的(蹺蹺板現(xiàn)象指多任務(wù)之間相關(guān)性不強(qiáng)時(shí),信息共享就會影響模型效果,會出現(xiàn)一個(gè)任務(wù)泛化性變強(qiáng),另一個(gè)變?nèi)醯默F(xiàn)象)。PLE的本質(zhì)是MMOE的改進(jìn)版本,有些expert是任務(wù)專屬,有些expert是共享的,如下圖CGC架構(gòu),對于任務(wù)A而言,通過A的gate把A的expert和共享的expert進(jìn)行融合,去學(xué)習(xí)A。

fa58e4dc-98d3-11eb-8b86-12bb97331649.png

最終PLE結(jié)構(gòu)如下,融合了定制的expert和MMOE,堆疊多層CGC架構(gòu),如下所示:

fa8c8c92-98d3-11eb-8b86-12bb97331649.png

參考文獻(xiàn)

1. An overview of multi-task learning in deep neural networks. Retireved from https://arxiv.org/pdf/1706.05098.pdf

2. Long, M., & Wang, J. (2015)。 Learning Multiple Tasks with Deep Relationship Networks. arXiv Preprint arXiv:1506.02117. Retrieved from http://arxiv.org/abs/1506.02117

3. Lu, Y., Kumar, A., Zhai, S., Cheng, Y., Javidi, T., & Feris, R. (2016)。 Fully-adaptive Feature Sharing in Multi-Task Networks with Applications in Person Attribute Classification. Retrieved from http://arxiv.org/abs/1611.05377

4. Misra, I., Shrivastava, A., Gupta, A., & Hebert, M. (2016)。 Cross-stitch Networks for Multi-task Learning. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. https://doi.org/10.1109/CVPR.2016.433

5. Hashimoto, K., Xiong, C., Tsuruoka, Y., & Socher, R. (2016)。 A Joint Many-Task Model: Growing a Neural Network for Multiple NLP Tasks. arXiv Preprint arXiv:1611.01587. Retrieved from http://arxiv.org/abs/1611.01587

6. Yang, Y., & Hospedales, T. (2017)。 Deep Multi-task Representation Learning: A Tensor Factorisation Approach. In ICLR 2017. https://doi.org/10.1002/joe.20070

7. Ruder, S., Bingel, J., Augenstein, I., & S?gaard, A. (2017)。 Sluice networks: Learning what to share between loosely related tasks. Retrieved from http://arxiv.org/abs/1705.08142

8. Entire Space Multi-Task Model: An Effective Approach forEstimating Post-Click Conversion Rate. Retrieved from: https://arxiv.org/pdf/1804.07931.pdf

9. Perceive Your Users in Depth: Learning Universal User Representations from Multiple E-commerce Tasks. Retrieved from: https://arxiv.org/pdf/1805.10727.pdf
編輯:lyn

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 多任務(wù)
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    9037
  • AUC
    AUC
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    6640
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5422

    瀏覽量

    120593

原文標(biāo)題:一文"看透"多任務(wù)學(xué)習(xí)

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    機(jī)器學(xué)習(xí)中的數(shù)據(jù)分割方法

    在機(jī)器學(xué)習(xí)中,數(shù)據(jù)分割是一項(xiàng)至關(guān)重要的任務(wù),它直接影響到模型的訓(xùn)練效果、泛化能力以及最終的性能評估。本文將從多個(gè)方面詳細(xì)探討機(jī)器學(xué)習(xí)中數(shù)據(jù)分割的方法,包括常見的分割
    的頭像 發(fā)表于 07-10 16:10 ?613次閱讀

    深度學(xué)習(xí)中的時(shí)間序列分類方法

    時(shí)間序列分類(Time Series Classification, TSC)是機(jī)器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域的重要任務(wù)之一,廣泛應(yīng)用于人體活動識別、系統(tǒng)監(jiān)測、金融預(yù)測、醫(yī)療診斷等多個(gè)領(lǐng)域。隨著深度學(xué)
    的頭像 發(fā)表于 07-09 15:54 ?376次閱讀

    遷移學(xué)習(xí)的基本概念和實(shí)現(xiàn)方法

    遷移學(xué)習(xí)(Transfer Learning)是機(jī)器學(xué)習(xí)領(lǐng)域中的一個(gè)重要概念,其核心思想是利用在一個(gè)任務(wù)或領(lǐng)域中學(xué)到的知識來加速或改進(jìn)另一個(gè)相關(guān)任務(wù)或領(lǐng)域的
    的頭像 發(fā)表于 07-04 17:30 ?693次閱讀

    EMI電磁干擾:原理、影響及解決方法詳解?

    EMI電磁干擾:原理、影響及解決方法詳解?|深圳比創(chuàng)達(dá)電子
    的頭像 發(fā)表于 03-21 10:02 ?690次閱讀
    EMI電磁干擾:原理、影響及解決<b class='flag-5'>方法</b><b class='flag-5'>詳解</b>?

    請教:有SPC560B的多任務(wù)實(shí)時(shí)系統(tǒng)的例程嗎(freertos)

    請教:有SPC560B的多任務(wù)實(shí)時(shí)系統(tǒng)的例程嗎(freertos)
    發(fā)表于 01-15 17:04

    STM32單片機(jī)裸機(jī):實(shí)現(xiàn)多任務(wù)設(shè)計(jì)實(shí)現(xiàn)

    單片機(jī)開發(fā)過程中,隨著任務(wù)的增多,完全等待一個(gè)任務(wù)完成后,再去執(zhí)行下一個(gè)任務(wù)的弊端越發(fā)明顯。
    的頭像 發(fā)表于 11-21 15:02 ?2625次閱讀
    STM32單片機(jī)裸機(jī):實(shí)現(xiàn)<b class='flag-5'>多任務(wù)</b>設(shè)計(jì)實(shí)現(xiàn)

    MCU長耗時(shí)任務(wù)的優(yōu)化策略

    在 MCU 裸機(jī)開發(fā)中,采用分時(shí)片的方式進(jìn)行多任務(wù)處理是一種常見的技術(shù)。
    的頭像 發(fā)表于 11-21 09:39 ?539次閱讀

    ZMC運(yùn)動控制器多任務(wù)編程一

    、用戶多任務(wù)程序。運(yùn)動控制器支持多任務(wù)編程,各任務(wù)可以獨(dú)立執(zhí)行,任務(wù)間不受影響。通過劃分任務(wù),程序模塊化,簡化錯(cuò)誤處理,提高系統(tǒng)靈活性和響應(yīng)
    發(fā)表于 11-07 09:52

    51單片機(jī)多任務(wù)操作系統(tǒng)的原理是什么?

    51單片機(jī)多任務(wù)操作系統(tǒng)的原理
    發(fā)表于 11-06 08:10

    野火stm32+UCOS+LED1+LED2+LED3(多任務(wù)

    電子發(fā)燒友網(wǎng)站提供《野火stm32+UCOS+LED1+LED2+LED3(多任務(wù)).rar》資料免費(fèi)下載
    發(fā)表于 11-03 11:14 ?0次下載
    野火stm32+UCOS+LED1+LED2+LED3(<b class='flag-5'>多任務(wù)</b>)

    51怎么做到多任務(wù)處理而不干擾其他任務(wù)

    51怎么做到多任務(wù)處理而不干擾其他任務(wù)
    發(fā)表于 10-30 06:33

    基于RTX51嵌入式多任務(wù)實(shí)時(shí)操作系統(tǒng)的智能卡電能表設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于RTX51嵌入式多任務(wù)實(shí)時(shí)操作系統(tǒng)的智能卡電能表設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-26 09:12 ?2次下載
    基于RTX51嵌入式<b class='flag-5'>多任務(wù)</b>實(shí)時(shí)操作系統(tǒng)的智能卡電能表設(shè)計(jì)

    MCU硬件看門狗+軟件看門狗監(jiān)測多任務(wù)的思路

    MCU硬件看門狗+軟件看門狗監(jiān)測多任務(wù)的思路
    的頭像 發(fā)表于 10-24 15:25 ?1656次閱讀
    MCU硬件看門狗+軟件看門狗監(jiān)測<b class='flag-5'>多任務(wù)</b>的思路

    NeurIPS 2023 | 擴(kuò)散模型解決多任務(wù)強(qiáng)化學(xué)習(xí)問題

    model 能否解決多任務(wù)強(qiáng)化學(xué)習(xí)問題呢?我們最近提出的一篇新工作——“Diffusion Model is an Effective Planner and Data
    的頭像 發(fā)表于 10-02 10:45 ?656次閱讀
    NeurIPS 2023 | 擴(kuò)散模型解決<b class='flag-5'>多任務(wù)</b>強(qiáng)化<b class='flag-5'>學(xué)習(xí)</b>問題

    什么叫多任務(wù)系統(tǒng) FreeRTOS任務(wù)管理

    的函數(shù)完成所需的處理。有時(shí)候我們也需要中斷中完成一些處理。相對于多任務(wù)系統(tǒng)而言,這個(gè)就是單任務(wù)系統(tǒng),也稱作前后臺系統(tǒng),中斷服務(wù)函數(shù)作為前臺程序,大循環(huán)while(1)作為后臺程序,如圖所示: 前后臺系統(tǒng)的實(shí)時(shí)性差,前后臺系統(tǒng)各個(gè)任務(wù)
    的頭像 發(fā)表于 09-28 10:56 ?552次閱讀
    什么叫<b class='flag-5'>多任務(wù)</b>系統(tǒng) FreeRTOS<b class='flag-5'>任務(wù)</b>管理