迁移学习简介
遷移學習是一種機器學習方法,就是把為任務 A 開發的模型作為初始點,重新使用在為任務 B 開發模型的過程中。遷移學習是通過從已學習的相關任務中轉移知識來改進學習的新任務,雖然大多數機器學習算法都是為了解決單個任務而設計的,但是促進遷移學習的算法的開發是機器學習社區持續關注的話題。
深度學習中在計算機視覺任務和自然語言處理任務中將預訓練的模型作為新模型的起點是一種常用的方法,通常這些預訓練的模型在開發神經網絡的時候已經消耗了巨大的時間資源和計算資源,遷移學習可以將已習得的強大技能遷移到相關的的問題上。
遷移學習是一種機器學習的方法,指的是一個預訓練的模型被重新用在另一個任務中。
遷移學習與多任務學習以及概念飄移這些問題相關,它不是一個專門的機器學習領域。
然而,遷移學習在某些深度學習問題中是非常受歡迎的,例如在具有大量訓練深度模型所需的資源或者具有大量的用來預訓練模型的數據集的情況。僅在第一個任務中的深度模型特征是泛化特征的時候,遷移學習才會起作用。
深度學習中的這種遷移被稱作歸納遷移。就是通過使用一個適用于不同但是相關的任務的模型,以一種有利的方式縮小可能模型的搜索范圍。
以下是兩個常用的方法:
??? 開發模型的方法
??? 預訓練模型的方法
開發模型的方法
??? 選擇源任務。你必須選擇一個具有豐富數據的相關的預測建模問題,原任務和目標任務的輸入數據、輸出數據以及從輸入數據和輸出數據之間的映射中學到的概念之間有某種關系,
??? 開發源模型。然后,你必須為第一個任務開發一個精巧的模型。這個模型一定要比普通的模型更好,以保證一些特征學習可以被執行。
??? 重用模型。然后,適用于源任務的模型可以被作為目標任務的學習起點。這可能將會涉及到全部或者部分使用第一個模型,這依賴于所用的建模技術。
??? 調整模型。模型可以在目標數據集中的輸入-輸出對上選擇性地進行微調,以讓它適應目標任務。
預訓練模型方法
??? 選擇源模型。一個預訓練的源模型是從可用模型中挑選出來的。很多研究機構都發布了基于超大數據集的模型,這些都可以作為源模型的備選者。
??? 重用模型。選擇的預訓練模型可以作為用于第二個任務的模型的學習起點。這可能涉及到全部或者部分使用與訓練模型,取決于所用的模型訓練技術。
??? 調整模型。模型可以在目標數據集中的輸入-輸出對上選擇性地進行微調,以讓它適應目標任務。
第二種類型的遷移學習在深度學習領域比較常用。
總結
- 上一篇: 当人工智能掌管城市,会带来怎样的巨变?
- 下一篇: CentOS服务器利用.htaccess