科學家提出多自由度網絡架構協同搜索新方法

中科院之聲 發佈 2020-07-19T03:22:50+00:00

該方法能有效緩解可微分搜索中算子崩潰、架構冗餘、無法滿足精準資源約束的問題,使用單張Titan RTX GPU的情況下,在ImageNet上用1.8天搜索到76.9% top-1準確性的網絡架構。

賦予機器人類水平的學習設計能力,使之能夠自主感知環境並設計滿足各種約束需求的計算模型是機器學習領域的前沿方向之一。

設計滿足計算量、時延等特定資源約束的高性能神經網絡架構在實際人工智慧應用中有著重要意義,是數據獲取、模型設計、訓練部署這一閉環中的組成成分。手工設計網絡架構是一個耗時耗力的過程,需大量試錯實驗,且更換硬體平台、更換資源約束條件時,還需重新設計網絡架構。近年來興起的自動網絡架構搜索技術給高性能網絡架構的設計帶來了新穎而經濟的解決思路。基於梯度更新的可微分網絡架構搜索算法在顯著降低搜索開銷的情況下,能夠從巨大的架構空間中搜索到有效的網絡架構。但由於可微分網絡架構搜索中超網絡權重共享、單路徑採樣和寬度粗粒度離散性的搜索空間,搜索到的網絡架構很難同時達到準確性和資源約束上的最優。可微分網絡架構搜索仍有很多問題亟待解決。

近日,中國科學院自動化研究所智能感知與計算研究中心團隊從算子、深度和寬度三個自由度重新思考當前主流的可微分網絡架構搜索算法,通過實驗分析與驗證,提出一種新的網絡架構自動搜索方法,可穩定高效地從龐大的架構空間中搜索到高準確性的網絡架構,同時嚴格滿足時延約束。該方法能有效緩解可微分搜索中算子崩潰、架構冗餘、無法滿足精準資源約束的問題,使用單張Titan RTX GPU的情況下,在ImageNet上用1.8天搜索到76.9% top-1準確性的網絡架構。

該研究分別提出了雙路採樣算法、匯點連接空間和彈性縮放策略。

針對算子層面的搜索,該研究實驗發現現有的單路採樣方法會導致算子崩潰現象發生,即在搜索過程的早期階段算法就在某些搜索層中聚焦於某一個特定的算子,並在餘下的搜索過程中陷入其中保持不變,導致搜索到非最優的網絡架構。針對此問題,該研究設計了多種採樣方式,發現加入隨機路徑採樣的雙路採樣方法可有效緩解算子崩潰現象發生。

針對深度層面的搜索,現有算法通常直接將跨層(Skip)算子加入到待搜索候選算子集中。但由於跨層算子的非參數性以及與其他算子的互斥性,這種設計方式會導致網絡深度的搜索不穩定,在整個搜索過程中有非常大的抖動。此外,跨層算子的直接加入也會引起架構冗餘現象發生。為了解決這個問題,該研究設計了一個匯點連接搜索空間,將跨層算子的搜索剝離出來,增加深度搜索穩定性,同時也解決了架構冗餘問題。

針對寬度層面的搜索,該研究發現由於寬度搜索空間粗粒度的離散性和無界的資源約束目標函數項,現有方法很難搜索到嚴格滿足特定資源約束的網絡架構,且對資源約束目標函數項的超參數設置十分敏感。為緩解這些問題,該研究提出彈性縮放策略在搜索過程中動態自適應地調整超網絡中每一搜索層中每一搜索算子的寬度。

相關成果已被計算機視覺領域學術會議ECCV2020接收。

三自由度網絡架構搜索框架圖

搜索過程中架構深度變化和架構冗餘

彈性縮放策略

不同資源約束目標函數項下彈性縮放的有效性

GPU和CPU上搜索架構結果,GPU時延測試批大小為32,CPU時延測試批大小為1

來源:中國科學院自動化研究所

關鍵字: