$30 off During Our Annual Pro Sale. View Details »

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

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年

    View Slide

  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

    View Slide

  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

    View Slide

  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ベクトル
    との積として解釈できる
    サンプリング

    View Slide

  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

    View Slide

  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

    View Slide

  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ベクトル
    との積として解釈できる

    View Slide

  8. NASの問題点
    NASによって構造設計から逃れられた…のか?
    n ハンドクラフトの構造よりも良い構造が続々発見
    n さらにENASを始めとした改良されたNAS手法で
    高速に適切な構造を手に入れられるように
    9
    最近のNAS手法に関するCIFAR-10の結果

    View Slide

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

    View Slide

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

    View Slide

  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に関するチューニングに棚上げされただけ!

    View Slide

  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ベクトル
    $ ∼ !"
    ($)
    ' =
    サンプリング

    View Slide

  13. Proposed Method|ASNG-NAS
    目的関数の設計
    n サンプルされた構造に対する損失:)(*, $)
    - *はChild Networkの重み, )はクロスエントロピーなどの損失関数に相当
    n $は確率変数なので,それを活かして問題を緩和
    14
    )(*, $)
    期待値
    ," *, ' の最小化=
    どちらも連続変数の最適化=
    ," *, ' を勾配法で最適化できる!
    -
    ∇"
    ,"
    *, '
    = /01
    ) *, $ -
    ∇"
    log !"
    ($)
    /01
    ) *, $ = ," *, '
    確率緩和した関数
    'の自然勾配
    ∇5
    ,"
    *, '
    = /01
    ∇5
    ) *, $
    *の勾配

    View Slide

  14. Proposed Method|ASNG-NAS
    自然勾配=KL-divergenceに基づく最急方向
    n 勾配は変数の距離のメトリック(ものさし)に依存
    - イメージ;地図上の目的地への最短方向 vs. 地球儀上の最短方向
    n 分布パラメータ'の勾配は,分布間の距離=KL-divergenceに
    基づく勾配を考えたほうがよい→自然勾配
    15
    ユークリッド空間 'の空間
    (リーマン多様体)
    通常の
    勾配
    自然勾配
    (ユークリッド空間ではない)
    'の空間における最急方向

    View Slide

  15. Proposed Method|ASNG-NAS
    勾配のモンテカルロ推定+学習率適応
    n 勾配(自然勾配)の期待値部分はモンテカルロ法で推定
    ∇5
    ,"
    *, ' ≈ 7
    8
    ∑:;7
    8 ∇5
    ) *, $:
    , -
    ∇"
    ,"
    *, ' ≈ 7
    8
    ∑:;7
    8 ) *, $:
    -
    ∇"
    log !"
    ($:
    )
    n サンプル数< = 2にする代わり,学習率で調整
    n 分布パラメータの自然勾配に関する学習率はノルムのSNRが
    一定になるように自動調整
    16
    推定自然勾配を
    移動平均で累積
    推定自然勾配
    のノルムを累積
    >
    = /[-
    ∇1]
    >
    / -
    ∇1
    >
    = 定数
    を満たすように学習率適応

    View Slide

  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
    二次関数を
    選んで最小化

    View Slide

  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から構造をサンプリング
    サンプリング

    View Slide

  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

    View Slide

  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

    View Slide

  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
    の推定値

    View Slide

  21. 実験結果|CIFAR-10
    0.11GPUDay(約2.5h)でENASに匹敵する構造を発見
    22

    View Slide

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

    View Slide

  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

    View Slide