143 Views
December 27, 19
スライド概要
2019/12/27
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] When Does Label Smoothing help? (NeurIPS2019) Masashi Yokota, RESTAR Inc. http://deeplearning.jp/ 1
書誌情報 • 著者 – Rafael Müller, Simon Kornblith, Geoffrey Hintonら Google Brainの研究チーム – NeurIPS2019 採択 • Penultimate layer(Softmax層の一つ前の層) を線形な方法で 二次元平面に可視化。それによりLabel Smoothingの効果の 直感的な理解を可能にし、さらにLabel Smoothingについて 深く分析した。 2
1. 概要 3
Label Smoothing(以下、LS)とは • ハイパーパラメータαをK(K: クラス数)で割り、それを上図のよ うに振り分け、できた分布を正解としてモデルを学習させる。 図引用: https://www.softbanktech.co.jp/special/blog/cloud_blog/2019/0073/ 4
1. 概要 LSは様々なタスクやモデルで使われている。一方で、なぜ 性能が上がるのかわかっていない。本論文ではLSを分析し、 その理解を深めた。 5
1. この論文の貢献 • Penultimate layer(Softmax層の一つ前の層)の可視化方法の 提案 • LSがキャリブレーション効果があることを発見 • LSが蒸留に向いていないことの発見 6
2. Penultimate layer representations 7
Label Smoothing再考 LSの説明の前にHard Targetについて考える Hard Target 正解ラベルの値を1、それ以外を0として学習させる • できるだけ正解クラスのlogitと不正解クラスのlogitが 大きくなるようにモデルのパラメータを更新する。 • 不正解クラスのlogitと正解クラスのlogitは 単にできるだけ離れていれば良い 8
Label Smoothing再考 Label Smoothing – xはPenultimate layerの出力, 𝒘𝒌 はk 番目クラスのtemplate(重み) とするとk番目のクラスのlogit ( 𝒙𝑻 𝒘𝒌 )は以下のようにユークリッ ド距離の二乗 𝒙 − 𝒘𝒌 2 と考えられる: 重みによらないので Factored out k番目クラスのとき 常に同じなので Factored out LSでは 𝒙 − 𝒘𝒌 2 がパラメータαに依存した定数となるように学習さ れるので「正解クラスのtemplateと全ての不正解クラスのtemplate が等距離になるように学習している」と考えられる 9
Label Smoothing再考(もう少し直感的な理解) Label Smoothing α = 0.3 Hard Target 0.7だけ差が できるように学習 0.03 • one-hot表現では不正解クラスの値は0に近づくように学習する (不正解クラスの確率は単に0に近ければ良い) • LSでは正解と不正解の確率の差が(1-α)になるように学習する。つまり、 正解クラスと不正解クラスが全て等距離に配置されるように学習する 10
先の考察の検証 以下の条件でPenultimate Layersを可視化・定性分析し、 先の考察の検証を行う。 • 検証モデル/データセット – AlexNet/CIFAR-10 – ResNet-56/CIFAR-100 – Inception-v4/ImageNet • 非類似クラス3つ • 類似クラス2つ+非類似クラス1つ 11
Penultimate layerの可視化方法 Penultimate layerを以下のプロセスで可視化し定性分析する 1. 3つのクラスをピックアップ 2. 選んだクラスの重み上にある平面の正規直行基底を計算 3. 先のステップの平面にPenultimate layerの出力をサンプリ ングし可視化 12
ちなみに…各条件でのLSの有無による性能の変化 各モデル/データセットの組み合わせでのLSの効果をみる。 LSの有無では性能は微妙によくなる or 変化なし。 13
Penultimate Layersの可視化 AlexNet/CIFAR-10 • Airplane, Automobile, birdのクラスのデータを可視化。 • w/ LSの場合、クラスタがまとまるように写像され、さらに 各クラスタ同士が一定距離離れるように学習されている。 14
Penultimate Layersの可視化 ResNet-56/CIFAR-100 • Beaver, Dolphin, Otterの3クラスをvisualize • w/ LSの場合、明確に密集したクラスタがつくられ、各クラ スタは等距離に写像されるように学習されている 15
Penultimate Layersの可視化 Inception-v4/CIFAR-100 (類似クラス×2、非類似クラス×1) • Tench, Meercat, cleaverをvisualize • 各クラスタは先と同様にw/ LSの場合、各クラスごとに密な クラスタを形成するように学習されている。 16
Penultimate Layersの可視化 Inception-v4/CIFAR-100 (類似クラス×2、非類似クラス×1) • Tench, toy poodle, miniature poodleの3クラスをvisualize • w/o LSでは、似ているクラス同士が一つのクラスタになってしまう。一方で、 w/LSでは異なるクラスのクラスタを中心とした円弧上に配置される。 • クラス間の情報は仮想的に消されてしまっている 17
Penultimate Layersの可視化 Inception-v4/CIFAR-100 (類似クラス×2、非類似クラス×1) • Tench, toy poodle, miniature poodleの3クラスをvisualize • w/o LSでは、似ているクラス同士が一つのクラスタになってしまう。一方で、 w/LSでは異なるクラスのクラスタを中心とした円弧上に配置される。 • クラス間の情報は仮想的に消されてしまっている 18
先の検証でわかったこと • 正解クラスと他の不正解クラスがそれぞれ一定の距離分、離 れるように学習させる →over confidence問題(モデルが自信を持って回答している のにそれが外れてしまう問題)が発生しにくいと考えられる (3. Implicit model calibration に続く) • ただし正解クラスに似ているクラス同士は、不正解クラスを 中心とした円の弧の上に写像される →logit内での相互情報量を落としていると考えられる (4. Knowledge Distillationに続く) 19
3. Implicit model calibration 20
Calibrationとは • Calibration (もしくはConfidence Calibration)とは: モデルが出した確率がその正答率を反映できるようにモデル を学習させることを目的にした研究課題 • CalibrationはGuoらの研究[ICML 2017]で提案された Estimated Calibration Error(ECE)により評価できる 21
ECEとは • データサンプル全てに関して、モデルのconfidenceの値ごと にM等分し、それぞれのbinを用いて以下を計算する: 𝐵𝑚 :m番目のbin, M: binの数, n: サンプル数 bin毎にaccuracyを計算 bin毎にconfidenceを計算 (𝑝Ƹ 𝑖 : confidence) 22
Implicit model calibrationの検証 検証したいこと: LSによりcalibrationができたかどうか • 実験条件 – ECEの計算に用いるbin数: 15 • 比較手法 ① w/o LS (baseline) ② w/ LS ③ w/ temperature scaling (以下、TSと表記。なお、先行研究でCalibrationに有効と検証済み) • 実験内容 1. Image Classification • ResNet-56/CIFAR-100 • Inception-v4/ImageNet 2. Machine Translation • Transformer architecture / English-German translation 23
Implicit model calibration ResNet-56/CIFAR-100 • 完全にcalibrationされてい る場合、黒の点線と重な る • LSはTSと同レベルに calibrationされている 24
Implicit model calibration Inception-v4/ImageNet • 完全にcalibrationされてい る場合、黒の点線と重な る • LSはTSより、やや劣るが baselineよりもcalibration されている 25
Implicit model calibration Transformer/EN-DE dataset • 完全にcalibrationされてい る場合、黒の点線と重な る • LSはTSと同程度に calibrationされている • すなわち画像分類以外に も翻訳タスクでも同等の Calibrationの効果がある ことがわかった。 26
Implicit model calibration ECEでの比較 • Inception-v4/ImageNetでのLSはTSに比べてやや劣るが、他 ではTSと同程度calibrateできている 27
先の実験でわかったことと次の疑問 • わかったこと – LSはTSと同程度にCalibrationできていることがわかった • 次の疑問 – LSとTSを組み合わせれば、もっとよくなるのではないか? Machine Translationに関して、LSの有無やTSの温度が BLEUやECE、NLLにどのような変化を与えるのか確かめる 28
Implicit model calibration w/o LSの場合の温度変化とBLEUとECEの関係 • w/o LSのときにTSの温度を 変化させたときに各スコア の変化をみる • 赤線はECE、青線はBLEUを それぞれ表す。 • 温度が1.13あたりでBLEUと ECE双方が最も良くなって いる 29
Implicit model calibration w/ LSの場合の温度変化とBLEUとECEの関係 • α=0.1でのLS時にTSの温 度を変化させたときに各ス コアの変化をみる • TSとLSを一緒に使うとECE もBLEUも悪くなる → TSとLSの共存は性能を 悪くすることがわかった 30
Implicit model calibration LSの有無と温度とNLLの関係 • マーカーあり: w/ LS • マーカなし: w/o LS • LSはNLLに対して悪い影響を与 えている。(ただし、LSを使っ た方がBLEUは良くなる) 31
Implicit model calibrationでわかったこと • LSはTSとImage ClassificationとMachine Translationにおい て同程度にCalibrationができることがわかった • LSとTSを共存させると逆に悪くなり、共存はできないこと がわかった 32
4. Knowledge distillation 33
Knowledge distillation • ここで確かめたいこと – LSはlogit間の相互情報量まで落としていると考えられ相互情報量 が重要な蒸留では、LSは悪影響を与えるのではないか? • 上記は筆者らは以下の簡易的な実験でもその傾向はわかる – MLPのteacherモデルを使ってMNISTを学習。学習したteacherモ デルをstudentモデルに蒸留すると以下のような結果になる。 w/o LS teacherで蒸留 : train: 0.67%, test: 0.74% w/ LS LS teacherで蒸留: train: 0.59%, test: 0.91% → LSは蒸留に良くない影響を与えていることがわかる 34
なぜLSはKnowledge distillationに有効でないのか? Knowledge Distillationおさらい 教師モデルの出力を教師とするsoft target lossと通常の学習 のhard target lossの組み合わせでstudentモデルを学習 図引用: http://codecrafthouse.jp/p/2018/01/knowledge-distillation/ 35
なぜLSはKnowledge distillationに有効でないのか? teacherモデルの出力分布の形がstudentモデルにとって有益な 情報となる → LSは不正解ラベルの分布の形を平坦にしてしまいstudent にとって単なるhard targetでの学習と変わらなくなるため studentにとって有益な情報を消してしまっている 有益な情報 図引用: http://codecrafthouse.jp/p/2018/01/knowledge-distillation/ 36
Knowledge distillation • 以下の内容を確認し、LSがどれくらい蒸留に悪影響を与える のか調査 1. 2. 3. 4. w/ LS teacher のaccuracy 蒸留なしのstudentのaccuracy w/o LS Teacher を利用して蒸留したw/ TS studentのaccuracy w/ LS Teacherを利用して蒸留したstudentのaccuracy ※なお、Teacherからの蒸留する場合、hard targetは使わず Teacherの出力分布のみを使ってstudentは学習する。 37
Knowledge distillation LSの有無による蒸留後の性能の差 • Teacher w/ LSは0.6まで 精度は上がっている • Teacher w/ LSを用いて 蒸留したstudentは性能 がベースラインと同程度。 Teacher w/ TSの蒸留と 比べて性能が劣る → 蒸留に重要なlogit間の 相互情報量が落ちてし まっていると考えられる 38
Logit間の相互情報が消えてしまっていることの直感的理解 • w/o LSだと広がったクラスタになる → 同じクラスのサンプルでも出力分布のバラエティがある • w/ LSだと密なクラスタになる → 同じクラスを答えとするデータは全て似たような出力分布になる。 つまりlogit間の相互情報量が消えてしまっている。 • これは精度がよくなることが蒸留にとって良いことではないということを示す 39
Logit間の相互情報量を考える 1 / 2 Inputとlogitの多次元かつ分布不明なデータの相互情報量を計 算するのは困難。以下の仮定を元に簡易的に相互情報量を計算 – X: 入力画像, Y: 2クラス間のロジットの差 – Yの分布をガウス分布とし、Xをランダムにshiftしてモンテカルロ サンプリングすることで平均𝜇𝑥 と分散𝜎 2 を求める – d(・): 画像をランダムにshiftする関数, f(・): 学習済みモデル, L: モンテカルロのサンプル数, N: Trainingデータのサンプル数 40
Logit間の相互情報量を考える 2 / 2 • 上記の式の値は、0からlog(N)の範囲に収まる • 0の時は、全てのデータ点が1つのポイントに集まった状態で、 それは相対エントロピーが0であることを示す。 • log(N)の時は、N個全てのデータ点がバラバラになっている 状態。 41
Knowledge distillation Logit間の相互情報量が落ちているのか検証 • N=600として2つのクラス間 の相互情報量を計算 • 明らかにw/ LSの場合は、相 互情報量が落ちていること が確認できる • 点線のlog(2)は、全てのサン プルが完全に2つのクラスタ に別れた状態 →w/ LSのteacherはかなり log(2)に近い状態といえる。 42
5. 関連研究 43
Do Better ImageNet Models Transfer Better? [Kornblith+ 2019] ImageNetで良い性能を出しているモデルを転移学習させても良い性能が出るのかを調査。(こ の論文では他にも調査しているが)LSは転移学習に良い影響を与えないことが実験的にわかっ 44 た。おそらくこれもLSが何かしらの情報量を落としてしまっていると考えられる。
Future Work • 筆者ら曰く、LSが相互情報量を落としていることの発見を応 用し以下の様々な分野の研究を加速させる可能性がある – information bottleneck principle – モデル圧縮 – モデルの汎化 – 転移学習 • また、LSにCalibrationを進める効果もモデル解釈可能性に関 する研究分野に関しても大きなインパクトらしい。 45
まとめ • Penultimate layerを可視化し、Label Smoothingの定性的な 効果として「正解クラスと他の他の不正解クラスの距離が全 て等距離になるように学習する」ことを発見した • Label Smoothingにはcalibration効果があることを発見した • 画像分類や翻訳タスクにはLabel Smoothingの効果がある一 方で、蒸留には不向きであることがわかった • 蒸留には不向きである理由として、logit間の相互情報量が落 ちていることが原因であることがわかった • これらの発見は、いろんな研究分野で有益な発見である 46