262 Views
May 27, 22
スライド概要
2022/05/27
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
GradMax: Growing Neural Networks using Gradient Information ( ICLR 2022 ) Atsuya Kitada, Matsuo Lab 1
書誌情報 • GradMax: Growing Neural Networks using Gradient Information • ICLR 2022 Poster • 著者: Utku Evci, Bart van Merrienboer, Thomas Unterthiner, Max Vladymyrov, Fabian Pedregos (Google Research) 2
概要 • NNの成⻑と学習を繰り返すNetwork Growingという分野の⼿法 • 新たに⽣やすネットワークの重みの初期化⽅法を提案 • 勾配ノルムを最⼤化するように初期化することで、⻑期的に学習を改善 3
構造探索に関する分野の整理 NASやPruningと⽐べて、Network Growingはメモリ・計算効率が良い Neural Architecture Search (NAS) Network Growing Pruning ⼩さなシードアーキテクチャから学 → 探索空間が⼤規模 習と成⻑を繰り返してネットワーク → 最初に巨⼤なアーキテクチャが必要。 を⼤きくしていく。 → ⼤規模なネットワークが不要で、 メモリや計算量が少なくて済む 4
Network Growingの整理 Network Growingが取り組むべき問題は以下の3点 1. いつニューロンを追加するのか 例) Lossの減少が⽌まった時、エポック数 2. どこにニューロンを追加するのか 例) 既存の層、新しい層 3. どのように新しいネットワークの重みを初期化するか(本研究のフォーカス) 例) ランダム 6
Network Growingの整理 従来⼿法 提案⼿法 従来⼿法では、下記のいずれかの観点 GradMaxでは、⻑期的な学習ダイナミ にのみ焦点を当てていた クスにフォーカス。 • 元モデルの出⼒を不変にする制約 • ネットワークの出⼒不変という制約 • 損失関数を即座に減らす は満たしつつ、勾配ノルムを最⼤化。 • 損失関数を即座に減少させる⼿法と ⽐較して、Loss減少が⻑期間持続。 7
提案手法のモチベーション なぜ勾配ノルムを最⼤化するように初期化するのか? 損失関数 L が凸関数でβ-smoothの時、ステップサイズ ! " で勾配降下を1ステップ 実⾏した際、損失関数の変化量∇𝐿の上界が次のように与えられる。(→Appendix) 𝛽 𝐿 𝑊# − ∇𝐿(𝑊# ) 2 → 勾配ノルムを最⼤化することで上界が減少し、 損失関数も⼩さくなるはず 8
勾配ノルム最大化問題の定式化 ⽬的関数 • 新しく追加された重みの勾配ノルムを最⼤化 制約条件 • 重みの⼤きさに関する制約(解が無限⼤になるのを防ぐ) • ネットワークの出⼒が変化しないような制約 9
勾配ノルム最大化問題の定式化 • L層⽬とL+1層⽬の新しい重みに関する勾配は次のように書ける。 • &'( &'( ここで、新しいユニットへの⼊⼒重みの仮定 𝑾𝒏𝒆𝒘 = 𝟎 から、𝑧 , ℎ% =0 % 𝒍 • また、活性化関数の性質の仮定 𝒇 𝟎 = 𝟎, 𝒇) 𝟎 = 𝟏 から、𝑓 ) 𝑧%&'( = 1 • よって、勾配の式は次のように簡略化される • 従って、勾配ノルム最⼤化問題は次のように記述される。 10
有効性の検証 蒸留タスクによってMLP、画像分類タスクによってCNNでの有効性を検証 1. 蒸留タスク 2. 画像分類タスク • ランダムに重みを初期化した2層の教師ネッ • データセット • CIFAR-10、CIFAR-100、ImageNet トワークを⽤意。 • ガウス分布に従う⼊⼒データD! を f" に⼊⼒し • モデル • Wide-ResNet, VGG, Mobilenet て擬似ラベル𝐷# を作成。 • 擬似ラベル付データ (D! , D# ) を⽤いて、⽣徒 ネットワーク𝑓$ を中間層を成⻑させながら学 • 各層のチャネル数を1/4に削減したシード アーキテクチャ → 元のサイズへと成⻑ • 従来の初期化⼿法によって得られるモデルと 習。 分類精度を⽐較 D! D# 11
有効性の検証 1-1. ⼤きな勾配ノルムがその後の学習ステップでも持続 • 200ステップごとに中間層に新しいニューロン追加 × 5回 • 学習ステップごとの勾配ノルムの⼤きさをプロット • 後半の学習ステップでも勾配ノルムの⼤きさが 維持されている。 20 5 10 20 10 10 12
有効性の検証 1-2. Lossも持続的に減少する • GradMaxによるTraining Lossとランダム初期化によ るTraining Lossの差分 ∆𝐿𝑜𝑠𝑠 をプロット。 • 500ステップ以上に渡ってLossが改善し続けている。 • 「勾配ノルムを増加させることで、⻑期的な学習ダ イナミクスが改善される」という仮説の裏付け。 13
有効性の検証 1-3. 教師ネットワークのサイズによる学習曲線の違い • サイズの異なる教師ネットワークを2種類⽤意 • Small 20:10:10 (Student 20:5:10) • Large 100:50:10 (Student 100:25:10) • ⽐較対象モデル • Baseline-Small: シード構造で通常学習させたモデル • Baseline-Big: ターゲット構造で通常学習させたモデル • Network Growing⼿法の中では、GradMaxのLossが最⼩に。 • Largeモデルでは、GradMaxのLossがBaseline-Bigに匹敵。 • StudentモデルのサイズはTeacherモデルの50%→100%へと 線形に成⻑。FLOPSはBaseline-Bigの約75%に削減。 • Smallモデルでは、GradMaxはベースラインに及ばず。 14
有効性の検証 2-1. 様々なCNNモデルに対するGradMaxの適⽤ • 複数データセットを⽤意 (CIFAR-10、CIFAR-100、ImageNet) • 複数のCNNモデルを⽤意 (Wide-ResNet, VGG, Mobilenet) • 各層のチャネル数を1/4に削減したシードアーキテクチャを出発点として、元 のサイズへと成⻑ • 従来の初期化⼿法(Random, Firefly)と⽐較して⼀貫して分類精度向上。 15
議論 提案⼿法の限界 • 活性化関数の制約( 𝑓 0 = 0, 𝑓 ( 0 = 1 ) • 制約を満たさない活性化関数も多々ある。 • MLPやCNN以外のアーキテクチャでの検証が⾏われていない。 今後の展望 • いつ、どこのネットワークを成⻑させるべきかについての実験。 • より複雑なNASの⼿法として利⽤できる可能性。 16
Appendix 引⽤: Design and Analysis of Algorithms Lecture Notes on Convex Optimization https://www.cs.cornell.edu/courses/cs6820/2016fa/handouts/dscnt.pdf 17