CVPR 2021 | Facebook提出FP-NAS:搜索速度更快、分类精度更高、性能更好
作者|嚴(yán)志程
?來(lái)源|機(jī)器之心
來(lái)自 Facebook AI 的嚴(yán)志程團(tuán)隊(duì)發(fā)表一種新的神經(jīng)架構(gòu)的快速搜索算法。該算法采用自適應(yīng)架構(gòu)概率分布熵的架構(gòu)采樣,能夠減少采樣樣本達(dá) 60%,加速搜索快 1.8 倍。此外,該算法還包括一種新的基于分解概率分布的由粗到細(xì)的搜索策略,進(jìn)一步加速搜索快達(dá) 1.2 倍。該算法搜索性能優(yōu)于 BigNAS、EfficientNet 和 FBNetV2 等算法。
就職于 Facebook AI 的嚴(yán)志程博士和他的同事最近在 CVPR 2021 發(fā)表了關(guān)于加速概率性神經(jīng)架構(gòu)搜索的最新工作。該工作提出了一種新的自適應(yīng)架構(gòu)分布熵的架構(gòu)采樣方法來(lái)顯著加速搜索。同時(shí),為了進(jìn)一步加速在多變量空間中的搜索,他們通過(guò)在搜索初期使用分解的概率分布來(lái)極大減少架構(gòu)搜索參數(shù)。結(jié)合上述兩種技巧,嚴(yán)志程團(tuán)隊(duì)提出的搜索方法 FP-NAS 比 PARSEC [1] 快 2.1 倍,比 FBNetV2 [2] 快 1.9-3.5 倍,比 EfficientNet [3] 快 132 倍以上。FP-NAS 可以被用于直接搜索更大的模型。搜索得到 FP-NAS-L2 模型復(fù)雜度達(dá)到 1.0G FLOPS,在只采用簡(jiǎn)單知識(shí)蒸餾的情況下,FP-NAS-L2 能夠比采用更復(fù)雜的就地蒸餾的 BigNAS-XL [4]模型,提高 0.7% 分類精度。
論文鏈接:
https://arxiv.org/abs/2011.10949
背景回顧和新方法簡(jiǎn)要介紹
近年來(lái),神經(jīng)架構(gòu)的設(shè)計(jì)逐漸從手動(dòng)的人工設(shè)計(jì)變換到自動(dòng)的算法搜索 (NAS)。早期 NAS 的方法基于進(jìn)化和強(qiáng)化學(xué)習(xí),搜索速度極慢。最近,可微分神經(jīng)架構(gòu)搜索方法(DNAS) 通過(guò)共享架構(gòu)模型參數(shù)和計(jì)算架構(gòu)參數(shù)梯度來(lái)加速搜索。但是由于需要在內(nèi)存里為每一個(gè)模型層同時(shí)存放所有可能的架構(gòu)選項(xiàng),DNAS 的內(nèi)存開銷隨著搜索空間的大小線性增長(zhǎng),使得它不適用在大搜索空間內(nèi)搜索復(fù)雜度高的模型。另一方面,概率性神經(jīng)架構(gòu)搜索方法 PARSEC 每次只需要采樣一個(gè)架構(gòu),能極大減小內(nèi)存開銷,但是因?yàn)槊看螀?shù)更新需要采樣許多架構(gòu),搜索的速度較慢。
為了解決上述問(wèn)題,嚴(yán)志程團(tuán)隊(duì)提出兩個(gè)新的技巧。首先,PARSEC 方法中的固定架構(gòu)采樣的方法被一種新的自適應(yīng)架構(gòu)概率分布熵的采樣方法取代。在搜索前期,算法會(huì)采樣更多的架構(gòu)來(lái)充分探索搜索空間。在搜索后期,隨著架構(gòu)概率分布熵的減小,算法減少采樣的數(shù)量來(lái)加速搜索。其次,搜索通常在多變量空間進(jìn)行,比如卷積核的大小、模型層的寬度等。為了減少架構(gòu)參數(shù)來(lái)加速搜索,在搜索前期,我們可以用分解的概率分布來(lái)表示搜索空間進(jìn)行粗粒度搜索。在搜索后期,我們轉(zhuǎn)換到聯(lián)合的概率分布進(jìn)行精細(xì)搜索。
這項(xiàng) FP-NAS 工作的主要?jiǎng)?chuàng)新點(diǎn)和實(shí)驗(yàn)結(jié)果如下:
提出一種新的自適應(yīng)架構(gòu)概率分布熵的采樣方法,能夠減少采樣的樣本達(dá) 60%,加速搜索快 1.8 倍。
提出一種新的基于分解概率分布的由粗到細(xì)的搜索策略,進(jìn)一步加速搜索快達(dá) 1.2 倍。
對(duì)小模型搜索,FP-NAS 方法比 FBNetV2 方法快 3.5 倍,并且搜索得到的模型精度更高。
在搜索更大的復(fù)雜度達(dá)到 0.4G FLOPS 的模型時(shí),FP-NAS 比 EfficientNet 快 132 倍,同時(shí)搜到的模型 FP-NAS-L0 在 ImageNet 上比 EfficientNet-B0 精度高 0.7%。直接搜索復(fù)雜度達(dá)到 1.0G FLOPS 的大模型時(shí),FP-NAS 搜到的模型 FP-NAS-L2 精度比 EfficientNet-B2 高 0.4%。
FP-NAS 通過(guò)把 Squeeze-Excite 模塊替換成 Split-Attention 來(lái)擴(kuò)大搜索空間,同時(shí)證明單獨(dú)搜索各個(gè)模型層的 Attention splits 的必要性。
圖 1: 在 ImageNet 數(shù)據(jù)集上通過(guò)比較 FP-NAS 和其他 NAS 方法搜索得到的模型結(jié)果。
FP-NAS 搜索方法
基礎(chǔ)知識(shí)
在可微分神經(jīng)架構(gòu)搜索方法 DNAS 中,離散的模型層架構(gòu)選擇被表示成連續(xù)的所有可能選擇的加權(quán)總和。
在概率性神經(jīng)架構(gòu)搜索方法 PARSEC 中,一個(gè)架構(gòu) A 可以被表示成所有 L 個(gè)模型層上的架構(gòu)。架構(gòu)的分布可以用一個(gè)概率來(lái)刻畫。假定,每個(gè)模型層的架構(gòu)是獨(dú)立的,每個(gè)架構(gòu) A 的概率可以表示如下。
這里,α表示架構(gòu)分布參數(shù)。對(duì)常見的圖像分類問(wèn)題,我們有圖像 X 和類標(biāo)記 y,PARSEC 的優(yōu)化函數(shù)如下。
其中,ω表示模型參數(shù)。
自適應(yīng)采樣
PARSEC 搜索方法在每個(gè)優(yōu)化迭代中采樣 K 個(gè)固定數(shù)量的架構(gòu)樣本。樣本的數(shù)量 K 是一個(gè)超參,通常需要手動(dòng)調(diào)節(jié)來(lái)權(quán)衡搜索速度和最終架構(gòu)的性能矛盾。在新提出的自適應(yīng)采樣中,樣本的數(shù)量根據(jù)架構(gòu)概率分布的熵進(jìn)行自適應(yīng)改變。
這里, ?Η表示分布熵, ?λ是一個(gè)預(yù)定義的系數(shù)。自適應(yīng)采樣在搜索前期因?yàn)殪剌^高而采樣更多的架構(gòu)。但是因?yàn)樵谒阉骱笃诜植检卮蟠蠼档?#xff0c;我們只需要采樣少量架構(gòu)就能獲得很好的搜索結(jié)果。
多變量空間中的由粗到細(xì)的搜索策略
在神經(jīng)架構(gòu)搜索中,我們經(jīng)常對(duì)多個(gè)變量進(jìn)行搜索。下面兩個(gè)表格分別呈現(xiàn)搜索空間的宏架構(gòu)和微架構(gòu)。
表 1: FBNetV2-F 搜索空間的宏架構(gòu)。
表 2: FBNetV2 和 FP-NAS 搜索空間的微架構(gòu)。
我們使用的搜索空間有 M=5 個(gè)變量 ,包括特征通道數(shù)、通道擴(kuò)張比例、卷積核大小、非線性激活函數(shù)和注意力模塊里的 splits 數(shù)。假定每個(gè)變量的基數(shù)分別是 3、2、2、6 和 10,那么使用聯(lián)合概率分布表示搜素空間時(shí)需要 prod([3, 2, 2, 6, 10])=720 個(gè)架構(gòu)參數(shù)。但是使用分解概率分布時(shí),架構(gòu)參數(shù)可以被減少到 sum([3, 2, 2, 6, 10])=23,相差 31 倍。
FP-NAS 搜索空間
我們?cè)趯?shí)驗(yàn)中使用了 4 個(gè)不同的搜索空間:
FBNetV2-F space。這是先前 FBNetV2 工作中提出的一個(gè)空間,一共包含6×10^25個(gè)不同的架構(gòu)。
FBNetV2-F-Fine space。在這個(gè)空間中,每個(gè) MBConv 塊允許使用不同的架構(gòu)。
FBNetV2-F++ space。在這個(gè)空間中,原來(lái)的 SqueezeExcite 注意力模塊被新的 SplitAttention 模塊取代。split 的數(shù)目選擇從原來(lái)的 {0, 1} 被擴(kuò)展到{0, 1, 2, 4}。
FP-NAS space。為了支持搜索更大的神經(jīng)架構(gòu),我們把 FBNetV2-F++ 的搜索宏架構(gòu)變得更寬更深,同時(shí)提高輸入圖像的分辨率,得到三個(gè)更大的 FP-NAS 搜索空間 L0-L2。
圖 2: 含 Split-Attention 注意力模塊的 MBConv 模塊。
表 3: 三個(gè)包含不同復(fù)雜度模型的 FP-NAS 神經(jīng)架構(gòu)搜索空間。
主要實(shí)驗(yàn)結(jié)果
我們隨機(jī)選擇 100 個(gè) ImageNet 類的數(shù)據(jù)(ImageNet-100)用于神經(jīng)架構(gòu)搜索。不斷迭代地交替更新架構(gòu)參數(shù)α和模型參數(shù)ω進(jìn)行優(yōu)化。
如何進(jìn)行架構(gòu)樣本采樣?
PARSEC 方法在每個(gè)優(yōu)化迭代中固定采樣(FS: Fixed Sampling)若干個(gè)架構(gòu)(K=8 或者 16)。在圖 3(a)中,我們發(fā)現(xiàn)固定樣本數(shù)目 K 和搜索得到的架構(gòu)的精度 / 復(fù)雜度權(quán)衡(ATC: Accuracy-To-Complexity)高度相關(guān)。在圖 3(b)中,當(dāng) K 取值變大時(shí),架構(gòu)分布的概率熵下降得更快。在圖 3(c)中,我們發(fā)現(xiàn)在搜索階段結(jié)束的時(shí)候,ImageNet-100 上驗(yàn)證集上的精度隨著 K 取值變大而變高。在圖 3(d)中,我們看到總共的采樣樣本數(shù)量和搜索時(shí)間都隨著 K 取值變大而線性增長(zhǎng)。
對(duì)于新提出的自適應(yīng)采樣方法(AS: Adaptive sampling),我們?cè)囼?yàn)了不同的超參數(shù)。在圖 3(a)中,我們發(fā)現(xiàn)采用的自適應(yīng)采樣搜索得到的架構(gòu)已經(jīng)能達(dá)到用Κ=14的固定采樣搜索得到的架構(gòu)相似的 ATC,但是搜索時(shí)間大大縮短。在圖 3(b)中,我們發(fā)現(xiàn)采用的時(shí)候,自適應(yīng)采樣方法將架構(gòu)概率分布的熵降低到一個(gè)很低的水平,表明最有可能的架構(gòu)已經(jīng)被搜索到。在圖 3(c)中,我們發(fā)現(xiàn)采用的時(shí)候,自適應(yīng)采樣方法在 ImageNet-100 驗(yàn)證集上的分類精度已經(jīng)和固定采樣方法的分類精度幾乎一樣高。在圖 3(d)中,我們看到與采用 K=14 的固定采樣方法相比,采用的自適應(yīng)采樣方法能夠減少 60% 的樣本總數(shù)量,加快搜索達(dá) 1.8 倍。
圖 3: 固定采樣方法 (FS) 和自適應(yīng)采樣方法 (AS) 的比較。
FP-NAS 方法自適應(yīng)搜索空間的大小
在更大的搜索空間里,我們需要采樣更多的架構(gòu)樣本來(lái)充分探索空間。對(duì)于固定采樣來(lái)說(shuō),使用一個(gè)固定的樣本量 K 會(huì)阻礙搜索得到最優(yōu)的架構(gòu)。對(duì)于自適應(yīng)采樣來(lái)說(shuō),使用一個(gè)固定λ的仍然能夠保證樣本數(shù)量隨著架構(gòu)分布熵來(lái)自動(dòng)調(diào)整,不需要人工進(jìn)行調(diào)參。為了驗(yàn)證這一點(diǎn),在表 4 中,我們比較了固定采樣和自適應(yīng)采樣在 FBNetV2-F 和 FBNetV2-F-Fine 空間里的搜索結(jié)果。可以看到,在較小的 FBNetV2-F 空間中,使用兩種采樣方法得到的最終架構(gòu)擁有相似的 ATC。但是在較大的 FBNetV2-F-Fine 空間中,在不手工改變超參 K 和 λ 的情況下,自適應(yīng)方法得到的最終架構(gòu)的分類精度高出 0.9%。
表 4: 比較采用不同采樣方法在不同搜索空間中得到的最終架構(gòu)。
由粗到細(xì)的搜索策略
在圖 4 中,我們比較聯(lián)合概率分布 (JD) 和分解概率分布(FD)。在搜索前期迭代 80 次時(shí),架構(gòu)分布概率熵有很大不同(54.4 Vs 30.6)。但是在搜索后期,分解概率分布降低架構(gòu)分布概率熵的速度卻較慢,并不能精確地區(qū)分一小部分高概率的架構(gòu)。因此,我們提出混合架構(gòu)分布概率調(diào)度(MD)。在搜索開始采用分解概率分布,然后在迭代θ次的時(shí)候,將其無(wú)縫轉(zhuǎn)換到聯(lián)合概率分布。在圖 4(a)中,我們呈現(xiàn)了采用不同的混合架構(gòu)分布概率調(diào)度的搜索結(jié)果。由于其能夠在搜索前期和后期中都能較快降低架構(gòu)分布概率熵,因此在自適應(yīng)采樣的情況下,我們能夠顯著減少采樣的架構(gòu)樣本數(shù)量。在圖 4(b)和表 5 中,我們驗(yàn)證采用混合架構(gòu)分布概率調(diào)度由粗到細(xì)的搜索策略能夠進(jìn)一步減少架構(gòu)樣本達(dá) 9%,加速搜索 1.2 倍,并且不影響最終搜索架構(gòu)的性能。總結(jié)來(lái)說(shuō),當(dāng)同時(shí)采用自適應(yīng)樣本采樣和混合架構(gòu)分布概率調(diào)度,FP-NAS 能夠減少采樣樣本數(shù)量達(dá) 64%,加快搜索達(dá) 2.1 倍。
圖 4: 比較聯(lián)合概率分布調(diào)度、分解概率分布調(diào)度和本文提出的混合概率分布調(diào)度。
表 5: 比較架構(gòu)概率分布的調(diào)度和最終搜索架構(gòu)的精度。
跟 FBNetV2 比較小模型的搜索結(jié)果
表 6:和 FBNetV2 搜索方法比較搜索小模型的結(jié)果。
我們使用同樣的 FBNetV2-F 搜索空間,比較 FP-NAS 和 FBNetV2 兩種不同的搜索方法。在表 6 中,我們發(fā)現(xiàn) FP-NAS 可以加快搜索達(dá) 1.9 到 3.6 倍,并且最終得到的架構(gòu)能達(dá)到更高的分類精度。
可搜索的 Split-Attention 模塊
表 7 中我們比較了在 FBNetV2-F 和 FBNetV2-F++ 空間中采用 FP-NAS 搜索得到的架構(gòu)。我們發(fā)現(xiàn)在后者空間搜得的 FP-NAS-S++ 模型可以達(dá)到更好的精度 / 復(fù)雜度權(quán)衡。我們還把在前者空間搜得的 FP-NAS-S 模型進(jìn)行簡(jiǎn)單修改,把 splits 數(shù)目統(tǒng)一地從 1 改成 2 或者 4。我們發(fā)現(xiàn)通過(guò)這樣簡(jiǎn)單統(tǒng)一的修改 splits 數(shù)目而得到的模型會(huì)有較差的精度 / 復(fù)雜度權(quán)衡。
表 7: 比較在 FBNetV2-F 和 FBNetV2-F++ 空間中搜索得到的架構(gòu)。
大模型的搜索結(jié)果
我們?cè)?FP-NAS L 空間里搜索復(fù)雜度為{0.4G, 0.7G, 1.0G} FLOPS 的大模型。結(jié)果見表 8 和圖 1。跟 EfficientNet 相比,FP-NAS-L0 模型和 EfficientNet-B0 模型的復(fù)雜度都是 0.4G FLOPS 左右,但是 FP-NAS 的搜索速度快了 132 倍,并且最終的模型分類精度提高了 0.7%。EfficientNet B1 和 B2 模型是通過(guò)擴(kuò)大 B0 模型得到的。FP-NAS L1 和 L2 模型是直接搜索得到的。在搜索極大加速的情況,他們的分類精度分別提高了 0.9% 和 0.4%。?
表 8: 跟其他 NAS 搜索方法的比較。
其他 NAS 方法的比較
在表 8 里,我們還將 FP-NAS 跟其他主要搜索方法進(jìn)行比較,并且確認(rèn) FP-NAS 搜索的高效率和最終模型的高性能。跟 BigNAS 相比,采用簡(jiǎn)單知識(shí)蒸餾的 FP-NAS-L2 模型能夠比采用更復(fù)雜的就地蒸餾的 BigNAS-XL 模型,提高了 0.7% 分類精度。
更多的思考
自動(dòng)化神經(jīng)架構(gòu)搜索已經(jīng)成為一種主流的搭建深度模型的方法。盡管在搜索小模型方面,? 已有的搜索方法已經(jīng)取得顯著進(jìn)展,如何擴(kuò)展他們用于直接快速地搜索更大的模型仍然是一個(gè)極具挑戰(zhàn)性的課題。本文 FP-NAS 的工作是基于概率性神經(jīng)架構(gòu)搜索的框架,在其低內(nèi)存消耗優(yōu)勢(shì)基礎(chǔ)上,顯著加速其搜索過(guò)程,使得 NAS 的科研工作朝著更好的可復(fù)制性和可擴(kuò)展性方向邁進(jìn)一步。??
主要作者介紹
嚴(yán)志程博士,臉書(Facebook)人工智能應(yīng)用研究院主任科學(xué)家及技術(shù)經(jīng)理。研究方向?yàn)榇笠?guī)模圖像視頻理解、物體和環(huán)境感知、及其在增強(qiáng)現(xiàn)實(shí)中的應(yīng)用。FP-NAS、 HACS、HD-CNN 等科研項(xiàng)目的負(fù)責(zé)人和主要作者。2016 年于伊利諾伊香檳厄巴納分校獲得計(jì)算機(jī)科學(xué)專業(yè)的博士學(xué)位。從 2016 年至今,在臉書從事計(jì)算機(jī)視覺(jué)相關(guān)的科研項(xiàng)目和面向大規(guī)模應(yīng)用的工程項(xiàng)目。曾主導(dǎo)開發(fā)臉書第一個(gè)商業(yè)產(chǎn)品的視覺(jué)識(shí)別服務(wù),第一個(gè)實(shí)時(shí)處理 Facebook 和 Instagram 所有用戶視頻的大規(guī)模視頻語(yǔ)義理解服務(wù)。
?
引用文獻(xiàn)
[1] Probabilistic neural architecture search. arXiv preprint arXiv:1902.05116, 2019
[2] Fbnetv2: Differentiable neural architecture search for spatial and channel dimensions. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 12965–12974, 2020
[3] Efficientnet: Rethinking model scaling for convolutional neural networks. arXiv preprint arXiv:1905.11946, 2019.
[4] BigNAS: Scalingup neural architecture search with big single-stage models.arXiv preprint arXiv:2003.11142, 2020
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁(yè)搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺(tái)。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號(hào)后臺(tái)點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的CVPR 2021 | Facebook提出FP-NAS:搜索速度更快、分类精度更高、性能更好的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 高德技术开放日 | 聊聊技术与成长那些事
- 下一篇: 翀字取名的寓意是什么?