遷移學習
機器學習方法
遷移學習是一種機器學習方法,就是把為任務 A 開發的模型作為初始點,重新使用在為任務 B 開發模型的過程中。
遷移學習是把已訓練好的模型(預訓練模型)參數遷移到新的模型來幫助新模型訓練。考慮到大部分數據或任務都是存在相關性的,所以通過遷移學習我們可以將已經學到的模型參數(也可理解為模型學到的知識)通過某種方式來分享給新模型從而加快並優化模型的學習效率不用像大多數網路那樣從零學習。
深度學習中在計算機視覺任務和自然語言處理任務中將預訓練的模型作為新模型的起點是一種常用的方法,通常這些預訓練的模型在開發神經網路的時候已經消耗了巨大的時間資源和計算資源,遷移學習可以將已習得的強大技能遷移到相關的的問題上。
遷移學習是一種機器學習的方法,指的是一個預訓練的模型被重新用在另一個任務中。
遷移學習與多任務學習以及概念飄移這些問題相關,它不是一個專門的機器學習領域。
然而,遷移學習在某些深度學習問題中是非常受歡迎的,例如在具有大量訓練深度模型所需的資源或者具有大量的用來預訓練模型的數據集的情況。僅在第一個任務中的深度模型特徵是泛化特徵的時候,遷移學習才會起作用。
深度學習中的這種遷移被稱作歸納遷移。就是通過使用一個適用於不同但是相關的任務的模型,以一種有利的方式縮小可能模型的搜索範圍。
以下是兩個常用的方法:
開發模型的方法
訓練模型的方法
選擇源任務。你必須選擇一個具有豐富數據的相關的預測建模問題,原任務和目標任務的輸入數據、輸出數據以及從輸入數據和輸出數據之間的映射中學到的概念之間有某種關係,
開發源模型。然後,你必須為第一個任務開發一個精巧的模型。這個模型一定要比普通的模型更好,以保證一些特徵學習可以被執行。
重用模型。然後,適用於源任務的模型可以被作為目標任務的學習起點。這可能將會涉及到全部或者部分使用第一個模型,這依賴於所用的建模技術。
調整模型。模型可以在目標數據集中的輸入-輸出對上選擇性地進行微調,以讓它適應目標任務。
2.重用模型。選擇的預訓練模型可以作為用於第二個任務的模型的學習起點。這可能涉及到全部或者部分使用與訓練模型,取決於所用的模型訓練技術。
3.調整模型。模型可以在目標數據集中的輸入-輸出對上選擇性地進行微調,以讓它適應目標任務。
第二種類型的遷移學習在深度學習領域比較常用。