谷歌大腦提出NAS-FPN:一種學會自動架構搜索的特徵金字塔網絡

2021-01-07 機器之心Pro

標檢測也能用神經架構搜索,這是一個自動搜索的特徵金字塔網絡。

神經架構搜索已經在圖像識別上展現出很強的能力,不論是可微架構搜索的速度,還是基於強化學習搜索的準確度,很多時候自動架構搜索已經超越了我們手動設計的版本。與此同時,學習視覺的特徵表示是計算機視覺中的一個基本問題。不論是圖像分類還是目標檢測,抽取圖像特徵才是最首要的。

在過去幾年裡,用於圖像分類和目標檢測的深度卷積網絡在架構搜索方面取得了很大進展。與預測圖像類別概率的圖像分類不同,目標檢測在大範圍的尺度和位置上檢測和定位多個目標時存在自身的挑戰。為了解決這個問題,很多現代目標檢測器普遍使用金字塔特徵表示,它表示具有多尺度特徵層的圖像。

在這篇論文中,谷歌大腦的 Quoc V. Le 等研究者提出了一種新的架構搜索方法 NAS-FPN。他們希望藉助神經架構搜索的優勢,並學習更好的目標檢測特徵金字塔網絡架構。目前 NAS-FPN 實現了優於當前最佳目標檢測模型的準確率和延遲權衡

目標檢測中的神經架構搜索

特徵金字塔網絡(FPN)是目標檢測中生成金字塔形狀特徵表示的代表性模型架構之一。它採用通常為圖像分類設計的骨幹模型,然後通過自上而下和橫向連接,並組合不同的特徵層來構建特徵金字塔。FPN 取代了檢測器(如 Faster R-CNN)中的特徵提取器,並生成更高質量的金字塔特徵圖。

圖註:特徵金字塔網絡,選自 arXiv: 1612.03144。

FPN 由自下而上和自上而下路徑組成。其中自下而上的路徑是用於提取特徵的常用卷積網絡,空間解析度自下而上地下降。當空間解析度下降,且檢測到更高層的結構時,每層的語義值增加。

設計特徵金字塔架構的挑戰在於其巨大的設計空間。組合不同尺度的可能連接數量隨著網絡層數的增加呈指數級增長。最近,神經架構搜索算法在巨大的搜索空間中有效地發現了用於圖像分類的高性能架構。為了實現這個領域的結果,Quoc V. Le 等研究者提出生成金字塔表示的可擴展架構搜索空間。

NAS-FPN:一種靈活的目標檢測新方法

本文的主要貢獻是設計搜索空間,覆蓋所有可能的跨尺度連接,已生成多尺度特徵表示。在搜索過程中,研究者的目標是發現具有相同輸入和輸出特徵級別並且可以被重複應用的微粒架構。模塊化搜索空間使得搜索金字塔架構變得易於管理。模塊化金字塔架構的另一個好處是可以隨時檢測目標(即「early exit」),雖然這種「early exit」方法已經被嘗試過,但手動設計這種架構依舊相當困難。

研究者構建的架構,即 NAS-FPN,在構建目標檢測架構方面具有很大的靈活性。NAS-FPN 與各種骨幹模型配合得很好,如 MobileNet、ResNet、AmoebaNet。它為移動端模型和高準確率模型在速度和準確率方面提供了更好的權衡。

在相同的推理時間下,與 RetinaNet 框架中的 MobileNetV2 骨幹模型相結合,它的性能超過當前最佳的移動檢測模型(與 MobilenetV2 結合的 SSDLite)2 個 AP。與強大的 AmoebaNet-D 骨幹模型結合,NASFPN 在單個測試規模中達到了 48.3 的 AP 單模型準確率。其檢測準確率超過了 Mask RCNN,同時使用的推理時間更少。幾種模型的具體結果如圖 1 所示。

圖 1:行動裝置上準確型模型(上)和快速型模型(下)的平均精度與推斷時間關係。綠色折線是 NASFPN 與 RetinaNet 相結合的結果。詳情請看圖 9。

論文:NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Detection

論文地址:https://arxiv.org/pdf/1904.07392.pdf

摘要:當前最先進的目標檢測卷積架構都是人工設計的。在這項工作中,我們的目標是學習更好的目標檢測特徵金字塔網絡架構。我們採用了神經架構搜索,在一個包含所有跨尺度連接的新的可擴展搜索空間中發現了一個新的特徵金字塔架構。這個名為 NAS-FPN 的架構包含自上而下和自下而上的連接,以融合各種尺度的特徵。NAS-FPN 與 RetinaNet 框架中的若干骨幹模型相結合,實現了優於當前最佳目標檢測模型的準確率和延遲權衡。該架構將移動檢測準確率提高了 2 AP,優於 [32] 中的當前最佳模型——與 MobileNetV2 相結合的 SSDLite,達到了 48.3 AP,超越了 Mask R-CNN [10] 的檢測準確率,且計算時間更少。

方法

本文中的方法基於 RetinaNet 框架 [23],因為該框架簡單、高效。RetinaNet 框架有兩個主要的組成部分:一個骨架網絡(通常是當前最優的圖像分類網絡)和一個特徵金字塔網絡(FPN)。本文算法的目標是為 RetinaNet 框架發現更好的 FPN 架構。圖 2 所示為 RetinaNet 架構。

圖 2:帶有 NAS-FPN 的 RetinaNet。在本文中,特徵金字塔網絡將由神經架構搜索算法來搜索。骨幹網絡和用於類和框預測的子網絡遵循 RetinaNet [23] 中的原始設計。FPN 的架構可以堆疊多次,以獲得更高的準確率。

為了找到更好的 FPN,研究者利用 Quoc Le 等人在「Neural architecture search with reinforcement learning」中提出的神經架構搜索(NAS)框架。NAS 利用強化學習訓練控制器在給定的搜索空間中選擇最優的模型架構。控制器利用子模型在搜索空間中的準確度作為獎勵信號來更新其參數。因此,通過反覆試驗,控制器逐漸學會了如何生成更好的架構。

研究者還為 FPN 設計了一個搜索空間來生成特徵金字塔表徵。為了實現 FPN 的可擴展性,研究者強制 FPN 在搜索過程中重複 N 次,然後連接到一個大型架構中。他們將這一特徵金字塔架構命名為 NAS-FPN。

實驗

這一部分描述了學習一個 RNN 控制器來發現 NAS-FPN 架構的神經架構搜索實驗。然後,研究者證明了他們發現的 NAS-FPN 在不同的骨幹模型和圖像大小下都能很好地工作。在金字塔網絡中,通過改變疊加層數和特徵維數,可以很容易地調整 NAS-FPN 的容量。此外,作者還在實驗中展示了如何構建準確、快速的架構。

圖 5:左:強化學習訓練的獎勵。計算獎勵的方法為在代理任務上採樣架構的 AP。右:採樣的獨特架構數與架構總數。隨著控制器逐漸收斂,控制器會採樣到越來越多的相同架構。

圖 6:5 個輸入層(黃色)和 5 個輸出特徵層(藍色)的 NAS-FPN 中發現的 7-merging-cell 金字塔網絡架構。GP:全局池化;R-C-B:ReLU-Conv-BatchNorm。

圖 7:NAS-FPN 的架構圖。每個點代表一個特徵層,同一行的特徵層具有相同的解析度,解析度由下往上遞減。箭頭表示內層之間的連接,該圖的結構是輸入層位於左側。金字塔網絡的輸入用綠色圓圈標記,輸出用紅色圓圈標記。(a)基線 FPN 架構。(b~f)在 RNN 控制器的訓練中通過神經架構搜索發現的 7-cell NAS-FPN 架構。(f)實驗中最後收斂得出的 NAS-FPN。

圖 8:NAS-FPN 的模型容量。(a)疊加金字塔網絡,(b)改變骨幹架構,(c)增加金字塔網絡中的特徵維度。所有的模型都是在 640x640 的圖像大小上訓練/測試的。標記上方的數字表示在 NAS-FPN 中金字塔網絡的數量。

圖 9:檢測準確率和推理時間的折衷(左)、浮點數(中)、參數(右)。(a)研究者將其與其他高準確率模型進行了對比。所有模型的推理時間都是在一個搭載 P100 GPU 的設備上計算出來的。綠色折線顯示的是擁有不同骨幹架構的 NAS-FPN 結果。該標記上的數字表示在 NAS-FPN 中金字塔網絡的重複次數。在每個數據點旁邊都表明了 NAS-FPN/FPN 的特徵維數和輸入圖像大小。(b)研究者將自己的模型與其他快速模型進行了對比,其中所有模型的輸入圖像大小為 320x320,推理時間是在 Pixel 1 CPU 上計算的。本文中的模型是用 MobileNetV2 的輕型模型訓練的。

表 1:NAS-FPN 和其他當前最優檢測器在 COCO 測試數據集上的性能表現。

圖 10:特徵維數為 256 或 384 的 NAS-FPN 在訓練時有無 DropBlock (DB) 的性能對比。模型和 ResNet-50 骨幹模型在大小為 1024x1024 的圖像上訓練。當我們在金字塔網絡中增加特徵維數時,添加 DropBlock 變得更重要。

相關焦點

  • CVPR 2017論文解讀:特徵金字塔網絡FPN
    如何高效計算多尺度的特徵表示?本文針對這些問題,提出了特徵金字塔網絡 FPN,如圖 1(d) 所示,網絡直接在原來的單網絡上做修改,每個解析度的 feature map 引入後一解析度縮放兩倍的 feature map 做 element-wise 相加的操作。
  • ICML 2020|提升神經網絡架構搜索穩定性,UCLA提出新型NAS算法
    機器之心專欄作者:陳相寧可微網絡架構搜索能夠大幅縮短搜索時間,但是穩定性不足。為此,UCLA 基於隨機平滑(random smoothing)和對抗訓練(adversarial training),提出新型 NAS 算法。可微網絡架構搜索(DARTS)能夠大幅縮短搜索時間,但是其穩定性受到質疑。
  • 性能超越谷歌!依圖團隊提出新一代移動端網絡架構MobileNeXt
    最近,依圖團隊發表在ECCV的一篇論文,提出了新一代移動端神經網絡架構MobileNeXt,大大優於谷歌的MobileNet、何愷明團隊提出的ResNet等使用倒殘差結構的模型,為移動端算力帶來了新的突破。
  • 深度學習閱讀導航 | 03 FPN:基於特徵金字塔網絡的目標檢測
    在本文中,作者探索利用深層卷積網絡固有的多尺度、層次結構來構建特徵金字塔,它的好處是只會帶來極小的額外消耗。提出了一種具有橫向連接的自上而下的體系結構,用於構建各種尺度的高層語義特徵圖。這種方法被稱為Feature Pyramid Network,即特徵金字塔網絡。
  • 比可微架構搜索DARTS快10倍,第四範式提出優化NAS算法
    在最近的 AAAI 2020 中,第四範式提出了一種基於臨近迭代(Proximal Iterations)的 NAS 方法,其速度比 DARTS 快了 10 倍以上。近年來,可微分的搜索方法因可以在數天內獲得高性能的 NAS 而成為研究熱點。然而,由於超級網的建設,其仍然面臨著巨大的計算成本和性能低下的問題。 在本文中,我們提出了一種基於近端迭代(NASP)的高效 NAS 方法。與以往的工作不同,NASP 將搜索過程重新定義為具有離散約束的優化問題和模型複雜度的正則化器。
  • CVPR 2019 神經網絡架構搜索進展綜述
    回到「博士生下降」的話題:假設你是個希望解決問題A的導師,你會讓你的學生來想一種該問題的最優架構——那麼,你的學生就是你的搜索算法(聽起來似乎更像奴隸?)。如果你並不是那種泯滅人性的導師(當然也可能你就是那個學生),你可能會首先定義一種搜索空間,這種搜索空間包含定義神經網絡架構的基本構建模塊(block)。
  • NAS-DIP: 基於神經架構搜索的自監督圖像補全算法
    為了獲取更好的網絡架構和學習參數,來自維吉尼亞理工的研究人員們提出了一種基於神經網絡架構搜索(NAS)的方式,在更為豐富的結構空間中尋找到能夠捕捉更強圖像先驗的結構。  文末有實習生招聘,有需求的同學們不要錯過!
  • 金字塔注意力網絡:一種利用底層像素與高級特徵的語義分割網絡
    選自arXiv機器之心編譯參與:機器之心編輯部目前很多語義分割方法在細節方面做得都不好,近日北京理工、曠視科技、北京大學機器感知重點實驗室的研究者提出金字塔形注意力網絡,它結合注意力機制和空間金字塔去提取精準的密集特徵而用於像素級標註任務,這種方法不再使用複雜化的擴張卷積和人工設計的解碼網絡。
  • 語義分割領域開山之作:Google提出用神經網絡搜索實現語義分割
    語義分割領域一般使用 encoder-decoder 模型,空間金字塔結構,空洞卷積等,目標是實現構建高解析度圖像的多尺度特徵,密集預測像素級標籤。論文利用這些技術構建搜索空間,同時構建計算量少、處理簡單的代理任務,該任務可為高解析度圖像提供多尺度架構的預測信息。
  • 告別調參煉丹,谷歌「權重無關」神經網絡開源了!
    他們提出一種新的神經網絡結構的搜索方法——權重無關神經網絡(Weight Agnostic Neural Networks,WANN),其關鍵思想是通過不再強調權重來搜索網絡結構。
  • 怎樣設計最優的卷積神經網絡架構?|NAS原理剖析
    密集連接塊(DenseNet)一個寬網絡上的跳過連接(ResNext)神經架構搜索NAS是一種尋找最優神經網絡架構的算法。絕大多數NAS算法工作原理類似。首先,定義一組適用於我們網絡的「構建塊」。然後,嘗試以不同的方式組合這些「構建快」進行訓練。
  • 比當前SOTA小4倍、計算量少9倍,谷歌最新目標檢測器EfficientDet
    最近,谷歌大腦 Mingxing Tan、Ruoming Pang 和 Quoc V. Le 提出新架構 EfficientDet,結合 EfficientNet(同樣來自該團隊)和新提出的 BiFPN,實現新的 SOTA 結果。在計算機視覺領域,模型效率的重要性越來越高。近日,谷歌大腦團隊 Quoc V.
  • 谷歌大腦最新研究:AutoML的方式自動學習Dropout模式
    那麼,是否能設計一種針對CNN、Transformer這樣的深度神經網絡,自動學習Dropout模式的方法?現在,谷歌大神Quoc V. Le的團隊,就提出了一種名為AutoDropout的方法。相關論文已經入選AAAI 2021。
  • 谷歌AutoML新進展,進化算法加持,僅用數學運算自動找出ML算法
    機器之心報導參與:魔王、杜偉、小舟僅使用基礎數學運算就能自動搜索機器學習算法?谷歌 Quoc V. Le 等人提出了 AutoML-Zero 方法。神經架構搜索就是一個典型的示例,在這個子域中,研究人員基於複雜層(如卷積、批歸一化和 dropout)來自動構建神經網絡。在 AutoML 中使用這些手動設計組件的另一種方法是從零開始搜索完整的算法。這種方法具有一定的難度,因為它需要探索大型且稀疏的搜索空間。但同時,這種方法也具有巨大的潛在益處,它不會偏向於我們已經了解的東西,並且有可能發現新的、更好的 ML 架構。
  • 谷歌大腦提出AutoML-Zero,只會數學運算就能找到AI算法|開源
    曉查 發自 凹非寺量子位 報導 | 公眾號 QbitAIAlphaGo戰勝了人類最強棋手,但前提是它先學會了人類棋譜,離不開人類指導。接著谷歌又推出了AlphaGo Zero,只讓AI知道圍棋規則,從零開始學下棋,結果再次登上棋藝頂峰。AI既然能從零學習圍棋,是否可以從零開始摸索機器學習算法?
  • 日本法院命令谷歌取消自動完成搜索功能
    網易科技訊 3月26日消息,據國外媒體報導,此前一名男子聲稱谷歌的自動完成搜索功能侵犯了他的隱私,並致使他丟掉工作,因此他要求法院命令谷歌終止該項功能。該名男子的律師周日表示,東京地方法院已批准了該項請求。
  • 多任務實現SOTA,UBC、谷歌等提出3D點雲的無監督膠囊網絡
    近日,包括 Weiwei Sun、Andrea Tagliasacchi、Geoffrey Hinton 等來自英屬哥倫比亞大學、谷歌研究院、多倫多大學的研究者提出了用於 3D 點雲的無監督膠囊網絡。Hinton 對此表示:在不受監督的情況下找到一個對象的自然組件以及這些組件的內在參照系是學習將解析圖像轉換為局部整體層級結構的重要一步。如果以點雲開始,則可以做到。
  • 多任務實現SOTA,UBC谷歌等提出3D點雲的無監督膠囊網絡
    這是一種為 3D 點雲提出的無監督膠囊架構,並且在 3D 點雲重構、配準和無監督分類方面優於 SOTA 方法。理解對象是計算機視覺的核心問題之一。傳統方法而言,理解對象任務可以依賴於大型帶注釋的數據集,而無監督方法已經消除了對標籤的需求。
  • 谷歌大腦提出概念激活向量,助力神經網絡可解釋性研究
    選自 KDnuggets作者:Jesus Rodriguez機器之心編譯參與:李詩萌、路最近,谷歌大腦團隊發表了一篇論文,文中提出了一種叫做概念激活向量(Concept Activation vectors,CAV)的新方法,這種方法為深度學習模型的可解釋性提供了一個全新的視角。
  • 揭開谷歌 AutoML 的神秘面紗
    到目前為止,它只有一個公開可用的服務AutoML Vision,AutoML Vision是一種識別或分類圖像中對象的API。根據產品頁面的描述,Cloud AutoML Vision依賴於兩種核心技術:遷移學習和神經架構搜索。既然我們已經介紹過了神經架構搜索,現在讓我們看一下遷移學習,了解一下它與神經架構搜索之間的關係。