TensorFlow、PyTorch提供許多預先訓練好的模型(Pre-trained Model),他們大多是近幾年影像辨識競賽中的冠、亞軍模型,我們可以直接套用,也可以接上自訂的神經層,進行其他物件的辨識,這就是所謂的轉移學習(Transfer Learning)或譯為遷移學習。

 

Keras收錄許多預先訓練的模型,稱為Keras Applications,可參閱官網(https://keras.io/api/applications/),這些預先訓練的模型主要應用在圖像辨識,各模型結構的複雜度和準確率有所差異,下圖是各模型的比較。

應用這些預先訓練的模型,有三種方式:

  1. 採用完整的模型,可辨識ImageNet所提供1000種物件。
  2. 採用部分的模型,只萃取特徵,不作辨識,例如比對圖像的相似性,並不需要辨識圖像的內容,或者根據萃取的特徵重建圖像,可過濾雜訊或生成圖像,譬如風格轉換、GAN等。
  3. 採用部分的模型,並接上自訂的輸入層和辨識層(Dense),即可辨識這1000種以外的物件。

 

相關應用可參閱『深度學習最佳入門邁向AI專題實戰』一書說明。