女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

關于多任務學習如何提升模型性能與原則

深度學習自然語言處理 ? 來源:CSDN技術社區 ? 作者:上杉翔二 ? 2021-03-21 11:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

提升模型性能的方法有很多,除了提出過硬的方法外,通過把神經網絡加深加寬(深度學習),增加數據集數目(預訓練模型)和增加目標函數(多任務學習)都是能用來提升效果的手段。(別名Joint Learning,Learning to learn,learning with auxiliary task.。..等)

對于人類來說,我們往往學會了一件事,是能夠觸類旁通,舉一反三的。即其他不同任務的經驗性,能夠帶來一些有用的信息,這是多任務學習的出發點。但如果處理多任務還是用single-task learning的話(類似bagging),模型會默認為每個任務是獨立的,沒有關聯性的,所以每個模型的參數都是獨立進行的。這樣做的缺點在于:

訓練數據有限,所以模型并不具有很好的泛化性能

不考慮任務之間的相關性,缺乏對不同模型之間共享信息的挖掘,使得模型訓練過程中性能下降

Multi-Task Learning(MTL)多任務學習實質上是一種遷移機制,如何讓模型能夠同時解決多種問題,從而提高泛化準確率、學習速度和能力,模型的可理解性。特別是如何使用與其他任務的“相關性”與“差異性”,通過多個任務訓練并共享不同任務已學到的特征表示,減輕對特定任務的過度擬合,從正則化效果中獲益,提升最終的性能,使學習的嵌入在任務之間具有通用性。

多任務學習的構建原則

理解建模任務之間的相關性,以構建合適的多任務方案。

同時對多個任務的模型參數進行聯合學習以挖掘不同任務的共享信息。

但需要同時考慮不同任務會存在的差異性,如何提高模型對不同任務的適應能力。

為什么多任務是有效的?

可增加訓練樣本,且不同任務的噪音不同,同時學習多個任務能得到更通用的表達

可以通過其他任務來判斷學習到的特征是否真的有效

對于某個任務難學到的特征,可以通過其他任務來學習

多任務學習傾向于讓模型關注其他模型也關注的信息表達

某種程度上可以視為正則化

常用多任務學習的主要方式

基于參數的共享,如神經網絡隱層參數共享,然后上層得到多個特征完成多種任務以達到聯合訓練的目的,即loss里面組合多個。

對于loss的組合的權重設置可以分為手工調整,Gradient normalization(希望不同任務loss的量級接近,納入梯度計算權重,優點是可以考慮loss的量級,缺點是每一步都要額外算梯度)。Dynamic weight averaging,DWA希望各個任務以相近的速度來進行學習(記錄每步的loss,loss縮小快的任務權重會變小,缺點是沒有考慮量級)。Dynamic Task Prioritization,DTP希望更難學的任務可以有更高的權重。Uncertainty Weighting,讓“簡單”的任務權重更高(確定性越強的任務權重會大,而噪聲大難學的任務權重會變小)。對于loss的平衡挺講究的,也算是調參師需要掌握的東西吧,有空再新寫文章整理。

基于正則化的共享,如均值約束,聯合特征學習等。比如使用低秩參數矩陣分解,即假設不同任務的參數可能會共享某些維度的特征,那么每個任務的參數都接近所有任務平均的參數來建模任務之間的相關性,即在loss中加入這樣的正則化來約束參數:

所以多任務的優點在于它具有很好的泛化性能,對于有些任務的數據不足問題,也能借助其他任務得到訓練,另外它還能起到正則的作用,即很難使某個任務過擬合以保證整個模型的泛化性能。

而其困難在于如何更好的對每個任務分配權重(已經有人有NAS做了。..)以使其魯棒性最強,同時如何兼顧特征共享部分和任務的特點表示,避免過擬合或者欠擬合是值得研究的。

除了一般處理多任務都是一個可學習的alpha來控制外,本篇文章將整理幾篇多任務學習的論文。

Single-Level MTL Models

單層主要有以下幾種方式:

「Hard Parameter Sharing」:不同任務底層共享,然后共不同任務各自輸出。當兩個任務相關性較高時,用這種結構往往可以取得不錯的效果,但任務相關性不高時,會存在負遷移現象,導致效果不理想。

「Asymmetry Sharing(不對稱共享)」:不同任務的底層模塊有各自對應的輸出,但其中部分任務的輸出會被其他任務所使用,而部分任務則使用自己獨有的輸出。哪部分任務使用其他任務的輸出,則需要人為指定。

「Customized Sharing(自定義共享)」:不同任務的底層模塊不僅有各自獨立的輸出,還有共享的輸出。

「MMoE」:底層包含多個Expert,然后基于門控機制,不同任務會對不同Expert的輸出進行過濾。

「CGC」:這是PLE的結構(圖自騰訊在RecSys2020最佳長論文,Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations),他的不同之處在于學習一個個性和共性兩方面的信息,然后再用不同的gate來控制。

Multi-Level MTL Models

「Cross-Stitch Network」:用參數來控制不同任務間共享的特征

「Sluice Network」:分層特征融合網絡

「ML-MMoE」:MMoE的多級結構

「PLE」:多層萃取(基于CGC)

MMoE(Multi-gate Mixture-of-Experts)論文:Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts

MMoE應該是實際上用的比較多一個架構了,想主要整理一下這個。

這篇文章是對多任務學習的一個擴展,通過門控網絡的機制來平衡多任務。所謂“平衡”是因為多任務學習中有個問題就是如果子任務之間的差異性太大了,多任務模型的效果會很差,那么如何平衡不同的任務呢?MMoE主要有兩個共享:

圖a,使用shared-bottom網絡,多個上層任務共用底層網絡。

圖b,多個獨立模型的集成方法MoE,即每個expert network都可以認為是神經網絡,公共一個門控網絡(One-gate MoE model),最終的輸出是所有experts的加權和。

圖c,MMoE,每個任務使用單獨的gating networks。即每個任務的gating networks通過最終輸出權重不同實現對experts的選擇性利用。不同任務的gating networks可以學習到不同的組合experts的模式,因此模型考慮到了捕捉到任務的相關性和區別。

通過這種multi-gate的結構能夠緩解任務間差異大的情況。

Multi-task Learning in LM語言模型是天然無監督的多任務學習。而且鑒于目前針對BERT的改進很多(包括BERT-large等版本)都是增加了數據量,計算能力或訓練過程。

比如RoBERTa,精細調參,為了優化訓練程序,從BERT的預訓練程序中刪除了結構預測(NSP)任務,引入了動態掩蔽,以便在訓練期間使掩蔽的標記發生變化。

比如DistilBERT學習了BERT的蒸餾版本,保留了95%的性能,但只使用了一半的參數。具體來說,它沒有標記類型和池化層的嵌入,只保留了谷歌BERT中一半的層(當然ALBERT也是等)。

MT-DNN與ERNIE2.0。這兩篇論文的多任務學習很有意思,接下來主要整理這兩篇文章。

MT-DNN論文:Multi-Task Deep Neural Networks for Natural Language Understanding

MT-DNN是結合了至少4種任務的模型:單句分類、句子對分類、文本相似度打分和相關度排序等等。

「單句分類」:CoLA是判斷英語句子是否語法合適、SST-2是電影評論的情感(正面or負面)。

「文本相似度」:STS-B對兩句話進行文本相似度打分

「句子對分類」:RTE和MNLI是文本蘊含任務(推理兩個句子之間的關系,是否存在蘊含關系、矛盾的關系或者中立關系),QQP和MRPC是判斷兩句話是否語義上一致,等價。

「相關性排序」:QNLI斯坦福問答數據集的一個版本,雖然是二分類問題,此時變成一個多排序問題,使更接近的答案排得更加靠前。

在MT-DNN的多任務學習中,也是低層的特征在所有任務之間共享,而頂層面向豐富的下游任務。從模型結構上,從底向上的shared layers是Transformer逐步的過程,用于生成共享的上下文嵌入向量(contextual embedding layers),然后完成四種任務的預測。

ERNIE2.0論文:ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding

ERNIE2.0的貢獻主要有1 通過大型語料庫+先驗知識。2,多任務學習逐步更新 ERNIE 模型。

「序列性多任務學習」。使模型能夠學習到詞匯,語法,語義信息。不同于持續學習和多任務學習,序列多任務學習在引入新的訓練任務時,先利用之前學習到的參數對模型進行初始化,再同時訓練新任務和舊任務。

「定制和引入了多種預訓練任務」。側重詞匯的任務(mask,大寫字詞預測,字詞-文章關系),側重結構/語法的任務(詞語重排序,語句距離),側重語義的任務(文章關系任務,信息檢索相關性任務)。如下圖,首先主要使用的任務有:

「Knowledge Masking Task、Capitalization Prediction Task和Token-Document Relation Prediction Task」。Knowledge Masking Task是預測被masked掉的短語和命名知識實體以學習到局部語境和全局語境的依賴關系信息。Capitalization Prediction Task是首字母大寫預測,首字母大寫的詞往往有特殊的功能。Token-Document Relation Prediction Task預測段中的token是否出現在原始文檔的其他段(segment)中,即捕獲高頻詞或線索詞。

「Sentence Reordering Task和Sentence Distance Task」。Sentence Reordering Task句子重排任務是為了學習句子之間的關系。Sentence Distance Task通過文檔級的信息學習句子之間的距離。

「Discourse Relation Task和IR Relevance Task」。Discourse Relation Task引入2個句子之間語義或修辭關系的預測任務。IR Relevance Task學習短文本在信息檢索中的相關性。

這篇文章比較有趣的就是這個多任務連續增量學習,或持續學習(Continual learning)了,它致力于對數個任務按順序依次訓練模型,以確保模型在訓練新任務時候,依舊能夠記住先前的任務。正如人類能夠不斷地通過學習或歷史經驗積累獲得信息,從而有效地發展新的技能。

具體關于連續增量學習的對比,第一個是如何以連續的方式訓練任務,而不忘記以前所學的知識;第二個是如何更有效地學習這些預訓練任務。

「Continual Learning」。在訓練的每一個階段僅通過一項任務來訓練模型,如訓練任務A,在訓練任務B,一直到訓練任務Z,但是其缺點是會忘記先前學習的知識,導致最后的結果會更加偏向靠后的任務。。

「Multi-task Learning」。是普通的MTL,即所有任務在一起進行多任務學習,即同時訓練A,B..Z期間不做交互最后做集成。缺點是訓練完的模型只能處理這些任務,如果出現了比較新的任務,比較大的概率需要重頭開始訓練。

「Sequential Multi-task Learning」。當有新任務出現時,先使用先前學習的參數來初始化模型,并同時訓練新引入的任務和原始任務,如先訓練A,再訓練A,B,再訓練A,B,C,如圖中的金字塔形狀,當有新任務出現時,它也能夠快速反應做調整。

除了這種,其實還可以先(A)(B)(C)訓練,再(A,B)(B,C)(A,C),最后再(A,B,C)這種方式。有點像我們做題往往會先做單項訓練,再綜合訓練。
編輯:lyn

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

    關注

    0

    文章

    18

    瀏覽量

    9219
  • 深度學習
    +關注

    關注

    73

    文章

    5561

    瀏覽量

    122811

原文標題:【多任務】如何利用多任務學習提升模型性能?

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    數據標注與大模型的雙向賦能:效率與性能的躍升

    ??在人工智能蓬勃發展的時代,大模型憑借其強大的學習與泛化能力,已成為眾多領域創新變革的核心驅動力。而數據標注作為大模型訓練的基石,為大模型性能
    的頭像 發表于 06-04 17:15 ?710次閱讀
    數據標注與大<b class='flag-5'>模型</b>的雙向賦能:效率與<b class='flag-5'>性能</b>的躍升

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

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

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

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

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

    ,激光雷達在3D視圖中捕獲數據。1. 核心目標與創新?目標? 解決多模態傳感器(攝像頭、激光雷達等)在3D感知任務中的異構數據融合難題,實現高效、通用的多任務學習(如3D檢測、BEV分割)核心創新
    的頭像 發表于 02-26 20:33 ?3873次閱讀
    BEVFusion —面向自動駕駛的<b class='flag-5'>多任務</b>多傳感器高效融合框架技術詳解

    機器學習模型市場前景如何

    當今,隨著算法的不斷優化、數據量的爆炸式增長以及計算能力的飛速提升,機器學習模型的市場前景愈發廣闊。下面,AI部落小編將探討機器學習模型市場
    的頭像 發表于 02-13 09:39 ?365次閱讀

    【「基于大模型的RAG應用開發與優化」閱讀體驗】+大模型微調技術解讀

    同時優化多個相關任務的損失函數來提升模型的泛化能力。學習率調整策略:合理的學習率調整可以加速模型
    發表于 01-14 16:51

    《具身智能機器人系統》第7-9章閱讀心得之具身智能機器人與大模型

    布外任務展示出多樣化和復雜的推廣能力。 知識載體 知識嵌入在訓練期間學習模型參數中。 知識載體是記憶和隱藏狀態,專注于上下文學習和適應。 可擴展性 通過擴展參數和預訓練數據集提高
    發表于 12-24 15:03

    AI模型部署邊緣設備的奇妙之旅:目標檢測模型

    某些類型模型的訓練過程。 保留稀疏激活:與ReLU類似,Leaky ReLU仍然能夠促進稀疏激活,這對模型學習是有利的。 缺點: 性能提升
    發表于 12-19 14:33

    DDR內存頻率對性能的影響

    的整體性能,特別是在處理大量數據或運行復雜程序時,如視頻編輯、3D渲染和高端游戲等場景。快速的內存可以縮短CPU和內存之間的通信時間,從而提升整體系統的響應效率。 二、多任務處理能力 內存頻率高可以
    的頭像 發表于 11-20 14:25 ?3879次閱讀

    NPU技術如何提升AI性能

    設計的處理器,與傳統的CPU和GPU相比,它在執行深度學習任務時具有更高的效率和更低的能耗。NPU通過專門優化的硬件結構和指令集,能夠更快地處理神經網絡中的大量并行計算任務。 1. 優化硬件架構 NPU技術通過優化硬件架構來
    的頭像 發表于 11-15 09:11 ?1459次閱讀

    深度學習模型的魯棒性優化

    深度學習模型的魯棒性優化是一個復雜但至關重要的任務,它涉及多個方面的技術和策略。以下是一些關鍵的優化方法: 一、數據預處理與增強 數據清洗 :去除數據中的噪聲和異常值,這是提高模型魯棒
    的頭像 發表于 11-11 10:25 ?1207次閱讀

    驍龍8至尊版性能實測:自研Oryon?CPU實現45%性能與能效提升

    重磅升級后,天極網將通過跑分與游戲實測為大家揭曉其真實性能與游戲表現。 高通Oryon?CPU:45%性能與能效提升 驍龍8至尊版集成第二代高通Oryon?CPU,基于臺積電第二代3nm制程工藝,采用“2+6”設計——擁有2顆4
    的頭像 發表于 10-25 10:01 ?2089次閱讀
    驍龍8至尊版<b class='flag-5'>性能</b>實測:自研Oryon?CPU實現45%<b class='flag-5'>性能與</b>能效<b class='flag-5'>提升</b>

    AI大模型與深度學習的關系

    AI大模型與深度學習之間存在著密不可分的關系,它們互為促進,相輔相成。以下是對兩者關系的介紹: 一、深度學習是AI大模型的基礎 技術支撐 :深度學習
    的頭像 發表于 10-23 15:25 ?2902次閱讀

    AI大模型性能優化方法

    AI大模型性能優化是一個復雜而關鍵的任務,涉及多個方面和策略。以下是一些主要的性能優化方法: 一、模型壓縮與優化
    的頭像 發表于 10-23 15:01 ?2428次閱讀

    【《大語言模型應用指南》閱讀體驗】+ 基礎知識學習

    今天來學習大語言模型在自然語言理解方面的原理以及問答回復實現。 主要是基于深度學習和自然語言處理技術。 大語言模型涉及以下幾個過程: 數據收集:大語言
    發表于 08-02 11:03