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