超級干貨 | 用萬字文章總結(jié)25種正則化方法

極市導(dǎo)讀
?訓(xùn)練中的一個關(guān)鍵因素是網(wǎng)絡(luò)的正則化,它可以防止模型在訓(xùn)練的過程中出現(xiàn)過擬合的現(xiàn)象。本文分析了過去幾年發(fā)展起來的幾種正則化方法,顯示了不同CNN模型的顯著改進(jìn)。?>>加入極市CV技術(shù)交流群,走在計算機(jī)視覺的最前沿

一些圖像處理任務(wù),如圖像分類和目標(biāo)檢測,已經(jīng)通過使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)性能得到了顯著的改進(jìn)。像ResNet和EfficientNet一樣,許多架構(gòu)在創(chuàng)建時已經(jīng)在至少一個數(shù)據(jù)集上取得了出色的結(jié)果。訓(xùn)練中的一個關(guān)鍵因素是網(wǎng)絡(luò)的正則化,它可以防止模型在訓(xùn)練的過程中出現(xiàn)過擬合的現(xiàn)象。這項(xiàng)工作分析了過去幾年發(fā)展起來的幾種正則化方法,顯示了不同CNN模型的顯著改進(jìn)。這些工作分為3個主要領(lǐng)域:
第一:是“數(shù)據(jù)正則化”,其中所有的方法都專注于對于輸入數(shù)據(jù)的更改 第二:是“結(jié)構(gòu)正則化”,主要是修改神經(jīng)網(wǎng)絡(luò)或核函數(shù)生成特征映射的過程 最后:是“標(biāo)簽正則化”,主要是對給定輸入的標(biāo)簽進(jìn)行轉(zhuǎn)換和修正
1 簡介
1.1 背景說明
卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)在一些與計算機(jī)視覺相關(guān)的任務(wù)上取得了相當(dāng)不錯的結(jié)果,如圖像分類和目標(biāo)檢測。這種成功可以用卷積神經(jīng)元的工作原理來解釋:它根據(jù)圖像的空間屬性來突出給定的特征。淺層網(wǎng)絡(luò)注意是歸納一些形狀或者紋理特征;然而,更深層次的網(wǎng)絡(luò)可以檢測出更復(fù)雜更抽象的特征,比如整個物體或人臉。如今,從生物識別到疾病檢測,很難找到其他沒有CNN的計算機(jī)視覺技術(shù)。
關(guān)于CNN的一個關(guān)鍵問題是如何對卷積核進(jìn)行堆疊?以在給定的任務(wù)上實(shí)現(xiàn)最佳的結(jié)果。在幾個不同的任務(wù)上使用相同的基本架構(gòu)是很普遍的,只需要改變輸出。例如,EfficientNet是一種用于圖像分類的神經(jīng)網(wǎng)絡(luò),它也被用于EfficientDet體系結(jié)構(gòu)來處理目標(biāo)檢測任務(wù)。
該體系結(jié)構(gòu)可能是計算機(jī)視覺模型的核心部分;然而,在開始訓(xùn)練之前還有其他相關(guān)的要點(diǎn)。例如,優(yōu)化技術(shù)可能會影響最終的性能。即使是kernel的初始化方法都有可能會影響模型最終的性能。
本研究集中討論在這些可能影響最終性能因素的一個方面:正則化。
根據(jù)所使用的正則化策略,一些架構(gòu)可以在最終結(jié)果上獲得相關(guān)的增益。使用良好的正則化方法的一個重要方面是,它不會影響最終模型的性能。這意味著,獨(dú)立于使用或不使用一個正則化方法,模型的推理計算成本是相同的。然而,在某些情況下,它可以影響訓(xùn)練階段的性能,使用少量的計算開銷或訓(xùn)練周期。無論如何,產(chǎn)出的結(jié)果通常是可以補(bǔ)償這一成本的。
1.2 為什么正則化方法有效?
CNN通常用于計算機(jī)視覺任務(wù),如圖像分類和目標(biāo)檢測,以創(chuàng)建像人類視覺一樣強(qiáng)大的視覺模型。如果考慮到可用的信息數(shù)量,很明顯,訓(xùn)練任務(wù)需要更多數(shù)據(jù)可變性。考慮到一個健康的大腦和眼睛正常的人,不考慮睡覺的時間,平均每天保留大約16個小時的新信息。
即使考慮到像ImageNet這樣的巨大數(shù)據(jù)集,與人類大腦通過眼睛接收到的數(shù)據(jù)數(shù)量相比,可用的圖像數(shù)量也是最小的。這種新數(shù)據(jù)的不可用性可能會導(dǎo)致一種稱為過擬合的情況,即模型學(xué)習(xí)如何很好地表示訓(xùn)練數(shù)據(jù),但它不能有效地處理新信息,即測試數(shù)據(jù)。這種情況通常發(fā)生在模型在可用的訓(xùn)練信息中進(jìn)行了詳盡的訓(xùn)練時,而它不能很好地擴(kuò)展到其他新信息中。
作為一個人工神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)的訓(xùn)練步驟可以描述為一個優(yōu)化問題,目標(biāo)是訓(xùn)練得到一個合適的權(quán)值;假定給一個輸入和損失函數(shù),可以轉(zhuǎn)換期望的信息輸出最低可能的誤差。實(shí)現(xiàn)這一目標(biāo)的一種方法是最小化以下功能:

其中|. 為Frobenius norm, 為輸入數(shù)據(jù), 和 分別表示權(quán)重 矩陣和目標(biāo)標(biāo)簽。Frobenius norm增加了 和 之間的相似性。
這種解釋有一個主要優(yōu)點(diǎn):這個公式可以通過矩陣分解進(jìn)行優(yōu)化,產(chǎn)生X的結(jié)構(gòu)化分解。然而,只有當(dāng)W或 固定在優(yōu)化兩個矩陣時,將原始方程轉(zhuǎn)換為非凸公式時,才能實(shí)現(xiàn)全局最小值。如果矩陣分解為矩陣近似,可以解決這個問題:

其中,目標(biāo)是估計矩陣A,最終得到一個凸優(yōu)化,這意味著它有一個全局最小值,通過梯度下降算法可以找到。當(dāng)使用正則化時,這個方程變?yōu)椋?/p>
其中,描述了基于A的正則化函數(shù),而是設(shè)置正則化函數(shù)對目標(biāo)函數(shù)的影響程度的標(biāo)量因子。正則化方法的一個關(guān)鍵方面,獨(dú)立于訓(xùn)練階段的工作,是為了防止模型過擬合。它通過增加CNN不同階段的數(shù)據(jù)的可變性來操作。當(dāng)處理圖像時,最直接的方法是隨機(jī)改變圖像,比如旋轉(zhuǎn)和翻轉(zhuǎn)。雖然這種類型的正則化工作得很好,但應(yīng)該考慮到一些問題。例如,一些轉(zhuǎn)換可能會將圖像扭曲成分類中的另一個現(xiàn)有類。更直接的例子是MNIST數(shù)據(jù)集上的基線圖像分類:如果旋轉(zhuǎn)太多,輸入“6”可能會轉(zhuǎn)換為“9”,導(dǎo)致模型學(xué)習(xí)錯誤的信息。
1.3 正則化和標(biāo)準(zhǔn)化
機(jī)器學(xué)習(xí)中的一個普遍問題是調(diào)整給定模型的參數(shù),使其對訓(xùn)練數(shù)據(jù)和新的數(shù)據(jù)能夠有更好的魯棒性。旨在減少不屬于訓(xùn)練集的數(shù)據(jù)上的誤差的算法的集合被稱為正則化技術(shù)。
標(biāo)準(zhǔn)化和正則化技術(shù)的一個主要區(qū)別是,正則化在訓(xùn)練期后不再使用,而標(biāo)準(zhǔn)化保留在模型之中。例如,Cutout和MaxDropout在推理期間沒有被執(zhí)行,但是Batch Normalization在推理時需要執(zhí)行。
1.4 正則化主要用在哪里?
盡管大多數(shù)作品都應(yīng)用于輸入,但也有很多研究致力于內(nèi)部結(jié)構(gòu)和標(biāo)簽層。圖1描述了本次調(diào)查中科學(xué)工作的比例。

大約44%的工作依賴于對輸入的正則,其中最著名的是數(shù)據(jù)增強(qiáng)策略。CNN輸入中參數(shù)和結(jié)構(gòu)的容易改變可以解釋如此多的工作量。圖像處理和計算機(jī)視覺驅(qū)動的應(yīng)用程序在處理深度學(xué)習(xí)時仍然發(fā)揮著重要的作用。
第二種最常見的正則化方法是那些對模型的內(nèi)部結(jié)構(gòu)進(jìn)行正則的方法。Dropout為這一研究領(lǐng)域的進(jìn)展做出了很大的貢獻(xiàn)。一些作品主要是基于Dropout進(jìn)行的改進(jìn),當(dāng)然其中也有一些是全新的方法。
1.5 正則化方法的缺點(diǎn)
第一個是標(biāo)簽不隨輸入或在神經(jīng)網(wǎng)絡(luò)的中層直觀地改變。在這2個級別中執(zhí)行變化是更自然的,因?yàn)樵谝曈X上更容易理解在訓(xùn)練和推理過程中發(fā)生了什么。然而,要解釋執(zhí)行標(biāo)簽更改時會發(fā)生什么就比較困難了。盡管最初的研究認(rèn)為它防止了過擬合問題,但它未能解釋為什么會避免這種情況。
另一種解釋是對大多數(shù)方法缺乏數(shù)學(xué)解釋。幸運(yùn)的是,一些技術(shù),如Dropout和Mixup,對它們的內(nèi)部機(jī)制提供了有趣的見解。
最后,最好要記住,開發(fā)機(jī)器學(xué)習(xí)領(lǐng)域最關(guān)鍵的步驟之一是創(chuàng)建標(biāo)簽可靠的數(shù)據(jù)集。雖然本文關(guān)注的是正則化策略,但值得記住,最終,與標(biāo)簽的組合方式上的突破可能會促進(jìn)更強(qiáng)大的系統(tǒng)。因此,強(qiáng)調(diào)更多與標(biāo)簽正則化相關(guān)的工作值得研究。
2 正則化方法大集結(jié)
2.1 Cutout
Cutout是一種直接而強(qiáng)大的數(shù)據(jù)增強(qiáng)的技術(shù)。在訓(xùn)練過程中,它在輸入神經(jīng)網(wǎng)絡(luò)之前隨機(jī)去除圖像的區(qū)域。Cutout作者詳盡地分析了CIFAR-10和CIFAR-100數(shù)據(jù)集中被移除區(qū)域的理想大小。

理想的大小根據(jù)每個類的實(shí)例的數(shù)量和給定數(shù)據(jù)集的類的數(shù)量而變化。例如,在CIFAR-10數(shù)據(jù)集上的最佳結(jié)果是通過刪除一個大小為16×16的patch來完成的,而對于CIFAR-100,關(guān)于最佳結(jié)果的區(qū)域大小是8×8。對于SVHN數(shù)據(jù)集,通過使用網(wǎng)格搜索找到了最佳的crop大小為20×20。對于STL-10數(shù)據(jù)集,最佳結(jié)果的crop大小為32×32。
2.2 RandomErasing
RandomErasing是在Cutout技術(shù)的基礎(chǔ)上進(jìn)一步的發(fā)展。Cutout是對圖像的隨機(jī)裁剪,而RandomErasing關(guān)注的是在空白空間中去除并隨機(jī)添加信息,例如噪聲。與Cutout不同,RadomErasing并不是每次都刪除圖像的一部分。在這項(xiàng)工作中,作者在3種不同的分類數(shù)據(jù)集(CIFAR-10,CIFAR-100和Fashion-MNIST)上評估了該方法,用于目標(biāo)檢測的VOC2007數(shù)據(jù)集,以及用于ReID的三種不同的CNN架構(gòu)(IDE, TriNet和SVDNet)。

對于分類任務(wù),4種不同的架構(gòu)被用于評估目的:ResNet、ResNet with pre-activation、Wide Residual Networks和ResNeXt。在所有情況下,RandomErasing方法完成了相關(guān)的誤差減少(至少0.3%)。
對于目標(biāo)檢測任務(wù),當(dāng)只使用該數(shù)據(jù)集中的可用數(shù)據(jù)訓(xùn)練模型時,平均精度(mAP)提高了0.5,當(dāng)訓(xùn)練數(shù)據(jù)與VOC2012訓(xùn)練數(shù)據(jù)集結(jié)合時,平均精度(mAP)提高了0.4。圖4顯示了隨機(jī)擦除是如何工作的。
2.3 AutoAugment
AutoAugment試圖找出給定數(shù)據(jù)集上的哪些transformations可以提高模型的準(zhǔn)確性。它使用5個不同的transformations為給定策略創(chuàng)建一個搜索空間,這些transformations由2個附加參數(shù)控制:給定更改概率(Cutout,SamplePairing,Shear X/Y,Translate X/Y,Rotate,AutoContrast,Invert,Equalize,Solarize,Posterize,Contrast,Color,Brightness以及Sharpness)和變化幅度。

然后將這些策略輸入一個“child”模型,該模型是一個用部分訓(xùn)練數(shù)據(jù)集訓(xùn)練的CNN。這個CNN的準(zhǔn)確性被告知一個“控制器”模型,它是一個循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。這個RNN輸出一個給定策略在未來被使用的概率。在控制器訓(xùn)練過程的最后,使用5個最佳策略(每個策略有5個子策略)來訓(xùn)練最終的模型,用于評估數(shù)據(jù)集。使用這些生成的策略和子策略使得AutoAugment在CIFAR-10、CIFAR-100、SVHN和ImageNet數(shù)據(jù)集上達(dá)到了最先進(jìn)的結(jié)果。
這種方法的一個巨大優(yōu)勢是這些策略在不同數(shù)據(jù)集之間的可遷移性:在最初的工作中,為ImageNet找到的策略被用來訓(xùn)練其他5個不同的數(shù)據(jù)集,即使沒有在這些數(shù)據(jù)集上訓(xùn)練AutoAugment,也能顯著改善結(jié)果。這種方法的一個缺點(diǎn)是用來訓(xùn)練控制器模型的時間:例如,對于ImageNet數(shù)據(jù)集,它需要大約15000個小時的處理,這在一些情況下可能是不切實(shí)際的。Fast AutoAugment的目標(biāo)就是通過一種新的算法來克服這一瓶頸,在產(chǎn)生相似結(jié)果的同時,顯著減少搜索過程所需的時間。
2.4 PBA
Population Based Augmentation(PBA)不僅展示了一種新的增強(qiáng)算法,而且展示了調(diào)度策略而不是固定策略,改進(jìn)了以往研究的結(jié)果。

在每3步中,它改變了一半的策略,即1/4的權(quán)重變化,另外1/4的超參數(shù)變化。雖然自動增強(qiáng)意味著在CIFAR-10數(shù)據(jù)集上的訓(xùn)練開銷為5000個小時,但PBA只增加了5個小時。
2.5 RandAugment
如前所述,尋找最佳數(shù)據(jù)增強(qiáng)的方法的一個巨大瓶頸涉及到它們的計算負(fù)擔(dān),因?yàn)樗赡鼙茸约旱纳窠?jīng)網(wǎng)絡(luò)訓(xùn)練需要更長的時間。另一個問題與在搜索過程中發(fā)現(xiàn)的策略有關(guān),這可能會導(dǎo)致次優(yōu)策略,即它確實(shí)改善了局部的結(jié)果;然而,它并不會帶來最好的全局結(jié)果,因?yàn)樗褂昧艘粋€較淺的神經(jīng)網(wǎng)絡(luò),并假設(shè)這個規(guī)則可以應(yīng)用于任何其他的,更深的架構(gòu)。


RandAugment使用了在之前的工作中發(fā)現(xiàn)的14個最常見的策略,并在訓(xùn)練期間對每個策略的大小進(jìn)行搜索,從而消除了初步探索步驟的需要,并根據(jù)當(dāng)前的訓(xùn)練CNN定制數(shù)據(jù)放大。結(jié)果表明,該方法不僅比以往的方法更快,而且顯著改善了結(jié)果。
2.6 Mixup
訓(xùn)練CNN的一種可能性是,Mixup來自訓(xùn)練數(shù)據(jù)集中的2幅圖像,并迫使模型可靠地確定這種Mixup圖像屬于哪一類。然而,如何為這種Mixup生成編碼標(biāo)簽并不普遍。提供這個新的輸入/輸出訓(xùn)練對可以讓模型從損壞的輸入中學(xué)習(xí)更多的特征。最初的工作表明,使用這種方法的模型不僅可以改善圖像分類任務(wù)的結(jié)果,而且可以改善語音識別、生成對抗網(wǎng)絡(luò)的穩(wěn)定、表格數(shù)據(jù)集等問題的結(jié)果。圖5演示了Mixup的工作原理。

2.7 CutMix
另一種混合輸入和標(biāo)簽以改善結(jié)果的策略是CutMix。與Mixup不同,CutMix會替換給定輸入中的整個區(qū)域,并通過給予與每個類使用的區(qū)域相同的權(quán)重來更改標(biāo)簽。例如,如果一只貓的圖像被30%的圖像替換為一個飛機(jī)的圖像,則該標(biāo)簽被設(shè)置為70%的貓和30%的飛機(jī)。這一策略的結(jié)果有了顯著的改善。通過使用繪制Grad-CAM可以觀察到生成的Heatmap更好地突出了更準(zhǔn)確地定義感興趣目標(biāo)的區(qū)域。

2.8 CutBlur
一些針對圖像處理的深度學(xué)習(xí)任務(wù),如圖像分類或目標(biāo)檢測,可以通過使用數(shù)據(jù)增強(qiáng)來提升模型性能。一些工作,如AutoAugment、Cutout和RandomErasing可以通過對訓(xùn)練圖像應(yīng)用一些transformations來顯著改善結(jié)果。然而,對于超分辨率(SR)任務(wù),文獻(xiàn)中缺乏提出正則化技術(shù)來明確地處理這個問題的工作。

盡管可以使用上述技術(shù)并可能改善結(jié)果,但它們并不是通過手工設(shè)計來處理SR問題的。到目前為止,唯一發(fā)現(xiàn)的方法是CutBlur,它的工作原理是用來自類似區(qū)域的低分辨率(LR)版本替換高分辨率圖像(HR)上的給定區(qū)域。作者表明,CutBlur有助于模型在SR問題上更好的推廣,但同樣的技術(shù)可以用于重建被高斯噪聲退化的圖像。
2.9 BatchAugment
訓(xùn)練cnn的一個重要超參數(shù)與mini-batch size有關(guān),mini-batch size用于計算反向傳播中使用的梯度。該超參數(shù)通常采用GPU的上限,這對于提高訓(xùn)練收斂速度至關(guān)重要。BatchAugment工作巧妙地利用了這個限制。它不只是使用來自數(shù)據(jù)集的不同實(shí)例來滿足整個內(nèi)存,而是使用默認(rèn)的數(shù)據(jù)擴(kuò)展設(shè)置來考慮內(nèi)存限制的一半,然后復(fù)制具有不同數(shù)據(jù)擴(kuò)展可能性的所有實(shí)例。這聽起來像是一個簡單的技巧;然而,結(jié)果表明,使用這種方法的神經(jīng)網(wǎng)絡(luò)在最終結(jié)果上有顯著的改善。另一點(diǎn)是,通過復(fù)制增強(qiáng)圖像,分析表明需要更少的時間點(diǎn)來實(shí)現(xiàn)收斂。
2.10 FixRes
圖像分辨率可能會影響訓(xùn)練周期效率和最終的分類精度。例如,對EfficientNet的研究通過將輸入大小作為影響最終結(jié)果的參數(shù)之一,從而強(qiáng)調(diào)了這一想法。然而,如果一個模型被訓(xùn)練,例如,分辨率為224×224,測試集的推理應(yīng)該使用一樣的圖像分辨率。

FixRes提出的工作強(qiáng)調(diào)了測試集的分辨率應(yīng)該高于用于訓(xùn)練的分辨率。這種變化不僅產(chǎn)生了一個更可靠的神經(jīng)網(wǎng)絡(luò),而且比傳統(tǒng)方法訓(xùn)練得更快,因?yàn)樗枰俚挠嬎懔?,因?yàn)橛糜谶@種目的的圖像比用于推理的圖像要小。該方法表明,在使用遷移學(xué)習(xí)時,它可以改善在其他數(shù)據(jù)集上的結(jié)果。
2.11 Bag-of-Tricks
這里分析的工作的一個關(guān)鍵點(diǎn)是,它們經(jīng)常沒有將任何其他正則化方法與它們當(dāng)前的研究結(jié)合起來。因此,很難知道兩個正則化器是如何相互影響的。Bag-of-Tricks研究通過結(jié)合幾種已知的正則化方法,如Mixup、Label Smoothing和Knowledge Destilation。消融研究表明,如果應(yīng)用一定的方法,最終結(jié)果可以顯著改善。例如,使用這種方法組合的MobileNet在ImageNet數(shù)據(jù)集中提高了近1.5%的結(jié)果,這是一個顯著的收益。然而,該研究缺乏對層間正則化方法的深入評價,如Dropout。
3 結(jié)構(gòu)正規(guī)化
正則化方法可以以不同的方式工作。在本文中,將結(jié)構(gòu)正則化定義為在訓(xùn)練過程中改變權(quán)值而不改變輸入kernel值的方法。本節(jié)分為兩個主要部分:第一部分介紹了Dropout如何工作和它的一些變體的更深入的描述,如SpatialDropout和DropBlock。在第二部分中,描述了其他旨在執(zhí)行其他張量操作的方法,如Shake-shake Regularization。
3.1 Dropout and variants
Dropout被認(rèn)為是一種簡單但功能強(qiáng)大的正則化器,旨在去除一些神經(jīng)元,從而迫使整個系統(tǒng)學(xué)習(xí)更多的特征。最初的工作表明,它不僅可以應(yīng)用于cnn,還可以應(yīng)用于多層感知器(MLPs)和受限玻爾茲曼機(jī)(rbm)。

在訓(xùn)練階段的每一步,通過伯努利分布來估計每個神經(jīng)元的dropping out概率,從而在訓(xùn)練過程中增加了一些隨機(jī)性。最初的研究表明,被dropping out的神經(jīng)網(wǎng)絡(luò)可以比標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò)更好地進(jìn)行推廣。
3.2 MaxDropout
Dropout隨機(jī)去除訓(xùn)練階段的神經(jīng)元,Maxdropout則根據(jù)神經(jīng)元的激活情況去激活神經(jīng)元。它首先將張量s值歸一化,然后將每一個大于給定閾值p的輸出設(shè)置為0,因此這個值越高,它就越有可能被禁用。

最初的工作表明,它可以改進(jìn)在CIFAR-10和CIFAR-100數(shù)據(jù)集上的ResNet18結(jié)果,而且它在WideResNet-28-10模型上的性能也優(yōu)于Dropout。
3.3 DropBlock
DropBlock表明,去除給定張量(即特征圖)的整個區(qū)域可以幫助模型更好地泛化。通過使用ResNet-50和AmoebaNet-B模型對圖像進(jìn)行分類任務(wù),使用retinanet模型對物體進(jìn)行檢測,使用ResNet-101模型對圖像進(jìn)行分割,結(jié)果表明該模型比Dropout等內(nèi)部正則化算法對結(jié)果有更好的改善。

DropBlock應(yīng)用在CNN的每個feature map上,從一個小的比例開始訓(xùn)練,然后慢慢的增加它的值。它的實(shí)驗(yàn)顯示了ImageNet數(shù)據(jù)集上的相關(guān)結(jié)果,當(dāng)使用ResNet-50時,Baseline精度提高了近2%,打敗了其他正則化方法,如Cutout和AutoAugment,使用AmoebaNetB時,基線精度提高了約0.3%。在目標(biāo)檢測任務(wù)中,retavanet模型在AP度量上改進(jìn)了1.5%以上。
3.4 TargetDrop
注意機(jī)制可以被整合到一個給定的正則化器中,這樣它就可以在適當(dāng)?shù)膮^(qū)域發(fā)揮作用。例如,TargetDrop將這種機(jī)制與DropBlock結(jié)合在一起。在訓(xùn)練過程中,它允許整個系統(tǒng)去除給定通道上的大多數(shù)有區(qū)別的區(qū)域。結(jié)果表明,這種方法不僅比DropBlock獲得了更好的結(jié)果,而且,通過使用grade-cam,在決定給定輸入屬于哪個類的區(qū)域中顯示了更多的一致性。

3.5 AutoDrop
雖然有效,但Dropout缺乏選擇掉哪個神經(jīng)元的空間信息。DropBlock的策略是將整個隨機(jī)區(qū)域放在隱藏層上,而不是單一的神經(jīng)元,從而迫使CNN學(xué)習(xí)更好的空間信息。然而,Drop方法是手動設(shè)計和固定的,如果這些模式可以在訓(xùn)練中學(xué)習(xí),這可能會得到改進(jìn)。

AutoDrop迫使CNN根據(jù)訓(xùn)練信息學(xué)習(xí)最佳設(shè)計,使用控制器逐層學(xué)習(xí)最佳滴模式。CIFAR-10和ImageNet的結(jié)果表明,這些模式改善了結(jié)果,并可以在數(shù)據(jù)集之間傳輸。
3.6 LocalDrop
Rademacher復(fù)雜性被用來重新定義Dropout和DropBlock。通過對該問題進(jìn)行廣泛的數(shù)學(xué)分析,提出了一種新的兩階段正則化算法。該方法雖然耗時,但針對圖像分類的不同CNN架構(gòu)取得了相應(yīng)的改進(jìn)。CIFAR-10的結(jié)果表明,LocalDrop方法至少可以改善結(jié)果0.15%,比最佳結(jié)果提高了近0.6%。CIFAR-100的結(jié)果改善了0.4%;然而,在這種特定的情況下,在反向傳播時刪除權(quán)重的變化最終會得到略微更好的結(jié)果,提高了0.5%。除了改進(jìn)之外,該方法只適用于3分支ResNet,很難直接比較其他方法。
3.7 Shake-Shake
在這些體系結(jié)構(gòu)上強(qiáng)制正則化的一種方法是在訓(xùn)練期間為殘差連接的每個分支賦予不同的權(quán)重。最初的ResNets的工作原理是在每個分支上添加權(quán)重,沒有任何區(qū)別。在訓(xùn)練過程中,Shake-shake作用于3個分支的ResNets,在前傳時改變每個分支的乘因子,在后傳時乘以不同的值,從而改變每個分支對最終結(jié)果的影響。對于推理,它將每個分支乘以0.5倍。
3.8 ShakeDrop
解決Shake-shake問題的一個改進(jìn)是ShakeDrop。它不僅適用于ResNeXt架構(gòu),也適用于ResNet、Wide ResNet和PyramidNet。為了實(shí)現(xiàn)這樣的結(jié)果,ShakeDrop改變了由Shake-shake提出的配置。這些分支上的Shake組合顯示,ShakeDrop有更好的性能,不會被困在局部極小值上。結(jié)果表明,該方法可以比前面提到的每一種體系結(jié)構(gòu)獲得的原始結(jié)果更好。
3.9 Manifold Mixup
神經(jīng)網(wǎng)絡(luò)通常被概括為一個函數(shù),給定輸入數(shù)據(jù)和一組可學(xué)習(xí)參數(shù),輸出相應(yīng)的目標(biāo)值。Manifold Mixup的作用類似于Mixup,然而,它在CNN的任何內(nèi)部層中運(yùn)行,而不僅僅是在輸入層。深度神經(jīng)網(wǎng)絡(luò)可以被認(rèn)為是一組較小的神經(jīng)網(wǎng)絡(luò),每一個都輸出一些期望的特征;因此,如果所有的子網(wǎng)都運(yùn)行良好,則可以認(rèn)為最終的結(jié)果是良好的。
Yang等提出了一種新的損失函數(shù)設(shè)計策略:首先通過前饋過程計算傳統(tǒng)的小批量損失。然后,它從原始網(wǎng)絡(luò)生成子網(wǎng)絡(luò),然后通過使用不同的圖像變換提供相同的小批處理,為每個模型計算一個損失。最后,將傳統(tǒng)損失與各個子網(wǎng)絡(luò)的損失相加,計算出最終損失。該技術(shù)在不同的數(shù)據(jù)集和CNN架構(gòu)中顯示了巨大的潛力改進(jìn)。
3.10 其他方法
在過去的幾年里,殘差連接的使用,首先在眾所周知的神經(jīng)架構(gòu)ResNet中引入,并對其進(jìn)行了進(jìn)一步的改進(jìn),在幾個任務(wù)上取得了相關(guān)的成果。后來的研究表明,這種成功是由于創(chuàng)建了一種名為“identity mapping”的結(jié)構(gòu),它是對原始輸入的重建。殘差連接迫使模型學(xué)習(xí)如何構(gòu)造這些結(jié)構(gòu)。
4 標(biāo)簽正則化
有方法使用Label Smoothing作為其正則化策略的一部分。例如,Mixup根據(jù)2個不同圖像之間的插值來平均標(biāo)簽的值。同樣的規(guī)則也適用于Manifold Mixup技術(shù);然而,數(shù)據(jù)插值是在層之間計算的,并使用相同的微積分來重置標(biāo)簽值。
另一個使用標(biāo)簽轉(zhuǎn)換的正則化器是Cutblur。在本例中,使用了反式格式,在訓(xùn)練期間,可以將標(biāo)簽與輸入倒置,使輸入作為標(biāo)簽,模型將按照預(yù)期收斂。這一預(yù)期結(jié)果的原因是由于低分辨率和高分辨率圖像的切割尺寸,這是沒有預(yù)先定義的。這意味著輸入可以是高分辨率圖像中的低分辨率圖像,標(biāo)簽可以是高分辨率圖像中的低分辨率圖像。因此,將標(biāo)簽和輸入倒排仍然是有意義的。
其他方法也可以通過使用Manifold Mixup來改進(jìn)它們的結(jié)果。例如,Cutout從輸入中刪除部分,所以根據(jù)crop size“remove”部分標(biāo)簽也是有意義的。假設(shè)crop size是圖像的25%,因此活動類可以從1下降到0.75。同樣的策略也適用于RandomErasing。在訓(xùn)練過程中丟棄神經(jīng)元的方法,如Dropout,可以在訓(xùn)練過程中將熱標(biāo)簽的值降低到相同的范圍。
4.1 Label Smoothing
在一般的分類任務(wù)中,使用熱編碼標(biāo)簽是普遍存在的。從2015年開始,Label Smoothing提出了一種在標(biāo)簽編碼過程中的正則化技術(shù),通過修改hone-hot表示的每個位置上的值。
Label Smoothing的工作原理是防止了2個主要問題。
首先,過擬合問題 其次,對于不確定結(jié)果的過度自信問題
根據(jù)作者論述,通過使用編碼標(biāo)簽上的平滑因子,應(yīng)用在向量上的Softmax函數(shù)產(chǎn)生更接近平滑編碼向量的值,限制了反向傳播算法中使用的值,并根據(jù)類產(chǎn)生更真實(shí)的值。
4.2 TSLA
使用標(biāo)簽平滑的一個困難是找出?的什么值(即平滑因子)是理想的,無論是對于一般的還是對于特定的數(shù)據(jù)集。最初的工作表明,?=0.1是極好的條件;然而,兩階段標(biāo)簽平滑(TSLA)表明,一般來說,梯度下降結(jié)合Label Smoothing技術(shù)只能提高結(jié)果,直到一定的訓(xùn)練點(diǎn),之后最好將活動類的所有值設(shè)置為0和1。例如,當(dāng)在CIFAR-100數(shù)據(jù)集中對ResNet18進(jìn)行200個Epoch的訓(xùn)練時,結(jié)果表明,當(dāng)使用Label Smoothing時僅僅到160個Epoch便可以獲得最好的性能。
4.3 SLS
通常,很難為Label Smoothing因子定義適當(dāng)?shù)闹?。結(jié)構(gòu)標(biāo)簽平滑(SLS)提出通過估計貝葉斯估計誤差來計算這樣的值,根據(jù)作者,這有助于定義每個實(shí)例的標(biāo)簽邊界。實(shí)驗(yàn)表明,該方法在不同場合都可以克服傳統(tǒng)的標(biāo)簽平滑方法。
雖然這項(xiàng)工作在MobileNetV2上得到了充分的評估,但它沒有考慮到其他的神經(jīng)網(wǎng)絡(luò)架構(gòu)。盡管一些流行的數(shù)據(jù)集被用于比較目的,例如,CIFAR和SVHN,但這項(xiàng)工作僅限于MobileNet-V2。
4.4 JoCor
本文提出了一種避免噪聲標(biāo)簽對神經(jīng)網(wǎng)絡(luò)的影響的新方法。JoCoR在同一數(shù)據(jù)集上訓(xùn)練2個相似的神經(jīng)網(wǎng)絡(luò),并試圖關(guān)聯(lián)2個不同的標(biāo)簽。該方法通過將2個網(wǎng)絡(luò)的交叉熵?fù)p失加上它們之間的對比損失來計算損失,然后只使用批處理上最可忽略的損失來更新架構(gòu)的參數(shù)。
作者認(rèn)為,通過使用最小的值來更新參數(shù),這2種網(wǎng)絡(luò)都與預(yù)測結(jié)果一致,而且標(biāo)簽的噪聲往往更小。雖然該方法是針對弱監(jiān)督問題開發(fā)的,但它可以很容易地適應(yīng)傳統(tǒng)的監(jiān)督問題,如數(shù)據(jù)分類,以改善結(jié)果。這種方法的缺點(diǎn)是使用2個神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,這需要更多的處理和內(nèi)存。
5 參考
[1].Avoiding Overfitting: A Survey on Regularization Methods for Convolutional Neural Networks
公眾號后臺回復(fù)“數(shù)據(jù)集”獲取50+深度學(xué)習(xí)數(shù)據(jù)集下載~

#?CV技術(shù)社群邀請函?#

備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測-深圳)
即可申請加入極市目標(biāo)檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學(xué)影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群
每月大咖直播分享、真實(shí)項(xiàng)目需求對接、求職內(nèi)推、算法競賽、干貨資訊匯總、與?10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~

