轉移模型

轉移模型

轉移模型是深度學習中轉移參數的一種應用模型。

層狀結構的深度學習模型


轉移模型
轉移模型
深度學習是一個大型的神經網路,同時也可以被視為一個流程圖,數據從其中的一端輸入,訓練結果從另一端輸出。正因為是層狀的結構,所以你也可以打破神經網路,將其按層次分開,並以任意一個層次的輸出作為其他系統的輸入重新展開訓練。

深度學習中的轉移模型


模型需要的訓練數據量和模型規模之間存在一個有趣的線性正相關關係。其中的一個基本原理是,模型的規模應該足夠大,這樣才能充分捕捉數據間不同部分的聯繫(例如圖像中的紋理和形狀,文本中的語法和語音中的音素)和待解決問題的細節信息(例如分類的數量)。模型前端的層次通常用來捕獲輸入數據的高級聯繫(例如圖像邊緣和主體等)。模型後端的層次通常用來捕獲有助於做出最終決定的信息(通常是用來區分目標輸出的細節信息)。因此,待解決的問題的複雜度越高(如圖像分類等),則參數的個數和所需的訓練數據量也越大。

遷移模型的引入


在大多數情況下,面對某一領域的某一特定問題,你都不可能找到足夠充分的訓練數據,這是業內一個普遍存在的事實。但是,得益於一種技術的幫助,從其他數據源訓練得到的模型,經過一定的修改和完善,就可以在類似的領域得到復用,這一點大大緩解了數據源不足引起的問題,而這一關鍵技術就是遷移學習
Github 上公布的“引用次數最多的深度學習論文”榜單,深度學習領域中有超過 50% 的高質量論文都以某種方式使用了遷移學習技術或者預訓練(Pretraining)。遷移學習已經逐漸成為了資源不足(數據或者運算力的不足)的 AI 項目的首選技術。但現實情況是,仍然存在大量的適用於遷移學習技術的 AI 項目,並不知道遷移學習的存在。如下圖所示,遷移學習的熱度遠不及機器學習和深度學習。