99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

詳解多任務學習的方法與現(xiàn)實

深度學習自然語言處理 ? 來源:煉丹筆記 ? 作者:十方 ? 2021-04-09 10:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家在做模型的時候,往往關注一個特定指標的優(yōu)化,如做點擊率模型,就優(yōu)化AUC,做二分類模型,就優(yōu)化f-score。然而,這樣忽視了模型通過學習其他任務所能帶來的信息增益和效果上的提升。通過在不同的任務中共享向量表達,我們能夠讓模型在各個任務上的泛化效果大大提升。這個方法就是我們今天要談論的主題-多任務學習(MTL)。

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

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

MTL兩個方法

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

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

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

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

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

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

多任務學習能提效,主要是由于以下幾點原因:

隱式數(shù)據(jù)增強:每個任務都有自己的樣本,使用多任務學習的話,模型的樣本量會提升很多。而且數(shù)據(jù)都會有噪聲,如果單學A任務,模型會把A數(shù)據(jù)的噪聲也學進去,如果是多任務學習,模型因為要求B任務也要學習好,就會忽視掉A任務的噪聲,同理,模型學A的時候也會忽視掉B任務的噪聲,因此多任務學習可以學到一個更精確的嵌入表達。

注意力聚焦:如果任務的數(shù)據(jù)噪聲非常多,數(shù)據(jù)很少且非常高維,模型對相關特征和非相關特征就無法區(qū)分。多任務學習可以幫助模型聚焦到有用的特征上,因為不同任務都會反應特征與任務的相關性。

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

表達偏差:MTL使模型學到所有任務都偏好的向量表示。這也將有助于該模型推廣到未來的新任務,因為假設空間對于足夠多的訓練任務表現(xiàn)良好,對于學習新任務也表現(xiàn)良好。

正則化:對于一個任務而言,其他任務的學習都會對該任務有正則化效果。

多任務深度學習模型

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

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

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

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

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

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

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

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

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

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

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

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

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

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

對于pCTR來說,可將有點擊行為的曝光事件作為正樣本,沒有點擊行為的曝光事件作為負樣本

對于pCTCVR來說,可將同時有點擊行為和購買行為的曝光事件作為正樣本,其他作為負樣本

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

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

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

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

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

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

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

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

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

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

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

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

參考文獻

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)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 多任務
    +關注

    關注

    0

    文章

    18

    瀏覽量

    9213
  • AUC
    AUC
    +關注

    關注

    0

    文章

    9

    瀏覽量

    6855
  • 深度學習
    +關注

    關注

    73

    文章

    5560

    瀏覽量

    122763

原文標題:一文"看透"多任務學習

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    同步任務開發(fā)指導

    。 由于TaskPool偏向于單個獨立的任務,因此當各個同步任務之間相對獨立時推薦使用TaskPool,例如一系列導入的靜態(tài)方法,或者單例實現(xiàn)的方法。如果同步
    發(fā)表于 06-19 07:57

    多任務處理卡頓頻發(fā),無風扇工控機如何優(yōu)化性能?聚徽廠家一文讀懂

    在工業(yè)自動化、物聯(lián)網(wǎng)等領域的深度應用中,無風扇工控機常常需要同時運行數(shù)據(jù)采集、實時監(jiān)控、程序控制等多個任務。然而,頻繁出現(xiàn)的多任務處理卡頓問題,不僅影響生產(chǎn)效率,還可能導致數(shù)據(jù)丟失、系統(tǒng)崩潰等
    的頭像 發(fā)表于 06-03 15:25 ?283次閱讀

    快速入門——LuatOS:sys庫多任務管理實戰(zhàn)攻略!

    在嵌入式開發(fā)中,多任務管理是提升系統(tǒng)效率的關鍵。本教程專為快速入門設計,聚焦LuatOS的sys庫,通過實戰(zhàn)案例帶你快速掌握多任務創(chuàng)建、調(diào)度與同步技巧。無論你是零基礎新手還是希望快速提升開發(fā)效率
    的頭像 發(fā)表于 05-29 14:36 ?204次閱讀
    快速入門——LuatOS:sys庫<b class='flag-5'>多任務</b>管理實戰(zhàn)攻略!

    零死角玩轉(zhuǎn)STM32——系統(tǒng)篇

    ,從裸奔到系統(tǒng),讓您零死角玩轉(zhuǎn) STM32。 目錄內(nèi)容: 1、官方源代碼介紹 2、重要文件代碼詳解 3、uC/OS-II 移植到 STM32 處理器的步驟 4、運行多任務 5、升級到最新版
    發(fā)表于 05-21 14:08

    iMX8DXL有什么方法可以使所有與SPI相關的任務在單核中工作?

    我們使用的是 iMX8DXL 處理器。有什么方法可以使所有與 SPI 相關的任務在單核中工作?請告訴我們是否有任何程序或示例可以這樣做。
    發(fā)表于 03-31 06:47

    BEVFusion —面向自動駕駛的多任務多傳感器高效融合框架技術詳解

    BEVFusion 技術詳解總結(jié)——面向自動駕駛的多任務多傳感器高效融合框架原始論文:*附件:bevfusion.pdf介紹(Introduction)背景:自動駕駛系統(tǒng)配備了多種傳感器,提供互補
    的頭像 發(fā)表于 02-26 20:33 ?3830次閱讀
    BEVFusion —面向自動駕駛的<b class='flag-5'>多任務</b>多傳感器高效融合框架技術<b class='flag-5'>詳解</b>

    詳解溫度傳感器校準方法

    溫度測量是現(xiàn)代科技的基礎,而校準則是確保測量準確的關鍵。讓我們深入探討溫度傳感器校準的技術細節(jié),揭開這項精密科學的神秘面紗。 校準方法詳解 定點法校準 這是最精確的校準方法之一,利用純物質(zhì)的相變點
    的頭像 發(fā)表于 02-11 14:35 ?1012次閱讀

    精密空調(diào)操作使用方法詳解

    精密空調(diào)操作使用方法詳解
    的頭像 發(fā)表于 02-10 14:44 ?964次閱讀
    精密空調(diào)操作使用<b class='flag-5'>方法</b><b class='flag-5'>詳解</b>

    Linux計劃任務cron詳解

    cron是linux下用來周期性的執(zhí)行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務類似,當安裝完成操作系統(tǒng)后,默認會安裝此服務 工具,并且會自動啟動crond進程,crond進程每分鐘會定期檢查是否有要執(zhí)行的
    的頭像 發(fā)表于 02-07 15:31 ?955次閱讀
    Linux計劃<b class='flag-5'>任務</b>cron<b class='flag-5'>詳解</b>

    【「基于大模型的RAG應用開發(fā)與優(yōu)化」閱讀體驗】+大模型微調(diào)技術解讀

    Tuning)和Prompt-Tuning:通過在輸入序列中添加特定提示來引導模型生成期望的輸出,簡單有效,適用于多種任務。P-Tuning v1和P-Tuning v2:基于多任務學習的微調(diào)
    發(fā)表于 01-14 16:51

    傳統(tǒng)機器學習方法和應用指導

    用于開發(fā)生物學數(shù)據(jù)的機器學習方法。盡管深度學習(一般指神經(jīng)網(wǎng)絡算法)是一個強大的工具,目前也非常流行,但它的應用領域仍然有限。與深度學習相比,傳統(tǒng)方法在給定問題上的開發(fā)和測試速度更快。
    的頭像 發(fā)表于 12-30 09:16 ?1173次閱讀
    傳統(tǒng)機器<b class='flag-5'>學習方法</b>和應用指導

    使用任務通知提高RTOS應用的效率

    在實時嵌入式系統(tǒng)中,性能和資源效率是決定設計成敗的關鍵因素。傳統(tǒng)的實時操作系統(tǒng)(RTOS)提供了如隊列、信號量和事件組機制,實現(xiàn)任務之間的同步和通信。FreeRTOS/SAFERTOS還提供一種方法可以使這些過程更快、更輕量化,即任務
    的頭像 發(fā)表于 12-27 14:54 ?690次閱讀

    Pytorch深度學習訓練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學習訓練。
    的頭像 發(fā)表于 10-28 14:05 ?647次閱讀
    Pytorch深度<b class='flag-5'>學習</b>訓練的<b class='flag-5'>方法</b>

    人工智能在項目管理中的應用:Atlassian Intelligence六大自動化任務方法詳解,讓Jira與Confluence效率翻倍

    人工智能(AI)正在重塑工作方式。它允許您自動化工作流程,以節(jié)省時間并確保各種項目之間的一致性。借助AI的力量,您可以輕松簡化那些推動業(yè)務發(fā)展的繁瑣任務。學習如何使用AI實現(xiàn)自動化,是在保證工作質(zhì)量
    的頭像 發(fā)表于 08-12 11:44 ?2031次閱讀
    人工智能在項目管理中的應用:Atlassian Intelligence六大自動化<b class='flag-5'>任務</b><b class='flag-5'>方法</b><b class='flag-5'>詳解</b>,讓Jira與Confluence效率翻倍

    基于Python的深度學習人臉識別方法

    基于Python的深度學習人臉識別方法是一個涉及多個技術領域的復雜話題,包括計算機視覺、深度學習、以及圖像處理等。在這里,我將概述一個基本的流程,包括數(shù)據(jù)準備、模型選擇、訓練過程、以及測試與評估,并附上簡單的代碼示例。
    的頭像 發(fā)表于 07-14 11:52 ?1687次閱讀