日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

模型微调

發布時間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 模型微调 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是預訓練模型

  • 預訓練模型就是已經用數據集訓練好了的模型
  • 現在我們常用的預訓練模型,比如:VGG16/19,Resnet等模型,并且已經用大型數據集來做訓練,如:Imagenet,得到訓練好的模型參數

什么情況下使用微調

  • 手頭的數據集類型和預訓練模型的數據集內容相似,因為不同數據集模型提取的特征不同,所以相應的參數訓練后也是不同的
  • 數據集內容相似,但是數據量太少
  • 計算資源不夠
  • 自己創建的模型正確率較低

為什么要微調

  • 用大型數據集訓練后的模型,具備提取淺層基礎特征和深層抽象特征的能力

  • 淺層卷積層提取基礎特征,比如:邊緣,輪廓等基礎特征
  • 深層卷積層提取抽象特征,比如:整個臉型
  • 全連接層根據特征組合進行評分分類

不做微調:

  • 從頭開始訓練模型,需要大量的數據,計算時間和計算資源
  • 存在模型不收斂,參數不夠優化,準確率低,模型泛化能力低,容易過擬合等風險

做微調,可以一定程度上緩解上述存在的問題。

模型微調注意事項

  • 通常是截斷預訓練好網絡的最后一層(softmax層),用我們自己的softmax層進行替換。如:Imagenet上預訓練好的網絡輸出是1000個類別,我們的實際項目輸出類別是10項,則可以進行上述替換。然后,我們在網絡上運行預先訓練的權重,確保執行交叉驗證。
  • 使用較小學習率來訓練網絡。由于我們預計預先訓練網絡的權重相對于隨機初始化的權重已經相當不錯,我們不想過快的扭曲它們,通常做法是使初始學習率比從頭開始訓練的初始學習率小10倍
  • 如果手頭數據集數量過少,我們可以只訓練最后一層,如果數據集數量中等,我們可以凍結預訓練網絡的前幾層權重。因為網絡的前幾層提取的是基礎特征,如:邊緣,輪廓。我們希望保持這些權重不變,讓我們的網絡更專注于學習后續深層中特定于數據集的特征

不同數據集下使用微調

  • 數據集少,但內容相似度高。這種情況下,我們修改最后幾層或者softmax層的輸出類別
  • 數據集少,內容相似度低。這種情況下,我們凍結預訓練網絡的初始層(比如K層),然后訓練剩余的N-K層。因為數據集內容相似度低,因此我們需要對較高層進行重新訓練
  • 數據集大,但內容相似度低。這種情況下,需要根據自己的數據從頭開始訓練神經網絡
  • 數據量大,內容相似度高。這種情況下,十分理想了,預訓練模型也是最有效的。使用模型的最好方法是保留模型的結構和初始權重,然后,我們可以使用預先訓練的模型中的權重來重新訓練該模型。

總結

以上是生活随笔為你收集整理的模型微调的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。