The Lottery Ticket Hypothesis:
Finding Small, Trainable Neural Networks
TFUG, NN論文を肴に酒を飲む会 #6
2018/7/5
紹介者:進矢陽介
2018/7/10 追記・修正
自己紹介
2007~2014 東京大学
話者認識
形状の数式表現、Mixed Reality
2014~2015 三菱電機
車内センシング(ドライバモニタ)
2015~ デンソー(東京支社)
車外センシング(物体検出等)
技術動向調査(論文・特許)
http://toyota.jp/technology/safety/toyota_safety_sense_p/ より引用
三菱電機公式サイトより引用
※本発表は個人として行うものであり
所属組織を代表するものではありません
ディープの闇1:ガチャ問題
• DNNの重み初期値は乱数で決定されることが多い
• ランダムSEEDによって精度が大きく変動し、
ガチャ、くじ、運ゲーの要素を持つ
https://twitter.com/mosko_mule/status/877318385381421056
https://twitter.com/takayosiy/status/997145407183503361
・Deep Reinforcement Learning that Matters
[Peter Henderson+, AAAI2018] https://arxiv.org/abs/1709.06560
・Deep Reinforcement Learning Doesn't Work Yet
https://www.alexirpan.com/2018/02/14/rl-hard.html
・How Many Random Seeds? [Cédric Colas+, arXiv2018]
https://arxiv.org/abs/1806.08295
強化学習での例
https://twitter.com/musyokudon/status/873478045847273472
ディープの闇2:錬金術問題
• 過度に実験科学的で、「錬金術」や「黒魔術」と呼ばれる
https://medium.com/@Synced/lecun-vs-rahimi-has-machine-learning-become-alchemy-21cb1557920d
• テクニック・ノウハウの積み上げで実応用が進む一方で、
理論的に説明できない現象が多い
- パラメータ数がやたら多いのに汎化誤差が小さい
- 大きなネットワークは精度低下を抑えつつ圧縮できるが、
小さなネットワークをスクラッチで学習するのは困難
https://twitter.com/imenurok/status/952014495768915968
紹介論文
The Lottery Ticket Hypothesis:
Finding Small, Trainable Neural Networks
著者:Jonathan Frankle, Michael Carbin
https://arxiv.org/abs/1803.03635
(本資料では arXiv v3(NIPS2018投稿版)をベースに紹介)
♪D.N.ネットワークはガチャなのか?
根底にある発想
大きなネットワークの方が学習しやすいのって
たくさん”くじ”引いてるからじゃねーの?
論文概要
何故大きなネットワークの方が容易に学習可能なのかを説明する、
“宝くじ券仮説” を提唱した論文
• 宝くじ券仮説:
学習に成功する大きなネットワークは、分離して学習した場合に
匹敵するiteration数で匹敵する精度に収束するサブネットワークを含む
• 初期化くじに勝利した(学習を特に効果的にさせる初期重みを持つ)
このサブネットワークを、“当選券” (winning tickets) と呼ぶ
• 標準的な重みpruningが、当選券を自動発見していることを実験的に示す
標準的なpruning方法
図は [Song Han+, NIPS2015] を元に作成
(1) ランダム初期化
(2) 学習 (3) pruning (5) 再学習
重要性の低い要素を除去
宝くじ券仮説の実験的な確かめ方(pruningによる当選券抽出)
図は [Song Han+, NIPS2015] を元に作成
(2) 学習 (3) pruning (5) 再学習
(4) (1)でのランダム初期値に
リセットし、当選券抽出(1) ランダム初期化
実験条件
• [Song Han+, NIPS2015]同様、重みの絶対値が小さい接続をpruning
• One-shot pruning:学習後、所望のサイズまで一気にpruning
• Iterative pruning:学習、pruning、重みリセットを繰り返し、
徐々にネットワークを小さくする
• ネットワーク設計等
実験結果:fully-connected network, MNIST
one-shot pruning
当選券は収束が早い
10~15%程度までpruning
すると精度は低下
条件
・lenet-300-100
・収束iteration:test lossの移動平均の変化が一定値以下となるiteration
精度向上
実験結果:fully-connected network, MNIST
• Random reinitialization
- 構造:当選券と同じ
- 初期値:最初のランダム初期値とは別のランダム初期値
• Random rearrangement
- 構造:層内で接続をシャッフル
- 初期値:当選券と同じ
当選券が抽出している構造・初期値は、両方とも重要
対照実験
実験結果:fully-connected network, MNIST
iterative pruning
20%ずつのiterative pruningはone-shot pruningより、
- 小さな当選券を抽出可能
- 学習が高コスト
3.6%の重みで
元のネットワークと同じ精度
実験結果:CNN, CIFAR-10
• fully-connected networkの実験と似た挙動
• 収束iterationの差がより顕著
条件
・conv2:conv層2層+FC層3層
・conv4:conv層4層+FC層3層
・iterative pruning(conv層10%ずつ、FC層20%ずつ)
・収束iteration:validation/test loss最小のiteration
実験結果:ResNet18, CIFAR-10
• momentumありでは当選券を発見できない
• momentum無しでは当選券を発見できる
• 学習方法と当選券発見方法に関係があることを示唆
実験結果:当選券の初期値分布
• 0付近の初期値を持つ重みは学習後も値が小さくpruningされやすい
• [Song Han+, NIPS2015]でpruning・再学習後に見られる分布と似ているが、
上図は学習前の分布
• 正規分布からのランダム初期化は実質的に
スパースなアーキテクチャをサンプリングしていることを示唆
条件
・iterative pruning
・fully-connected network
・MNIST
実験結果:その他
• dropoutはサブネットワークのアンサンブルと見ることができるため併用して実験
• dropout併用でも当選券は見つかり、精度も上がる
• conv層、FC層の一方または両方をpruningした場合の結果
関連研究(RandomOut)
RandomOut: Using a convolutional gradient norm to win The Filter
Lottery [Joseph Paul Cohen+, ICLRW2016]
https://openreview.net/forum?id=2xwPmERVBtpKBZvXtQnD
https://arxiv.org/abs/1602.05931
初期値ガチャ問題を正面突破する論文
• CNNのフィルタは初期化に敏感で、
ランダムSEEDによって精度も学習されるフィルタも変わる
• 当選して、満足いく精度に収束したらSEEDが決まるため、
この問題を “The Filter Lottery” と呼ぶ
• 重要でないフィルタを初期化し直し、
探索するフィルタを増やすことで、
ネットワークサイズを大きくすることなく精度を向上させる
関連研究(接続復活系)
• DSD: Dense-Sparse-Dense Training [Song Han+, ICLR2017]
https://arxiv.org/abs/1607.04381
• Iterative Hard Thresholding (IHT) [Xiaojie Jin+, arXiv2016]
https://arxiv.org/abs/1607.05423
• Dynamic Network Surgery [Yiwen Guo+, NIPS2016]
https://arxiv.org/abs/1608.04493
• Deep Rewiring (DEEP R) [Guillaume Bellec+, ICLR2018]
https://arxiv.org/abs/1711.05136
http://db-event.jpn.org/deim2018/data/papers/317.pdf
今後の方向性、Limitations
• 宝くじ券仮説に基づく、アーキテクチャ、初期化スキーム、学習スキームの設計
- 学習のできるだけ早い段階で当選券を特定できると良い
学習中にpruningを行う手法は、当選券を特定して得しているかもしれない*1
• 宝くじ券仮説の理論解明
- 何故当選券は効果的に学習可能なのか
- サブネットワークを当選券にさせる特性は何か
- 当選券を含むことが、ネットワークの学習に成功するのに必要/十分か
• 画像以外のデータセット・アーキテクチャの考慮
• pruning以外による当選券の発見
• 学習方法と当選券発見方法の関係の調査
(何故momentumの有無で当選券発見可否が変わるのか)
*1:学習後にpruningする手法(学習の収束を待つ手法)と、
学習中にpruningする手法(学習の収束を待たずに、最終的な重みが決まる前からpruningを始める手法)があるが、
宝くじ券仮説は、当選券を正しく特定できさえすれば、収束を待つどころか学習を始める前からpruningできることを示唆している。
実際には、当選券特定方法が問題となるため、早く正確に当選券を特定可能な、学習中にpruningする手法の開発が重要と考えられる。
まとめ
• 何故大きなネットワークの方が容易に学習可能なのかを説明する、
“宝くじ券仮説”について紹介
• 重みpruningで残ったネットワークの重みを、最初のランダム初期値にリセットすると、
大きなネットワークに匹敵する精度・収束iteration数のサブネットワークである、
“当選券”を獲得できる(条件次第で)
• DNNの学習方法や、pruningの有効性・方法に対して多くの示唆
• 現状では仮説の域を出ないが、今後の理論解明に期待
補足:関連するかもしれない研究
• Generalization in Deep Networks: The Role of Distance from Initialization [Vaishnavh
Nagarajan+, NIPSW2017] http://www.cs.cmu.edu/~vaishnan/papers/nips17_dltp.pdf
• Towards Understanding the Role of Over-Parametrization in Generalization of Neural
Networks [Behnam Neyshabur+, arXiv2018] https://arxiv.org/abs/1805.12076
ランダム初期化時と学習後の重みの値の距離に基づいて汎化誤差を分析
• DropBack: Continuous Pruning During Training [Maximilian Golub+, arXiv2018]
https://arxiv.org/abs/1806.06949
• Intriguing Properties of Randomly Weighted Networks: Generalizing While Learning Next
to Nothing [Amir Rosenfeld+,arXiv2018] https://arxiv.org/abs/1802.00844
重みの大半をランダム初期値で固定し、一部の重みのみを更新
• Insights on representational similarity in neural networks with canonical correlation
[Ari S. Morcos+, arXiv2018] https://arxiv.org/abs/1806.05759
大きなネットワークほど似た解に収束する
補足:AutoMLとpruningの関係
constructive algorithms
小さなネットワークを大きくしていく
destructive algorithms
大きなネットワークを小さくしていく
architecture search
pruning
モデル圧縮・高速化
AutoML
補足:AutoMLとpruningの関係
• constructive/destructive algorithmsは、
単調に変形を行うstructural hill climbingであり、
structural local minimaに陥りやすいという指摘がある
[Peter J. Angeline+, Neural Networks 1994]
• pruningや以下のようなアーキテクチャ探索手法は、
人間が良い初期構造・探索空間を設定することが重要と考えられる
- NASH [Thomas Elsken+, ICLRW2018] https://arxiv.org/abs/1711.04528
https://www.slideshare.net/takahirokubo7792/1simple-and-efficient-architecture-search-for-convolutional-neural-networks
- DARTS [Hanxiao Liu+, arXiv2018] https://arxiv.org/abs/1806.09055
https://www.slideshare.net/YutaKoreeda/darts-differentiable-architecture-search
(重要性の低いoperationをpruningしている)

【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks