機器學習 深度學習入門 微調和遷移學習的關係

2021-08-25 05:32:56 字數 826 閱讀 9185

在實際中,因為資料量小的緣故,很少有人會去從零開始去訓練出乙個cnn(train from scratch)。相反,普遍的做法都是在乙個大的資料集上(比如imagenet,包含120萬張來自1000的類的資料集)進行預訓練乙個cnn模型,然後在這使用這個模型作為固定特徵提取器或者網路的初始化權重應用在特定的任務中。主要的遷移學習的場景:

øcnn feature + classifier;這個比較好理解,通常做法就是在大的資料集(比如imagenet)上訓練出乙個cnn,然後提取最後一層卷積層或者倒數第二層全連線層的輸出作為cnn 特徵,然後直接使用 svm、貝葉斯或softmax等分類器進行分類;

øfine-tuning:將在大資料集上訓練得到的weights作為特定任務(小資料集)的初始化權重,重新訓練該網路(根據需要,修改全連線層輸出);至於訓練的方式可以是:1.微調所有層2.固定網路前面幾層權重,只微調網路的後面幾層,這樣做有兩個原因:a. 避免因資料量小造成過擬合現象;b.cnn前幾層的特徵中包含更多的一般特徵(比如,邊緣資訊,色彩資訊等),這對許多任務來說是非常有用的,但是cnn後面幾層的特徵學習注重高層特徵,也就是語義特徵,這是針對於資料集而言的,不同的資料集後面幾層學習的語義特徵也是完全不同的;

從上面大致可以看出遷移學習其實就是一種學習得到的知識對另一種知識的學習的影響。遷移學習它可以看作是一種學習體系,關注的核心問題是,如何將之前學習的得到的「知識」運用到其他領域中去。而fine-tune只是遷移學習的一種實現手段。通俗的講就是,有點像武俠**中的「吸星**」將別人修煉好的功力直接吸收過來,然後自己稍微打坐,疏通一下經脈,把吸收過來的工作化為己用。

遷移學習 微調

場景 假設我們想從影象中識別不同種類的椅子,然後將購買鏈結推薦給使用者,一種可能的方法是 1 先找出100中常見的椅子,然後對椅子從各個角度進行拍照 2 通過該資料集訓練乙個深度學習模型 然而這個資料集的規模會遠遠小於imagenet樣本數,這種情況下會導致適用於imagenet的模型在現有的資料集...

遷移學習和微調

什麼是遷移學習?即一種學習對另一種學習的影響,它廣泛地存在於知識 技能 態度和行為規範的學習中。任何一種學習都要受到學習者已有知識經驗 技能 態度等的影響,只要有學習,就有遷移。遷移是學習的繼續和鞏固,又是提高和深化學習的條件,學習與遷移不可分割。換句話說,對於乙個具體的深度學習訓練任務,如 人臉識...

遷移學習與微調的關係

遷移學習與微調的關係 來看一下cs231n對於遷移學習的解釋吧。在實際中,因為資料量小的緣故,很少有人會去從零開始去訓練出乙個cnn train from scratch 相反,普遍的做法都是在乙個大的資料集上 比如imagenet,包含120萬張來自1000的類的資料集 進行預訓練乙個cnn模型,...