SlideShare a Scribd company logo
Efficient Neural Architecture Search
via Parameter Sharing
2018/07/05
NN論文を肴に酒を飲む会 #6
伊藤 多一
自己紹介
• 名前
• 伊藤 多一(いとう たいち)
• 仕事
• 1998~2004:ポスドク@韓国(理論物理)
• 2004~2013:(株)アイズファクトリーでデータ分析
• 2013~ 現在:(株)ブレインパッドでデータ分析・研究開発
• 最近気になっている分野
• 強化学習
• 量子コンピュータ
• 株価
論文について
Efficient Neural Architecture Search via Parameter
Sharing
Authors:
Hieu Pham(Google Brain, Carnegie Mellon Univ.)
Melody Y. Guan (Stanford Univ.)
Barret Zoph, Quoc V. Le, Jeff Dean (Google Brain)
arxiv: https://arxiv.org/abs/1802.03268
github: https://github.com/melodyguan/enas
⇒著者の一人Melody Y. Guan氏によるTensorFlow実装(Python2系)
動機・目的
• AutoMLを案件で使いたい
• モデル構築を一から始める手間をなくしたい
• チューニングの手間をなくしたい
• 強化学習の理解を深めたい
• 方策勾配法を具体的に理解したい(方策、報酬とは)
• LSTMコントローラーとしての用途
• 離散自由度の選択(最適化問題)
• 時系列での行動決定(会話、レコメンド)
• GANとの関連性
• 系列データの生成モデル(言語、音楽)※SeqGAN
0. 概要
• 既存のNAS(Neural Architecture Search)に⽐べて、計算コストが格段に
少なくて処理が速い新アルゴリズム(ENAS)を提唱
• 基本的アイデアは、アーキテクチャ探索の各ステップで現れる候補モデル間で
ネットワーク重みを共有すること
• 候補モデルごとにネットワーク重みが収束するまで学習しないで済むから、
計算コストが⼤幅に削減できる(GPU時間で既存手法の1000分の1)
• アーキテクチャを探索するコントローラは、⽅策勾配法を使って期待報酬を
最⼤化する部分グラフを選ぶよう学習する
• 著者の一人は、Jeff Dean(MapReduce, TensorFlowの開発者)
1. 導入
• NASの解説
• ニューラルネットワークのアーキテクチャを⾃動で探索する⼿法(AutoMLの一つ)
• 画像分類と言語モデルのアーキテクチャ探索に上手く適用できた
• NASのアルゴリズム
• RNNによるコントローラを使って、候補アーキテクチャ(child model)を抽出
• child model を重みが収束するまで学習してその性能を評価する
• その性能指標を guiding signal として、より良いアーキテクチャを抽出するよう
RNNコントローラを学習する
• 以上を繰り返す
• NASの課題:
• 計算コストが⾼く、処理時間も⻑い(450個のGPU使って3-4⽇間かかる)
• 性能評価にしか使わない child model を収束するまで学習してしまうのがボトルネック
1. 導入
• ENAS(Efficient NAS)
• NASの効率(efficiency)を改善する手法として
• すべての child models がネット―ワーク重みを共有するよう強制する
• この共有により、child model を収束するまで学習する無駄を回避
• 転移学習の前例から、特定のタスクのために特定のモデルで学習されたネットワーク重
みが、他タスクのため他モデルにおいて、そのままか少しの修正で転用できることが分
かっている
• 異なる child models 間でネットワーク重みを共有しながら学習しても上手くいくと期
待できる
• 実験してみたら、重み共有によりNASのパフォーマンスが著しく向上した
• CIFAR-10 の画像分類(エラー率)NAS 2.65% ⇒ ENAS 2.89%(同程度)
• Penn Treebank の言語モデル (パープレキシティ)NAS 62.4 ⇒ ENAS 55.8(改善)
• 計算コスト(GPU-hours)NAS 1,350-1,800 ⇒ ENAS 0.45(1000分の1に縮⼩)
2. 方法
• NASが探索する全てのネットワークグラフは、より⼤きなネットワークグラフの
部分グラフと⾒なせる
⇒ NASの探索空間を単⼀の有向⾮巡回グラフ(directed acyclic graph, DAG)で表現できる
⇒ ENASのDAG = NASの探索空間にある全 child models を重ね合わせ
※ DAGの事例としては、ベイジアンネットワークや仮想通貨が挙げられる
• DAGの各ノードはネットワーク重みに対応するので、DAGの全ての部分グラフ
(child model)は重み(ノード)を共有している
2. 方法
• リカレントセル(recurrent cell)の設計
• DAG、リカレントセル、コントローラの出⼒、の対応(下図)
• リカレントセルの探索空間
• 計算グラフのノード数:N
• 各ノードで選べる活性化関数:4種類(tanh, ReLU, そのまま, sigmoid)
• 異なるアーキテクチャ数:4N × N! ⇒ N=12 の場合、1015 通り
2. 方法
• ENASの学習とアーキテクチャの導出
• ENASの学習は、コントローラ(パラメータ θ)と child models(パラメータ ω)
の学習からなる
• コントローラは、100個の隠れ層からなるLSTMであり、ソフトマックス分類器を
介して⾃己回帰的に(前ステップで抽出したノードをそのステップの入力として)
ノードを抽出する
• child model のパラメータ ω は、全ての child models で共有されている
• 学習は、コントローラと child models の学習を交互に繰り返す
• 第1フェーズ:ωを学習する
• 第2フェーズ:θ を学習する
• 第1フェーズと第2フェーズを交互に繰り返す
2. 方法
• 第1フェーズの詳細
• 標準的な交差エントロピー損失L(m; ω)の方策分布 π(m,θ) から生成される child model
m に関する期待値の ω 勾配をモンテカルロ法で計算する
• この勾配に確率的勾配法(SGD)を適用して ω を更新する
• M=1(child model が1個)の場合でも学習が進むことが分かっている
2. 方法
• 第2フェーズの詳細
• 報酬関数 R(m; ω) の child model m ~ π(m,θ) に関する期待値を最大化するように
θ を更新する
• 具体的には、REINFORCEアルゴリズムによる方策勾配法とAdamを使って更新を実施
• 過学習を避けるため、報酬関数 R(m; ω) は検証用データについて計算する
• 報酬関数は、検証用データで計算したモデル精度として定義する
RNN:パープレキシティの逆数
CNN:判別正解率
• アーキテクチャの導出
• ⽅策 π(m,θ) のもとで幾つかのモデル(アーキテクチャ候補)を生成する
• 検証用データからサンプリングした単一のミニバッチについて、モデルごとに報酬を計算
(計算コストが節約できる)
• 報酬が最大となるモデルを選択して再学習する
QをR(m;ω)で置き換える
2. 方法
• 畳み込みネットワーク(CNN, convolutional network)の設計
• コントローラによる選択決定:
1. レイヤーにおける計算処理の選択(6種類から)
2. そのレイヤーとスキップ接続するレイヤーの選択
3. 1と2を交互に実施する
• 生成されるネットワークのパターン数
• 6L x 2L(L-1)/2 ⇒ 1.6 x 1029(L=12の場合)
6種類の計算処理
• convolution 3x3, 5x5
• separable convolution 3x3, 5x5
• max pooling 3x3
• average pooling 3x3
LSTMコントローラによる選択
選択されたCNNアーキテクチャ
(点線はスキップ接続)
2. 方法
• 畳み込みセル(convolutional cell)の設計
• 畳み込みセルのノード数:B(node 1, node 2, ..., node B)
• コントローラによる選択決定:
• node1, node2 は入力とする(直近のネットワークのセルから選択)
• 残りの B-2 個のノードについて以下の選択決定を行う
• 当該ノードの入⼒として、直前までのノードから2ノードを選択
• それら2ノードに作用する計算処理を選択(5種類から)
• 縮⼩セル(reduction cell)の設計も同様に行う
5種類の計算処理
• identity(そのまま)
• separable convolution 3x3, 5x5
• average pooling 3x3
• max pooling 3x3
2. 方法
• 生成されるセルのパターン数
• 畳み込みセル:(5 x (B-2)!)2
• 畳み込みセル + 縮⼩セル:(5 x (B-2)!)4
• B=7 の場合 1.3 x 1011
パターン数の数え方
[ [ノードの選択数5]
× [(B-2) 個のノードのつなぎ方の数 (B-2)! ]
] ** [セルの入⼒ノード数 2]
3. 実験
• Penn Treebank を使った言語モデル
• GPU 1個を10時間まわしてリカレントセルを探索
• パラメータ数の上限を 2,400万とした
• 性能評価はパープレキシティ(PPL)で測る
• 実験結果
パープレキシティ(PPL)
確率の逆数 ⇒選択肢の数
PPLが⼩さいほど高精度
3. 実験
• ENASが発⾒したリカレントセル
• ENASの発⾒したアーキテクチャは、最後に6ノードの平均をとっている
• この構造は、MoC(Mixture of Context、テクニックの一つ)と類似した構造になっている
3. 実験
• CIFAR-10 を使った画像分類
• 実験結果(性能評価は、エラー率)
ネットワーク構造の探索
(macro search)
セル構造の探索
(micro search)
ENASの評価
• NASとの⽐較
• 精度では互角
• 計算コストは1,000分の1
• DenseNetとの⽐較
• 精度では負けてる
• パラメータ数が5分の1
3. 実験
• CIFAR-10 を使った画像分類
• ENASが発⾒した畳み込みネットワーク(ENAS + macro search space)
3. 実験
• CIFAR-10 を使った画像分類
• ENASが発⾒した畳み込みセルと縮⼩セル
3. 実験
• ランダムサーチとの⽐較
• Penn Treebank(PPL):ランダム 81.2 > ENAS 55.8
• CIFAR-10(エラー率):
⇒ENASはランダムサーチよりも⾼精度のモデルを実現
• コントローラの更新を行わない場合
• ENAS macro で⽐較(エラー率)
• 更新なし 5.49% > 更新あり 4.23% ⇒コントローラの学習が決定的
ランダム macro 5.86% > ENAS macro 4.23%
ランダム micro 6.77% > ENAS micro 3.54%
4. 関連研究と議論
• SMASH
• one-Shot Model Architecture Search through Hypernetworks
https://arxiv.org/abs/1708.05344
• hypernetworks(?)を使ってネットワーク重みを生成する
• hypernetworks を使うことで、候補アーキテクチャの重みが低ランク空間に制限される
⇒ 低ランク空間でパフォーマンスのよいアーキテクチャしか⾒つけられない
(ENASではこうした制限はない)
Tensorflow実装を試す https://github.com/melodyguan/enas
• アーキテクチャの出⼒
[2] → 第1層は ’2: sepconv 3x3’
[5 0] →第2層は ’5: max pool’ スキップなし
[5 1 0] →第3層は ’5: max pool’ 第1層とスキップ接続
• 試しにやってみた ※ちゃんとした検証ではないです
• ピザとお好み焼きの画像識別モデル
• 学習300、検証200、テスト200の画像ペア
• 人⼒モデル&転移学習モデルと⽐較
• 24層で90.5%の正解率
• 転移学習モデル(93.5%)には及ばなかった
[2]
[5 0]
[5 1 0]
[1 0 1 1]
[0 1 0 1 0]
[5 0 0 1 1 0]
[1 0 0 0 0 0 0]
[4 0 0 1 0 0 1 1]
[4 0 1 0 1 0 0 0 1]
[2 0 0 0 1 0 0 0 1 0]
[2 0 1 0 0 1 1 1 1 1 1]
[0 0 0 0 0 1 0 0 0 1 0 0]
[0 0 1 0 0 0 0 0 0 1 1 0 0]
[4 1 0 0 0 1 0 0 0 1 1 0 1 1]
[5 0 1 0 1 1 1 0 1 0 1 0 0 0 0]
[4 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0]
[4 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0]
[5 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0]
[5 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1 0 0]
[4 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 0]
[0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0]
[2 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0]
[2 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0]
[5 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0]
ENASによる24層NNの
アーキテクチャ出⼒
感想
• アイデアが素敵に思える
• LSTMを強化学習するという発想
• 転移学習から重み共有を思いつくところ
• 案件でも使えそう
• GPU1個を1⽇まわせば、それなりの結果がでる
• ただし、レイヤー数、フィルタ数はあらかじめ決める必要あり
• TensorFlow実装には、論文に書いてない工夫が随所にある
• スキップ接続の生成には attention mechanism を使ってる
• 人間があらかじめ考えてる部分も多い
• 他のモデル最適化と⽐べてどうなのか?
• ベイズ最適化
• その他の NN による手法

More Related Content

What's hot

[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models
[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models
[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models
Deep Learning JP
 
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
Takuji Tahara
 
【DL輪読会】Is Conditional Generative Modeling All You Need For Decision-Making?
【DL輪読会】Is Conditional Generative Modeling All You Need For Decision-Making?【DL輪読会】Is Conditional Generative Modeling All You Need For Decision-Making?
【DL輪読会】Is Conditional Generative Modeling All You Need For Decision-Making?
Deep Learning JP
 
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
Deep Learning JP
 
ELBO型VAEのダメなところ
ELBO型VAEのダメなところELBO型VAEのダメなところ
ELBO型VAEのダメなところ
KCS Keio Computer Society
 
[DL輪読会]World Models
[DL輪読会]World Models[DL輪読会]World Models
[DL輪読会]World Models
Deep Learning JP
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
tmtm otm
 
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
Deep Learning JP
 
[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...
[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...
[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...
Deep Learning JP
 
[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報
Deep Learning JP
 
【DL輪読会】Transformers are Sample Efficient World Models
【DL輪読会】Transformers are Sample Efficient World Models【DL輪読会】Transformers are Sample Efficient World Models
【DL輪読会】Transformers are Sample Efficient World Models
Deep Learning JP
 
【論文調査】XAI技術の効能を ユーザ実験で評価する研究
【論文調査】XAI技術の効能を ユーザ実験で評価する研究【論文調査】XAI技術の効能を ユーザ実験で評価する研究
【論文調査】XAI技術の効能を ユーザ実験で評価する研究
Satoshi Hara
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用
Yoshitaka Ushiku
 
【DL輪読会】Where do Models go Wrong? Parameter-Space Saliency Maps for Explainabi...
【DL輪読会】Where do Models go Wrong? Parameter-Space Saliency Maps for Explainabi...【DL輪読会】Where do Models go Wrong? Parameter-Space Saliency Maps for Explainabi...
【DL輪読会】Where do Models go Wrong? Parameter-Space Saliency Maps for Explainabi...
Deep Learning JP
 
CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)
CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)
CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)
Tenki Lee
 
[DL輪読会]Weight Agnostic Neural Networks
[DL輪読会]Weight Agnostic Neural Networks[DL輪読会]Weight Agnostic Neural Networks
[DL輪読会]Weight Agnostic Neural Networks
Deep Learning JP
 
[DLHacks]StyleGANとBigGANのStyle mixing, morphing
[DLHacks]StyleGANとBigGANのStyle mixing, morphing[DLHacks]StyleGANとBigGANのStyle mixing, morphing
[DLHacks]StyleGANとBigGANのStyle mixing, morphing
Deep Learning JP
 
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
Deep Learning JP
 
[DL輪読会]GENESIS: Generative Scene Inference and Sampling with Object-Centric L...
[DL輪読会]GENESIS: Generative Scene Inference and Sampling with Object-Centric L...[DL輪読会]GENESIS: Generative Scene Inference and Sampling with Object-Centric L...
[DL輪読会]GENESIS: Generative Scene Inference and Sampling with Object-Centric L...
Deep Learning JP
 
【DL輪読会】Aspect-based Analysis of Advertising Appeals for Search Engine Advert...
【DL輪読会】Aspect-based Analysis of Advertising Appeals for Search  Engine Advert...【DL輪読会】Aspect-based Analysis of Advertising Appeals for Search  Engine Advert...
【DL輪読会】Aspect-based Analysis of Advertising Appeals for Search Engine Advert...
Deep Learning JP
 

What's hot (20)

[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models
[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models
[DL輪読会]Transframer: Arbitrary Frame Prediction with Generative Models
 
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
 
【DL輪読会】Is Conditional Generative Modeling All You Need For Decision-Making?
【DL輪読会】Is Conditional Generative Modeling All You Need For Decision-Making?【DL輪読会】Is Conditional Generative Modeling All You Need For Decision-Making?
【DL輪読会】Is Conditional Generative Modeling All You Need For Decision-Making?
 
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
[DL輪読会] Spectral Norm Regularization for Improving the Generalizability of De...
 
ELBO型VAEのダメなところ
ELBO型VAEのダメなところELBO型VAEのダメなところ
ELBO型VAEのダメなところ
 
[DL輪読会]World Models
[DL輪読会]World Models[DL輪読会]World Models
[DL輪読会]World Models
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
 
[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...
[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...
[DL輪読会]Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Ima...
 
[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報
 
【DL輪読会】Transformers are Sample Efficient World Models
【DL輪読会】Transformers are Sample Efficient World Models【DL輪読会】Transformers are Sample Efficient World Models
【DL輪読会】Transformers are Sample Efficient World Models
 
【論文調査】XAI技術の効能を ユーザ実験で評価する研究
【論文調査】XAI技術の効能を ユーザ実験で評価する研究【論文調査】XAI技術の効能を ユーザ実験で評価する研究
【論文調査】XAI技術の効能を ユーザ実験で評価する研究
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用
 
【DL輪読会】Where do Models go Wrong? Parameter-Space Saliency Maps for Explainabi...
【DL輪読会】Where do Models go Wrong? Parameter-Space Saliency Maps for Explainabi...【DL輪読会】Where do Models go Wrong? Parameter-Space Saliency Maps for Explainabi...
【DL輪読会】Where do Models go Wrong? Parameter-Space Saliency Maps for Explainabi...
 
CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)
CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)
CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)
 
[DL輪読会]Weight Agnostic Neural Networks
[DL輪読会]Weight Agnostic Neural Networks[DL輪読会]Weight Agnostic Neural Networks
[DL輪読会]Weight Agnostic Neural Networks
 
[DLHacks]StyleGANとBigGANのStyle mixing, morphing
[DLHacks]StyleGANとBigGANのStyle mixing, morphing[DLHacks]StyleGANとBigGANのStyle mixing, morphing
[DLHacks]StyleGANとBigGANのStyle mixing, morphing
 
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
 
[DL輪読会]GENESIS: Generative Scene Inference and Sampling with Object-Centric L...
[DL輪読会]GENESIS: Generative Scene Inference and Sampling with Object-Centric L...[DL輪読会]GENESIS: Generative Scene Inference and Sampling with Object-Centric L...
[DL輪読会]GENESIS: Generative Scene Inference and Sampling with Object-Centric L...
 
【DL輪読会】Aspect-based Analysis of Advertising Appeals for Search Engine Advert...
【DL輪読会】Aspect-based Analysis of Advertising Appeals for Search  Engine Advert...【DL輪読会】Aspect-based Analysis of Advertising Appeals for Search  Engine Advert...
【DL輪読会】Aspect-based Analysis of Advertising Appeals for Search Engine Advert...
 

Similar to Efficient Neural Architecture Searchvia Parameter Sharing

協調フィルタリング with Mahout
協調フィルタリング with Mahout協調フィルタリング with Mahout
協調フィルタリング with Mahout
Katsuhiro Takata
 
HistoPyramid Stream Compaction
HistoPyramid Stream CompactionHistoPyramid Stream Compaction
HistoPyramid Stream Compaction
dasyprocta
 
Ruby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrakeRuby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrakeMasahiro Tanaka
 
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
株式会社MonotaRO Tech Team
 
ザ・ノンフィクション - 僕…コントロールパネルつくりました。~新卒2年目の苦闘~ -
ザ・ノンフィクション - 僕…コントロールパネルつくりました。~新卒2年目の苦闘~ -ザ・ノンフィクション - 僕…コントロールパネルつくりました。~新卒2年目の苦闘~ -
ザ・ノンフィクション - 僕…コントロールパネルつくりました。~新卒2年目の苦闘~ -
SoTanaka1
 
包括脳2016 nodd iturorial_jpn_20160123_slideshare
包括脳2016 nodd iturorial_jpn_20160123_slideshare包括脳2016 nodd iturorial_jpn_20160123_slideshare
包括脳2016 nodd iturorial_jpn_20160123_slideshare
Araya Brain Imaging
 
Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)
shojiro-tanaka
 

Similar to Efficient Neural Architecture Searchvia Parameter Sharing (8)

協調フィルタリング with Mahout
協調フィルタリング with Mahout協調フィルタリング with Mahout
協調フィルタリング with Mahout
 
HistoPyramid Stream Compaction
HistoPyramid Stream CompactionHistoPyramid Stream Compaction
HistoPyramid Stream Compaction
 
Ruby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrakeRuby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrake
 
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
 
ザ・ノンフィクション - 僕…コントロールパネルつくりました。~新卒2年目の苦闘~ -
ザ・ノンフィクション - 僕…コントロールパネルつくりました。~新卒2年目の苦闘~ -ザ・ノンフィクション - 僕…コントロールパネルつくりました。~新卒2年目の苦闘~ -
ザ・ノンフィクション - 僕…コントロールパネルつくりました。~新卒2年目の苦闘~ -
 
matsumoto m
matsumoto mmatsumoto m
matsumoto m
 
包括脳2016 nodd iturorial_jpn_20160123_slideshare
包括脳2016 nodd iturorial_jpn_20160123_slideshare包括脳2016 nodd iturorial_jpn_20160123_slideshare
包括脳2016 nodd iturorial_jpn_20160123_slideshare
 
Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)
 

Efficient Neural Architecture Searchvia Parameter Sharing

  • 1. Efficient Neural Architecture Search via Parameter Sharing 2018/07/05 NN論文を肴に酒を飲む会 #6 伊藤 多一
  • 2. 自己紹介 • 名前 • 伊藤 多一(いとう たいち) • 仕事 • 1998~2004:ポスドク@韓国(理論物理) • 2004~2013:(株)アイズファクトリーでデータ分析 • 2013~ 現在:(株)ブレインパッドでデータ分析・研究開発 • 最近気になっている分野 • 強化学習 • 量子コンピュータ • 株価
  • 3. 論文について Efficient Neural Architecture Search via Parameter Sharing Authors: Hieu Pham(Google Brain, Carnegie Mellon Univ.) Melody Y. Guan (Stanford Univ.) Barret Zoph, Quoc V. Le, Jeff Dean (Google Brain) arxiv: https://arxiv.org/abs/1802.03268 github: https://github.com/melodyguan/enas ⇒著者の一人Melody Y. Guan氏によるTensorFlow実装(Python2系)
  • 4. 動機・目的 • AutoMLを案件で使いたい • モデル構築を一から始める手間をなくしたい • チューニングの手間をなくしたい • 強化学習の理解を深めたい • 方策勾配法を具体的に理解したい(方策、報酬とは) • LSTMコントローラーとしての用途 • 離散自由度の選択(最適化問題) • 時系列での行動決定(会話、レコメンド) • GANとの関連性 • 系列データの生成モデル(言語、音楽)※SeqGAN
  • 5. 0. 概要 • 既存のNAS(Neural Architecture Search)に⽐べて、計算コストが格段に 少なくて処理が速い新アルゴリズム(ENAS)を提唱 • 基本的アイデアは、アーキテクチャ探索の各ステップで現れる候補モデル間で ネットワーク重みを共有すること • 候補モデルごとにネットワーク重みが収束するまで学習しないで済むから、 計算コストが⼤幅に削減できる(GPU時間で既存手法の1000分の1) • アーキテクチャを探索するコントローラは、⽅策勾配法を使って期待報酬を 最⼤化する部分グラフを選ぶよう学習する • 著者の一人は、Jeff Dean(MapReduce, TensorFlowの開発者)
  • 6. 1. 導入 • NASの解説 • ニューラルネットワークのアーキテクチャを⾃動で探索する⼿法(AutoMLの一つ) • 画像分類と言語モデルのアーキテクチャ探索に上手く適用できた • NASのアルゴリズム • RNNによるコントローラを使って、候補アーキテクチャ(child model)を抽出 • child model を重みが収束するまで学習してその性能を評価する • その性能指標を guiding signal として、より良いアーキテクチャを抽出するよう RNNコントローラを学習する • 以上を繰り返す • NASの課題: • 計算コストが⾼く、処理時間も⻑い(450個のGPU使って3-4⽇間かかる) • 性能評価にしか使わない child model を収束するまで学習してしまうのがボトルネック
  • 7. 1. 導入 • ENAS(Efficient NAS) • NASの効率(efficiency)を改善する手法として • すべての child models がネット―ワーク重みを共有するよう強制する • この共有により、child model を収束するまで学習する無駄を回避 • 転移学習の前例から、特定のタスクのために特定のモデルで学習されたネットワーク重 みが、他タスクのため他モデルにおいて、そのままか少しの修正で転用できることが分 かっている • 異なる child models 間でネットワーク重みを共有しながら学習しても上手くいくと期 待できる • 実験してみたら、重み共有によりNASのパフォーマンスが著しく向上した • CIFAR-10 の画像分類(エラー率)NAS 2.65% ⇒ ENAS 2.89%(同程度) • Penn Treebank の言語モデル (パープレキシティ)NAS 62.4 ⇒ ENAS 55.8(改善) • 計算コスト(GPU-hours)NAS 1,350-1,800 ⇒ ENAS 0.45(1000分の1に縮⼩)
  • 8. 2. 方法 • NASが探索する全てのネットワークグラフは、より⼤きなネットワークグラフの 部分グラフと⾒なせる ⇒ NASの探索空間を単⼀の有向⾮巡回グラフ(directed acyclic graph, DAG)で表現できる ⇒ ENASのDAG = NASの探索空間にある全 child models を重ね合わせ ※ DAGの事例としては、ベイジアンネットワークや仮想通貨が挙げられる • DAGの各ノードはネットワーク重みに対応するので、DAGの全ての部分グラフ (child model)は重み(ノード)を共有している
  • 9. 2. 方法 • リカレントセル(recurrent cell)の設計 • DAG、リカレントセル、コントローラの出⼒、の対応(下図) • リカレントセルの探索空間 • 計算グラフのノード数:N • 各ノードで選べる活性化関数:4種類(tanh, ReLU, そのまま, sigmoid) • 異なるアーキテクチャ数:4N × N! ⇒ N=12 の場合、1015 通り
  • 10. 2. 方法 • ENASの学習とアーキテクチャの導出 • ENASの学習は、コントローラ(パラメータ θ)と child models(パラメータ ω) の学習からなる • コントローラは、100個の隠れ層からなるLSTMであり、ソフトマックス分類器を 介して⾃己回帰的に(前ステップで抽出したノードをそのステップの入力として) ノードを抽出する • child model のパラメータ ω は、全ての child models で共有されている • 学習は、コントローラと child models の学習を交互に繰り返す • 第1フェーズ:ωを学習する • 第2フェーズ:θ を学習する • 第1フェーズと第2フェーズを交互に繰り返す
  • 11. 2. 方法 • 第1フェーズの詳細 • 標準的な交差エントロピー損失L(m; ω)の方策分布 π(m,θ) から生成される child model m に関する期待値の ω 勾配をモンテカルロ法で計算する • この勾配に確率的勾配法(SGD)を適用して ω を更新する • M=1(child model が1個)の場合でも学習が進むことが分かっている
  • 12. 2. 方法 • 第2フェーズの詳細 • 報酬関数 R(m; ω) の child model m ~ π(m,θ) に関する期待値を最大化するように θ を更新する • 具体的には、REINFORCEアルゴリズムによる方策勾配法とAdamを使って更新を実施 • 過学習を避けるため、報酬関数 R(m; ω) は検証用データについて計算する • 報酬関数は、検証用データで計算したモデル精度として定義する RNN:パープレキシティの逆数 CNN:判別正解率 • アーキテクチャの導出 • ⽅策 π(m,θ) のもとで幾つかのモデル(アーキテクチャ候補)を生成する • 検証用データからサンプリングした単一のミニバッチについて、モデルごとに報酬を計算 (計算コストが節約できる) • 報酬が最大となるモデルを選択して再学習する QをR(m;ω)で置き換える
  • 13. 2. 方法 • 畳み込みネットワーク(CNN, convolutional network)の設計 • コントローラによる選択決定: 1. レイヤーにおける計算処理の選択(6種類から) 2. そのレイヤーとスキップ接続するレイヤーの選択 3. 1と2を交互に実施する • 生成されるネットワークのパターン数 • 6L x 2L(L-1)/2 ⇒ 1.6 x 1029(L=12の場合) 6種類の計算処理 • convolution 3x3, 5x5 • separable convolution 3x3, 5x5 • max pooling 3x3 • average pooling 3x3 LSTMコントローラによる選択 選択されたCNNアーキテクチャ (点線はスキップ接続)
  • 14. 2. 方法 • 畳み込みセル(convolutional cell)の設計 • 畳み込みセルのノード数:B(node 1, node 2, ..., node B) • コントローラによる選択決定: • node1, node2 は入力とする(直近のネットワークのセルから選択) • 残りの B-2 個のノードについて以下の選択決定を行う • 当該ノードの入⼒として、直前までのノードから2ノードを選択 • それら2ノードに作用する計算処理を選択(5種類から) • 縮⼩セル(reduction cell)の設計も同様に行う 5種類の計算処理 • identity(そのまま) • separable convolution 3x3, 5x5 • average pooling 3x3 • max pooling 3x3
  • 15. 2. 方法 • 生成されるセルのパターン数 • 畳み込みセル:(5 x (B-2)!)2 • 畳み込みセル + 縮⼩セル:(5 x (B-2)!)4 • B=7 の場合 1.3 x 1011 パターン数の数え方 [ [ノードの選択数5] × [(B-2) 個のノードのつなぎ方の数 (B-2)! ] ] ** [セルの入⼒ノード数 2]
  • 16. 3. 実験 • Penn Treebank を使った言語モデル • GPU 1個を10時間まわしてリカレントセルを探索 • パラメータ数の上限を 2,400万とした • 性能評価はパープレキシティ(PPL)で測る • 実験結果 パープレキシティ(PPL) 確率の逆数 ⇒選択肢の数 PPLが⼩さいほど高精度
  • 17. 3. 実験 • ENASが発⾒したリカレントセル • ENASの発⾒したアーキテクチャは、最後に6ノードの平均をとっている • この構造は、MoC(Mixture of Context、テクニックの一つ)と類似した構造になっている
  • 18. 3. 実験 • CIFAR-10 を使った画像分類 • 実験結果(性能評価は、エラー率) ネットワーク構造の探索 (macro search) セル構造の探索 (micro search) ENASの評価 • NASとの⽐較 • 精度では互角 • 計算コストは1,000分の1 • DenseNetとの⽐較 • 精度では負けてる • パラメータ数が5分の1
  • 19. 3. 実験 • CIFAR-10 を使った画像分類 • ENASが発⾒した畳み込みネットワーク(ENAS + macro search space)
  • 20. 3. 実験 • CIFAR-10 を使った画像分類 • ENASが発⾒した畳み込みセルと縮⼩セル
  • 21. 3. 実験 • ランダムサーチとの⽐較 • Penn Treebank(PPL):ランダム 81.2 > ENAS 55.8 • CIFAR-10(エラー率): ⇒ENASはランダムサーチよりも⾼精度のモデルを実現 • コントローラの更新を行わない場合 • ENAS macro で⽐較(エラー率) • 更新なし 5.49% > 更新あり 4.23% ⇒コントローラの学習が決定的 ランダム macro 5.86% > ENAS macro 4.23% ランダム micro 6.77% > ENAS micro 3.54%
  • 22. 4. 関連研究と議論 • SMASH • one-Shot Model Architecture Search through Hypernetworks https://arxiv.org/abs/1708.05344 • hypernetworks(?)を使ってネットワーク重みを生成する • hypernetworks を使うことで、候補アーキテクチャの重みが低ランク空間に制限される ⇒ 低ランク空間でパフォーマンスのよいアーキテクチャしか⾒つけられない (ENASではこうした制限はない)
  • 23. Tensorflow実装を試す https://github.com/melodyguan/enas • アーキテクチャの出⼒ [2] → 第1層は ’2: sepconv 3x3’ [5 0] →第2層は ’5: max pool’ スキップなし [5 1 0] →第3層は ’5: max pool’ 第1層とスキップ接続 • 試しにやってみた ※ちゃんとした検証ではないです • ピザとお好み焼きの画像識別モデル • 学習300、検証200、テスト200の画像ペア • 人⼒モデル&転移学習モデルと⽐較 • 24層で90.5%の正解率 • 転移学習モデル(93.5%)には及ばなかった [2] [5 0] [5 1 0] [1 0 1 1] [0 1 0 1 0] [5 0 0 1 1 0] [1 0 0 0 0 0 0] [4 0 0 1 0 0 1 1] [4 0 1 0 1 0 0 0 1] [2 0 0 0 1 0 0 0 1 0] [2 0 1 0 0 1 1 1 1 1 1] [0 0 0 0 0 1 0 0 0 1 0 0] [0 0 1 0 0 0 0 0 0 1 1 0 0] [4 1 0 0 0 1 0 0 0 1 1 0 1 1] [5 0 1 0 1 1 1 0 1 0 1 0 0 0 0] [4 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0] [4 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0] [5 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0] [5 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1 0 0] [4 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 0] [0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0] [2 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0] [2 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0] [5 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0] ENASによる24層NNの アーキテクチャ出⼒
  • 24. 感想 • アイデアが素敵に思える • LSTMを強化学習するという発想 • 転移学習から重み共有を思いつくところ • 案件でも使えそう • GPU1個を1⽇まわせば、それなりの結果がでる • ただし、レイヤー数、フィルタ数はあらかじめ決める必要あり • TensorFlow実装には、論文に書いてない工夫が随所にある • スキップ接続の生成には attention mechanism を使ってる • 人間があらかじめ考えてる部分も多い • 他のモデル最適化と⽐べてどうなのか? • ベイズ最適化 • その他の NN による手法