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

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

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

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

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

概念

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

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

為什么會(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的方式很相似,

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

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)行線性組合。

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

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

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] 用同方差不確定性對(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)注明出處。

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

    關(guān)注

    87

    文章

    29815

    瀏覽量

    268110
  • 多任務(wù)
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    9049
  • 機(jī)器學(xué)習(xí)

    關(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)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

    機(jī)器學(xué)習(xí)的數(shù)據(jù)預(yù)處理與特征工程

    機(jī)器學(xué)習(xí)的整個(gè)流程,數(shù)據(jù)預(yù)處理與特征工程是兩個(gè)至關(guān)重要的步驟。它們直接決定了模型的輸入質(zhì)量,進(jìn)而影響模型的訓(xùn)練效果和泛化能力。本文將從數(shù)據(jù)預(yù)處理和特征工程的基本概念出發(fā),詳細(xì)探討這兩個(gè)步驟的具體內(nèi)容、方法及其在
    的頭像 發(fā)表于 07-09 15:57 ?273次閱讀

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

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

    深度學(xué)習(xí)的無(wú)監(jiān)督學(xué)習(xí)方法綜述

    深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)領(lǐng)域的一個(gè)重要分支,近年來(lái)在多個(gè)領(lǐng)域取得了顯著的成果,特別是在圖像識(shí)別、語(yǔ)音識(shí)別、自然語(yǔ)言處理等領(lǐng)域。然而,深度學(xué)習(xí)模型的強(qiáng)大性能往往依賴于大量有標(biāo)簽的數(shù)據(jù)進(jìn)行訓(xùn)練
    的頭像 發(fā)表于 07-09 10:50 ?387次閱讀

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

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

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

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

    機(jī)器學(xué)習(xí)算法原理詳解

    機(jī)器學(xué)習(xí)作為人工智能的一個(gè)重要分支,其目標(biāo)是通過(guò)讓計(jì)算機(jī)自動(dòng)從數(shù)據(jù)中學(xué)習(xí)并改進(jìn)其性能,而無(wú)需進(jìn)行明確的編程。本文將深入解讀幾種常見(jiàn)的機(jī)器學(xué)習(xí)
    的頭像 發(fā)表于 07-02 11:25 ?672次閱讀

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

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

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

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

    機(jī)器學(xué)習(xí)的經(jīng)典算法與應(yīng)用

    關(guān)于數(shù)據(jù)機(jī)器學(xué)習(xí)就是喂入算法和數(shù)據(jù),讓算法從數(shù)據(jù)尋找一種相應(yīng)的關(guān)系。Iris鳶尾花數(shù)據(jù)集是一個(gè)經(jīng)典數(shù)據(jù)集,在統(tǒng)計(jì)學(xué)習(xí)機(jī)器
    的頭像 發(fā)表于 06-27 08:27 ?1545次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>的經(jīng)典算法與應(yīng)用

    傅里葉變換基本原理及在機(jī)器學(xué)習(xí)應(yīng)用

    連續(xù)傅里葉變換(CFT)和離散傅里葉變換(DFT)是兩個(gè)常見(jiàn)的變體。CFT用于連續(xù)信號(hào),而DFT應(yīng)用于離散信號(hào),使其與數(shù)字?jǐn)?shù)據(jù)和機(jī)器學(xué)習(xí)任務(wù)更加相關(guān)。
    發(fā)表于 03-20 11:15 ?804次閱讀
    傅里葉變換基本原理及在<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>應(yīng)用

    verilog task和function區(qū)別

    verilogtask和function都是用于實(shí)現(xiàn)模塊的可重復(fù)的功能,并且可以接收參數(shù)和返回結(jié)果。但是它們?cè)诰帉懞褪褂蒙嫌幸恍﹨^(qū)別。下面將詳細(xì)介紹task和function的區(qū)
    的頭像 發(fā)表于 02-22 15:53 ?948次閱讀

    verilogfunction和task的區(qū)別

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

    如何使用TensorFlow構(gòu)建機(jī)器學(xué)習(xí)模型

    在這篇文章,我將逐步講解如何使用 TensorFlow 創(chuàng)建一個(gè)簡(jiǎn)單的機(jī)器學(xué)習(xí)模型。
    的頭像 發(fā)表于 01-08 09:25 ?895次閱讀
    如何使用TensorFlow構(gòu)建<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>模型