天天看點

RegNet | 何恺明團隊最新作品,源于Fackbook AI(附下載下傳連結)

公衆号 : 計算機視覺戰隊

簡述

在這項工作中,何老師團隊提出了一個新的網絡設計範例。我們的目标是幫助提高對網絡設計的了解,并發現跨設定泛化的設計原則。

我們不是專注于設計單個的網絡執行個體,而是設計參數化網絡總體的網絡設計空間。整個過程類似于經典的手工網絡設計,但是提升到了設計空間的層次。使用我們的方法,我們探索了網絡設計的結構方面,并得出一個由簡單的、規則的網絡組成的低維設計空間,我們稱之為RegNet。RegNet參數化的核心思想非常簡單:良好網絡的寬度和深度可以用量化的線性函數來解釋。我們分析了RegNet設計空間,得出了與目前網絡設計實踐不相符的有趣發現。RegNet設計空間提供了簡單而快速的網絡,可以很好地跨越各種觸發器。

在可比較的訓練設定和flops的情況下,RegNet模型在gpu上的運作速度高達5倍,表現優于目前流行的有效網模型。

背景

深度卷積神經網絡是視覺識别的引擎。在過去的幾年裡,更好的體系結構在視覺識别領域取得了長足的進步。例如LeNet、AlexNet、VGG和ResNe。這一工作體系既提高了神經網絡的有效性,也提高了我們對網絡設計的了解。特别是上述工作序列,分别說明了卷積、網絡和資料大小、深度和殘差的重要性。這些工作的結果不僅是特定的網絡執行個體化,而且是設計原則,可以推廣和應用于許多設定。

RegNet | 何恺明團隊最新作品,源于Fackbook AI(附下載下傳連結)

上圖所示:設計空間設計。我們建議設計網絡設計空間,其中設計空間是可能的模型架構的參數化集合。設計空間設計類似于人工網絡設計,但提升到了人口層面。在我們流程的每個步驟中,輸入是初始設計空間,輸出是更簡單或更好模型的精細化設計空間。在[I. Radosavovic, J. Johnson, S. Xie, W.-Y. Lo, and P. Dollar. ´On network design spaces for visual recognition. In ICCV,2019]之後,我們通過采樣模型并檢查它們的誤差分布來描述設計空間的品質。例如,在上圖中我們從最初的設計空間和應用兩個改進措施産量設計空間B C。在這種情況下C⊆B⊆(左),和誤差分布嚴格改善從A到B C(右)。希望适用于模型總體的設計原則更有可能是健壯的和一般化的。

雖然手動網絡設計已經取得了很大的進展,但是手動找到優化良好的網絡可能是一項挑戰,特别是在設計選擇的數量增加的情況下。解決這一限制的一種流行方法是神經架構搜尋(NAS)。給定一個可能的網絡的固定搜尋空間,NAS會自動在搜尋空間中找到一個好的模型。近年來,NAS受到了廣泛的關注,并取得了良好的研究成果。

盡管NAS有效,但這種範式也有局限性。搜尋的結果是将單個網絡執行個體調優到特定的設定(例如,硬體平台)。在某些情況下,這就足夠了;然而,它并不能幫助我們發現網絡設計原則,進而加深我們的了解,并使我們能夠歸納出新的設定。特别是,我們的目标是找到易于了解、建構和泛化的簡單模型。

在這項工作中,我們提出了一個新的網絡設計範例,它結合了手工設計和NAS的優點。我們不是專注于設計單個的網絡執行個體,而是設計參數化網絡總體的設計空間。和手工設計一樣,我們的目标是可解釋性,并發現描述網絡的一般設計原則,這些網絡簡單、工作良好,并且可以在各種設定中泛化。與NAS一樣,我們的目标是利用半自動過程來幫助實作這些目标。

我們采用的一般政策是逐漸設計一個初始的、相對不受限制的設計空間的簡化版本,同時保持或提高其品質(上圖)。整個過程類似于手工設計,提升到總體水準,并通過網絡設計空間的分布估計進行指導。

作為這個範例的一個測試平台,我們的重點是探索假定标準模型族包括VGG、ResNet和ResNeXt的網絡結構(例如,寬度、深度、組等)。我們從一個相對不受限制的設計空間開始,我們稱之為AnyNet(例如,寬度和深度在不同階段自由變化),并應用我們的人在循環的方法來達到一個由簡單的“規則”網絡組成的低維設計空間,我們稱之為RegNet。RegNet設計空間的核心很簡單:舞台寬度和深度由量化的線性函數決定。與AnyNet相比,RegNet設計空間具有更簡單的模型,更易于解釋,并且具有更高的優秀模型集中度。

相關工作

相關工作就簡單叙述下,有興趣的可以自己去閱讀。

手動網絡設計

AlexNet的引入使網絡設計成為一個蓬勃發展的研究領域。在接下來的幾年裡,提出了改進的網絡設計;例如VGG, Inception, ResNet, ResNeXt, DenseNet,和MobileNet。這些網絡背後的設計過程很大程度上是手工的,并且專注于發現新的設計選擇,以提高準确性,例如使用更深層次的模型或殘差。我們同樣分享發現新設計原則的目标。事實上,我們的方法類似于手工設計,但是在設計空間級别執行。

自動化的網絡設計

最近,網絡設計的過程已經從手工探索轉向了自動化程度更高的網絡設計,并由NAS推廣開來。NAS已被證明是尋找良好模型的有效工具。NAS的大部分工作集中在搜尋算法上,即,在一個固定的、手工設計的搜尋空間(我們稱之為設計空間)中高效地找到最佳網絡執行個體。相反,我們關注的是設計新穎設計空間的範例。兩者是相輔相成的:更好的設計空間可以提高NAS搜尋算法的效率,并且通過豐富設計空間來産生更好的模型。

網絡擴充

手動和半自動網絡設計通常都關注于為特定的機制尋找性能最佳的網絡執行個體(例如,與ResNet-50相當的失敗數)。由于這個過程的結果是一個單一的網絡執行個體,是以不清楚如何使執行個體适應不同的機制(例如,更少的失敗)。一種常見的做法是應用網絡縮放規則,如改變網絡深度、寬度、分辨率或三者同時改變。相反,我們的目标是發現普遍的設計原則,這些原則适用于各種制度,并允許對任何目标制度下的最佳網絡進行有效的調優。

比較網絡

考慮到大量可能的網絡設計空間,使用可靠的比較度量來指導我們的設計過程是至關重要的。最近,有作者提出了一種比較和分析從設計空間中采樣的網絡總體的方法。這個分布級視圖與我們尋找通用設計原則的目标完全一緻。是以,我們采用這種方法,并證明它可以作為一個有用的工具,為設計空間的設計過程。

參數化

我們最終的量化線性參數化與之前的工作有相似之處,例如如何設定舞台寬度。然而,有兩個關鍵的差別。首先,我們提供了一個實證研究證明我們所做的設計選擇。其次,我們提供了以前不了解的結構設計選擇(例如,如何在每個階段設定塊的數量)。

新算法

我們的目标是設計更好的視覺識别網絡。我們不是在特定的環境下設計或尋找單一的最佳模型,而是研究模型總體的行為。我們的目标是發現一般的設計原則,可以适用于和改善整個模型人口。這樣的設計原則可以提供對網絡設計的洞察,并且更有可能泛化到新的設定中(不同于針對特定場景進行調整的單個模型)。

我們依靠Radosavovic等人提出的網絡設計空間的概念。一個設計空間是一個龐大的,可能是無限的,模型架構的種群。[I. Radosavovic, J. Johnson, S. Xie, W.-Y. Lo, and P. Dollar. ´ On network design spaces for visual recognition. In ICCV, 2019]的核心觀點是,我們可以從設計空間中抽取模型樣本,生成模型分布,并使用經典統計資料中的工具來分析設計空間。我們注意到這與架構搜尋不同,架構搜尋的目标是從空間中找到單個的最佳模型。

在這項工作中,我們建議設計一個逐漸簡化版本的初始,無限制的設計空間。我們将這個過程稱為設計空間設計。設計空間設計類似于順序的手工網絡設計,但提升到總體水準。具體地說,在我們的設計過程的每一步中,輸入是一個初始設計空間,輸出是一個精細化的設計空間,其中每一步的目的是發現設計原則,進而生成更簡單或性能更好的模型。

相對于AnyNet設計空間,RegNet設計空間是:

  • 在它所允許的網絡配置的尺寸和類型方面都進行了簡化;
  • 包含了更集中的性能最好的模型;
  • 更易于分析和解釋。

設計空間設計工具

我們首先概述用于設計空間設計的工具。為了評估和比較設計空間,我們使用了Radosavovic等人提出的工具,他們提出通過從設計空間中抽取一組模型并對結果模型誤差分布進行表征來量化設計空間的品質。這種方法背後的主要直覺是,與使用搜尋(手動或自動)和比較來自兩個設計空間的最佳模型相比,比較發行版更健壯、更有資訊性。

RegNet | 何恺明團隊最新作品,源于Fackbook AI(附下載下傳連結)

為了獲得模型的分布,我們從一個設計空間中采樣并訓練n個模型。為了提高效率,我們主要在低計算、低時代的訓練體制下進行。特别地,在本節中,我們使用4億個flop3 (400MF)機制,并在ImageNet資料集[3]上對每個采樣模型進行10個紀元的訓練。我們注意到,雖然我們訓練了許多模型,但每一次訓練都是快速的:在400MF下訓練100個模型10個epoch與在4GF下訓練單個ResNet-50模型100 epoch大緻相當。

與[I. Radosavovic, J. Johnson, S. Xie, W.-Y. Lo, and P. Dollar. ´ On network design spaces for visual recognition. In ICCV, 2019]一樣,我們分析設計空間品質的主要工具是誤差經驗分布函數(EDF)。有誤差ei的n個模型的誤差EDF為:

RegNet | 何恺明團隊最新作品,源于Fackbook AI(附下載下傳連結)

F(e)給出了誤差小于e的模型的比例。我們在上圖(左)中展示了來自AnyNetX設計空間的n = 500個采樣模型的誤差EDF。給定一組訓練過的模型,我們可以繪制和分析各種網絡屬性與網絡錯誤之間的關系,參見上圖(中間)和上圖(右邊),這兩個示例取自AnyNetX設計空間。這樣的可視化顯示了一個複雜的高維空間的一維投影,可以幫助獲得對設計空間的洞察。對于這些圖,我們使用一個經驗bootstrap4來估計最佳模型的可能範圍。

總結

  • 我們生成分布模型獲得的采樣和訓練n模型的設計空間;
  • 我們計算和繪制錯誤edf總結設計空間品質;
  • 我們想象的各種屬性設計空間和使用經驗引導了解;
  • 我們使用這些資訊來改進設計空間。
RegNet | 何恺明團隊最新作品,源于Fackbook AI(附下載下傳連結)

設計空間中模型的一般網絡結構。(a)每個網絡包括一個stem (stride-two 3×3 conv with w0 = 32 output channels),接着是執行大部分計算的網絡主體,然後是預測n個輸出類的head(平均池接全連接配接層)。(b)網絡主體由一系列按逐漸降低分辨率ri操作的階段組成。(c)除了第一個使用stride-two conv的塊外,每個階段都由一系列相同的塊組成。雖然一般結構簡單,但可能的網絡配置的總數是巨大的。

AnyNet的設計空間

接下來,我們将介紹我們最初的AnyNet設計空間。我們的重點是探索假定标準的固定網絡塊(例如,剩餘瓶頸塊)的神經網絡結構。在我們的術語中,網絡的結構包括一些元素,如塊的數量(即網絡深度)、塊的寬度(即通道的數量)和其他塊的參數(如瓶頸比率或組的寬度)。網絡的結構決定了計算、參數和記憶體在整個網絡計算圖中的分布,是決定其準确性和效率的關鍵。

在我們的AnyNet設計空間中,網絡的基本設計非常簡單。給定一個輸入圖像,一個網絡由一個簡單的主幹、執行大部分計算的網絡主體和預測輸出類的最終網絡頭組成,如圖3a所示。我們保持杆和頭固定,盡可能簡單,相反,我們關注網絡主體的結構,這是決定網絡計算和精度的核心。

RegNet | 何恺明團隊最新作品,源于Fackbook AI(附下載下傳連結)

我們的實驗大多使用标準的殘差瓶頸塊與組卷積,如上圖所示。我們将其稱為X塊,在其上建構的AnyNet設計空間稱為AnyNetX。雖然X塊非常簡陋,但我們證明了它在優化網絡結構時可以非常有效。

AnyNetX設計空間有16個自由度,因為每個網絡由4個階段組成,每個階段i有4個參數:塊數量di、塊寬度wi、瓶頸比bi群組寬度gi。我們修正了輸入分辨率r = 224,除非另有說明。為了得到有效的模型,我們對di≤16,wi≤1024,且可被8整除,bi∈{1,2,4},gi∈{1,2,…, 32}(稍後測試這些範圍)。

我們重複采樣,直到在我們的目标複雜度範圍内(360 - 400MF)獲得n = 500個模型,并對每個模型進行10個epoch的訓練。AnyNetX的基本統計資料如上面第二張圖所示。

AnyNetX的sic統計資料如下圖所示。在AnyNetX設計空間中有(16·128·3·6)4≈1018種可能的模型配置。我們不是從這些∼1018配置中尋找單個的最佳模型,而是探究是否有通用的設計原則可以幫助我們了解和改進這個設計空間。為此,我們采用了設計設計空間的方法。在這方法的每一步,我們的目标是:

1. 為了簡化設計空間的結構,

2. 為了提高設計空間的可解釋性,

3.改善或維持設計空間質素,

4. 保持設計空間的模型多樣性。

RegNet | 何恺明團隊最新作品,源于Fackbook AI(附下載下傳連結)
RegNet | 何恺明團隊最新作品,源于Fackbook AI(附下載下傳連結)

上圖:AnyNetXB(左)和AnyNetXC(中)分别引入了共享瓶頸比bi = b和共享組寬度gi = g。這簡化了設計空間,同時幾乎不會改變錯誤EDFs。此外,AnyNetXB和AnyNetXC更易于進行分析。對b和g應用經驗自舉法,我們可以看到趨勢的出現,例如,在這種情況下,95%置信b≤2是最好的(右)。在AnyNetXA的個體bi和gi中沒有明顯的這種趨勢(未顯示)。

RegNet | 何恺明團隊最新作品,源于Fackbook AI(附下載下傳連結)

上圖:示例好的和壞的AnyNetXC網絡,分别顯示在頂部和底部行。對于每個網絡,我們繪制每個塊j的寬度wj,直到網絡深度d。這些每個塊寬度wj是由每個階段的塊深度di和塊寬度wi計算出來的(列在圖例中以供參考)。

RegNet | 何恺明團隊最新作品,源于Fackbook AI(附下載下傳連結)

AnyNetXD(左)和AnyNetXE(右)。我們給出了每個階段寬度wi和深度di的各種限制條件。在這兩種情況下,增加wi和di是有益的,而使用常數或遞減值則更糟。注意AnyNetXD = AnyNetXC + wi+1≥wi,且AnyNetXE = AnyNetXD + di+1≥di。我們将很快探讨對wi和di的更強限制。

RegNet | 何恺明團隊最新作品,源于Fackbook AI(附下載下傳連結)

今天暫時到這裡,下一期我們把後面的一起說完,這是一篇非常不錯的文章,有興趣的同學一定要自己去讀,真的可以學習到很多。

如果想加入我們“計算機視覺研究院”,請掃二維碼加入我們。我們會按照你的需求将你拉入對應的學習群!

計算機視覺研究院主要涉及深度學習領域,主要緻力于人臉檢測、人臉識别,多目标檢測、目标跟蹤、圖像分割等研究方向。研究院接下來會不斷分享最新的論文算法新架構,我們這次改革不同點就是,我們要着重”研究“。之後我們會針對相應領域分享實踐過程,讓大家真正體會擺脫理論的真實場景,培養愛動手程式設計愛動腦思考的習慣!

RegNet | 何恺明團隊最新作品,源于Fackbook AI(附下載下傳連結)