数学がわからない

日々の勉強をアウトプットする。

論文を読む"Distilling the knowledge in a neural network."⑭

背景

「蒸留(Distillation)」に関して、論文"Ravi Teja Mullapudi, Online Model Distillation for Efficient Video Inference."を読んだ。
その中で引用されていたモデル蒸留のために広く使用されている技術の論文として、次の論文を読み進めている。

[18] G. Hinton, O. Vinyals, and J. Dean. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531, 2015.

前回まで

gyokan.hatenablog.com

論文読解

Google翻訳した上で、自分の理解しやすいように修正しながら読んでいく。

6. Soft Targets as Regularizers(正則化器としてのソフトターゲット)

ハードターゲットの代わりにソフトターゲットを使用することに関する私たちの主な主張の1つは、単一のハードターゲットではエンコードできない可能性がある多くの有用な情報をソフトターゲットで運ぶことができるということです。


このセクションでは、我々は次のことを示します。これは非常に大きな効果があるということです。後述するベースラインスピーチモデルの85Mパラメータに適合する、はるかに少ないデータを使用することによって。


表5は、3%だけのデータ(約20Mの例)では、ハードターゲットでベースラインモデルをトレーニングすると、深刻な過剰適合が発生します(我々は早期停止しました。精度が44.5%に達した後、急激に低下したためです)。一方、同じモデルをソフトターゲットで訓練したものは、完全なトレーニングセット内のほぼすべての情報を回復できます(約2%低下)。

さらに注目すべきは、我々が早期停止をする必要がなかったことです:ソフトターゲットを用いたシステム、は単に57%に「収束」しました。これは、ソフトターゲットが、すべてのデータを用いてトレーニングされたモデルによって発見された規則性を、別のモデルへ伝達するための、非常に効果的な方法である、ことを示しています。

ソフトターゲットの有効性

ソフトターゲットを使って蒸留を行えば、ハードターゲット以上の情報を元のモデルから蒸留後のモデルに転送することができるとここでは言っているようです。

ソフトターゲットを用いて、学習に用いるデータ量を減少

具体的な例は表5を用いて説明されており、ここではソフトターゲットを用いれば、学習に用いるデータ数を減らせることを示しています。

  • ハードターゲットで少ないデータを用いた訓練では、深刻な過剰適合生じ、かつ収束しそうになかった(早期停止する必要があった)。
  • ソフトターゲットで同じデータを用いた訓練では、全てのデータを用いた訓練に近い精度に収束。

この収束したかどうかは、ちゃんと学習ができているかどうかを示しているため、非常に重要なのでしょう。

System & training set Train Frame Accuracy Test Frame Accuracy
Baseline (100% of training set) 63.4% 58.9%
Baseline (3% of training set) 67.3% 44.5%
Soft Targets (3% of training set) 65.4% 57.0%

表5:ソフトターゲットは、新しいモデルを、トレーニングセットのわずか3%から、より一般化することができます。ソフトターゲットは、フルトレーニングセットでの訓練によって取得されます。

ベースラインかつ3%では、訓練データに対する精度が向上し、テストデータに対する精度が著しく低下する、過剰適合が起きていることが分かります。

一方、ソフトターゲットでは、ベースラインかつ100%と比較するとテストデータに対する精度は落ちていますが、訓練データを100%から3%に下げたにしては充分高い精度を維持しているように思えます。

6.1 Using soft targets to prevent specialists from overfitting(6.1専門家がやり過ぎないようにソフトターゲットを使用する)

JFTデータセットの実験で我々が使用したスペシャリストは、それらの非専門クラスをすべて、単一のゴミ箱クラスにまとめました。


スペシャリストがすべてのクラスに対して完全なソフトマックスを持つことを許す場合、早期停止を使用するよりも、それらが過剰適合するのを防ぐより良い方法があるのかもしれません。


スペシャリストは、その専門クラスにおいて非常に充実したデータでトレーニングされます。これは、そのトレーニングセットの有効サイズがはるかに小さいことを意味し、そしてその専門クラスに過剰適合する強い傾向があります。


この問題は、スペシャリストをかなり小さくすることでは解決できません。そうすれば、非専門クラスのすべてをモデル化して得られた、非常に有効な転送効果を失うためです。

本論文の実験では、専門モデルの訓練の際、専門ではないクラスを一つにまとめて訓練していますが、もっとより良い方法があるのかもしれない、と考察しているようです。

我々の3%のスピーチデータを用いた実験は、次のことを強く示唆しています。すなわち、もしスペシャリストがジェネラリストの重みで初期化されれば、我々は非専門クラスに関する知識のほとんど全てを残すことができます。ハードターゲットを用いた訓練に加え、非専門クラスのためのソフトターゲットを用いた訓練を行うことで。


ソフトターゲットはジェネラリストによって提供されます。我々は現在、このアプローチを模索しています。

ソフトターゲットを用いれば少ない訓練データ量でも、ベースライン(ジェネラリストモデル)の精度を引き継げる可能性を前節で示しています。それを有効に活用すればさらなる性能が見込めるかもしれない、と示唆しているようです。

この論文執筆時点では、「方法を模索している」で終わっているのですが、この論文は2015年と古いものですから、その後の進展があるかもしれないですね。

まとめ

論文"Distilling the knowledge in a neural network."の6章を読みました。