華為高級研究員謝凌曦:下一代人工智能計算模型探索

導讀:下一代人工智能計算模型,主要是使用一些自動化技術幫助我們設計更好的深度學習網絡結構,並在任務中提升性能。在深度學習如火如荼的當下,如何設計高效的神經網絡架構,是研究者面臨的重大挑戰。本文將從網絡架構搜索——這一當下火熱的話題切入,探討其中一類利用權重共享加速搜索的方法,並且分析這類方法存在的問題,給出自己的解決方案。

本次分享的具體內容有:

從AI的三大挑戰,引出自動化機器學習和網絡架構搜索的重要性

網絡架構搜索的通用框架

權重共享的網絡架構搜索算法以及面臨的挑戰

我們在網絡架構搜索方面的工作

總結和未來展望

01

從 AI 的三大挑戰,引出自動化機器學習和網絡架構搜索的重要性

1. AI 領域未來面臨的挑戰

AI 領域未來面臨的挑戰,有3件事是確定的:數據 ( data ),模型 ( model ),知識 ( knowledge )。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


① 數據

Data-efficiency:如何利用有限或多模態數據訓練模型?

在如今的數據爆炸時代,會產生海量的數據,其中只有很少的數據有數據標註,大量的數據沒有數據標註,且數據很"髒"。於是引出了第一個問題:如何從海量數據中,真正學習到自己想要的東西。

AI 未來的發展方向是從全監督發展成自監督和無監督的方向。

② 模型

Auto-learning:如何為人工智能應用設計強大高效的模型?

這一代的計算模型主要是基於深度學習的,尤其是卷積神經網絡。深度學習在圖像識別領域的應用,使得原先的模型從手工識別特徵發展到自動學習特徵。

基於這種發展的趨勢,我們將模型繼續推進一步,使得深度學習的網絡設計也從手動轉為自動。這是模型部分所面臨的挑戰。

③ 知識

Knowledge-aware:如何定義和存儲知識,使訓練後的模型安全可靠?

現有模型的算法,大部分都是擬合和訓練數據,並不能保證擬合得到的結果具備分析常識的能力,即"不能真正地學習知識"。由於計算機缺乏常識,對知識的學習,可能會成為 AI 未來5年的研究方向。

2. AutoML

本文的重點是模型部分,主要分析手動和自動兩種思路的區別。

2017年自動化網格搜索架構被提出後,"手動更好"還是"自動更好"這類爭論不斷。在爭論的過程中逐漸催生出了一個新的方向,稱為自動化機器學習 ( AutoML )。這一方向在工業界得到了更多的關注度。

工業界的關注度超過學術結,主要有兩個原因:

① 工業界的算力更強。

AutoML 算法對計算資源的消耗非常大。例如,Google 發表的 NAS 方面的論文,每天需要上萬個 GPU 才能完成計算。

② 工業界有很強的需求。

AutoML 可以幫工業界節省很多的開發成本。以華為為例,華為有各種各樣不同的手機產品,從旗艦機到低端的手機,芯片的計算能力會差很多。用戶會需要在不同的手機中完成相似的功能 ( 如拍視頻 ),因此針對不同的芯片需要設計不同的網絡架構以滿足用戶的需求;另一方面,用戶的需求 ( 如清晰度的要求 ) 是實時變化的,如果使用人工機器學習算法,會帶來巨大的人力投入。基於此,工業界存在自動化算法的需求。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


3. NAS

① 簡介

NAS,是 AutoML 的一個子課題,核心是:使用自動設計的網絡架構,來替代手工設計的網絡架構,使用自動算法探索 ( unexplored architectures )。

在2015年前,所有的神經網絡架構幾乎都是手工設計的。如下圖,是一個典型的神經網絡架構——ResNet

② NAS 對業界的影響

對於 ImageNet 這類標準的視覺任務,從2018年開始,最佳的算法屬於 NAS 這類自動搜索出來的網絡架構。2018年-2019年,最佳算法是 Google 開發出來的;2020年,華為在 Google 的 EfficientNet 的基礎上增加了一些自研算法,其準確率超過了 Google 自有的性能。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


另一方面,在 Mobile setting 方面 ( 即 FLOPs 不超過 600M ) 的圖像分類任務中,NAS 比人工設計方法具有更好的表現。因為"資源受限",就更需要精細化設計,這是人工所不擅長的。在這一賽道上,華為自研算法在表現上已經超過了 Google。目前這項研究還在進行中。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


這類 NAS 的方法帶動了業界很多任務領域發生了變化,除了分類任務外,檢測、分割、底層視覺等任務的實現方法都產生了很大的變革。下一部分會簡要介紹業界 NAS 框架的通用 pipeline。

02

網絡架構搜索的通用框架

1. 通用 Pipeline

業界和 NAS 相關的文獻已有超過200篇,但這些文獻的思路都大同小異,都是基於 "trialand update" 的思路開展的工作。所謂 "trialand update",就是在超大的搜索空間中,按照一定的規則啟發式地尋找最優的網絡架構。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


常使用以下步驟:

華為高級研究員謝凌曦:下一代人工智能計算模型探索


2. NAS 三要素

NAS 的三要素是:搜索空間,搜索策略,評估方法。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


搜索空間:哪種結構可以被找到?

搜索策略:如何從較大空間中進行結構採樣?

評估方法:如何評估採樣結構?

① 搜索空間

定義搜索空間的過程中,會遇到很多選項:

選項一:定義一個開放空間還是封閉空間?

目前大部分的搜索空間都是封閉空間,即:

搜索空間是預先定義好的

能搜索到哪些網格架構是預先清楚瞭解的

未來的發展方向可能會是開放性的搜索空間。

選項二:是否預先定義單元格 cell?是基於 cell 的搜索還是對網格架構做整體搜索?

推測未來的發展方向是整體搜索,但如今算法發展程度有限,主要還是基於 cell 的搜索。

選項三:操作集的規模要多大?

這個需要根據具體場景定義;通常使用下圖中操作集的子集。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


② 搜索策略

目前常見的搜索策略包括兩類:獨立的搜索策略和權值共享的搜索策略。我們的工作,主要偏向於後者。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


權值共享的含義是:

在訓練的較大網絡中,包含很多小的網絡;

在評估小網絡的時候,可以利用以前計算的結果。

③ 評估方法

評估方法與搜索策略"強綁定"。獨立的搜索策略,每個網絡搜索出來後,需要獨立地從頭到尾訓練一遍;而權重共享的搜索策略,會有對應的更加高效的方法進行評估。

03

權重共享的網絡架構搜索算法以及面臨的挑戰

1. 搜索效率是關鍵

前期 Google 採用獨立的搜索策略,將採樣的每個網絡結構從頭到尾都訓練一遍,搜索過程耗時長,搜索效率極低 ( 每個搜索耗用上千個 GPU 天 )。

針對這一問題,採用的解決辦法是:複用前面訓練好的結果。這樣逐漸就形成了"權重共享"這樣的方式。

解決方法:採樣結構間共享計算

好處:將單個搜索的成本降低到少於一個 GPU 天

帶來了新的問題:權重共享機制引入了誤差

華為高級研究員謝凌曦:下一代人工智能計算模型探索


2. NAS 的兩大主流方向

① 獨立 NAS 方法:獨立搜索與評價

優點:

搜索 pipeline 相對靈活

更容易執行多目標優化

搜索和評估分離,因此更穩定

缺點:

搜索過程耗時

華為高級研究員謝凌曦:下一代人工智能計算模型探索


② 權重共享 NAS 方法:聯合搜索和評估

優點:

搜索過程計算效率高

缺點:

大量權重共享,會給搜索帶來不穩定性

因此,如何處理這種不穩定性,也是本文後面分析的主要內容。

3. 可微 NAS

如今業界常用的方法是 DARTS 法 ( 可微分網絡架構搜索方式 ),將網絡架構構建成 cell-based 的方法,每個階段都是一個單元,每個單元內都會有很複雜的結構;而單元結構的數量,可以在訓練過程中做調整。

① 基於單元的搜索空間

可重複單元,單元數量可調。

② 在每個 Normal Cell 中,搭建有向無環圖 ( DAG )

所有運算符都可以出現在每個邊上,並帶有加權和

將架構搜索變成一個持續優化的問題

將架構剪枝,保留主導算子,最終確定架構

華為高級研究員謝凌曦:下一代人工智能計算模型探索


這樣處理,只需要超網絡的一次訓練,就可以得到這樣的網絡架構。

4. DARTS 的本質和弊端

通過測試發現,DARTS 結構非常不穩定。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


當網絡訓練參數設定在50輪的時候,得到的網絡架構還比較"正常";但是當訓練迭代設定在100輪時,會得到很"奇怪"的網絡架構:所有節點間都是"跳連" ( skip_connect ) 運算,這樣就失去了網絡的意義。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


DARTS 的本質是訓練超級網絡,再通過剪枝處理形成子網絡。但是這裡有個前提假設:優化良好的超級網絡可以產生良好的子網絡。

但是,上述假設並不一定成立:超級網絡和子網絡之間可能存在很大的"優化差距"。

一個極端的例子:搜索崩潰,超級網絡中的所有邊緣都被一個弱的 skip_connect 算子控制,但是超級網絡的驗證精度仍然很高

當前解決方案:提前終止,這使得搜索結果相當不確定

由此可以看到,即使超網絡訓練得再好,也不一定能夠得到一個有效的子網絡。因此,我們後面的工作主要集中在縮小優化誤差。

04

我們在神經結構搜索方面的代表性工作

1. P-DARTS ( Progressive-DARTS ):縮小搜索和評估之間的差距

① 概覽

我們著眼點:"優化誤差"的一個特例——深度誤差

觀察:搜索過程在淺層架構上執行,但評估過程在深層架構上執行

深度誤差:淺層架構中的最佳配置不一定適用於深層架構

我們的解決方案:逐步增加搜索深度

兩種有用的技術:搜索空間近似和搜索空間正則化

在標準圖像分類基準上取得了不錯的結果:

在 CIFAR10/CIFAR100 和 ImageNet 上,大大改進了 DART 以外的功能

搜索成本低至 0.3 GPU 天 ( 單 GPU 7小時 )

華為高級研究員謝凌曦:下一代人工智能計算模型探索


② 縮小深度差距

上圖中,在 DARTS 搜索階段,堆疊了8個單元;網絡應用階段,堆疊了超過20個單元。這樣會帶來"深度誤差"。即使忽略"深度誤差",訓練過程中得到的網絡也是8層結構上的最優網絡,不是20層結構上的最優網絡。而如果直接搜索深層架構 ( 20個單元 ),計算效率又非常低下且不穩定。

基於此,我們的解決方案是:在搜索過程中逐步增加網絡深度。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


③ 整個流程

使用搜索空間近似法可降低搜索成本:每次增加超級網絡深度時,我們都會修剪一部分弱邊。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


④ 優化技巧

在深層網絡上,由於跳連操作對網絡的穩定性有較大的影響,因此儘可能保留同樣數量的跳連操作。這樣的操作,給網絡架構帶來一個非常強的"先驗",增強網絡的穩定性。因此,對搜索空間的選擇是非常重要的。

結果 ( 選取 CIFAR10 作為測試集 ):

華為高級研究員謝凌曦:下一代人工智能計算模型探索


⑤ 在經典數據集上的表現

相比於 DARTS 方法,NAS 具備更優的性能和更快的搜索效率。

在 CIFAR10 數據集:

錯誤率:P-DARTS 2.55% vs DARTS 2.94%

單次搜索資源消耗:NAS 0.3 GPU 天 vs DARTS 4 GPU 天

華為高級研究員謝凌曦:下一代人工智能計算模型探索


在 ImageNet 數據集:

錯誤率:NAS 24.4% vs DARTS 26.7%

單次搜索資源消耗:P-DARTS 0.3 GPU 天 vs DARTS 4 GPU 天

華為高級研究員謝凌曦:下一代人工智能計算模型探索


⑥ 在單元中的搜索架構

華為高級研究員謝凌曦:下一代人工智能計算模型探索


華為高級研究員謝凌曦:下一代人工智能計算模型探索


華為高級研究員謝凌曦:下一代人工智能計算模型探索


與 DARTS 相比,更深入的架構,進而驗證了深度差異的存在。

2. PC-DARTS ( Partial Channel ):NAS 正則化與規範化

① 概覽

我們關注"優化差距"的另一個方面——過擬合

觀察:超級網絡可以很容易地擬合訓練數據;但是經過修剪,子網不能繼承超級網的能力

"過度擬合問題":最好的超級網絡不一定產生修剪後的最佳子網

我們的解決方案是隨機抽取部分超級網絡頻道,這樣處理的一個附帶好處可以加快搜索過程。我們在標準圖像分類基準上取得了不錯的結果:

在 CIFAR10 和 ImageNet 上,在 DARTS 基礎上產生了很大的改進

搜索成本低至0.06 GPU 天 ( 單個 GPU 1.5小時 )

② 總體流程

PC-DARTS 包括兩個重要步驟:PC ( PartialConnection ) 和EN ( Edge Normalization,邊正則化 )

使用 PC 的方式,訓練速度會變慢,但是穩定性會變強;

華為高級研究員謝凌曦:下一代人工智能計算模型探索


使用 EN 的方式,用額外的參數進行"選邊",這樣會提高"剪枝"操作的穩定性。

③ 在經典數據集上的表現

相比於 DARTS 方法,PC-DARTS 具備更優的性能和更快的搜索效率

在 CIFAR10 數據集:

錯誤率:PC-DARTS 2.57% vs DARTS 2.76%

非常快的搜索速度,單次搜索資源消耗:0.06 GPU 天

華為高級研究員謝凌曦:下一代人工智能計算模型探索


在 ImageNet 數據集:

單次搜索資源消耗:3.8 GPU 天;錯誤率降至24.2%,比 P-DARTS 錯誤率更低。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


④ 網絡消融研究

邊緣規範化提高了搜索穩定性:

PC-DARTS 的 EN 部分不僅適用於此方法,也適用於其他基於 channnel 的方法

搜索效率和準確性之間存在權衡:

大多數情況下,大型數據集需要採集更豐富的信息

華為高級研究員謝凌曦:下一代人工智能計算模型探索


⑤ 單元搜索結構

從 CIFAR10 和 ImageNet 中搜索不同的單元格;在 CIFAR10 上的搜索任務,基本上都是並聯卷積,很少有串聯部分,也獲得了很好的性能;而在 ImageNet 搜索任務中,建立的單元格更深。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


3. Stabilized-DARTS:縮小穩定優化誤差

我們處理數學中的“優化誤差”:

一個重要的關鍵在於梯度計算的近似誤差。原始的 DARTS 方法,可能會導致梯度方向的錯誤。

為了縮小優化誤差,我們對梯度進行了更好的估計,確保每次優化的梯度方向和真實的梯度方向夾角小於90度,緩解了 DARTS 的不穩定特性。

我們的方法在一個非常大的搜索空間中工作,實現了搜索性能的穩定:

華為高級研究員謝凌曦:下一代人工智能計算模型探索


4. LA-DARTS:在可區分的 NAS 中引入延遲

我們允許基於 DARTS 的方法進行延遲預測,在保證精度的前提下,PC 端 DARTS 的延遲減少了20%。

華為高級研究員謝凌曦:下一代人工智能計算模型探索


5. Scalable-DARTS:擴大因子分解的搜索空間

我們通過分解擴大 channel 的搜索空間:

將一個大的算子集分解成幾個小的集合

搜索空間中的運算符數量增加,但額外成本很少,不穩定風險可控

在 CIFAR10 和 ImageNet 的準確性都得到了一致的提高

華為高級研究員謝凌曦:下一代人工智能計算模型探索


05

總結和未來展望

1. 總結

① AutoML 是一個新興的話題,也是人工智能未來的一部分,NAS 是 AutoML 的一個分支,是深度學習的前沿方法。

② NAS 的兩個主要選擇:離散優化與權重共享優化

啟發式搜索是保守的,適用於小空間,並且行為穩定

可微搜索很有前途,但仍有許多嚴重問題需要解決

③ 朝向穩定可微搜索:縮小優化差距

P-DARTS,PC-DARTS,Stabilized DARTS:側重於搜索策略

Scalable-DARTS:側重於擴大搜索空間

LA-DARTS:側重於硬件友好性

2. 未來趨勢

問題1:哪種搜索策略更好,是離散搜索還是權重共享搜索?

離散:大多數用戶似乎負擔不起計算開銷

權重分享:穩定性低於滿意度,但已取得進展

問題2:基本搜索單元應該是什麼,是層還是基本運算符?

較小的基本單位意味著較大的搜索空間,這需要搜索穩定性

較小的基本單元可能給硬件設計帶來挑戰

問題3:如何將搜索到的架構應用到現實場景中?

硬件:可區分的搜索方法還不適合,比如延遲問題。

個人願景任務:是否共享同一主幹?


分享到:


相關文章: