首頁人工智能技術資訊正文

微調模型完成圖像的分類任務【黑馬人工智能開發(fā)】

更新時間:2022-04-07 來源:黑馬程序員 瀏覽量:

如何在只有6萬張圖像的MNIST訓練數據集上訓練模型?學術界當下使用最廣泛的大規(guī)模圖像數據集ImageNet,它有超過1,000萬的圖像和1,000類的物體。然而,我們平常接觸到數據集的規(guī)模通常在這兩者之間。假設我們想從圖像中識別出不同種類的椅子,然后將購買鏈接推薦給用戶。一種可能的方法是先找出100種常見的椅子,為每種椅子拍攝1,000張不同角度的圖像,然后在收集到的圖像數據集上訓練一個分類模型。另外一種解決辦法是應用遷移學習(transfer learning),將從源數據集學到的知識遷移到目標數據集上。例如,雖然ImageNet數據集的圖像大多跟椅子無關,但在該數據集上訓練的模型可以抽取較通用的圖像特征,從而能夠幫助識別邊緣、紋理、形狀和物體組成等。這些類似的特征對于識別椅子也可能同樣有效。

微調由以下4步構成。

1.在源數據集(如ImageNet數據集)上預訓練一個神經網絡模型,即源模型。

2.創(chuàng)建一個新的神經網絡模型,即目標模型。它復制了源模型上除了輸出層外的所有模型設計及其參數。我們假設這些模型參數包含了源數據集上學習到的知識,且這些知識同樣適用于目標數據集。我們還假設源模型的輸出層跟源數據集的標簽緊密相關,因此在目標模型中不予采用。

3.為目標模型添加一個輸出大小為目標數據集類別個數的輸出層,并隨機初始化該層的模型參數。

4.在目標數據集(如椅子數據集)上訓練目標模型。我們將從頭訓練輸出層,而其余層的參數都是基于源模型的參數微調得到的。

1649309670295_微調模型.png


當目標數據集遠小于源數據集時,微調有助于提升模型的泛化能力。






猜你喜歡:

tf.keras怎樣實現深度學習?

Numpy基礎操作:數組之間形狀相互轉換

SIFT算法原理:SIFT算法詳細介紹

為什么CNN對像素級別的分類很難?

黑馬程序員Ai人工智能開發(fā)培訓

分享到:
在線咨詢 我要報名
和我們在線交談!