enas 參數共享_CVPR2020 | CARS: 華為提出基于進化算法和權值共享的神經網絡結構搜索,CIFAR10上僅需單卡半天...

點擊上方“CVer”,選擇加"星標"或“置頂”

重磅干貨,第一時間送達9b602a99c4fd3fa84642e0392b65c383.png

本文轉載自:曉飛的算法工程筆記

為了優化進化算法在神經網絡結構搜索時候選網絡訓練過長的問題,參考ENAS和NSGA-III,論文提出連續進化結構搜索方法(continuous evolution architecture search, CARS),最大化利用學習到的知識,如上一輪進化的結構和參數。首先構造用于參數共享的超網,從超網中產生子網,然后使用None-dominated排序策略來選擇不同大小的優秀網絡,整體耗時僅需要0.5 GPU day

論文: CARS: Continuous Evolution for Efficient Neural Architecture Search

a9990318b34c84ee5a2c818c1e9f9676.png
  • 論文地址:https://arxiv.org/abs/1909.04977

Introduction


? 目前神經網絡結構搜索的網絡性能已經超越了人類設計的網絡,搜索方法大致可以分為強化學習、進化算法以及梯度三種,有研究表明進化算法能比強化學習搜索到更好的模型,但其搜索耗時較多,主要在于對個體的訓練驗證環節費事。可以借鑒ENSA的權重共享策略進行驗證加速,但如果直接應用于進化算法,超網會受到較差的搜索結構的影響,因此需要修改目前神經網絡搜索算法中用到的進化算法。為了最大化上一次進化過程學習到的知識的價值,論文提出了連續進化結構搜索方法(continuous evolution architecture search, CARS)
? 首先初始化一個有大量cells和blocks的超網(supernet),超網通過幾個基準操作(交叉、變異等)產生進化算法中的個體(子網),使用Non-dominated 排序策略來選取幾個不同大小和準確率的優秀模型,然后訓練子網并更新子網對應的超網中的cells,在下一輪的進化過程會繼續基于更新后的超網以及non-dominated排序的解集進行。另外,論文提出一個保護機制來避免小模型陷阱問題

Approach


? 論文使用基因算法(GA)來進行結構進化,GA能提供很大的搜索空間,對于結構集,為種群大小。在結構優化階段,種群內的結構根據論文提出的pNSGA-III方法逐步更新。為了加速,使用一個超網用來為不同的結構共享權重,能夠極大地降低個體訓練的計算量

Supernet of CARS

? 從超網中采樣不同的網絡,每個網絡可以表示為浮點參數集合以及二值連接參數集合,其中0值表示網絡不包含此連接,1值則表示使用該連接,即每個網絡可表示為對
? 完整的浮點參數集合是在網絡集合中共享,如果這些網絡結構是固定的,最優的可通過標準反向傳播進行優化,優化的參數適用于所有網絡以提高識別性能。在參數收斂后,通過基因算法優化二值連接,參數優化階段和結構優化階段是CARS的主要核心

Parameter Optimization

? 參數為網絡中的所有參數,參數,為mask操作,只保留對應位置的參數。對于輸入,網絡的結果為,為-th個網絡,為其參數

1472f5e5eadcf842357820b346309051.png

? 給定GT?,預測的損失為,則的梯度計算如公式1

f74ea8b680c0db7c48b665db102b56d9.png

? 由于參數應該適用于所有個體,因此使用所有個體的梯度來計算的梯度,計算如公式2,最終配合SGD進行更新

15ed2bff5f0b6ec7bb90f70734709976.png

? 由于已經得到大量帶超網共享參數的結構,每次都集合所有網絡梯度進行更新會相當耗時,可以借鑒SGD的思想進行min-batch更新。使用個不同的網絡進行參數更新,編號為。計算如公式3,使用小批量網絡來接近所有網絡的梯度,能夠極大地減少優化時間,做到效果和性能間的平衡

Architecture Optimization

? 對于結構的優化過程,使用NSGA-III算法的non-dominated排序策略進行。標記為個不同的網絡,為希望優化的個指標,一般這些指標都是有沖突的,例如參數量、浮點運算量、推理時延和準確率,導致同時優化這些指標會比較難

abd3ebab691d2f2270c2bdb226ff1dca.png

? 首先定義支配(dominate)的概念,假設網絡的準確率大于等于網絡,并且有一個其它指標優于網絡,則稱網絡支配網絡,在進化過程網絡可被網絡代替。利用這個方法,可以在種群中挑選到一系列優秀的結構,然后使用這些網絡來優化超網對應部分的參數
? 盡管non-dominated排序能幫助選擇的更好網絡,但搜索過程仍可能會存在小模型陷阱現象。由于超網的參數仍在訓練,所以當前輪次的模型不一定為其最優表現,如果存在一些參數少的小模型但有比較高的準確率,則會統治了整個搜索過程。因此,論文基于NSGA-III提出pNSGA-III,加入準確率提升速度作為考慮

37d0f562c63a82cf07f2d975c465aa8c.png

? 假設優化目標為模型參數和準確率,對于NSGA-III,會根據兩個不同的指標進行non-dominated排序,然后根據帕累托圖進行選擇。而對于pNSGA-III,額外添加考慮準確率的增長速度的non-dominated排序,最后結合兩種排序進行選擇。這樣,準確率增長較慢的大模型也能得到保留。如圖2所示,pNSGA-III很明顯保留的模型大小更廣,且準確率與NSGA-III相當

Continuous Evolution for CARS

ceb58b643a28cf73ccb65539e2c506d7.png

? CARS算法的優化包含兩個步驟,分別是網絡結構優化和參數優化,另外,在初期也會使用參數warmup

  • Parameter Warmup,由于超網的共享權重是隨機初始化的,如果結構集合也是隨機初始化,那么出現最多的block的訓練次數會多于其它block。因此,使用均分抽樣策略來初始化超網的參數,公平地覆蓋所有可能的網絡,每條路徑都有平等地出現概率,每種層操作也是平等概率,在最初幾輪使用這種策略來初始化超網的權重
  • Architecture Optimization,在完成超網初始化后,隨機采樣個不同的結構作為父代,為超參數,后面pNSGA-III的篩選也使用。在進化過程中生成個子代,是用于控制子代數的超參,最后使用pNSGA-III從中選取個網絡用于參數更新
  • Parameter Optimization,給予網絡結構合集,使用公式3進行小批量梯度更新

Search Time Analysis

644f82e678240a884c742da1f6fc8652.png

? CARS搜索時,將數據集分為數據集和驗證集,假設單個網絡的訓練耗時為,驗證耗時,warmup共周期,共需要時間來初始化超網的參數。假設進化共輪,每輪參數優化階段對超網訓練周期,所以每輪進化的參數優化耗時,為mini-batch大小。結構優化階段,所有個體是并行的,所以搜索耗時為。CARS的總耗時如公式5

Experiments


Experimental Settings

  • supernet Backbones

? 超網主干基于DARTS的設置,DARTS搜索空間包含8個不同的操作,包含4種卷積、2種池化、skip連接和無連接,搜索normal cell和reduction cell,分別用于特征提取以及下采樣,搜索結束后,根據預設將cell堆疊起來

  • Evolution Details

? 在DARTS中,每個中間節點與之前的兩個節點連接,因此每個節點有其獨立的搜索空間,而交叉和變異在搜索空間相對應的節點中進行,占總數的比例均為0.25,其余0.5為隨機生成的新結構。對于交叉操作,每個節點有0.5的概率交叉其連接,而對于變異,每個節點有0.5的概率隨機賦予新操作

Experiments on CIFAR-10

  • Small Model Trap
a2f4a04d0313e9abb8d1e20acef76e5d.png

? 圖3訓練了3個不同大小的模型,在訓練600輪后,模型的準確率與其大小相關,從前50輪的曲線可以看出小模型陷阱的原因:

  1. 小模型準確率上升速度較快
  2. 小模型準確率的波動較大

? 在前50輪模型C一直處于下風,若使用NSGA算法,模型C會直接去掉了,這是需要使用pNSGA-III的第一個原因。對于模型B和C,準確率增長類似,但由于訓練導致準確率波動,一旦模型A的準確率高于B,B就會被去掉,這是需要使用pNSGA-III的第二個原因

  • NSGA-III vs. pNSGA-III

? 如圖2所示,使用pNSGA-III能避免小模型陷阱,保留較大的有潛力的網絡

  • Search on CIFAR-10

? 將CIFAR分為25000張訓練圖和25000張測試圖,共搜索500輪,參數warmup共50輪,之后初始化包含128個不同網絡的種群,然后使用pNSGA-III逐漸進化,參數優化階段每輪進化訓練10周期,結構優化階段根據pNSGA-III使用測試集進行結構更新

  • Search Time analysis

? 對于考量模型大小和準確率的實驗,訓練時間為1分鐘,測試時間為5秒,warmup階段共50輪,大約耗費1小時。而連續進化算法共輪,對于每輪結構優化階段,并行測試時間為,對于每輪的參數優化階段,設定,大約為10分鐘,大約為9小時,所以為0.4 GPU day,考慮結構優化同時要計算時延,最終時間大約為0.5 GPU day

  • Evaluate on CIFAR-10
aa29c5b145137b23ba4e301942e24931.png

? 在完成CARS算法搜索后,保留128個不同的網絡,進行更長時間的訓練,然后測試準確率

  • Comparison on Searched Block
e54c9f7e8b675cd230acc9d4cb75b00b.png

? CARS-H與DARTS參數相似,但準確率更高,CARS-H的reduction block包含更多的參數,而normal block包含更少的參數,大概由于EA有更大的搜索空間,而基因操作能更有效地跳出局部最優解,這是EA的優勢

Evaluate on ILSVRC2012

fae1851467801a677f9e94157ecb11c2.png

? 將在CIFAR-10上搜索到網絡遷移到ILSVRC22012數據集,結果表明搜索到的結構具備遷移能力

CONCLUSION


? 為了優化進化算法在神經網絡結構搜索時候選網絡訓練過長的問題,參考ENAS和NSGA-III,論文提出連續進化結構搜索方法(continuous evolution architecture search, CARS),最大化利用學習到的知識,如上一輪進化的結構和參數。首先構造用于參數共享的超網,從超網中產生子網,然后使用None-dominated排序策略來選擇不同大小的優秀網絡,整體耗時僅需要0.5 GPU day

參考內容

  • Pareto相關理論 (https://blog.csdn.net/qq_34662278/article/details/91489077)

推薦閱讀

2020年AI算法崗求職群來了(含準備攻略、面試經驗、內推和學習資料等)

重磅!CVer-NAS交流群已成立

掃碼添加CVer助手,可申請加入CVer-NAS微信交流群,旨在交流AutoML(NAS)等的學習、科研、工程項目等內容。

一定要備注:研究方向+地點+學校/公司+昵稱(如NAS+上海+上交+卡卡),根據格式備注,可更快被通過且邀請進群

b85fface31fb1e11e4e75d48efc7ee74.png

▲長按加群

961b8591cd0350bd3183a4228e4ced5a.png

▲長按關注我們

麻煩給我一個在看!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529894.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529894.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529894.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

gis發布及應用服務器,超圖云GIS應用服務器平臺

商品說明版本:V9D交付方式:License適用于:Windows/Linux/Unix/Android/iOS/其他上架日期:2020-10-27交付SLA:180 自然日規格1:iServer高級版基于跨平臺GIS內核的云GIS應用服務器,含空間數據庫引擎SDX;提供地圖服務、空間數據訪問與管理服務、…

gradle引入子module配置_原創 | 看完此文,你對Gradle的理解又升級了

前言這一篇來介紹一些Gradle進階的內容,當然進階內容非常多,這篇文章就總結一些相對重要的、常用的一些知識點,比如Gradle的簽名配置和依賴管理。1.Android簽名文件配置在一般公司中,當團隊比較小的時候,App的簽名信息…

ajax發送私信,$.ajax()方法詳解

jquery中的ajax方法參數總是記不住,這里記錄一下。1.url:要求為String類型的參數,(默認為當前頁地址)發送請求的地址。2.type:要求為String類型的參數,請求方式(post或get)默認為get。注意其他http請求方法,例如put和delete也可以…

怎樣制作線段動畫_OPPO又開發布會!這兩個PPT動畫太炫了,榮獲網友清一色好評...

前兩天,OPPO在線上發布了find X2系列,觀看發布會直播的時候,真的有被發布會的開場驚艷到,視覺體驗太震撼了。這是我隨便錄的一個動畫,滿滿的視覺沖擊力:在看完發布會之后,我對整場發布會印象最深…

文件服務器的文件設置只讀,服務器設置文件為只讀

服務器設置文件為只讀 內容精選換一換有,該NTP服務器僅限于在華為云控制臺上購買的彈性云服務器安裝使用。如需在購買的彈性云服務器上安裝NTP服務器,您可以選擇使用華為云控制臺自己提供的NTP服務器,也可以選擇其他NTP服務器。安裝NTP服務器…

matlab三位畫圖_matlab 3D繪圖詳解(示例代碼)

1、三維曲線: plot3() →plot3(X1,Y1,Z1,...) →plot3(X1,Y1,Z1,LineSpec,...) →plot3(...,‘PropertyName‘,PropertyValue,...) →h = plot3(...) plot3( )的用法與plot( )類似,只是多了一個 Z 數組。舉例: >> t=[0:0.2:10*pi]; >> x=2*t; >> y=sin(t)…

手機修改ntp服務器地址,修改手機ntp服務器ip地址

修改手機ntp服務器ip地址 內容精選換一換本文介紹使用云手機服務時需要了解的基本概念。云手機是一臺包含原生安卓操作系統,具有虛擬手機功能的云服務器,簡單來說,云手機云服務器Android OS。您可以遠程實時控制云手機,實現安卓AP…

圖像控制點 形變_基于控制點的圖象變形方法及其應用

基于控制點的圖象變形方法及其應用楊金鐘;劉政凱;俞能海;吳皓【期刊名稱】《中國圖象圖形學報》【年(卷),期】2001(006)011【摘要】根據人臉,特別是根據人臉在人眼變形中對形狀和細節的要求,提出了用光滑不等距插值和空間可變線性插值方法來實現基于控制點網格的數字圖象變形的…

window10維護不了華為服務器,win10怎么打開云服務器異常

win10怎么打開云服務器異常 內容精選換一換本節介紹如何查看云服務器的mac地址。云服務器的mac地址不支持修改。登錄Linux云服務器。執行以下命令,查看云服務器的mac地址。ifconfig查看MAC地址ifconfig登錄Linux云服務器。執行以下命令,查看云服務器的ma…

命令行cd到_前端(只)需要掌握這些命令行(就還行了)

練習windows 用戶在任意目錄使用 shift 右鍵 打開 cmd 或者 powershell;或通過其他方式打開命令行cd ~/Desktop 回車恭喜你在命令行里進入了桌面輸入命令 mkdir demo1cd demo1 進入目錄cd .. 回退到桌面rm -rf demo1 刪除目錄,其中 -r 表示遞歸地刪除路…

怎么在win7鏈接無線網絡連接服務器,Win7系統網絡連接一直顯示正在獲取網絡地址但是連不上網解決方法...

電腦上不了網的原因很多,比如是網絡設置問題、路由器問題、運營商問題。最近一個Win7用戶,網絡連接一直顯示,正在獲取網絡地址但是連不上網,但是其它電腦可以上網,那么說明是電腦設置問題,那么該如何解決呢…

工況密度和標況密度怎么換算_什么是載流量?導線的載流量與電流密度怎么計算?圖文詳解!...

(1)導線規格在國標《GB/T3956-2008 電纜的導體》中,我們能看到國家對電纜導線的截面積進行標準化。按照國標規定,標稱的電纜導線規格如下(單位mm2):0.5、0.75、1、1.5、2.5、4、6、10、16、25、35、50、70、95、120、150、185、240、300、400…

assume用法及意思_詞匯精選:assume的用法和辨析

一、詳細釋義:v.假定;臆斷 [T]例句:You assume his innocence before hearing the evidence against him.在未聽到對他不利的證言之前,你假定他是無罪的。例句:I assume that it is so.我假定它是這樣。例句&#xff1…

把iconfront的資源放cdn訪問_詳解mpvue小程序中怎么引入iconfont字體圖標

前言iconfont阿里巴巴矢量圖標庫是我很喜歡的一個網站,可以下載/在線編輯/上傳自己需要的矢量圖標,也支持團隊協作,那么在mpvue項目中如何引入呢?將圖標加入購物車搜索關鍵詞可以是中文也可以是英文下載素材點擊網站右上角的購物車…

卸載cuda_NVIDIA驅動和CUDA安裝

切換到集成顯卡(X.Org X server)2. 卸載舊驅動sudo apt-get --purge remove nvidia* sudo apt autoremove # To remove CUDA Toolkit: $ sudo apt-get --purge remove "*cublas*" "cuda*" # To remove NVIDIA Drivers: $ sudo apt-g…

html加粗字體打印失效_論文格式要求及字體大小

點擊上方“藍字”帶你去看小星星論文既是探討問題進行學術研究的一種手段,又是描述學術研究成果進行學術交流的一種工具。下面小編為大家整理了論文格式要求及字體大小,歡迎閱讀。1 02封面題目:小二號黑體加粗居中。各項內容:四號…

deepfakes怎么用_[mcj]deepfakesApp使用說明(1)

在眾多AI換臉軟件中Fakeapp是傳播最廣,操作最簡單的一款,當然他同樣也是源于Deepfakes。 這款軟件在設計上的確是花了一些心事,只需稍加點撥,哪怕是再小白的人也能學會。下面我就做一個入門教程吧。跟著這個教程來,你肯…

alert 標題_[SwiftUI 知識碎片] Button、Image 和 Alert

譯自 Buttons and images更多內容,歡迎關注公眾號:Swift花園喜歡文章?不如來個 ?三連?關注專欄,關注我 Button 和 Image在 SwiftUI 中,按鈕可以由兩種方式創建,取決于它們的外觀。最簡單的方式…

兩個mysql表對比_mysql實用技巧之比較兩個表是否有不同數據的方法分析

本文實例講述了mysql比較兩個表是否有不同數據的方法。分享給大家供大家參考,具體如下:在數據遷移中,我們經常需要比較兩個表,以便在一個表中標識另一個表中沒有相應記錄的記錄。例如,我們有一個新的數據庫&#xff0c…

mysql數據存儲到指定位置_Mysql數據庫表分區存儲到指定磁盤路徑

. 前提:mysql5.6.6以上的版本以上的版本才支持單表指定目錄,且目錄權限是MySQL:mysql。 在mysql中數據文件存放于在my.cnf中datadir指定的路徑,使用的表引擎不同產生的文件格式、表文件個數也會有所差異。 mysql的表引擎有多種,…