【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distillation in Deep Learning

656 Views

June 30, 23

スライド概要

2023/6/30
Deep Learning JP
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP ”Towards Understanding Ensemble, Knowledge Distillation and Self-Distillation in Deep Learning” ICRL2023 [DL Papers] Kensuke Wakasugi, Panasonic Holdings Corporation. http://deeplearning.jp/ 1

2.

書誌情報 ◼ タイトル: Towards Understanding Ensemble, Knowledge Distillation and Self-Distillation in Deep Learning ◼ 著者: • Zeyuan Allen-Zhu(Meta FAIR Labs) • Yuanzhi Li(Mohamed bin Zayed University of AI) ◼ その他: • ICLR 2023 notable top 5% OpenReview ◼ 選書理由 • ICLR2023のNotable-top-5%から選出。 • アンサンブルや蒸留の動作原理について興味があったため ※特に記載しない限り、本資料の図表は上記論文からの引用です。 2

3.

3 はじめに ■背景・課題 • 初期値のみ異なるネットワークの単純平均アンサンブルや蒸留によって予測性能が向上するが、 この現象がなぜ生じているのか理論的に説明できていない。 ■Contributions • • “multi-view”と呼ぶデータ構造を提案 アンサンブルと蒸留の動作原理を、理論と実験で示した

4.

4 論文概要 NTKとDLでは、アンサンブルと蒸留の効果が異なることを理論と実験で示した 𝑓 𝑥 1 ෍ 𝑓𝑖 𝑥 𝑁 1 ෍ 𝑓𝑖 𝑥 𝑁 1 ෍ 𝑓𝑖 𝑥 → 𝑔 𝑥 𝑁 直接学習 学習後に平均 𝑓 𝑥 →𝑔 𝑥 𝑖 𝑖 𝑖

5.

5 背景 単純平均のアンサンブル学習の理論解析に着目 ■アンサンブルの理論解析 • いくつかの状況設定で理論解析はあるが、単純平均のアンサンブルにおける理論解析がない (1). Boosting: where the coeffcients associated with the combinations of the single models are actually trained, instead of simply taking average; (2). Bootstrapping/Bagging: the training data are different for each single model; (3). Ensemble of models of different types and architectures; (4). Ensemble of random features or decision trees. ■単純平均のアンサンブル学習の理論解析 • 初期化乱数のみ異なるモデル(学習データ、学習率、アーキテクチャ固定)における以下の現象を 理論的に説明することを試みる ✓ Training average does not work: 学習前にモデルをアンサンブルしても効果なし ✓ Knowledge distillation works:単一モデルに複数モデルから蒸留できる ✓ Self-distillation works:単一モデルから別の単一モデルへの蒸留でも性能が向上

6.

6 Neural Tangent Kernel 学習中の出力𝑦の変化をNTKで線形近似。大域解に収束できる。 学習データ 𝑥ҧ 関数 𝑓 学習パラメータ 𝒘 1、NNパラメータの更新式 𝜕𝑙𝑜𝑠𝑠 𝒘𝑡+1 = 𝒘𝑡 − 𝜂 𝜕𝒘 2、微分方程式とみなすと 𝜕𝒘 𝜕𝑙𝑜𝑠𝑠 =− 𝜕𝑡 𝜕𝒘 𝜕𝒚 =− (𝒚 − ഥ 𝒚) 𝜕𝒘 ※ 𝒚は複数の学習データを 並べてベクトル化 出力 𝑦 正解ラベル 𝑦ത 3、学習中の出力𝑦の変化 𝜕𝒚 𝜕𝒚 𝑇 𝜕𝒘 = 𝜕𝑡 𝜕𝒘 𝜕𝑡 𝜕𝒚 𝑇 𝜕𝒚 =− (𝒚 − ഥ 𝒚) 𝜕𝒘 𝜕𝒘 4、Neural Tangent Kernel 𝜕𝒚 𝜕𝒚 𝑇 𝜕𝒚 𝝓= ,𝑲 = 𝜕𝒘 𝜕𝒘 𝜕𝒘 ※ 𝜙はカーネル法でいうところの 高次元特徴量空間への写像関数 目的関数 loss 5、width→∞でK→const 𝜕𝒚 = −𝑲(𝒚 − ഥ 𝒚) 𝜕𝑡 6、 𝒅 = 𝒚 − ഥ 𝒚について 𝜕𝒅 = −𝑲𝒅 𝜕𝑡 𝒅 𝑡 = 𝒅 0 𝑒−𝑲𝑡 ※𝑲は正定値行列で, 固有値は収束の速さに対応 参考:Neural Tangent Kernel: Convergence and Generalization in Neural Networks (neurips.cc) Understanding the Neural Tangent Kernel – Rajat's Blog – A blog about machine learning and math. (rajatvd.github.io)

7.

NTKにおけるアンサンブル、平均モデル学習、蒸留の効果 アンサンブル、平均モデル学習は機能し、蒸留は機能しない ■NTKによる出力の近似 • NTK 𝝓 の線形結合で表現 ■アンサンブル • 線形結合をとる𝝓が増える → 特徴選択によって性能向上 ■平均モデル学習 • 線形結合をとる𝝓が増える+Wも学習 → 特徴選択によって性能向上 ■蒸留 • 蒸留先に、選択された特徴がないので、 性能向上せず × ※NTKのアンサンブルでの性能向上は、varianceの軽減 によるものと思うが、本文中では特徴選択と記載 NTKでは、特徴選択によって性能向上するが、 DLでは別の仕組みで性能向上しているのではないか(特徴学習) =ソフトラベル学習によるdark knowledgeとは何なのか 7

8.

DLにおけるアンサンブルの効果 ガウス状の入力の場合、ラベルノイズ有り無しに関わらずアンサンブルの効果なし 単にばらつきを抑えるだけでは、性能向上しない (後述するが)10モデルのアンサンブルでは、テスト精度の分散以上に性能向上する 8

9.

9 問題設定 各種観察事実を説明する仮説としてmulti-viewを提案 ■NTK、DLに関する関連研究結果を踏まえ、以下の問題設定を考える • • • • • ガウス分布よりも構造化された入力分布。ラベルノイズなし 訓練は完璧(誤差0)で、テスト精度にばらつきなし 初期化乱数のみ異なる複数のモデルを アーキテクチャや学習データ、学習アルゴの違いなし 学習の失敗は起こらない 上記を満たしたうえで、 アンサンブルによる性能向上を説明するアイディアとして、 multi-viewを提案

10.

10 multi-view クラスラベルごとに複数viewを持ち、欠損や共存も想定 ■multi-viewデータの例 • • • 車の構成要素(view)として、 window、headlight、wheelを想定 ただし、3つの内1つが欠けた車もある 猫を示す特徴を含む場合がある

11.

11 multi-view seed違いで異なるviewを獲得。実データでも確認。 • • 2クラス分類で、それぞれviewを2つ持つ ただし、他クラスの特徴を持つ場合、 single viewの場合がある • 学習時、lossを減らすためは、viewのいずれかを獲得す ればよく、viewの未学習が生じる アンサンブルではそれをカバーするので、性能向上する 蒸留では、ソフトラベルによって、0.1だけ含まれる特徴 の学習が促される • • NTKとの対比として DLでは、必要なviewを学習できるが、 NTK(random feature)では学習できないため、 振る舞いの違いが生じる

12.

12 理論解析:データ構造 P個のパッチにviewが埋め込まれているデータ構造を考える • • • Vision Transformerのような 入力形式を想定 multiとsingleの割合などはパラメータ 理論解析全体を通して、 各種パラメータをクラス数kで表現する (※理由わからず)。

13.

13 ネットワーク 2層のCNN+滑らかなReLUを利用 ※数式的には畳み込みは1層分?

14.

14 学習 一般的な学習方法

15.

15 テスト時の精度 テスト時の精度を解析的に提示 • 十分高い確率で完璧な学習ができ、 テスト時の不正解確率が0.49μ~0.51μに 収まる • • μ:Single Viewの割合 1-μ:Multi-Viewの割合

16.

16 アンサンブル時の精度 アンサンブルモデルの性能が向上 • 十分高い確率で完璧な学習ができ、 アンサンブルモデルのテスト時の不正解確率が <0.001μ • • μ:Single Viewの割合 1-μ:Multi-Viewの割合

17.

17 蒸留時の精度 蒸留によって、アンサンブルモデルと同程度の精度を獲得 • 十分高い確率で完璧な学習ができ、 蒸留モデルのテスト時の不正解確率が <0.001μ • • μ:Single Viewの割合 1-μ:Multi-Viewの割合

18.

18 自己蒸留の精度 2モデルのアンサンブルと同等の精度を獲得 • 2モデルアンサンブル相当の性能のため低めだ が、単体モデルよりも性能向上 • • μ:Single Viewの割合 1-μ:Multi-Viewの割合

19.

19 実データでの検証実験 NTKとDLにおけるアンサンブルの働きの違いを検証 • 冒頭の上図に対応する実験結果

20.

20 multi-view仮説の検証 channelの切り捨てで性能低下しても、アンサンブルで復元 • channel毎にviewを獲得しており、 それらの組合せが重要であることを 示唆

21.

まとめ・所感 ◼ まとめ • Multi-view仮説を提案。 • NTKとDLにおけるアンサンブルの働きの違いを理論的に証明。 • ランダムクロップによるデータ拡張など、 Multi-view仮説に基づく特徴獲得手法への発展を期待 ◼ 所感 • データ構造まで取り扱っており面白い。 • アンサンブルと一言にいっても、機能の仕方が異なっており、その一部をうまく整理している印象。 dropoutなども同様に説明がつきそう。 • まとめにある通り、汎化性能向上策への展開が期待される 21