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

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

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

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

微調(diào)由以下4步構成。

1.在源數(shù)據(jù)集(如ImageNet數(shù)據(jù)集)上預訓練一個神經(jīng)網(wǎng)絡模型,即源模型。

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

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

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

1649309670295_微調(diào)模型.png


當目標數(shù)據(jù)集遠小于源數(shù)據(jù)集時,微調(diào)有助于提升模型的泛化能力。






猜你喜歡:

tf.keras怎樣實現(xiàn)深度學習?

Numpy基礎操作:數(shù)組之間形狀相互轉(zhuǎn)換

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

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

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

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