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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tictoc正方形网络模型_Trick | 分类网络Trick大汇总

發(fā)布時間:2025/4/16 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tictoc正方形网络模型_Trick | 分类网络Trick大汇总 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文介紹了訓(xùn)練分類網(wǎng)絡(luò)的各個階段可以用來提升性能的Trick,也就是俗稱的調(diào)參術(shù)。結(jié)果頂級調(diào)參術(shù)的調(diào)教,ResNet- 50的top-1驗證精度在ImageNet上從75.3%提高到79.29%。這個結(jié)果比直接設(shè)計全新的網(wǎng)絡(luò)效果都要好。

1.baseline

現(xiàn)有的深度學(xué)習(xí)分類網(wǎng)絡(luò),其主要整體框架如下圖所示:首先對數(shù)據(jù)進(jìn)行預(yù)處理,并利用小批量隨機(jī)梯度下降的訓(xùn)練模板,在每次迭代中,通過隨機(jī)抽取batch大小的預(yù)處理后圖像計算梯度并更新網(wǎng)絡(luò)參數(shù),并經(jīng)過K個epoch之后停止迭代。

1.預(yù)處理階段

訓(xùn)練階段: - 對于每幅圖像,將其解碼成32位浮點原始像素值[0,255]。 - 對圖像進(jìn)行隨機(jī)裁剪,裁剪后的長寬比范圍為[3/ 4,4 /3]和面積大小范圍為[8%,100%]的矩形區(qū)域,然后將裁剪后的區(qū)域調(diào)整為224 * 224的正方形圖像,分類網(wǎng)絡(luò)多用正方形輸入是為了使得網(wǎng)絡(luò)能夠?qū)δ繕?biāo)比例具有更強(qiáng)的泛化能力。 - 利用0.5的概率進(jìn)行隨機(jī)翻轉(zhuǎn)。 - 在色調(diào),飽和度和亮度三個方面進(jìn)行均勻增強(qiáng),比例可以從[0.6,1.4]均勻獲取。 - 為輸入圖像加入正太分布的白噪聲,用于提升分類網(wǎng)絡(luò)的魯棒性。 - 將RGB通道歸一化,分別減去123.68、116.779、103.939,再除以58.393、57.12、57.375。

測試驗證階段: 將每個圖像的短邊調(diào)整為256像素,同時保持其高寬比。接下來,在中心裁剪出224×224的區(qū)域,并對類似于訓(xùn)練的RGB通道進(jìn)行歸一化處理。且不執(zhí)行任何隨機(jī)擴(kuò)展。

權(quán)值初始化:

卷積層和全連接層:Xavier算法進(jìn)行初始化,所有的偏置初始化為0。對于BN層,伽馬參數(shù)都初始化為1,β參數(shù)初始化為0。

3.訓(xùn)練階段

利用大batch進(jìn)行模型的訓(xùn)練,會增加模型的并行性且降低通信成本,在訓(xùn)練過程中,煉丹師的直觀感受更多的是大batch訓(xùn)練的網(wǎng)絡(luò)會更加的穩(wěn)定,主要原因是batch越大整個隨機(jī)梯度的方差就越小,噪聲越小,因為batch越大越能表征樣本空間。因此若是你使用大batch就可以按比例的增加學(xué)習(xí)率。然而有很多論文證明直接增大batch會導(dǎo)致訓(xùn)練的收斂變慢,并且最終網(wǎng)絡(luò)的性能也會下降,table4中的第一行實驗結(jié)果也驗證了這一點。為了提升大batch的訓(xùn)練性能,提出了以下三個訓(xùn)練trick。

LR warmup

若你的訓(xùn)練并沒有預(yù)訓(xùn)練權(quán)重,而是使用隨機(jī)初始化權(quán)重的方式,那么在訓(xùn)練的開始階段,由于初始化權(quán)重的隨機(jī)性若直接使用過大的學(xué)習(xí)率可能導(dǎo)致訓(xùn)練前期的震蕩,因此我們可以使用warmup的方式,直白來說就是剛開始不要太劇烈,讓學(xué)習(xí)率在初始的N個epoch中通過預(yù)熱的方式緩慢上升到預(yù)先設(shè)定的初始值。

Zero γ BN層的可學(xué)習(xí)參數(shù)初始化。BN層的兩個科學(xué)系參數(shù)γ和β。最終經(jīng)過BN層的輸出會在歸一化之后通過γ*x+β的方式重新學(xué)習(xí)到原始分布。而在初始化這兩個參數(shù)時,通常將γ初始化為1,β初始化為0。而如下圖所示是Resnet中常見的一個跳躍連接的子模塊,該子模塊的輸出分別為block(x)+x,分別來自于輸入的跳躍和block的輸出。而通常情況下每個block的最后一層都是BN層,用于歸一化。在這個過程中,我們將該BN層的γ參數(shù)也初始化為0,此時整個跳躍鏈接在初始階段就變成了恒等連接,這將使得網(wǎng)絡(luò)的初始深度變淺,收斂更快更穩(wěn)定。

No bias decay 不要對bias參數(shù)利用衰減系數(shù)。通常在訓(xùn)練網(wǎng)絡(luò)時會對每個可學(xué)習(xí)參數(shù)設(shè)置一個權(quán)重衰減系數(shù),用于抑制過擬合。然而我們只對卷積權(quán)重和全連接層的參數(shù)進(jìn)行衰減,對bias和BN層中的可學(xué)習(xí)參數(shù)不進(jìn)行衰減。

所有啟發(fā)式的消融研究如表4所示。僅通過線性擴(kuò)展學(xué)習(xí)率將批量大小從256個增加到1024個,導(dǎo)致前1名的準(zhǔn)確率下降0.9%,而將上述3個Trick算法疊加在一起則彌補(bǔ)了這一差距。

4.網(wǎng)絡(luò)結(jié)構(gòu)

模型調(diào)整是對網(wǎng)絡(luò)架構(gòu)的一個小調(diào)整,比如改變特定卷積層的步長。這樣的調(diào)整通常幾乎不會改變計算復(fù)雜度,但可能會對模型精度產(chǎn)生不可忽視的影響。在本節(jié)中,我們將以ResNet為例研究模型調(diào)整的影響。

ResNet基礎(chǔ)結(jié)構(gòu): ResNet網(wǎng)絡(luò)由一個輸入主干、四個stage階段和一個最終輸出層組成,如圖所示。在輸入主干中,通過一個stride為2的卷積和stride為2的pooling將輸入圖降采樣四倍,并將通道增加到64個。從stage2開始每個stage都包含有stride為2的降采樣模塊,每個stage是由一個降采樣模塊和N個殘差塊構(gòu)成。降采樣模塊如圖所示,由兩條并行的通道構(gòu)成,實現(xiàn)了跳躍鏈接。殘差塊和降采樣模型的結(jié)構(gòu)一樣,只是沒有stride為2的卷積。不同的resnet網(wǎng)絡(luò)結(jié)構(gòu)上是相似的,就是每個stage中的殘差塊的個數(shù)不同。

然而殘差塊和降采樣塊在構(gòu)建的時候存在一些小問題,本文提出了三種改進(jìn)策略,有效提升了resnet網(wǎng)絡(luò)的性能。分別稱為resnet-B,resnet-C,resnet-D。

ResNet-B 它改變了ResNet的降采樣塊。觀察發(fā)現(xiàn),在降采樣模塊中,pathA中的卷積忽略了輸入特征圖的四分之三,因為它使用的核尺寸為1*1,步長為2。ResNet-B在pathA中切換前兩個卷積的步長大小,如下圖所示,因此沒有信息被忽略。由于第二次卷積的核大小為3*3,所以pathA的輸出形狀保持不變。

ResNet-C 結(jié)果表明,卷積的計算成本是核的寬,高的乘積。一個7*7卷積比一個3*3卷積貴5.4倍。因此,這個微調(diào)將輸入主干中的7*7卷積替換為3個3*3卷積,如下圖所示,第一個和第二個卷積的輸出通道為32,步長為2,而最后一個卷積的輸出通道為64。

ResNet-D 受ResNet-B的啟發(fā),我們注意到降采樣塊pathB中的1*1個卷積也忽略了輸入特征圖的3/4,我們想對它進(jìn)行修改,這樣就不會忽略任何信息。根據(jù)經(jīng)驗,我們發(fā)現(xiàn)在卷積之前添加一個步長為2的平均池化層,使其步長變?yōu)?,在實踐中效果良好,對計算成本的影響很小。這個調(diào)整在如下圖所示。

下表展示了上述提到的ResNet-BCD結(jié)構(gòu)堆疊在一起后的性能,我們發(fā)現(xiàn)一些小的結(jié)構(gòu)調(diào)整,能夠有1個點左右的提升。

5.訓(xùn)練階段

余弦學(xué)習(xí)速率衰減 如下圖所示,展示了利用余弦學(xué)習(xí)速率和階躍衰減速率在驗證集上的性能比對。余弦衰減在開始時緩慢降低學(xué)習(xí)速度,然后在中間幾乎呈線性下降,到最后再次下降。與階躍衰減相比,余弦衰減從一開始就對學(xué)習(xí)進(jìn)行衰減,但在階躍衰減使學(xué)習(xí)速率降低10倍之前,余弦衰減仍然很大,這可能會提高訓(xùn)練的精度。

標(biāo)簽平滑(label smooth) 這是一種抑制網(wǎng)絡(luò)過擬合現(xiàn)象的策略,如下圖所示,它主要通過軟化標(biāo)簽,加入噪聲的方式,實現(xiàn)過擬合抑制。具體我之前寫過一篇文章,感興趣的同學(xué)可以點下面的鏈接跳轉(zhuǎn)。

混合訓(xùn)練(Mixup Training) 這其實是一種數(shù)據(jù)增強(qiáng)方法,稱為mixup。在mixup中,每次我們隨機(jī)抽取兩個例子(xi, yi)和(xj, yj)。然后通過這兩個實例樣本的加權(quán)線性插值得到一個新的實例樣本,實現(xiàn)數(shù)據(jù)增強(qiáng)。

知識蒸餾(KD) 在知識蒸餾中,我們使用教師模型來幫助訓(xùn)練當(dāng)前的模型,即學(xué)生模型。教師模型通常是預(yù)訓(xùn)練的模型,具有較高的準(zhǔn)確性,因此通過模仿,學(xué)生模型可以在保持模型復(fù)雜性不變的情況下提高自身的準(zhǔn)確性。最近這段時間正好看了幾篇知識蒸餾的文章,感興趣的同學(xué)可以點擊鏈接閱讀。

如下表所示,上述提到的各種策略在之前修改了框架和batch策略的基礎(chǔ)上,又都有提升。且這些策略都是不增加模型耗時的高效trick。

總結(jié)

以上是生活随笔為你收集整理的tictoc正方形网络模型_Trick | 分类网络Trick大汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。