深度学习核心技术精讲100篇(八)-keras 实战系列之深度学习中的多任务学习(Multi-task learning)
多任務學習(Multi-task learning)簡介
多任務學習(Multi-task learning)是遷移學習(Transfer Learning)的一種,而遷移學習指的是將從源領域的知識(source domin)學到的知識用于目標領域(target domin),提升目標領域的學習效果。 而多任務學習也是希望模型同時做多個任務時,能將其他任務學到的知識,用于目標任務中,從而提升目標任務效果。
如果我們換個角度理解,其實多任務學習,其實是對目標任務做了一定的約束,或者叫做regularization。我們不希望模型只局限于目標任務的學習,而是能夠適應多個任務場景,這樣可以大大的增加模型的泛函能力(generalization)。
舉個形象的例子,單人多任務學習模型就像一個一門心思只做一樣事情的匠人,在他自己的領域,他可能可以做一百分,如果換個任務也許他就會做的不是特別好,而多任務學習模型就像一個什么任務都做得還算優秀但是不完美的人。可是在實際深度學習任務中,測試集和訓練集的分布還是會有一定的偏差,那測試集可能就意味給讓模型做一個目標微調后任務。所以在測試集上,多任務模型大概率是表現優異那一個。
這里需要強調一點,這里的多任務的各個任務之間一定要有強相關性,如果任務之間本身的關聯性就不大,多任務學習并不會對模型的提升并不一定會有用。
多任務學習(Multi-task learning)的兩種模式
深度學習中兩種多任務學習模式:隱層參數的硬共享與軟共享。
- 隱層參數硬共享,指的是多個任務之間共享網絡的同幾層隱藏層?
總結
以上是生活随笔為你收集整理的深度学习核心技术精讲100篇(八)-keras 实战系列之深度学习中的多任务学习(Multi-task learning)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐算法矩阵分解实战——keras算法练
- 下一篇: “加班文化“到底是如何流行起来的