谷歌大腦的研究人員發(fā)表最新成果,他們采用神經(jīng)結(jié)構(gòu)搜索發(fā)現(xiàn)了一種新的特征金字塔結(jié)構(gòu)NAS-FPN,可實現(xiàn)比 Mask R-CNN、FPN、SSD 更快更好的目標(biāo)檢測。
目前用于目標(biāo)檢測的最先進(jìn)的卷積架構(gòu)都是人工設(shè)計的。
近日,谷歌大腦的研究人員發(fā)表最新成果,他們采用神經(jīng)結(jié)構(gòu)搜索發(fā)現(xiàn)了一種新的特征金字塔結(jié)構(gòu)NAS-FPN,可以更好地用于目標(biāo)檢測。論文已被CVPR 2019接收。
論文地址:
https://arxiv.org/pdf/1904.07392.pdf
研究人員采用神經(jīng)結(jié)構(gòu)搜索,在一個新的可擴(kuò)展搜索空間中發(fā)現(xiàn)了一種新的特征金字塔架構(gòu)。
這個被發(fā)現(xiàn)的架構(gòu)被命名為NAS-FPN,可實現(xiàn)比 Mask R-CNN、FPN、SSD 更快更好的目標(biāo)檢測。
與目前最先進(jìn)的目標(biāo)檢測模型相比,NAS-FPN與RetinaNet框架中各種主干模型相結(jié)合,可以實現(xiàn)更好的精度和延遲權(quán)衡。
與MobileNetV2中最先進(jìn)的SSDLite相比,NAS-FPN在移動檢測精度方面提高了2 AP,達(dá)到48.3 AP,超過了Mask R-CNN的檢測精度,并且計算時間更少。
設(shè)計搜索空間,生成特征表示
學(xué)習(xí)視覺特征表示是計算機(jī)視覺中的一個基本問題。近年來,針對圖像分類和目標(biāo)檢測的深度卷積網(wǎng)絡(luò)(ConvNets)模型架構(gòu)的設(shè)計取得了很大進(jìn)展。與預(yù)測圖像類別概率的圖像分類任務(wù)不同,目標(biāo)檢測有其自身的挑戰(zhàn),即在多種尺度和位置上檢測和定位多個對象。為了解決這一問題,許多先進(jìn)的目標(biāo)檢測器通常使用金字塔特征表示,它以多尺度特征層來表示圖像。
特征金字塔網(wǎng)絡(luò)(FPN)是產(chǎn)生用于目標(biāo)檢測的金字塔特征表示的典型模型架構(gòu)之一。該方法采用通常用于圖像分類的主干模型,通過自頂向下的連接和橫向連接,將主干模型特征層中的相鄰兩層按順序組合,從而構(gòu)建特征金字塔。
設(shè)計特征金字塔結(jié)構(gòu)的挑戰(zhàn)在于其巨大的設(shè)計空間。組合來自不同尺度的特征的可能連接的數(shù)量隨層數(shù)呈指數(shù)增長。
最近的研究表明,神經(jīng)結(jié)構(gòu)搜索算法在巨大搜索空間中可以有效發(fā)現(xiàn)性能最佳的圖像分類架構(gòu)。受此啟發(fā),我們提出可擴(kuò)展架構(gòu)的搜索空間,用以生成金字塔表示。
本研究的主要貢獻(xiàn)是設(shè)計了涵蓋所有可能的跨尺度連接的搜索空間,以生成多尺度特征表示。
在搜索過程中,我們的目標(biāo)是發(fā)現(xiàn)一個原子架構(gòu)(atomic architecture),它具有相同的輸入和輸出特性級別,并且可以重復(fù)應(yīng)用。
模塊化搜索空間使搜索金字塔架構(gòu)易于管理。模塊化金字塔結(jié)構(gòu)的另一個好處是能夠隨時檢測目標(biāo)(或“提前退出”)。
所發(fā)現(xiàn)的架構(gòu)名為NAS-FPN,為構(gòu)建對象檢測架構(gòu)提供了很大的靈活性。NAS-FPN適用于各種主干模型,如MobileNet、ResNet和AmoebaNet。它為快速移動模型和精確模型提供了更好的速度和精度的權(quán)衡。在相同的推理時間下,結(jié)合RetinaNet框架中的MobileNetV2主干網(wǎng)絡(luò),其性能優(yōu)于目前最先進(jìn)的基于MobileNetV2的SSDLite移動檢測模型,精度提高了2 AP。
憑借強(qiáng)大的AmoebaNet-D主干模型,NAS-FPN在單次測試中達(dá)到48.3 AP單模型精度。
NAS-FPN的檢測精度也超過了Mask R-CNN,且所需推理時間更短。
我們的結(jié)果摘要如圖1所示。
圖1:移動設(shè)備上精確模型(上)和快速模型(下)的平均精度vs每張圖像的推理時間。綠色曲線突出了NAS-FPN與RetinaNet組合的結(jié)果。
方法:基于RetinaNet框架,搜索最佳架構(gòu)
我們的方法基于RetinaNet框架,因為它簡單有效。RetinaNet框架有兩個主要組件:主干網(wǎng)絡(luò)(通常是最先進(jìn)的圖像分類網(wǎng)絡(luò))和特征金字塔網(wǎng)絡(luò)(FPN)。該算法的目標(biāo)是為RetinaNet找到一個更好的FPN架構(gòu)。圖2顯示了RetinaNet架構(gòu)。
圖2:具有NAS-FPN的RetinaNet。在我們的方法中,特征金字塔網(wǎng)絡(luò)將由一個神經(jīng)結(jié)構(gòu)搜索算法來搜索。主干模型和用于類和邊界框預(yù)測的子網(wǎng)絡(luò)遵循了RetinaNet的原始設(shè)計。FPN的架構(gòu)可以堆疊N次,以獲得更高的精度。
為了找到一個更好的FPN,我們利用了B. Zoph等人提出的神經(jīng)結(jié)構(gòu)搜索框架[44]。神經(jīng)結(jié)構(gòu)搜索利用強(qiáng)化學(xué)習(xí)訓(xùn)練一個控制器(controller),在給定的搜索空間中選擇最優(yōu)的模型結(jié)構(gòu)。controller利用搜索空間中子模型的精度作為獎勵信號來更新其參數(shù)。因此,通過反復(fù)試驗,controller學(xué)會了隨著時間的推移生成更好的架構(gòu)。正如之前的研究所指出的,搜索空間對于架構(gòu)搜索的成功起著至關(guān)重要的作用。
接下來,我們將為FPN設(shè)計一個搜索空間來生成特征金字塔表示。為FPN的可伸縮性(即,這樣一個FPN架構(gòu)就可以在RetinaNet中重復(fù)堆疊),在搜索過程中,我們還強(qiáng)制FPN自身重復(fù)N次,然后連接成一個大型架構(gòu)。我們將這個特征金字塔結(jié)構(gòu)稱為NAS-FPN。
架構(gòu)的搜索空間
在搜索空間中,特征金字塔網(wǎng)絡(luò)由許多“合并單元”組成,這些單元將許多輸入層組合成RetinaNet的表示。
特征金字塔網(wǎng)絡(luò)
特征金字塔網(wǎng)絡(luò)以多尺度特征層為輸入,在相同尺度下生成輸出特征層,如圖2所示。
合并單元(Merging cell)
在以往的目標(biāo)檢測工作中,一個重要的發(fā)現(xiàn)是,需要在不同尺度上“合并”特征。跨尺度連接允許模型將具有強(qiáng)語義的高級特性和具有高分辨率的低級特性結(jié)合。
我們提議merging cell,這是FPN的一個基本構(gòu)建塊,將任意兩個輸入特性層合并到一個輸出特性層中。
在我們的實現(xiàn)中,每個merging cell接受兩個輸入特性層(可能來自不同scale),應(yīng)用處理操作,然后將它們組合起來,生成一個所需規(guī)模的輸出特性層。
構(gòu)建merging cell的過程如圖3所示。
圖3:merging cell中需要四個預(yù)測步驟。
每個 merging cell 有4個預(yù)測步驟:
步驟1:從候選項中選擇一個特征層;
步驟2:從候選項中選擇另一個特性層,無需替換;
步驟3:選擇輸出特性分辨率
步驟4:選擇一個二進(jìn)op,將步驟1和步驟2中選擇的hi和hj組合起來,生成具有步驟3中選擇的分辨率的特征層。
在步驟4中,我們在搜索空間中設(shè)計了兩個二進(jìn)操作,sum和global pooling,如圖4所示:
圖4:Binary operations
實驗和結(jié)果
我們在實驗中使用了RetinaNet的開源實現(xiàn)。實驗設(shè)置細(xì)節(jié)請參考原論文。
模型在COCO train2017上進(jìn)行訓(xùn)練,大部分實驗采用COCO val2017進(jìn)行評估。在表1中,我們報告了test-dev的準(zhǔn)確度,以便與現(xiàn)有方法進(jìn)行比較。
表1:使用NAS-FPN和其他最先進(jìn)的檢測器的RetinaNet在COCO的test-dev set上的性能比較
架構(gòu)搜索找到的特征金字塔結(jié)構(gòu)
什么是好的特性金字塔結(jié)構(gòu)?我們希望通過可視化所發(fā)現(xiàn)的架構(gòu)來闡明這個問題。
在圖7(b-f)中,我們繪制了在RL訓(xùn)練過程中獎勵逐漸提高的NAS-FPN架構(gòu)。
圖7:NAS-FPN架構(gòu)圖。
圖7中,每個點代表一個特征層。同一行的特征層具有相同的分辨率。分辨率在自底向上下降。箭頭表示內(nèi)部層之間的連接。圖中左側(cè)是輸入層。金字塔網(wǎng)絡(luò)的輸入用綠色圓圈標(biāo)記,輸出用紅色圓圈標(biāo)記。(a)基線FPN架構(gòu)。(b-f)通過對RNN控制器的訓(xùn)練進(jìn)行神經(jīng)結(jié)構(gòu)搜索發(fā)現(xiàn)的7-cell NAS-FPN結(jié)構(gòu)。(f)我們在實驗中使用的NAS-FPN。
可擴(kuò)展的特征金字塔結(jié)構(gòu)
在本節(jié)中,我們展示了如何通過調(diào)整(1)主干模型、(2)重復(fù)金字塔網(wǎng)絡(luò)的數(shù)量和(3)金字塔網(wǎng)絡(luò)的維數(shù)來控制模型容量。我們將討論這些調(diào)整如何權(quán)衡計算時間和速度。
疊加金字塔網(wǎng)絡(luò)。
我們的金字塔網(wǎng)絡(luò)有一個很好的特性,它可以通過疊加多個重復(fù)的架構(gòu)來擴(kuò)展成更大的架構(gòu)。
在圖8a中,我們顯示了普通FPN架構(gòu)的疊加并不總是提高性能,而NAS-FPN的疊加顯著提高了精度。
這個結(jié)果突出了我們的搜索算法可以找到可擴(kuò)展的架構(gòu),這可能很難手工設(shè)計。
圖8:通過(a)疊加金字塔網(wǎng)絡(luò),(b)改變主干結(jié)構(gòu),(c)增加金字塔網(wǎng)絡(luò)的特征維數(shù),可以控制NAS-FPN的模型容量。
采用不同的主干架構(gòu)。
在對象檢測架構(gòu)的準(zhǔn)確性和速度之間進(jìn)行權(quán)衡的一種常見方法是更改主干架構(gòu)。
圖8b顯示了不同主干上的NAS-FPN的性能。在MobilenetV2上應(yīng)用NAS-FPN時,我們在160B FLOPs時得到了36.6 AP的精度。
調(diào)整特征金字塔網(wǎng)絡(luò)的特征維數(shù)。
另一種提高模型容量的方法是在NAS-FPN中增加特征層的特征維數(shù)。圖8c顯示了采用ResNet-50主干架構(gòu)的NAS-FPN中128、256和384個特征維度的結(jié)果。毫無疑問,增加特征維可以提高檢測性能。
高檢測精度的架構(gòu)
利用可擴(kuò)展的NAS-FPN架構(gòu),我們討論了如何在保持效率的同時構(gòu)建準(zhǔn)確的模型。
圖9顯示,與現(xiàn)有方法相比,NAS-FPN與最先進(jìn)的Mask R-CNN模型一樣精確,且計算時間更短。
圖9:檢測精度與推理時間(左)、FLOPs(中)和參數(shù)(右)的關(guān)系。
結(jié)論
本文提出利用神經(jīng)結(jié)構(gòu)搜索進(jìn)一步優(yōu)化用于目標(biāo)檢測的特征金字塔網(wǎng)絡(luò)的設(shè)計過程。在COCO數(shù)據(jù)集上的實驗表明,神經(jīng)結(jié)構(gòu)搜索發(fā)現(xiàn)的架構(gòu),名為NAS-FPN,具有良好的靈活性和高性能,可用于構(gòu)建精確的檢測模型。在廣泛的精度和速度權(quán)衡方面,NAS-FPN在許多主干架構(gòu)上產(chǎn)生了顯著的改進(jìn)。
-
檢測器
+關(guān)注
關(guān)注
1文章
857瀏覽量
47625 -
谷歌
+關(guān)注
關(guān)注
27文章
6128瀏覽量
104956 -
SSD
+關(guān)注
關(guān)注
20文章
2837瀏覽量
117130
原文標(biāo)題:谷歌大腦重磅研究:神經(jīng)結(jié)構(gòu)搜索發(fā)現(xiàn)全新特征金字塔架構(gòu),超越Mask R-CNN等
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論