[ICLR/ICML2019読み会] Adaptive Stochastic Natural Gradient Method for One-Shot Neural Architecture Search

Eca429c55a45c5d252bc38c1870fa535?s=47 S.Shota
July 21, 2019

[ICLR/ICML2019読み会] Adaptive Stochastic Natural Gradient Method for One-Shot Neural Architecture Search

Eca429c55a45c5d252bc38c1870fa535?s=128

S.Shota

July 21, 2019
Tweet

Transcript

  1. Adaptive Stochastic Natural Gradient Method for One-Shot Neural Architecture Search

    Y. Akimoto, S. Shirakawa, N. Yoshinari, K. Uchida, S. Saito, and K. Nishida, The 36th International Conference on Machine Learning (ICML2019) 2019.07.21|ICLR/ICML2019読み会@DeNA 斉藤 翔汰(@argv_sat184) スキルアップAI株式会社 / 横浜国立大学大学院 博士後期課程1年
  2. 文献情報 n Youhei Akimoto, Shinichi Shirakawa, Nozomu Yoshinari, Kento Uchida,

    Shota Saito, and Kouhei Nishida: Adaptive Stochastic Natural Gradient Method for One-Shot Neural Architecture Search, Proceedings of the 36th International Conference on Machine Learning (ICML), Vol. 97 of PMLR, pp. 171-180 (2019). n Paper http://proceedings.mlr.press/v97/akimoto19a.html n Video https://icml.cc/Conferences/2019/ScheduleMultitrack?event= 4688 n Code(PyTorch) https://github.com/shirakawas/ASNG-NAS 3
  3. TL; DR (疑似)超パラメータレスの高速な構造最適化を開発 n ニューラルネットワークの構造最適化(NAS)はHot-topic n 既存のNASはニューラルネットワークを生成するモデルに おける超パラメータがあるため,問題を棚上げしただけ! n タスクごとの調整が不要&高速なNAS手法を作成

    画像分類と画像補完タスクで効果を確認 n CIFAR-10(分類)にて探索コスト0.11GPU Daysで テストエラー約3% n CelebA Dataset(人物顔画像)を使った画像補完タスクでは 0.84 GPU DaysにてほぼSOTA性能 4
  4. 1. Controllerから 構造をサンプリング Neural Architecture Search (NAS) 5 3x3 Conv

    5x5 Conv Max Pooling … 1 0 0 … LSTM Softmax … カテゴリカル分布 Controller Child Network Loss 0.2 0.5 0.1 0.1 構造の選択はOne-Hotベクトル との積として解釈できる サンプリング
  5. 1. Controllerから 構造をサンプリング 2. サンプルした構造を学習 (e.g. 300epoch) Neural Architecture Search

    (NAS) 6 3x3 Conv 5x5 Conv Max Pooling … 1 0 0 … LSTM Softmax … カテゴリカル分布 Controller Child Network Loss 0.2 0.5 0.1 0.1
  6. 1. Controllerから 構造をサンプリング 2. サンプルした構造を学習 (e.g. 300epoch) 3. 検証精度をもとにPolicy GradientでLSTM更新

    Neural Architecture Search (NAS) 7 3x3 Conv 5x5 Conv Max Pooling … 1 0 0 … LSTM Softmax … カテゴリカル分布 Controller Child Network Accuracy Loss 0.6 0.1 0.1 0.05 Policy Gradient
  7. 1. Controllerから 構造をサンプリング 2. サンプルした構造を学習 (e.g. 300epoch) 3. 検証精度をもとにPolicy GradientでLSTM更新

    Neural Architecture Search (NAS) 8 3x3 Conv 5x5 Conv Max Pooling … 0 0 1 … Child Network Loss LSTM Softmax … カテゴリカル分布 Controller 0.6 0.1 0.1 0.05 サンプリング 構造の選択はOne-Hotベクトル との積として解釈できる
  8. NASの問題点 NASによって構造設計から逃れられた…のか? n ハンドクラフトの構造よりも良い構造が続々発見 n さらにENASを始めとした改良されたNAS手法で 高速に適切な構造を手に入れられるように 9 最近のNAS手法に関するCIFAR-10の結果

  9. NASの問題点 Controllerをもう一度眺めてみる 10

  10. NASの問題点 11 更新時の学習率は? LSTMの構造は?

  11. NASの問題点 特に学習率に注目してみると… 12 The policy parameters θ are (中略) trained

    with Adam at a learning rate of 0.00035. We use Adam as the optimizer for α, with initial learning rate ηα = 3×10−4, momentum β = (0.5, 0.999) ENAS(Child Networkの重みを初期化せず再利用して高速化) DARTS(定数→Softmax→係数を出力の重み付けに使用) これでは構造のチューニングが Controllerに関するチューニングに棚上げされただけ!
  12. Proposed Method|ASNG-NAS 最もシンプルなControllerを構成 n Controllerにニューラルネットワークを使うと, そこにハイパーパラメータが発生してしまう n 最もシンプルなモデルである カテゴリカル分布!" ($)のみでControllerを構成

    13 … カテゴリカル分布 !" ($) Controller 0.2 0.5 0.1 0.1 0 0 1 … 構造を決める One-Hotベクトル $ ∼ !" ($) ' = サンプリング
  13. Proposed Method|ASNG-NAS 目的関数の設計 n サンプルされた構造に対する損失:)(*, $) - *はChild Networkの重み, )はクロスエントロピーなどの損失関数に相当

    n $は確率変数なので,それを活かして問題を緩和 14 )(*, $) 期待値 ," *, ' の最小化= どちらも連続変数の最適化= ," *, ' を勾配法で最適化できる! - ∇" ," *, ' = /01 ) *, $ - ∇" log !" ($) /01 ) *, $ = ," *, ' 確率緩和した関数 'の自然勾配 ∇5 ," *, ' = /01 ∇5 ) *, $ *の勾配
  14. Proposed Method|ASNG-NAS 自然勾配=KL-divergenceに基づく最急方向 n 勾配は変数の距離のメトリック(ものさし)に依存 - イメージ;地図上の目的地への最短方向 vs. 地球儀上の最短方向 n

    分布パラメータ'の勾配は,分布間の距離=KL-divergenceに 基づく勾配を考えたほうがよい→自然勾配 15 ユークリッド空間 'の空間 (リーマン多様体) 通常の 勾配 自然勾配 (ユークリッド空間ではない) 'の空間における最急方向
  15. Proposed Method|ASNG-NAS 勾配のモンテカルロ推定+学習率適応 n 勾配(自然勾配)の期待値部分はモンテカルロ法で推定 ∇5 ," *, ' ≈

    7 8 ∑:;7 8 ∇5 ) *, $: , - ∇" ," *, ' ≈ 7 8 ∑:;7 8 ) *, $: - ∇" log !" ($: ) n サンプル数< = 2にする代わり,学習率で調整 n 分布パラメータの自然勾配に関する学習率はノルムのSNRが 一定になるように自動調整 16 推定自然勾配を 移動平均で累積 推定自然勾配 のノルムを累積 > = /[- ∇1] > / - ∇1 > = 定数 を満たすように学習率適応
  16. Proposed Method|ASNG-NAS 自然勾配もAdamでいい? n Toy-ProblemでAdamの更新方法と比較 n SNRを使った学習率適応のほうが初期学習率に対して頑健 17 ) *,

    $ = /A B :;7 C B D;7 E $:D *:D − G: H + J − 1 L Selective Squared Error $7H $7M $77 二次関数を 選んで最小化
  17. Proposed Method|ASNG-NAS 18 3x3 Conv 5x5 Conv Max Pooling …

    1 0 0 … … カテゴリカル分布 Controller Child Network 0.6 0.1 0.1 0.05 ," *N, 'N の推定値 1. Controllerから構造をサンプリング サンプリング
  18. Proposed Method|ASNG-NAS 19 3x3 Conv 5x5 Conv Max Pooling …

    1 0 0 … … カテゴリカル分布 Controller Child Network 0.6 0.1 0.1 0.05 ," *N, 'N の推定値 ∇5 ," *N, 'N 1. Controllerから構造をサンプリング 2. サンプルした構造を順伝播&重み更新 *NO7 = *N − P5∇5 ," *,N 'N
  19. 1. Controllerから構造をサンプリング 2. サンプルした構造を順伝播&重み更新 *NO7 = *N − P5∇5 ,"

    *,N 'N 3. 検証データを使って順伝播&分布更新 'NO7 = 'N − P" N - ∇"," *,NO7 'N Proposed Method|ASNG-NAS 20 3x3 Conv 5x5 Conv Max Pooling … 1 0 0 … … カテゴリカル分布 Controller Child Network 0.2 0.4 0.3 0.01 ," *NO7, 'N の推定値 - ∇" ," *NO7, 'N
  20. 1. Controllerから構造をサンプリング 2. サンプルした構造を順伝播&重み更新 *NO7 = *N − P5∇5 ,"

    *,N 'N 3. 検証データを使って順伝播&分布更新 'NO7 = 'N − P" N - ∇"," *,NO7 'N 4. 学習率を更新 P" NO7 = P" exp T ⁄ VNO7 H W − XNO7 Proposed Method|ASNG-NAS 21 3x3 Conv 5x5 Conv Max Pooling … 1 0 0 … … カテゴリカル分布 Controller Child Network 0.2 0.4 0.3 0.01 ," *NO7, 'N の推定値
  21. 実験結果|CIFAR-10 0.11GPUDay(約2.5h)でENASに匹敵する構造を発見 22

  22. 実験結果|Image Inpainting 約1GPUDayでほぼSOTAに匹敵する性能 23

  23. 感想 「単目的」NASはあらかた収束? n 最近は精度や損失のみを目的関数においた 単目的NASは収束気味(?) n MnasNet[Tan et al., CVPR2019]を契機に戦場が

    多目的に移りつつある - PPP-Net[Dong et al., ICLR2018 Workshop], LEMONADE[Elsken et al., ICLR2019], NSGA-Net[Lu et al., GECCO2019]など n ただし,まだまだ計算コスト高! 2019~2020あたりはEfficient Multi-object NASが来るかも? (というかやりたい) 24