Multi-Task Learning的幾篇綜述文章

2021-02-08 機器學習算法與自然語言處理

來自 | 知乎

地址 | https://zhuanlan.zhihu.com/p/145706170

作者 | 黃浴

編輯 | 機器學習算法與自然語言處理公眾號

本文僅作學術分享,若侵權,請聯繫後臺刪文處理


下面分別介紹多任務學習(MTL)的三篇綜述文章。

Ruder S, "An Overview of Multi-Task Learning in Deep Neural Networks", arXiv 1706.05098, June 2017


深度學習方面MTL總結:

按照隱層,MTL基本分兩類:Hard sharing和Soft sharing


Hard sharing在多任務之間共享隱層,降低over fitting的風險。「The more tasks we are learning simultaneously, the more our model has to find a representation that captures all of the tasks and the less is our chance of overfitting on our original task」


Soft sharing各任務之間有自己的模型和參數,主要靠regularization鼓勵任務之間的模型參數相似。

MTL的機制有幾點:

非神經網絡模型中的MTL,主要有兩種:

深度學習模型中的MTL:

Deep Relationship Networks


Fully-Adaptive Feature Sharing


Cross-stitch Networks


Low supervision

deep bi-directional RNNs [Søgaard and Goldberg, 2016]

A Joint Many-Task Model


Weighting losses with uncertainty


Tensor factorization for MTL (註:單任務學習STL)


[Yang and Hospedales, 2017a]

Sluice Networks

尋找輔助任務的方法:

Zhang Y, Yang Q, "An overview of multi-task learning", arXiv 1707.08114, July 2018



MTL方法分成幾類:

feature learning approach 特徵學習

low-rank approach 低秩 參數

task clustering approach 任務聚類 參數

task relation learning approach 任務關係學習 參數

decomposition approach 分解 參數

和其他機器學習方法結合:

semi-supervised learning

active learning

unsupervised learning

reinforcement learning

multi-view learning

graphical models

『What to share』

feature:特徵

instance:實例 (很少)

parameter:參數

MTL方法比較:

· 特徵學習方法學習通用特徵,轉移到所有現有任務甚至新任務。當存在與其他任務無關的異常任務時,會嚴重影響學習的功能,並且會導致性能下降,從而導致魯棒性不強。

· 通過假設參數矩陣是低秩的,低秩方法可以顯式學習參數矩陣的子空間,或者通過一些凸或非凸正則化器隱式實現該子空間。這種方法功能強大,但似乎僅適用於線性模型,非線性擴展的設計不容易。

· 任務聚類方法根據模型參數執行聚類,並且可以識別每個包含相似的任務的類。任務聚類方法的主要局限性是,捕獲同一類任務之間的正相關,而忽略不同類之間的負相關。而且,即使該類某些方法可以自動確定聚類數,但大多數方法仍需要諸如交叉驗證之類的模型選擇方法來確定,帶來更多的計算成本。

· 任務關係學習方法可以同時學習模型參數和任務對的關係。所學的任務關係可以對任務的關係有深刻了解,可以提高解釋性。

· 通過多級參數,可以將分解方法視為其他參數方法的擴展,因此分解方法可以對更複雜的任務結構(即樹結構)建模。分解方法的組件數對性能很重要。

正則化方法是MTL的主要方法。正則化MTL算法分為兩類:特徵協方差學習和任務關係學習。特徵協方差學習可以看作是特徵MTL的一種典型表述,而任務關係學習則是基於參數的MTL。

MTL擴展方法:(任務聚類方法和任務關係學習方法)

Thung K, Wee C, "A Brief Review on Multi-Task Learning", Multimedia Tools and Applications, August 2018.



Rich Caruana 給出的MTL定義:「MTL is an approach to inductive transfer that improves generalization by using the domain information contained in the training signals of related tasks as an inductive bias. It does this by learning tasks in parallel while using a shared low dimensional representation; what is learned for each task can help other tasks be learned better」.

基於輸入/輸出,MTL 分為三種類型:

· multi-input single-output (MISO)

· single-input multioutput (SIMO)

· multi-input multi-output (MIMO)

按照正則化方法,MTL分類:

incomplete data MTL處理方法:

· use only samples with complete data for MTL study, with the cost of reduced statistical power of analysis due to smaller dataset;

· impute the missing data before performing the MTL study, where the imputation is very much prone to error for data missing in blocks

· design a MTL method that is applicable to incomplete data.


深度學習的MTL方法:


Vandenhende S et al., "Revisiting Multi-Task Learning in the Deep Learning Era", arXiv 2004.13379, 2020

很新的綜述,剛剛看到。

深度學習的MTL主要是網絡模型的設計能夠從多任務監督信號中學會表徵共享。MTL的優點主要是:1)由於層共享,減少了內存佔用量。2)由於避免重複計算共享層特徵,提高推理速度。3)如果相關任務共享補充信息或作為彼此的regularizer,則可以提高模型性能。比如計算機視覺中的檢測和分類,檢測和分割,分割和深度估計等等。

不過,如果任務字典裡面包括不相干的任務,MTL的聯合學習會帶來negative transfer。為此不少方法是想尋找一個MTL的平衡點,比如Uncertainty Weighting、Gradient normalization、Dynamic Weight Averaging (DWA) 、Dynamic task prioritization、multiple gradient descent algorithm (MGDA) 和adversarial training等。另外一些最近的工作採用MTL得到一個初始預測,然後以此改進其特徵得到更好的輸出,比如PAD-NET、PAP-NET、JTRL和MTI-Net等。

如圖是文章對深度學習MTL的分類。MTL結構上分成編碼器和解碼器兩種,優化策略上分成任務平衡或者其他。

如圖就是PAD-Net,解碼器類的MTL。

還有這個PAP-NET( Pattern-Affinitive Propagation Networks)。

這是Joint Task-Recursive Learning (JTRL) 。

以及Multi-Scale Task Interaction Networks (MTI-Net) 。這些都是解碼器類。

如表是任務平衡的方法比較:平衡幅度、平衡學習、梯度需要、非競爭梯度、非額外調節和動機等。

不同一般的是,該綜述做了一些實驗進行比較:

這三個表是編碼器結構類。

這四個表是解碼器結構類。

結論是解碼器類的MTL方法佔優。當然,編碼器對表徵的貢獻還是不能忽略的。

這是解碼器和編碼器的比較。

這是三個數據集上的損失平衡法結果比較。

另外還給出了在數據集CelebA 上目前分類方法的比較,其中ResNet18加均勻權重的方法性能不錯。



重磅!憶臻自然語言處理-Pytorch交流群已成立

我們為大家整理了Pytorch中文版官方教程

添加小助手領取,還可以進入官方交流群

注意:請大家添加時修改備註為 [學校/公司 + 姓名 + 方向]

例如 —— 哈工大+張三+對話系統。

號主,微商請自覺繞道。謝謝!


推薦閱讀:

NLP學習(一)——初識NER

NLP學習(二)——NER綜述

Softmax函數與交叉熵

相關焦點

  • Multi-task Learning and Beyond: 過去,現在與未來
    這篇文章將順著我2018年的碩士論文:Universal Representations: Towards Multi-Task Learning & Beyond 的大體框架,並加以補充近期新文章的方法,和未來新方向的討論。
  • Multi-task Learning(Review)多任務學習概述
    Advances in Neural Information Processing Systems papers.nips.cc/paper/41[7] Distributed Multi-task Relationship Learning arxiv.org/abs/1612.0402[8] Regularized multi-task learning doi.org/10.1145/1014052
  • Multi-Label Classification with Deep Learning
    In this tutorial, you will discover how to develop deep learning models for multi-label classification.
  • Multi-task Learning的三個小知識
    本文譯自Deep Multi-Task Learning – 3 Lessons Learned by Zohar Komarovsky
  • 深度學習中的多任務學習(Multi-task-learning)——keras實現
    來自 | 知乎地址 | https://zhuanlan.zhihu.com/p/107737884作者 | 王鵬編輯 | 機器學習算法與自然語言處理公眾號本文僅作學術分享,若侵權,請聯繫後臺刪文處理多任務學習(Multi-task
  • 小樣本學習(Few-shot Learning)綜述
    創新總是基於對已有成果的梳理和思考,這篇綜述算是一個小結,寫出來和大家一起分享,一起討論。few-shot learning framework。Meta Learning,又稱為 learning to learn,在 meta training 階段將數據集分解為不同的 meta task,去學習類別變化的情況下模型的泛化能力,在 meta testing 階段,面對全新的類別,不需要變動已有的模型,就可以完成分類。
  • 2018年的一篇NER綜述筆記
    上周推薦了一篇NER的論文,這周算是把這篇綜述看完了
  • 從Few-shot Learning再次認識機器學習
    當我看完 《Generalizing from a few examples: A survey on few-shot learning》 這篇文章的時候,我對於機器學習又有了一種新的,與其說它讓我理解了什麼是Few-shot learning,不如說它讓我明白了如何更好地處理機器學習問題,不論是科研還是在實際應用當中(可以說是所有其它模型算法),都可以從文章指出的三個角度去考慮:數據、模型、算法
  • 分類問題-----多標籤(multilabel)、多類別(multiclass)
    另外,以下幾個問題是需要關注和進一步研究的Dimensionality Reduction 降維Label Dependence 標註依賴Active learning 主動學習Multi-instance multi-label learning (MIML) 多實例多標籤Multi-view learning.
  • 文獻綜述怎麼寫?這篇文章說的透徹!
    然而,在國、內外各種刊物層出不窮、文章不勝其數的情況下,我們很可能搜索到多達數百篇有時甚至上千篇的相關文獻,以至於無從著手閱讀、分析。我們建議首先應該重點搜集和閱讀有代表性的文獻,特別是對相關研究產生重大影響的種子論文(seminal paper),然後再搜集和閱讀次要一些的文獻。那麼,如何查找代表性文獻呢?請教導師當然是最簡單、有效的途徑。
  • 綜述怎麼寫?這篇文章講的最好!
    本文由掌橋科研整理,平臺提供中外文獻檢索獲取服務,擁有1.8億+篇,月更新百萬篇,是科研人員與碩博研究生必備平臺之一。掌橋科研最新科研成果學術論文下載網站:zhangqiaokeyan.com/免費下載渠道:可掃描文章最下方二維碼,免費下載所需參考文獻。最近小夥伴們是不是面臨論文綜述該怎麼寫的煩惱呢?
  • 關於文獻綜述,這篇文章說透了!
    如《智能化時代職業教育人才培養模式的根本轉型》這篇論文的關鍵詞就是智能化時代、職業教育、人才培養模式。當然,有時候也不能完全憑論文題目來確定,因為論文題目中可能只有一個重要概念或術語。以《教育領域供給側改革的幾個關係》這篇論文為例,該論文題目中的重要概念只有一個——供給側。儘管如此,「供給側」這個詞組還不能作為關鍵詞,因為這個概念最初來自經濟學領域而不是教育學領域。
  • 怎麼讀文獻、管理文獻、寫綜述?這篇文章講了!
    03.文章的架構 文獻的閱讀是一個從「無可非議」、「似是而非」、「大是大非」到「無事生非」的過程。剛開始閱讀,由於自己的知識有限,前幾篇文章提出的方法和結果對自己都是全新的,自己的知識儲備不足以評判其中的觀點。
  • 文獻綜述,這篇文章說透了,值得收藏
    四、文獻綜述的結構這裡所說的結構是指一篇文獻綜述的文本結構,即段落結構。一般而言,常見的有如下幾種樣式。1.年代序列式結構這種結構就是指將某領域的研究成果按照一定的年代順序由遠及近依次敘述。這種結構與歷史教科書或著作中很類似。
  • 【機器學習基礎】Self-Supervised Learning入門介紹
    所以覺得有必要了解一下 SSL,也看了一些 paper 和 blog,最後決定寫這篇文章作為一個總結。什麼是 Self-Supervised Learning首先介紹一下到底什麼是 SSL,我們知道一般機器學習分為監督學習,非監督學習和強化學習。而 self-supervised learning 是無監督學習裡面的一種,主要是希望能夠學習到一種通用的特徵表達用於下遊任務。
  • ACL 2019對話系統論文綜述,一文帶你縱覽16篇前沿研究
    The ubuntu dialogue corpus: A large dataset for research in unstructured multi-turn dialogue systems.
  • 文獻綜述類論文寫作秘籍:文章的幾種結構安排你了解嗎?
    然而,在國、內外各種刊物層出不窮、文章不勝其數的情況下,我們很可能搜索到多達數百篇有時甚至上千篇的相關文獻,以至於無從著手閱讀、分析。我們建議首先應該重點搜集和閱讀有代表性的文獻,特別是對相關研究產生重大影響的種子論文(seminal paper),然後再搜集和閱讀次要一些的文獻。那麼,如何查找代表性文獻呢?請教導師當然是最簡單、有效的途徑。
  • 文獻綜述類論文寫作秘籍:文章的幾種結構安排你了解嗎?
    然而,在國、內外各種刊物層出不窮、文章不勝其數的情況下,我們很可能搜索到多達數百篇有時甚至上千篇的相關文獻,以至於無從著手閱讀、分析。我們建議首先應該重點搜集和閱讀有代表性的文獻,特別是對相關研究產生重大影響的種子論文(seminal paper),然後再搜集和閱讀次要一些的文獻。那麼,如何查找代表性文獻呢?請教導師當然是最簡單、有效的途徑。