【深度学习】最先进的图像分类算法:FixEfficientNet-L2
FixEfficientNet 是一種結(jié)合了兩種現(xiàn)有技術(shù)的技術(shù):來自 Facebook AI 團(tuán)隊(duì)的 FixRes [2]?以及由 Google AI 研究團(tuán)隊(duì)首先提出的EfficientNet [3]。FixRes 是 Fix Resolution 的縮寫形式,它嘗試為用于訓(xùn)練時(shí)間的 RoC(分類區(qū)域)或用于測(cè)試時(shí)間的裁剪保持固定大小。EfficientNet 是 CNN 尺度的復(fù)合縮放,可提高準(zhǔn)確性和效率。本文旨在解釋這兩種技術(shù)及其最新技術(shù)。
首先,Facebook AI 研究團(tuán)隊(duì)于 2020 年 4 月 20 日將 FixEfficientNet 與相應(yīng)的論文一起展示 [1],并連續(xù)成為計(jì)算機(jī)視覺領(lǐng)域的一項(xiàng)任務(wù)。它是目前最先進(jìn)的,在 ImageNet 數(shù)據(jù)集上有最好的結(jié)果,參數(shù)為 480M,top-1 準(zhǔn)確率為 88.5%,top-5 準(zhǔn)確率為 98.7%。
讓我們更深入地研究一下,以更好地了解組合技術(shù)。
了解 FixRes
訓(xùn)練時(shí)間
在 Facebook AI 研究團(tuán)隊(duì)提出 FixRes 技術(shù)之前,最先進(jìn)的技術(shù)是從圖像中提取一個(gè)隨機(jī)的像素方塊。這被用作訓(xùn)練時(shí)間的 RoC 。(請(qǐng)注意,使用此技術(shù)會(huì)人為地增加數(shù)據(jù)量)。然后調(diào)整圖像大小以獲得固定大小(=裁剪)的圖像。然后將其輸入卷積神經(jīng)網(wǎng)絡(luò) [2]。
RoC = 輸入圖像中的矩形/正方形
crop = 通過雙線性插值重新縮放到特定分辨率的 RoC 像素
訓(xùn)練時(shí)間規(guī)模擴(kuò)大
為了更好地了解 FixRes 的具體功能,讓我們看一下數(shù)學(xué)。更改輸入圖像中 RoC 的大小會(huì)影響給定 CNN 的對(duì)象大小的分布。該對(duì)象在輸入圖像中的大小為 rxr 。如果 RoC 現(xiàn)在被縮放,它會(huì)改變 s 并且對(duì)象的大小現(xiàn)在將連續(xù)變?yōu)?rs x rs 。
對(duì)于增強(qiáng),使用了 PyTorch 的 RandomResizedCrop。輸入圖像的大小為H x W,從中隨機(jī)選擇一個(gè) RoC,然后將此 RoC 調(diào)整為裁剪大小。
輸入圖像 ( H x W ) 對(duì)輸出裁剪的縮放比例可以由以下因素表示:
測(cè)試時(shí)間
在測(cè)試時(shí),RoC 通常位于圖像的中心,這會(huì)導(dǎo)致所謂的中心裁剪。兩種裁剪(一種來自訓(xùn)練時(shí)間,另一種來自測(cè)試時(shí)間)具有相同的大小,但它們來自圖像的不同部分,這通常會(huì)導(dǎo)致 CNN 的分布存在偏差?[2]?。
測(cè)試時(shí)間規(guī)模增加。
如前所述,測(cè)試增強(qiáng)與訓(xùn)練時(shí)間增強(qiáng)不同。這樣,裁剪就有了大小。
關(guān)于輸入圖像是正方形 ( H=W ) 的假設(shè),測(cè)試增強(qiáng)的比例因子可以表示為:
有什么發(fā)現(xiàn)?
在開發(fā) FixRes 之前,測(cè)試和訓(xùn)練時(shí)間的預(yù)處理是彼此分開的,從而導(dǎo)致偏差。Facebook AI 團(tuán)隊(duì)不斷嘗試找到一種解決方案,該解決方案同時(shí)執(zhí)行預(yù)處理并以某種方式同步,那就是 FixRes?。
如上所述的標(biāo)準(zhǔn)預(yù)處理通常會(huì)在訓(xùn)練時(shí)擴(kuò)大 RoC,并在測(cè)試時(shí)減小 RoC 的大小。
FixRes 技術(shù)采用非此即彼的方法。它要么降低訓(xùn)練時(shí)間分辨率并保持測(cè)試裁剪的大小,要么增加測(cè)試時(shí)間分辨率并保持訓(xùn)練裁剪的大小。目的是檢索相同大小的對(duì)象(此處是烏鴉),以減少 CNN 中的尺度不變性 [2]?。如下所示:
這會(huì)對(duì)數(shù)據(jù)輸入 CNN 的方式產(chǎn)生兩種影響:
圖像中對(duì)象(此處是烏鴉)的大小通過 FixRes Scaling 進(jìn)行更改。
使用不同的裁剪大小會(huì)影響神經(jīng)元的激活方式和時(shí)間。
激活統(tǒng)計(jì)數(shù)據(jù)變化問題
Touvron 等人發(fā)現(xiàn),更大的測(cè)試裁剪以及最重要的是對(duì)象尺寸的調(diào)整可以帶來更好的準(zhǔn)確性。然而,這需要在調(diào)整對(duì)象大小和更改激活統(tǒng)計(jì)數(shù)據(jù)之間進(jìn)行權(quán)衡。
測(cè)試表明,激活圖隨著圖像分辨率的變化而變化。K_test = 224 表示映射為 7x7,K_test = 64 表示映射為 2x2,而 K_test = 448 表示映射為 14x14。這表明激活分布在測(cè)試時(shí)會(huì)發(fā)生變化,并且這些值超出了分類器范圍 [1]。
為了解決激活統(tǒng)計(jì)數(shù)據(jù)變化的問題,提出了兩種解決方案:
參數(shù)適應(yīng):參數(shù) Fréchet 分布用于擬合平均池化層。然后通過標(biāo)量變換將新分布映射到舊分布,并作為激活函數(shù)應(yīng)用。
微調(diào):進(jìn)行校正的另一種方法是對(duì)模型進(jìn)行微調(diào),微調(diào)僅應(yīng)用于 CNN 的最后一層。
在微調(diào)階段,使用標(biāo)簽平滑[1]。
EfficientNet?架構(gòu) [3]
作者預(yù)先訓(xùn)練了幾個(gè)模型,其中 EfficientNet-L2 顯示了最佳結(jié)果。但什么是 EfficientNet ?
與圖像分類中的大多數(shù)算法一樣,高效網(wǎng)絡(luò)基于 CNN。CNN 具有三個(gè)維度:寬度、深度和分辨率。深度是層數(shù),寬度是通道數(shù)(例如,傳統(tǒng)的 RGB 將有 3 個(gè)通道),分辨率是圖像的像素。
EfficientNets 引入了復(fù)合縮放,它利用了所有三個(gè)維度:
寬度縮放——寬度可以通過具有更多通道的圖像來增加,但是準(zhǔn)確度增益很快就會(huì)下降。
深度縮放——是傳統(tǒng)且最典型的縮放方式。通過增加深度,可以增加神經(jīng)網(wǎng)絡(luò)的層數(shù)。但是添加更多層并不總是能提高網(wǎng)絡(luò)的性能。大多數(shù)情況下它需要更多的時(shí)間,但由于梯度消失,性能可能會(huì)隨著層數(shù)的增加而停滯甚至下降。
分辨率縮放——這意味著增加分辨率,從而增加像素?cái)?shù),例如從 200x200 到 600x600。這種縮放的問題在于精度增益隨著分辨率的提高而消失。在一定程度上,精度可能會(huì)增加,但精度增量會(huì)減少。
所有三個(gè)維度的放大都會(huì)導(dǎo)致精度增量減小,并且為了獲得最佳精度結(jié)果,必須對(duì)所有這三個(gè)維度進(jìn)行平衡縮放。因此提出了復(fù)合縮放:
? 指定可用資源,而 alpha、beta 和 gamma 負(fù)責(zé)分配這些資源。
Touvron?等人[1] ,?“ 使用神經(jīng)架構(gòu)搜索來開發(fā)新的基準(zhǔn)網(wǎng)絡(luò),并對(duì)其放大以獲得稱為 EfficientNets 的一系列模型。”?神經(jīng)架構(gòu)搜索 (NAS) 優(yōu)化了觸發(fā)器和準(zhǔn)確性。
結(jié)論
這兩種技術(shù)的結(jié)合使得目前最好的圖像分類算法遠(yuǎn)遠(yuǎn)領(lǐng)先于 EfficientNet Noisy Student,它在效率和準(zhǔn)確性方面都是當(dāng)前領(lǐng)先的算法。由于其前五名的準(zhǔn)確度為 98.7%,因此仍有改進(jìn)的可能,但它已經(jīng)相當(dāng)準(zhǔn)確了。因此,要等到這項(xiàng)技術(shù)被一種新技術(shù)所取代,還需要等待。
由于本文不包含任何實(shí)現(xiàn),小伙伴們可以使用作者的官方 Github 自行嘗試。
作者 [1] 的預(yù)訓(xùn)練網(wǎng)絡(luò)如下所示:
github 存儲(chǔ)庫的屏幕截圖。
參考資料
[1] Touvron, H.、Vedaldi, A.、Douze, M. 和 Jégou, H. (2020b)。修復(fù)訓(xùn)練測(cè)試分辨率差異:FixEfficientNet。ArXiv:2003.08237 [Cs]。http://arxiv.org/abs/2003.08237
[2] Touvron, H.、Vedaldi, A.、Douze, M. 和 Jégou, H.(2020a)。修復(fù)訓(xùn)練測(cè)試分辨率差異。ArXiv:1906.06423 [Cs]。http://arxiv.org/abs/1906.06423
[3] Tan, M., & Le, QV (2020)。EfficientNet:對(duì)卷積神經(jīng)網(wǎng)絡(luò)的模型放縮重新思考。ArXiv:1905.11946 [Cs,Stat]。http://arxiv.org/abs/1905.11946
Github代碼連接:
http :?//github.com/facebookresearch/FixRes。
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載黃海廣老師《機(jī)器學(xué)習(xí)課程》視頻課黃海廣老師《機(jī)器學(xué)習(xí)課程》711頁完整版課件本站qq群955171419,加入微信群請(qǐng)掃碼:
總結(jié)
以上是生活随笔為你收集整理的【深度学习】最先进的图像分类算法:FixEfficientNet-L2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习】一文读懂异常检测 LOF 算
- 下一篇: 腾讯视频下载电脑_腾讯视频如何设置允许腾