Transfer Learning:機器學習分支,研究源域(source domain)的知識如何應用到目標域(targetdomain)
傳統的機器學習:
對不同的任務分別訓練學習得到不同的learning system,即模型,如上圖有三個不同任務,就得到三個不同的模型
遷移學習:
先對源任務進行學習,得到知識,然後在目標任務中,會使用再源任務上學習得到的知識來學習訓練模型,也就是說該模型不僅用到了target tasks,也用到了source tasks
Model Finetune:模型的遷移學習
模型微調:
模型微調就是一個遷移學習的過程,模型中訓練學習得到的權值,就是遷移學習中所謂的知識,而這些知識是可以進行遷移的,把這些知識遷移到新任務中,這就完成了遷移學習
微調的原因:
在新任務中,數據量太小,不足以去訓練一個較大的模型,從而選擇Model Finetune去輔助訓練一個較好的模型,使得訓練更快
卷積神經網絡的遷移:
將卷積神經網絡分成兩部分:features extractor + classifier
Model Finetune:
先進行模型微調,加載模型參數,並根據任務要求修改模型,此過程稱預訓練,然後進行正式訓練,此時要注意預訓練的參數的保持,具體步驟和方法如下
模型微調步驟:
模型微調訓練方法:
數據: https://download.pytorch.org/tutorial/hymenoptera_data.zip
模型: https://download.pytorch.org/models/resnet18-5c106cde.pth