1. 程式人生 > 其它 >2021-ICLRw-How Does Supernet Help in Neural Architecture Search? - 論文閱讀

2021-ICLRw-How Does Supernet Help in Neural Architecture Search? - 論文閱讀

How Does Supernet Help in Neural Architecture Search?

2021-ICLRw-How Does Supernet Help in Neural Architecture Search?

來源: ChenBong 部落格園

  • Institute:MSRA
  • Author:Yuge Zhang, Quanlu Zhang, Yaming Yang
  • GitHub:/
  • Citation:2

2020-ArXiv-Deeper Insights into Weight Sharing in Neural Architecture Search同一個團隊

Introduction

基於超網的NAS方法, 5個搜尋空間上進行實驗的一些發現:

  • 一個well-trained 的supernet, 不一定是一個好的 subnet ranking model
  • supernet作為ranking model的有效性, 與搜尋空間有關(有的空間上, supernet ranking相關性高, 有的低)
  • supernet 更擅長髮現相對好的子網(top 10%), 而不擅長髮現最好的(top 1%)的子網
  • 相比與發現好的子網, supernet更擅長髮現差的子網(可以用於search space pruning)
  • supernet在小的搜尋空間上ranking效果差
  • 但如果一個小的搜尋空間是經過合適地剪枝, (雖然ranking效果差) 但超網反而更容易發現好的子網 (top ranking的子網gt效能更高)
  • supenet有固有的偏好(bias), e.g. 更偏向某些operation(這些operation的子網ranking高)

Motivation

  • supernet NAS 很有效, 但缺乏理論的解釋;
  • 很多工作通過實驗對supernet NAS進行分析, 但仍存在侷限性(e.g. 搜尋空間單一)

Contribution

  • 第一次在多個搜尋空間上進行廣泛實驗
  • 第一次分析了搜尋空間的剪枝

Method

Training Setup

最樸素的supenet NAS: uniform sampling (SPOS)

超網訓練的目標:

  • 最小化所有子網的訓練損失
  • 提供一個相關性高的子網效能評估器

Search Space

Metrics

衡量子網:

  • Ground truth performance (ground truth): subnet train from scratch的acc1
  • Supernet performance: subnet 繼承超網權重, 校正BN後的acc1

衡量空間:

  • avg ground truth
  • avg supernet performance (目標1: 最小化所有子網的訓練損失)
  • (GT與sp的)Correlation (目標2: 提供一個相關性高的子網效能評估器): 隨機取樣的子網的Supernet performance 與 ground truth 之間的相關係數 (Spearman correlation), 取樣個數: (1k for NAS-Bench series, 100 for DARTS series, 20 for ProxylessNAS)
  • Top-k: 隨機取樣1k個 subnet, 基於supernet performance選擇 top-k個, 查詢這k個subnet對應的gt, 報告最高的gt acc1

Experiments

確定了搜尋空間後, 探究不同的訓練設定(epoch)對各個metric的影響

number of epochs

超網訓練的epoch對各個metric的影響

3個metric:

  • avg supernet perf (目標1: 最小化所有子網的訓練損失)
  • Correlation (目標2: 提供一個相關性高的子網效能評估器)
  • top-k (目標2: 提供一個相關性高的子網效能評估器)

avg supernet perf

  • 增加訓練epoch, 可以提高5個搜尋空間上的 avg supernet perf
  • ProxylessNAS上, 僅有2%的差距(可能可以通過繼續增加epoch來達到avg GT perf); 在NAS-Bench-101上, avg supernet perf 甚至超過了avg GT perf
  • 但在其他3個搜尋空間上, 增加epoch帶來的增長趨於穩定, 且仍有較大差距, 似乎存在一個固有的上限
  • ==> 說明在部分搜尋空間中, 通過訓練超網來同時優化大量的子網是可能的, 但需要較大的計算開銷(或其他訓練技巧)

Correlation

雖然 avg supernet perf 隨著epoch的增加持續上升, 但相關性並沒有這樣的趨勢

  • 隨著epoch的增加, correlation開始上升, 但很快飽和, 甚至開始下降, DARTS-PTB空間上, 甚至隨著epoch增加, correlation降為負值
  • avg supernet perf與correlation沒有相關性(avg supernet perf高的空間, correlation不一定高)
  • ==> 說明超網訓練的2個目標: 1. 最小化所有子網的訓練損失 2. 提供一個相關性高的子網效能評估器; 2個目標之間存在gap, 兩個目標不相關甚至互相沖突(不能同時達到)

Top-k

所有子網的ranking質量(Correlation)只是一箇中間指標, top-k的子網質量對於supernet NAS來說更重要

ps.

  • top1/10 指使用supernet生產的rank, 取top1/10的子網中的best GT
  • random top1/10 指生成隨機rank, 取top1/10的(隨機取1/10個)子網中的best GT(可以作為baseline)
  • top10基本上都比top1更好 ==> supernet有助於找到較好的網路, 但很難找到最好的
  • 較好的correlation通常會產生較好的top1和top10
  • DARTS-CIFAR10的使用超網rank找到的 top1/10 優勢最大, DARTS-PTB甚至比隨機的baseline更差 ==> weight sharing NAS的有效性與搜尋空間有關

Bias of Weight Sharing NAS

上一節說明了Weight Sharing NAS的有效性(ranking的質量)對不同搜尋空間的bias(偏好)

這一節討論Weight Sharing NAS在同一個搜尋空間內, 對不同子網的bias(偏好)

不同的epoch, 子網rank相似度很高 => 增加epoch幾乎不再改變子網rank => rank進入穩定狀態, 但這個穩定狀態和GT的rank還有較大的差距, 說明weight share NAS與GT之間的bias(偏差)是真實存在的

Bias towards big models

一般來說, 模型越大, 效能越好, 因此如果直接用模型大小來預測效能, 也能得到一組rank

對於包含不同大小的子網的搜尋空間(NAS-Bench-101)來說,

ps. param生成的rank(PS); GT的rank(GT); weight sharing NAS生成的rank(WS)

  • PS與GT相似度高達(PS, GT)=0.67, 超過了所有WS與GT: (WS, GT)=0.6 => (PS, GT) < (WS, GT)
  • WS與PS的相似度(WS, PS=0.7) 高於 WS與GT(WS, GT)=0.6 => WS, 說明WS比GT更偏好引數量大的子網(對引數量大的子網的rank更高)

Bias towards certain operators

supernet會偏好某些operation(讓選擇了這些op的子網效能更高), 但不一定說明這些op在train from scratch時效能也會較好

分組抽樣

在NAS-Bench-201中, 超網認為選擇了conv3x3的子網效能更好, 但在GT中, 效能最好的子網大部分都是選擇skip

Pruned Search Space

Intuition: 減小空間, 降低子網的互相干擾; 提高空間的整體質量, 使得baseline提高

Effectiveness of Pruning

  • Optimistic Pruning: Prune architectures with the worst ground truth performance
  • Random Pruning: Prune a random part of search space

第一行NAS-Bench-101, 第二行NAS-Bench-201, 每個點是3個supernet上的平均值

  • 圖例

    • 2種空間剪枝方式:
      • 最優空間剪枝(黑色);
      • 隨機空間剪枝(藍色)
    • 2種搜尋方式:
      • 使用超網rank搜尋top10(best GT)(實線);
      • 使用隨機搜尋(隨機抽10個, 取best GT)top10(虛線)(代表空間的平均子網效能)
  • 藍色虛線不隨prune factor上升 ==> 隨機空間剪枝不能提高空間的評價子網效能;

  • 黑色虛線隨著prune factor 上升 ==> 而最優空間剪枝可以提高空間的平均子網效能

  • 藍色實線不隨著prune factor 上升 ==> 隨機空間剪枝不能提高超網的top10, 不能提高超網找到優質結構的能力

  • 黑色實線隨著prune factor 上升 ==> 最優空間剪枝可以提高超網的top10, 即可以提高超網找到優質結構的能力

  • GT 與supernet perf的相關性Correlation
  • ==> Correlation與空間剪枝率沒有明顯的關係(無論哪種剪枝方式), 也就是增加空間剪枝率(使用小空間)不會提高相關性, 但

  • 圖例
    • avg (supernet perf)
    • best (supernet perf)
  • ==> 最優空間剪枝可以提高評價子網效能以及最佳子網效能, 隨機空間剪枝不一定可以

Conclusion

Summary

  • 子網rank的相關性是一個很困難的問題, 不同子網間的權重共享導致固有的相互干擾, 目前的超網NAS中好像還沒有任何方法可以在權重共享的情況下提高子網rank的相關性
  • 根據上一篇的結論, 子網繼承超網權重, 進行少量(10個batch)的fine-tune(不共享權重), 可以顯著提高rank的相關性
  • 另一種做法是通過對空間進行適當的剪枝, 提高空間的整體子網質量, 不能提高rank相關性, 但可以提高找到優質子網的能力(baseline提高了)

To Read

Reference

【源頭活水】解析神經架構搜尋(NAS)中權重共享的影響 (qq.com)

[NAS論文]解析神經架構搜尋(NAS)中權重共享的影響-雲社群-華為雲 (huaweicloud.com)