場景:
假設我們想從影象中識別不同種類的椅子,然後將購買鏈結推薦給使用者,一種可能的方法是:
(1) 先找出100中常見的椅子,然後對椅子從各個角度進行拍照;
(2) 通過該資料集訓練乙個深度學習模型;
然而這個資料集的規模會遠遠小於imagenet樣本數,這種情況下會導致適用於imagenet的模型在現有的資料集上出現過擬合現象,同時由於訓練資料集有限,最終得到的模型的精度也不會達到實用的要求,為了解決上述問題,有以下方法:
(1) 擴充資料集,成本太貴
(2) 遷移學習:從源資料集上學到的知識遷移到目標資料集上,因為在源資料集上保留著通用的影象特徵。
遷移學習常見的技術:微調
1> 在源資料集(imagenet)上訓練神經網路模型,即源模型。
2> 建立乙個新的神經網路模型,即目標模型,它複製了源模型除了輸出模型其他所有模型的設計及引數。
3> 為目標新增乙個與輸出大小為目標資料集類別個數的輸出層,並隨機初始化該層模型引數。
4> 在目標資料集上訓練目標模型。從頭訓練輸出層,其餘層引數進行微調。
遷移學習和微調
什麼是遷移學習?即一種學習對另一種學習的影響,它廣泛地存在於知識 技能 態度和行為規範的學習中。任何一種學習都要受到學習者已有知識經驗 技能 態度等的影響,只要有學習,就有遷移。遷移是學習的繼續和鞏固,又是提高和深化學習的條件,學習與遷移不可分割。換句話說,對於乙個具體的深度學習訓練任務,如 人臉識...
遷移學習與微調的關係
遷移學習與微調的關係 來看一下cs231n對於遷移學習的解釋吧。在實際中,因為資料量小的緣故,很少有人會去從零開始去訓練出乙個cnn train from scratch 相反,普遍的做法都是在乙個大的資料集上 比如imagenet,包含120萬張來自1000的類的資料集 進行預訓練乙個cnn模型,...
遷移學習中的模型微調(fine tune)問題
模型訓練過程中,很少有人會在資料量不夠充足的時候從頭開始訓練整個卷積網路。通常情況下,一般會使用乙個大的資料集對卷積網路進行預訓練 例如使用資料集imagenet,它包含120萬張,共1000個類別 然後將訓練的模型作為預訓練模型初始化卷積網路,或者將提取特徵的卷積層引數固定,然後再進行訓練。1 固...