国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

詳解多任務學習的方法與現實

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

掃碼添加小助手

加入工程師交流群

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

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

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

MTL兩個方法

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

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

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

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

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

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

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

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

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

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

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

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

多任務深度學習模型

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)最常見,共享了底層網絡,上面分別接不同任務的全連接層。模型(b)認為不同的專家可以從相同的輸入中提取出不同的特征,由一個Gate(類似) attention結構,把專家提取出的特征篩選出各個task最相關的特征,最后分別接不同任務的全連接層。MMOE的思想就是對于不同任務,需要不同專家提取出的信息,因此每個任務都需要一個獨立的gate。

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

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

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

最終PLE結構如下,融合了定制的expert和MMOE,堆疊多層CGC架構,如下所示:

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 多任務
    +關注

    關注

    0

    文章

    18

    瀏覽量

    9330
  • AUC
    AUC
    +關注

    關注

    0

    文章

    9

    瀏覽量

    6997
  • 深度學習
    +關注

    關注

    73

    文章

    5599

    瀏覽量

    124398

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式單片機開發學習路徑

    項目 通過完成一些簡單的項目來鞏固所學知識。例如,制作一個簡單的LED閃爍電路或溫度傳感器測量系統。 4. 高級進階 4.1 操作系統學習 學習嵌入式操作系統(如FreeRTOS),理解多任務
    發表于 02-09 15:42

    一文說透了如何實現單片機的多任務并發!

    在嵌入式系統開發中,多任務并發是非常常見的,對于處理復雜的應用場景、提升系統的并發能力、提高系統的實時性等方面都有很大好處。在單片機中實現多任務并發是非常重要的,本文將為大家介紹如何在單片機中實現
    發表于 01-06 06:46

    高導熱灌封膠如何驗證?詳解導熱系數的精準測試方法與影響因素 | 鉻銳特實業

    高導熱灌封膠導熱系數如何精準驗證?本文詳解ASTM D5470等主流測試方法、影響實測值的關鍵因素及專業判斷標準,幫助您甄選真正可靠的產品。 | 鉻銳特實業
    的頭像 發表于 12-04 11:37 ?626次閱讀
    高導熱灌封膠如何驗證?<b class='flag-5'>詳解</b>導熱系數的精準測試<b class='flag-5'>方法</b>與影響因素 | 鉻銳特實業

    分享一個嵌入式開發學習路線

    拓展期(3-4個月) 學習嵌入式操作系統(RTOS)和物聯網通信技術,能開發“多任務、聯網”的復雜項目,理解企業級嵌入式開發的“架構思維”。這一階段的學習需要一定的自律和毅力,但與學歷無關。 嵌入式
    發表于 12-04 11:01

    多任務系統中,如何平衡任務調度以防止因高負載導致的再次進入低功耗模式的延遲?

    多任務系統中,如何平衡任務調度以防止因高負載導致的再次進入低功耗模式的延遲?
    發表于 12-04 06:37

    學習RTOS的意義?

    RTOS實現多任務管理。 嵌入式操作系統有眾多的軟件組件,可以極大的加速項目進度,避免重復造車輪。 2.技能需要 掌握操作系統,和基于RTOS的編程,實現更好的職業規劃,對個人發展是必不可少的。 在招聘網
    發表于 11-27 08:16

    freertos關閉任務調度的方法

    #include \"FreeRTOS.h\" #include \"task.h\" /* 關閉任務調度 */ void
    發表于 11-17 06:47

    一句話,多個命令同時執行,AI語音模組也能多任務處理?

    、 Ai-WV02-32S ? 將語音識別、喚醒、語義理解等核心功能, 濃縮在一顆小小的模組中。 安信可AI語音模組支持 MCP 協議(Multi Command Processing,多命令并行處理) ,讓語音交互從“單線程”進化為真正的“多任務協同”! 一句話喚醒“多任務
    的頭像 發表于 10-31 14:45 ?528次閱讀
    一句話,多個命令同時執行,AI語音模組也能<b class='flag-5'>多任務</b>處理?

    愛普科技PSRAM加速wisun無線模塊多任務處理

    愛普科技256Mb PSRAM(如APS256XXN-OBR-BG)為WiSUN無線模塊提供高速數據緩存與臨時存儲解決方案,其166MHz速率、1.8V低功耗及小尺寸封裝顯著提升模塊在智能電網、工業自動化中的多任務處理能力和穩定性。
    的頭像 發表于 10-14 09:25 ?385次閱讀
    愛普科技PSRAM加速wisun無線模塊<b class='flag-5'>多任務</b>處理

    教程來啦!LuatOS中的消息通信機制詳解及其應用場景

    。 LuatOS 的消息機制是其多任務協作和事件驅動編程的核心部分,主要通過?sys?核心庫實現。 消息機制包括消息的發送、接收、訂閱,以及系統消息的定義和使用,下面分別詳細描述其原理和使用方法。 一、LuatOS 消息機制的原理 1.1 消息機制的基本原理
    的頭像 發表于 09-26 18:59 ?426次閱讀
    教程來啦!LuatOS中的消息通信機制<b class='flag-5'>詳解</b>及其應用場景

    揭秘LuatOS Task:多任務管理的“智能中樞”

    Task任務作為LuatOS的核心組成部分,通過智能化的任務管理機制,實現任務的創建、調度與協同運行,讓復雜應用得以高效并行處理,滿足實時場景下的嚴苛需求。 sys核心庫是LuatOS運行框架庫
    的頭像 發表于 08-28 13:48 ?647次閱讀
    揭秘LuatOS Task:<b class='flag-5'>多任務</b>管理的“智能中樞”

    同步任務開發指導

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

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

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

    快速入門——LuatOS:sys庫多任務管理實戰攻略!

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

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

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