Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[ICLR/ICML2019読み会] Adaptive Stochastic Natural ...

S.Shota
July 21, 2019

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

S.Shota

July 21, 2019
Tweet

More Decks by S.Shota

Other Decks in Research

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の問題点 特に学習率に注目してみると… 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に関するチューニングに棚上げされただけ!
  9. Proposed Method|ASNG-NAS 目的関数の設計 n サンプルされた構造に対する損失:)(*, $) - *はChild Networkの重み, )はクロスエントロピーなどの損失関数に相当

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

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

    7 8 ∑:;7 8 ∇5 ) *, $: , - ∇" ," *, ' ≈ 7 8 ∑:;7 8 ) *, $: - ∇" log !" ($: ) n サンプル数< = 2にする代わり,学習率で調整 n 分布パラメータの自然勾配に関する学習率はノルムのSNRが 一定になるように自動調整 16 推定自然勾配を 移動平均で累積 推定自然勾配 のノルムを累積 > = /[- ∇1] > / - ∇1 > = 定数 を満たすように学習率適応
  12. 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から構造をサンプリング サンプリング
  13. 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
  14. 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
  15. 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 の推定値
  16. 感想 「単目的」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