深度學(xué)習(xí)中的finetuning是什么?如何理解?
微調(diào)是指對(duì)模型進(jìn)行更精細(xì)的調(diào)整,這是深度學(xué)習(xí)中常見的訓(xùn)練技巧。微調(diào)通常與遷移學(xué)習(xí)相結(jié)合。因?yàn)閷?duì)于普通人來說,我們可以得不到大量的數(shù)據(jù),也沒有足夠好的計(jì)算資源供我們使用。。所以我們只能在Imagenet這樣的大數(shù)據(jù)集上使用別人訓(xùn)練過的模型,然后把它們適配到我們需要的特定領(lǐng)域,比如識(shí)別動(dòng)物,衣服等等。這里,需要移植其他人的方法美國(guó)模式變成自己的問題是微調(diào)。
它是基于這樣的思想,通過訓(xùn)練大量的數(shù)據(jù),神經(jīng)網(wǎng)絡(luò)可以提取數(shù)據(jù)的淺層特征,比如圖片的邊緣和紋理。根據(jù)神經(jīng)網(wǎng)絡(luò)的分層學(xué)習(xí)過程,通過前幾層網(wǎng)絡(luò)提取這些淺層特征,以便為后面的高級(jí)特征提取服務(wù)。最后根據(jù)任務(wù)的需要確定最后幾層的輸出結(jié)果。因此,這為模型遷移的微調(diào)帶來了契機(jī)。我們只需要利用預(yù)訓(xùn)練模型前幾層提取的淺層特征,根據(jù)自己任務(wù)的要求,適當(dāng)調(diào)整網(wǎng)絡(luò)最后幾層的結(jié)點(diǎn)。結(jié)構(gòu),可以得到相對(duì)較好的訓(xùn)練效果。(下圖是任務(wù)A的前期訓(xùn)練遷移到任務(wù)B,任務(wù)B是微調(diào)。)
所以微調(diào)的好處是顯而易見的。首先,你不t不需要自己設(shè)計(jì)模型結(jié)構(gòu),可以使用預(yù)先訓(xùn)練好的模型,稍作調(diào)整。其次,不需要重新訓(xùn)練模型,這將大大縮短訓(xùn)練周期,因?yàn)樵谥匦掠?xùn)練模型時(shí),模型的精度往往是從一個(gè)很低的值慢慢上升,通過遷移的思想進(jìn)行微調(diào),只需要較少的訓(xùn)練迭代,就可以得到較好的結(jié)果,從而加快訓(xùn)練效率。
Finetuning的意思和他的字面意思一樣:微調(diào)。深度學(xué)習(xí)訓(xùn)練模型一般有兩種。一種是用各種初始化方法初始化網(wǎng)絡(luò)參數(shù),然后從零開始訓(xùn)練,稱為從零開始訓(xùn)練。一個(gè)是在某種對(duì)數(shù)據(jù)集訓(xùn)練的模型進(jìn)行初始化,用較小的學(xué)習(xí)率在自己的數(shù)據(jù)集上進(jìn)行訓(xùn)練,稱為微調(diào)。現(xiàn)在,視覺任務(wù)一般使用在imagenet或coco上訓(xùn)練的模型作為預(yù)訓(xùn)練的身體網(wǎng)絡(luò)。然后,該模型對(duì)自己的數(shù)據(jù)集進(jìn)行微調(diào)。