预训练(pre-training/trained)与微调(fine-tuning)
什么是預(yù)訓(xùn)練和微調(diào)?
預(yù)訓(xùn)練(pre-training/trained):你需要搭建一個(gè)網(wǎng)絡(luò)來(lái)完成一個(gè)特定的圖像分類的任務(wù)。首先,你需要隨機(jī)初始化參數(shù),然后開(kāi)始訓(xùn)練網(wǎng)絡(luò),不斷調(diào)整直到網(wǎng)絡(luò)的損失越來(lái)越小。在訓(xùn)練的過(guò)程中,一開(kāi)始初始化的參數(shù)會(huì)不斷變化。當(dāng)你覺(jué)得結(jié)果很滿意的時(shí)候,就可以將訓(xùn)練模型的參數(shù)保存下來(lái),以便訓(xùn)練好的模型可以在下次執(zhí)行類似任務(wù)時(shí)獲得較好的結(jié)果。這個(gè)過(guò)程就是pre-training。
之后,你又接收到一個(gè)類似的圖像分類的任務(wù)。這個(gè)時(shí)候,你可以直接使用之前保存下來(lái)的模型的參數(shù)來(lái)作為這一任務(wù)的初始化參數(shù),然后在訓(xùn)練的過(guò)程中,依據(jù)結(jié)果不斷進(jìn)行一些修改。這時(shí)候,你使用的就是一個(gè)pre-trained模型,而過(guò)程就是fine-tuning。
所以,預(yù)訓(xùn)練就是指預(yù)先訓(xùn)練的一個(gè)模型或者指預(yù)先訓(xùn)練模型的過(guò)程;微調(diào) 就是指將預(yù)訓(xùn)練過(guò)的模型作用于自己的數(shù)據(jù)集,并參數(shù)適應(yīng)自己數(shù)據(jù)集的過(guò)程。
微調(diào)的作用
在CNN領(lǐng)域中。很少人自己從頭訓(xùn)練一個(gè)CNN網(wǎng)絡(luò)。主要原因上自己很小的概率會(huì)擁有足夠大的數(shù)據(jù)集,從頭訓(xùn)練,很容易造成過(guò)擬合。
所以,一般的操作都是在一個(gè)大型的數(shù)據(jù)集上訓(xùn)練一個(gè)模型,然后使用該模型作為類似任務(wù)的初始化或者特征提取器。比如VGG,Inception等模型都提供了自己的訓(xùn)練參數(shù),以便人們可以拿來(lái)微調(diào)。這樣既節(jié)省了時(shí)間和計(jì)算資源,又能很快的達(dá)到較好的效果。
參考:https://blog.csdn.net/abc13526222160/article/details/89320108?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
總結(jié)
以上是生活随笔為你收集整理的预训练(pre-training/trained)与微调(fine-tuning)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: HRV基础
- 下一篇: 服务器双网卡同时跨网使用详细解决办法