如何對自定義模型進行預訓練?
可以使用 Keras Sequential API 構建順序模型,該 API 用於處理簡單的層堆疊。這裡每一層都只有一個輸入張量和一個輸出張量。
預訓練模型可以作為特定資料集上的基礎模型使用。這樣可以節省在特定資料集上重新訓練模型的時間和資源。
預訓練模型是一個已儲存的網路,它之前已經在大型資料集上進行了訓練。這個大型資料集將是一個大規模的影像分類任務。預訓練模型可以按原樣使用,也可以根據需求和模型與遷移學習一起進行定製。
自定義模型可以透過兩種方式進行預訓練
特徵提取
先前網路學習到的表示可以用來從新樣本中提取有意義的特徵。可以新增一個從頭開始訓練的新分類器,它將位於預訓練模型的頂部。這可以用來重新利用之前為資料集學習的特徵圖。
無需重新訓練整個模型。基本卷積網路將已經擁有對分類圖片普遍有用的特徵。
但是,預訓練模型的最終分類部分針對原始分類任務是特定的。這意味著它特定於模型訓練所依據的類別集。
微調
解凍凍結的基礎模型的一些頂層,並一起訓練新新增的分類器層以及基礎模型的最後一層。這將允許使用者“微調”基礎模型中更高階的特徵表示。這有助於使模型更貼近特定任務。
廣告