一次只學習一個任務,大部分機器學習都屬於單任務學習。
多任務學習:把多個相關的任務放在一起學習,同時學習多個任務。
對於復雜的問題,可以分解為簡單的相互獨立的子問題來解決,然后再合並結果,得到最初復雜問題的結果。這樣是錯誤的。因為現實中很多問題都不能分解成一個一個獨立的問題,就算可以分解,子問題之間還是相互關聯的,通過一些共享因素聯系在一起。多任務學習是把多個任務之間共享一些因素,在學習的過程中共享他們所學到的信息,有更好的泛化效果。(多個任務的淺層共享)。
定義
基於共享表示,把多個相關的任務放在一起學習的機器學習方法。
多個相關任務同時並行學習,梯度同時反向傳播,多個任務通過底層的共享表示、互相補充學習到的領域相關的信息,互相幫助學習任務,提升泛化效果。
作用
為什么能提高學習效果?
1、噪聲
多個相關的任務放在一起學習,有相關的部分,也有不相關的部分。當學習一個任務時候,和這個任務不相關的信息就相當於是噪聲,引入噪聲可以調高泛化效果。
2、逃離局部最優解
單任務學習時,梯度的傳播容易陷入局部極小值。但是多任務學習中的不同任務的局部極小值處於不同位置,通過相互作用,可以幫助逃離局部極小值;
3、權值更新
改變了權值更新的動態特性,比如多任務並行學習,提升了淺層共享層的學習速率;
4、泛化
可能削弱了網絡的能力,降低了網絡的過擬合,提升了泛化效果;