NAS-RL [Zoph+, ICLRʼ17]
1.RNNでCNNの各層のハイパーパラメータ(フィルタ数/サイズなど)を出⼒
2. CNNをtraining setで訓練し,validation setでのaccuracyを報酬!とする
3. 報酬!の期待値を最⼤化するようにPolicy gradientでRNNのパラメータを最適化
9
強化学習によるNAS
Controller (RNN)
Train a network with
architecture A and get
validation accuracy 2
Update the controller based on 2
Sample architecture A
AmoebaNet [Real+, AAAIʼ19]
•進化計算法ベースで⾼精度な⽅法の⼀つ(しかし計算コスト⼤)
• NAS-Net [Zoph+, CVPRʼ18]と同じ探索空間
• Mutationによって新しい構造を⽣成
• Hidden state mutation:セル内の⼀つの演算を選択し,それの⼊⼒元をランダムに変更
• Op mutation :セル内の⼀つの演算を選択し,その演算をランダムに変更
21
進化計算法+Cellベース
a. (個体をランダムに選択
b. (個体中最も優れた個体を選択
a〜eの繰返し
…
×
d. 最も古い個体を除外
e. 新しい個体を追加
c. 選択された個体に対して
mutationを適⽤
21.
AmoebaNet [Real+, AAAIʼ19]
•CIFAR-10上でerror rate=3.34, 3150 GPU days
• RLベースの⼿法[Zoph+, CVPRʼ18]は, error rate=3.41, 1800 GPU days
• 収束は進化計算ベースの⽅がRLベースよりも早い
22
進化計算法+Cellベース
CNN全体の構造 Normal cell Reduction cell
進化の様⼦
22.
Progressive NAS [Liu+,ECCVʼ18]
• ⼀気に全てのブロックに関して最適化をするのではなく,
徐々にCell内のブロック数$を増やしていきながら,Cellの設計を⾏う
• % = $時の全ての組み合わせを列挙 → LSTMで各組み合わせの性能を予測
→ 上位'個の組み合わせのみ学習 → LSTMの学習 → % ← $ + 1時での
全ての組み合わせ列挙 → …
23
Sequential model-based optimization+Cellベース
sep
3×3
sep
5×5
+
ブロック
Predictor
apply and predict scores
…
until B=5
H = Iで可能な全ての構造
…
H = Iの中でのTop-K
train/finetune
H = I + 1で可能な全ての構造
…
apply and predict scores
23.
Progressive NAS [Liu+,ECCVʼ18]
• 探索空間は基本的にNAS-RLに準拠
• 1種類のCellのみを設計(strideを変えることで解像度を変更)
• CIFAR-10上でerror rate=3.63, 150 GPU days
24
Sequential model-based optimization+Cellベース
獲得されたCell
MnasNet [Tan+, CVPRʼ19]
1.RNNからCNN modelをサンプルし,対象タスクで訓練,性能評価
2. モバイル器上(Pixel Phone)で実⾏し,推論時のlatencyを実際に取得
3. 報酬を計算
4. 報酬を最⼤化するようにRNNのパラメータをProximal Policy Optimizationで更新
50
NAS + 多⽬的最適化
e,E4f0(g) = hii(g) N
jhk g
k
0
g = h
Y, -L ijk(() ≤ k
m, "nℎ/pg-q/
k = 80(q, Y = m = −0.07 を論⽂では使⽤
wはlatencyに関する制約
50.
• MnasNetの探索空間をもとにベースラインとなるアーキテクチャを探索
• EfficientNet-B0
•EfficientNet-B0のdepth, channel数,⼊⼒解像度を調整
• 0 = B>, E = l>, f = m>
• q. n. Y ⋅ m!
⋅ s ≈ 2, Y ≥ 1, m ≥ 1, s ≥ 1
• Y, m, sはグリッドサーチで探索,uはユーザが指定
51
EfficientNet [Tan+, ICMLʼ19]
+を増加
最近EfficientNetV2が提案されました
[Tan+, arXiv2104.00298]
51.
NAS-FPN [Ghaisi+, CVPRʼ19]
•RetinaNetをベースにFeature Pyramid Networkの構造を最適化(NAS-FPN)
• NAS-FPNはN個のmerging cellで構成
• RNN controllerでmerging cell内の以下を決定
• どの⼆つの⼊⼒特徴マップを受け取るか
• Sum or Global pooling
• 出⼒スケール
52
Object detection + NAS
Binary Op
Auto-DeepLab [Liu+, CVPRʼ19]
•NASを利⽤することで,⼈⼿で設計した場合と
同等程度の性能を達成可能
• 探索コストは3 GPU days
• 序盤は⾼解像度,終盤は低解像度での処理を
⾏う過程が獲得されている
55
Semantic segmentation + NAS
55.
56
Adversarial training +NAS [Guo+, CVPRʼ20]
One-shot NASを利⽤して,多数のCNNを⽣成し,
それらCNNのAdversarial attackに対する頑健性を調査
Supernet
…
sampling
Finetuning the network with adversarial
training and evaluate it on eval samples
Subnets
…
…
Finetuning the network with adversarial
training and evaluate it on eval samples
TuNAS [Bender+, CVPRʼ20]
•先の結果は⼩さいデータセットが影響している.探索空間が⼩さい.Tuningが難しいだけ.
• よりeasy-to-tune and scalableなNASとして,TuNASを提案
• ImageNet + ProxylessNASの探索空間では,random searchより優れている
• より⼤きな探索空間でも同様
• WSを調整すれば,ほかのドメインでも良好に動作可能(データセット,タスク)
64
上述の結果への反論
Search space
Complexity of
search space
TuNAS
Random search
w = xy
ProxylessNAS ~10!,
76.3±0.2 75.4±0.2
ProxylessNAS-Enlarged ~10!D 76.4±0.1 74.6±0.3
MobileNetV3-Like ~1031
76.6±0.1 74.6±0.3
Test accuracy on the three search spaces