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

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

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

機器學(xué)習(xí)中的Multi-Task多任務(wù)學(xué)習(xí)

深度學(xué)習(xí)自然語言處理 ? 來源:深度學(xué)習(xí)自然語言處理 ? 作者:三和廠妹 ? 2021-01-07 14:39 ? 次閱讀

概念

當(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ù)會有好效果」

73f3b0ce-5036-11eb-8b86-12bb97331649.png

為什么會無效?因為所有有效的原因都有它的負向效果

不同任務(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的方式很相似,

74191f6c-5036-11eb-8b86-12bb97331649.png

Cross-Stitch Networks for Multi-Task Learning[8]將兩個獨立的網(wǎng)絡(luò)用參數(shù)的軟共享方式連接起來, 用所謂的十字繡單元來決定怎么將這些任務(wù)相關(guān)的網(wǎng)絡(luò)利用其他任務(wù)中學(xué)到的知識,并與前面層的輸出進行線性組合。

74730a0e-5036-11eb-8b86-12bb97331649.png

串行的聯(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ù)的輸入

74b6845a-5036-11eb-8b86-12bb97331649.png

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)載請注明出處。

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

收藏 人收藏

    評論

    相關(guān)推薦

    傳統(tǒng)機器學(xué)習(xí)方法和應(yīng)用指導(dǎo)

    在上一篇文章,我們介紹了機器學(xué)習(xí)的關(guān)鍵概念術(shù)語。在本文中,我們會介紹傳統(tǒng)機器學(xué)習(xí)的基礎(chǔ)知識和多種算法特征,供各位老師選擇。 01 傳統(tǒng)
    的頭像 發(fā)表于 12-30 09:16 ?249次閱讀
    傳統(tǒng)<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>方法和應(yīng)用指導(dǎo)

    zeta在機器學(xué)習(xí)的應(yīng)用 zeta的優(yōu)缺點分析

    在探討ZETA在機器學(xué)習(xí)的應(yīng)用以及ZETA的優(yōu)缺點時,需要明確的是,ZETA一詞在不同領(lǐng)域可能有不同的含義和應(yīng)用。以下是根據(jù)不同領(lǐng)域的ZETA進行的分析: 一、ZETA在機器
    的頭像 發(fā)表于 12-20 09:11 ?283次閱讀

    cmp在機器學(xué)習(xí)的作用 如何使用cmp進行數(shù)據(jù)對比

    機器學(xué)習(xí)領(lǐng)域,"cmp"這個術(shù)語可能并不是一個常見的術(shù)語,它可能是指"比較"(comparison)的縮寫。 比較在機器學(xué)習(xí)的作用 模型
    的頭像 發(fā)表于 12-17 09:35 ?230次閱讀

    什么是機器學(xué)習(xí)?通過機器學(xué)習(xí)方法能解決哪些問題?

    計算機系統(tǒng)自身的性能”。事實上,由于“經(jīng)驗”在計算機系統(tǒng)主要以數(shù)據(jù)的形式存在,因此機器學(xué)習(xí)需要設(shè)法對數(shù)據(jù)進行分析學(xué)習(xí),這就使得它逐漸成為智能數(shù)據(jù)分析技術(shù)的創(chuàng)新源之一,
    的頭像 發(fā)表于 11-16 01:07 ?447次閱讀
    什么是<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>?通過<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>方法能解決哪些問題?

    NPU與機器學(xué)習(xí)算法的關(guān)系

    在人工智能領(lǐng)域,機器學(xué)習(xí)算法是實現(xiàn)智能系統(tǒng)的核心。隨著數(shù)據(jù)量的激增和算法復(fù)雜度的提升,對計算資源的需求也在不斷增長。NPU作為一種專門為深度學(xué)習(xí)機器
    的頭像 發(fā)表于 11-15 09:19 ?511次閱讀

    eda在機器學(xué)習(xí)的應(yīng)用

    機器學(xué)習(xí)項目中,數(shù)據(jù)預(yù)處理和理解是成功構(gòu)建模型的關(guān)鍵。探索性數(shù)據(jù)分析(EDA)是這一過程不可或缺的一部分。 1. 數(shù)據(jù)清洗 數(shù)據(jù)清洗 是機器學(xué)習(xí)
    的頭像 發(fā)表于 11-13 10:42 ?326次閱讀

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

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

    如何理解機器學(xué)習(xí)的訓(xùn)練集、驗證集和測試集

    理解機器學(xué)習(xí)的訓(xùn)練集、驗證集和測試集,是掌握機器學(xué)習(xí)核心概念和流程的重要一步。這三者不僅構(gòu)成了模型學(xué)習(xí)
    的頭像 發(fā)表于 07-10 15:45 ?4341次閱讀

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

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

    深度學(xué)習(xí)在工業(yè)機器視覺檢測的應(yīng)用

    隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,其在工業(yè)機器視覺檢測的應(yīng)用日益廣泛,并展現(xiàn)出巨大的潛力。工業(yè)機器視覺檢測是工業(yè)自動化領(lǐng)域的重要組成部分,通過圖像處理和計算機視覺技術(shù),實現(xiàn)對產(chǎn)品表面缺陷、
    的頭像 發(fā)表于 07-08 10:40 ?1106次閱讀

    深度學(xué)習(xí)在視覺檢測的應(yīng)用

    深度學(xué)習(xí)機器學(xué)習(xí)領(lǐng)域中的一個重要分支,其核心在于通過構(gòu)建具有多層次的神經(jīng)網(wǎng)絡(luò)模型,使計算機能夠從大量數(shù)據(jù)自動學(xué)習(xí)并提取特征,進而實現(xiàn)對復(fù)
    的頭像 發(fā)表于 07-08 10:27 ?752次閱讀

    機器學(xué)習(xí)在數(shù)據(jù)分析的應(yīng)用

    隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)量的爆炸性增長對數(shù)據(jù)分析提出了更高的要求。機器學(xué)習(xí)作為一種強大的工具,通過訓(xùn)練模型從數(shù)據(jù)中學(xué)習(xí)規(guī)律,為企業(yè)和組織提供了更高效、更準確的數(shù)據(jù)分析能力。本文將深入探討機器
    的頭像 發(fā)表于 07-02 11:22 ?654次閱讀

    深度學(xué)習(xí)與傳統(tǒng)機器學(xué)習(xí)的對比

    在人工智能的浪潮,機器學(xué)習(xí)和深度學(xué)習(xí)無疑是兩大核心驅(qū)動力。它們各自以其獨特的方式推動著技術(shù)的進步,為眾多領(lǐng)域帶來了革命性的變化。然而,盡管它們都屬于
    的頭像 發(fā)表于 07-01 11:40 ?1429次閱讀

    verilog task和function區(qū)別

    verilogtask和function都是用于實現(xiàn)模塊的可重復(fù)的功能,并且可以接收參數(shù)和返回結(jié)果。但是它們在編寫和使用上有一些區(qū)別。下面將詳細介紹task和function的區(qū)
    的頭像 發(fā)表于 02-22 15:53 ?1136次閱讀

    verilogfunction和task的區(qū)別

    在Verilog,F(xiàn)unction和Task是用于模塊化設(shè)計和重用代碼的兩種重要元素。它們允許開發(fā)人員將復(fù)雜的操作分解為更小的功能單元,并在需要時調(diào)用它們。雖然Function和Task在某些方面
    的頭像 發(fā)表于 02-22 15:40 ?1935次閱讀