當(dāng)前位置:
首頁 >
一、迁移学习与fine-tuning有什么区别?
發(fā)布時間:2023/11/27
66
豆豆
生活随笔
收集整理的這篇文章主要介紹了
一、迁移学习与fine-tuning有什么区别?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、遷移學(xué)習(xí)
舉個例子,假設(shè)boss讓你做一下目標(biāo)檢測,這個數(shù)據(jù)集是關(guān)于光纖箱噴碼字符檢測的。問題是,數(shù)據(jù)集很少(只有1000張數(shù)據(jù)),里面有多干擾的信息,你發(fā)現(xiàn)從零訓(xùn)練開始訓(xùn)練yolo的效果很差,很容易過擬合。怎么辦呢,于是你想到了使用Transfer Learning,用別人已經(jīng)訓(xùn)練好的Imagenet的模型來做。
二、遷移學(xué)習(xí)有哪些手法
- 把Alexnet里卷積層最后一層輸出的特征拿出來,然后直接用SVM分類。這是Transfer Learning,因為你用到了Alexnet中已經(jīng)學(xué)到了的“知識”。
- Vggnet卷積層最后的輸出拿出來,用貝葉斯分類器分類。思想基本同上。
- 至你可以把Alexnet、Vggnet的輸出拿出來進行組合,自己設(shè)計一個分類器分類。這個過程中你不僅用了Alexnet的“知識”,也用了Vggnet的“知識”。
- 最后,你也可以直接使用fine-tune這種方法,在Alexnet的基礎(chǔ)上,重新加上全連接層,再去訓(xùn)練網(wǎng)絡(luò)。
三、fine-tune使用策略
決定如何使用遷移學(xué)習(xí)的因素有很多,這是最重要的只有兩個:新數(shù)據(jù)集的大小、以及新數(shù)據(jù)和原數(shù)據(jù)集的相似程度。有一點一定記住:網(wǎng)絡(luò)前幾層學(xué)到的是通用特征,后面幾層學(xué)到的是與類別相關(guān)的特征。這里有使用的四個場景:
- 新數(shù)據(jù)集比較小且和原數(shù)據(jù)集相似。因為新數(shù)據(jù)集比較小,如果fine-tune可能會過擬合;又因為新舊數(shù)據(jù)集類似,我們期望他們高層特征類似,可以使用預(yù)訓(xùn)練網(wǎng)絡(luò)當(dāng)做特征提取器,用提取的特征訓(xùn)練線性分類器。
- 新數(shù)據(jù)集大且和原數(shù)據(jù)集相似。因為新數(shù)據(jù)集足夠大,可以fine-tune整個網(wǎng)絡(luò)。
- **新數(shù)據(jù)集小且和原數(shù)據(jù)集不相似。**新數(shù)據(jù)集小,最好不要fine-tune,和原數(shù)據(jù)集不類似,最好也不使用高層特征。這時可是使用前面層的特征來訓(xùn)練SVM分類器。
- **新數(shù)據(jù)集大且和原數(shù)據(jù)集不相似。**因為新數(shù)據(jù)集足夠大,可以重新訓(xùn)練。但是實踐中fine-tune預(yù)訓(xùn)練模型還是有益的。新數(shù)據(jù)集足夠大,可以fine-tine整個網(wǎng)絡(luò)。
四、總結(jié)
綜上,Transfer Learning關(guān)心的問題是:什么是“知識”以及如何更好地運用之前得到的“知識”。這可以有很多方法和手段。而fine-tune只是其中的一種手段。
總結(jié)
以上是生活随笔為你收集整理的一、迁移学习与fine-tuning有什么区别?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一、Focal Loss理论及代码实现
- 下一篇: 一、多个txt文件合并成1个txt文件