在此,咱們給出 MTL 的正式定義。
定義 1(多任務學習):給定 m 個學習任務,其中全部或一部分任務是相關但並不徹底同樣的,多任務學習的目標是經過使用這 m 個任務中包含的知識來幫助提高各個任務的性能。
基於這必定義,咱們能夠看到 MTL 有兩個基本因素。
第一個因素是任務的相關性。任務的相關性是基於對不一樣任務關聯方式的理解,這種相關性會被編碼進 MTL 模型的設計中。
第二個因素是任務的定義。在機器學習中,學習任務主要包含分類和迴歸等監督學習任務、聚類等無監督學習任務、半監督學習任務、主動學習任務、強化學習任務、在線學習任務和多視角學習任務。所以不一樣的學習任務對應於不一樣的 MTL 設置。包括計算機視覺、生物信息學、健康信息學、語音、天然語言處理、網絡應用和普適計算在內的不少領域都在使用 MTL 來提高各自的應用的性能。
最近,深度學習在諸多應用領域中廣爲流行,而且深度學習十分適用於 MTL。幾乎全部的深層模型都會爲不一樣的任務共享隱藏層;當各類任務很是類似時,這種在任務之間共享知識的方式很是有用,可是一旦這種假設被違背,模型性能則顯著惡化。咱們認爲,多任務深度模型的將來發展方向是設計更加靈活的架構,能夠容納不相關的任務甚至異常的任務。此外,深度學習,任務聚類和多層次方法缺少理論基礎,須要更多的分析來指導這些方面的研究。