2.3K Views
February 19, 21
スライド概要
2021/02/12
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] “Sharpness-Aware Minimization for Efficiently Improving Generalization (ICLR2021)” Masashi Yokota, RESTAR Inc. http://deeplearning.jp/ 1
書誌情報 • 著者: Pierre Foret, Ariel Kleiner, Hossein Mobahi, Behnam Neyshabur (Google Research) • ICLR2021 Spotlight 採択 • 概要: 周りができるだけ平坦かつ最適な点を探すようにパラメータを 変更していくSAM optimizerを提案。性能が飛躍的に向上。 2
1.1 背景 • 近年の深層学習モデルは、VGGやResNetなど overparametarizedされたモデルで最適化を行っている • 一方で最適なパラメーターを探すためのoptimizerの選択は重要 3
1.2 平坦なminima • ロスの周辺の形(特にminimaの平坦性)と汎化性能の関係は、 過去の研究で理論的にも実験的にも示されている[Shirish Keskar et al., 2016; Dziugaite and Roy, 2017; Jiang et al., 2019] • 一方で、ロスの周辺も考慮した最適化を実用的な計算量で行う ことは課題の一つであった 4
1.3 提案手法の特徴 (左図)SGDでResNetを学習した際の解 (右図)SAMでResNetを学習した際の解 この論文では以下の特徴を持つSAMを提案: 1. 2. 3. 4. minimaの周りの形状を直接的に考慮可能 データ拡張等の既存のテクニックとも併用可能 様々なネットワークに応用可能 高効率でスケーリング可能 5
1.4 提案手法の貢献 • Sharpness-Aware Minimization(SAM)を提案 • 様々な条件での実験を通して、提案手法により汎化性能が向上 したことを示した • Label ノイズにも強いことを示した • m-sharpnessという概念を導入し、lossの先鋭さと汎用性の関 係性を分析 6
2. Related Works 7
2.1 Regularizing Neural Networks via Adversarial Model Perturbation [AAAI2021 Zheng et. al.] • 性能が悪くなる方向へパラメー タを少しずらした上で、パラ メータの更新することで、平坦 なminiaを探索するAMPを提案 性能が悪くなる方向を計算(※1) 元のパラメータから(※1)で計算した分だけ ずらした上で勾配の計算を行いパラメータを更新 8
2.2 提案手法との違い • 先行手法は平坦なminimaを探すことを起点に考案された手法で あるが、提案手法は汎化性能を上げることを起点に考えた結果 として平坦なminimaを探索可能な手法となっている (※提案手法がどう考えて理論展開したかの詳細は元論文の Appendix Aを参照下さい) • より幅広い実験条件下で提案手法の有効性を示した • m-sharpness等により学習後のパラメータ空間が平坦な minimaに収束しているを示した 9
3. Sharpness-Aware Minimization 10
3.1 Preliminary 𝐿𝒟 を母集合から計算されたロス、𝐿𝑠 を学習データセットから計 算されたロス 。一般的には𝐿𝑠 は𝐿𝒟 の代わりとして用いられ、 optimizerよりパラメータ𝝎の最適化を行う。 11
3.2. SAMによる最適化 1/3 以下の定理から𝝐だけminimaの周りも考慮し得られたロスは、 𝐿𝒟 よりも大きいため右式を最小化することで𝐿𝒟 も最適化可能 (証明は元論文のAppendixを参照下さい) 12
3.2 SAMによる最適化 2/3 先の式の右式について、sharpnessをわかりやすく表現すると以 下のようになる: つまり、上式は以下の要素を合わせたものと等しい。 • 今までと同様のロスの最小化(2番目の項) • パラメータ周辺での性能差が小さくなるような制約(1番目の項) • (hは𝝎に対し増加関数なので)L2正則化(3番目の項) 13
3.2 SAMによる最適化 3/3 • 簡単のため元の式からhを簡略化すると以下となる : • SAMでは上記の式を用いて最適化を行っていく。 14
3.3 SAMの勾配計算 1/2 • 𝐿𝑠 を最小化するにあたり、その微分の効率的な概算をしたい。 そこで、𝐿𝑠(𝝎 + 𝝐)の𝝐に対してテーラー展開を行う: • 上式を双対ノルム問題として考えると以下のように概算可能。 ※ヘルダーの不等式を用いて変形している。詳細は以下リンクへ https://qiita.com/mosh/items/afeaf100379f49c470e8 15
3.3 SAMにおける勾配計算 2/2 • 先に得られた式から、𝐿𝑆𝐴𝑀 の勾配は以下のように示せる 𝑠 • 上式の二項は二階微分され、計算コストが高いため無視し 提案手法では以下の式から勾配を求める(ちなみに2項を無視 しない場合、逆に性能が悪くなる。筆者らも原因がわからず future workに回すとのこと) 16
3.4 SAMのアルゴリズム 17
4. 実験 18
4. 実験内容 以下に関して実験し、提案手法の有効性を確認 1. Image Classification from Scratch 様々なモデルやデータ拡張等を適用した際の汎化性の検証 2. Finetuning 転移学習をした際の汎化性の検証 3. Robustness to Label Noise ラベルノイズに対する汎化性の検証 19
4.1 Image Classification from Scratch • 確認したいこと • 提案手法の有効性の検証に加え、様々なモデルやデータ拡張等を用いても汎 化性能が高いかどうか • 実験内容 1. CIFAR-10, CIFAR-100 • WideResNet, Shake-Shake, PyramidNet, PyarmidNet + ShakeDropのモデルに、そ れぞれデータ拡張無し,CutOut, AutoAugmentを適用し、SAM以外のoptimizerで最適 化した結果と比較(具体的にどのoptimizerとの比較だったかは不明) 2. ImageNet • depthを50, 101, 152のそれぞれの条件下でResNetを学習し結果を比較 • ハイパーパラメータρの決定方法 [0.01, 0.02, 0.05, 0.1, 0.2, 0.5]を10%の学習データを用いてgrid search。 (実験的に0.05あたりがちょうどよいらしい) 20
4.1 Image Classification From Scratch ~CIFAR-10, CIFAR-100~ 21
4.1 Image Classification From Scratch ~ImageNet~ 22
4.2 Finetuing • 確認したいこと • 転移学習でも高い性能を出すかどうか • 実験内容 • ノイズを含んだImageNet(RandAugment, NoisyStudent)で 事前学習したEfficentNetを転移学習させ、SOTAな先行手法と比較 • ハイパーパラメータは、先行手法に合わせて以下に設定 23
4.2 Finetuning 24
4.3 Robustness to Label Noise • 確認したいこと • 平坦な点に収束していれば、ラベルノイズに対してもよりロバストに なっているはず。 →ラベルノイズに対するロバスト性の検証。 • 実験内容 • CIFAR-10に対して、ラベルノイズを20, 40, 60, 80%加えたデータセッ トで学習 • ハイパーパラメータ • (ノイズ80%) ρ: 0.1 • (ノイズ20-60%) ρ: 0.05 25
4.3 Robustness to Label Noise 26
5. Sharpness and Generalization Through the Lens of SAM 27
5. 分析内容 1. SAMの式はデータセット全体から勾配を計算していたが、実 際はmini-batchにデータセットを分割して計算している →mini-batchで学習させることは良かったのかバッチサイズ を変化させて、新たにm-sharpnessという指標で評価 2. SAMで学習したモデルのパラメータ空間に対してヘッセ行列 のスペクトル分析を行うことで、パラメータ空間の曲率を計 算し、平坦なminiaに収束しているか分析 28
5.1 m-sharpness • 先のSAMの式では、training dataset全体で更新幅を決定して いたが、データセットが大きい場合その計算は難しい →サイズmのミニバッチに分けて学習させている。 • mの値に応じて、sharpnessがどう変化したのかを m-sharpnessという指標を新しく作り評価 m-sharpness mを減少させたときの誤差率とρの相互情報量 29
5.1 m-sharpnessによる分析 • 左図は、各バッチサイズでの誤差率とρの関係。右図はそれぞれのバッチサイズmと、 mにおける誤差率とρの相互情報量(m-sharpness)の関係。 • m-sharpness が高いほど尖鋭度と汎化性能が強く相関していることを示している。 • 驚くべきことにmが小さいほど汎化性能が高くなることが判明。 30
5.2 Hessian Spectraによる分析 • SAMにより学習したモデルは、本当に 平坦なminimaになっているのかを検証 • パラメータのHessian Spectrumを見て minima周辺の形状を分析。 →Hessianは二階偏微分なので固有値の 分布を見ることで曲率を見れる。 (固有値が小さいと曲率も小さい) • 図からもわかるように、SAMは低い曲 率で収束しており、sharpnessとして見 られる指標である𝜆𝑚𝑎𝑥 /𝜆5でもSAMの方 が小さい値となっており、平坦な解に 収束していることがわかる。 31
6. まとめ • 平坦なminimaを探索するSAMを提案 • 様々な条件下(モデル、タスク、データ拡張)でも良い性能を 達成かつ、ラベルノイズにも強い • m-sharpnessによる分析で、小さいバッチサイズの方が汎化性 能が高いことが判明(今後、この結果を深く分析した論文でそ う) • Hessian Spectraにより、SAMにより学習したパラメータが平 坦な解に収束していることがわかった • 一方で、batch sizeが小さいほど性能がよかったり、勾配の式 の第二項も計算すると謎に性能が下がる等、直感と合わない 結果が多いので、それらの分析は今後に期待 32