多任務學習是一種針對多個任務聯合優化的模型,其中相關任務共享表示,並透過在原始任務上學習更好的決策邊界來提高模型性能。通常使用單一神經網路來同時解決多個任務。除了減少推理時間外,聯合解決任務組還具有其他好處,如提高預測準確度、提高資料效率和減少訓練時間。
多任務學習是指一個機器學習模型可以同時處理多個不同的任務。它能夠提高資料利用效率,加快模型收斂速度,並且減少過度擬合的問題,這是因為模型可以共享表示。
多任務學習與人類學習機制更相似,因為人類常常學習可轉移的技能。例如,學會騎腳踏車後,學習騎摩托車就更容易。這被稱為知識的歸納轉移。
這種知識轉移機制允許人類僅透過少量範例或沒有範例來學習新概念,分別被稱為機器學習中的"小樣本學習"和"零樣本學習" 。
不是所有任務都是相關的,資料集的不平衡、任務之間的差異、知識的負遷移,都對多工學習提出了挑戰。因此,任務的最佳化與選擇合適的架構一樣重要。接下來我們討論多任務學習的最佳化策略。
1.損失建設
這是執行多任務最佳化的最直觀方法之一,透過使用不同的加權方案平衡為單獨任務定義的單一損失函數。然後模型優化聚合損失函數,作為一次學習多個任務的一種方式。
例如使用不同的損失加權機制來幫助解決多任務問題。具體為各個損失函數分配的權重與各個任務的訓練集大小成反比,以免讓具有更多資料的任務主導最佳化。
2.硬參數共享
在硬參數共享中,神經網路的隱藏層被共享,同時保留一些特定於任務的輸出層。為相關任務共享大部分層可以減少過度擬合的可能性。
共享模型同時學習的任務越多,就越需要找到一個能夠捕捉所有任務的表示,並且原始任務過度擬合的可能性就越小。
3.軟參數共享
只有當任務密切相關時,硬參數共享才會表現良好。因此,軟參數共享的重點是學習需要在任務之間共享的特徵。軟參數共享是指將各個模型的參數與整體訓練目標之間的距離進行正規化,以鼓勵不同任務之間使用相似的模型參數。它常用於多任務學習,因為這種正則化技術易於實現。
4.資料採樣
機器學習資料集經常受到資料分佈不平衡的影響,多任務學習使這個問題進一步複雜化。因為涉及具有不同大小和資料分佈的多任務訓練資料集。多任務模型更有可能從具有更大可用訓練資料集的任務中採樣資料點,從而導致潛在的過度擬合。
為了處理這種資料不平衡,已經提出了各種資料採樣技術來為多任務最佳化問題正確建構訓練資料集。
5.智慧任務排程
大多數多任務學習模型以非常簡單的方式決定在一個時期內訓練哪些任務,要么在每一步訓練所有任務,或隨機抽取一部分任務進行訓練。然而,智慧優化的任務調度可以顯著提高所有任務的整體模型效能。
6.梯度調變
大多數多任務學習方法都假設聯合最佳化的各個任務密切相關。但是,每個任務並不一定會與所有可用任務密切相關。在這種情況下,與不相關的任務共享資訊甚至可能會損害效能,這種現象稱為「負遷移」。
從最佳化的角度來看,負遷移表現為存在衝突的任務梯度。當兩個任務的梯度向量指向相反的方向時,目前任務的梯度會降低另一個任務的表現。遵循兩個梯度的平均值意味著這兩個任務都沒有看到與單任務訓練設定相同的改進。因此,任務梯度的調製是解決這個問題的潛在方法。
如果一個多任務模型在一組相關任務上進行訓練,那麼理想情況下,這些任務的梯度應該指向相似的方向。一種常見的梯度調變方式是透過對抗訓練完成的。例如,梯度對抗訓練(GREAT)方法透過在多任務模型訓練中包含一個對抗性損失項來明確強制執行此條件,該訓練鼓勵來自不同來源的梯度具有統計上無法區分的分佈。
7.知識蒸餾
#知識蒸餾是一種機器學習範例,其中知識從計算量大的模型(“教師”模型)轉移到較小的模型(“學生”模型),同時保持性能。
在多任務學習中,知識蒸餾最常見的用途是將知識從幾個單獨的單任務「教師」網路中提取到一個多任務「學生」網路中。有趣的是,學生網絡的性能已被證明在某些領域超過了教師網絡,這使得知識蒸餾成為一種理想的方法,不僅可以節省內存,還可以提高性能。
人工智慧所有領域的研究人員都使用多任務學習框架來開發資源最佳化模型,可靠的多任務模型可用於具有儲存限制的多個應用領域,以下讓我們來看看這些模型在人工智慧不同領域的最新應用。
1.電腦視覺
電腦視覺是人工智慧的一個分支,處理影像分類、物件偵測、視訊檢索等問題。大多數單任務電腦視覺模型的運算成本都非常高,使用多任務網路處理多個任務可以節省儲存空間,並使其更容易部署在更多現實世界的問題中。此外,它有助於緩解模型訓練需要大量標記資料的問題。
2.自然語言處理
自然語言處理(NLP)是人工智慧的一個分支,處理自然的人類語言提示文字(任何語言)、語音等。它包括句子翻譯、圖像或視訊字幕、情緒檢測等多種應用程式。多任務學習廣泛用於NLP問題,以透過輔助任務來提高主要任務的表現。
3.推薦系統
個人化推薦已成為幫助使用者處理大量線上內容的主要技術。為了提高使用者體驗,推薦模型必須準確預測使用者對物品的個人偏好。
多任務推薦系統的範例是CAML模型,該模型透過緊密耦合推導任務和解釋任務來提高可解釋推薦的準確性和可解釋性。
4.強化學習
強化學習是深度學習的範例,介於監督學習和無監督學習之間。在這種學習方案中,演算法透過反覆試驗做出決策來學習,正確的決策會得到獎勵,錯誤的決策會受到懲罰。它通常用於機器人應用。
由於許多強化學習問題不一定涉及複雜的感知,例如使用文字或像素,因此許多此類問題的架構要求並不高。因此,許多用於強化學習的深度網路都是簡單的全連結、卷積或循環架構。然而,在多任務情況下,可利用任務之間的資訊為強化學習創造改進的架構。
如CARE模型,使用混合編碼器將輸入觀察編碼為多種表示,對應於不同的技能或物件。然後允許學習代理使用上下文來決定它對任何給定任務使用哪種表示,從而使代理可以細粒度地控制跨任務共享哪些信息,從而減輕負遷移問題。
5.多模式學習
顧名思義,多模態學習涉及在多種資料模態,如音訊、影像、視訊、自然文本等上訓練模型,這些模態可能相關也可能不相關。多工學習廣泛用於將多模態特徵隱含注入單一模型。
以上是優化和應用於多任務學習的機器學習方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!