Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
1
DEEP LEARNING JP
[DL Papers]
http://deeplearning.jp/
When Does Label Smoothing help? (NeurIPS2019)
MasashiYokota, RESTAR Inc.
書誌情報
• 著者
– 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: クラス数)で割り、それを上図のように振り
分け、できた分布を正解としてモデルを学習させる。
4図引用: https://www.softbanktech.co.jp/special/blog/cloud_blog/2019/0073/
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
と考えられる:
LSでは 𝒙 − 𝒘 𝒌
2
がパラメータαに依存した定数となるように学習されるの
で「正解クラスのtemplateと全ての不正解クラスのtemplateが等距離にな
るように学習している」と考えられる
9
重みによらないので
Factored out
k番目クラスのとき
常に同じなので
Factored out
Label Smoothing再考(もう少し直感的な理解)
• one-hot表現では不正解クラスの値は0に近づくように学習する
(不正解クラスの確率は単に0に近ければ良い)
• LSでは正解と不正解の確率の差が(1-α)になるように学習する。つまり、正解ク
ラスと不正解クラスが全て等距離に配置されるように学習する
10
0.03
0.7だけ差が
できるように学習
α = 0.3
Hard Target Label Smoothing
先の考察の検証
以下の条件で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
• Beaver, Dolphin, Otterの3クラスをvisualize
• w/ LSの場合、明確に密集したクラスタがつくられ、各クラスタは
等距離に写像されるように学習されている 15
Penultimate Layersの可視化
ResNet-56/CIFAR-100
• 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
Penultimate Layersの可視化
Inception-v4/CIFAR-100 (類似クラス×2、非類似クラス×1)
先の検証でわかったこと
• 正解クラスと他の不正解クラスがそれぞれ一定の距離分、離れる
ように学習させる
→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: サンプル数
22
bin毎にaccuracyを計算
bin毎にconfidenceを計算
( 𝑝𝑖: confidence)
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を組み合わせれば、もっとよくなるのではないか?
28
MachineTranslationに関して、LSの有無やTSの温度が
BLEUやECE、NLLにどのような変化を与えるのか確かめる
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モデルを学習
35図引用: http://codecrafthouse.jp/p/2018/01/knowledge-distillation/
なぜLSはKnowledge distillationに有効でないのか?
teacherモデルの出力分布の形がstudentモデルにとって有益な情
報となる
→ LSは不正解ラベルの分布の形を平坦にしてしまいstudentにとっ
て単なるhard targetでの学習と変わらなくなるためstudentにとって
有益な情報を消してしまっている
36
有益な情報
図引用: http://codecrafthouse.jp/p/2018/01/knowledge-distillation/
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
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は転移学習に良い影響を与えないことが実験的にわかった。おそらくこ
れもLSが何かしらの情報量を落としてしまっていると考えられる。 44
Future Work
• 筆者ら曰く、LSが相互情報量を落としていることの発見を応用し
以下の様々な分野の研究を加速させる可能性がある
– information bottleneck principle
– モデル圧縮
– モデルの汎化
– 転移学習
• また、LSにCalibrationを進める効果もモデル解釈可能性に関する
研究分野に関しても大きなインパクトらしい。
45
まとめ
• Penultimate layerを可視化し、Label Smoothingの定性的な効果と
して「正解クラスと他の他の不正解クラスの距離が全て等距離に
なるように学習する」ことを発見した
• Label Smoothingにはcalibration効果があることを発見した
• 画像分類や翻訳タスクにはLabel Smoothingの効果がある一方で、
蒸留には不向きであることがわかった
• 蒸留には不向きである理由として、logit間の相互情報量が落ちて
いることが原因であることがわかった
• これらの発見は、いろんな研究分野で有益な発見である
46

More Related Content

[DL輪読会]When Does Label Smoothing Help?

Editor's Notes

  1. Penultimate Layersの可視化 Inception-v4/CIFAR-100 (非類似クラス×3)