論文を読む"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.
前回まで
Abstract
- 背景
機械学習アルゴリズムは、複数の異なるモデルの推論を平均化することで性能が向上する(モデルのアンサンブル)。
- 問題
モデルのアンサンブルは計算コストが高すぎる。
- 従来手法
Caruanaらの"Model compression."は、アンサンブル内の知識を単一のモデルに圧縮することを示している。
- 提案手法
従来手法をさらに異なる圧縮技術を用いることで発展させる。また、フルモデルとスペシャリストモデルとで構成するアンサンブルも提案。
- 効果
MNISTでいくつかの驚くべき結果を達成。
商用音響モデルを大幅に改善。
スペシャリストモデルは迅速かつ並行して訓練することが可能。
1 Introduction
- トレーニングと展開、それぞれの最適化
- 機械学習における知識
- 蒸留という有望なアプローチを阻害するのは、「モデルの中の知識と学習されたパラメータを区別してしまう傾向」。
- 知識とは「学習済みマッピング」である。
- だからこそ、不正解に対する確率もごくわずかであれ定義されてしまう。
- モデルを一般化する正しい方法
- 目的関数はユーザーの真の目的を反映すべきであるが、実際は反映できていない。
- モデルを一般化する正しい方法に関する情報が必要であるが、普通は利用不可能。
- ただし、大きなモデルを学習済みで、蒸留によって小さなモデルを作る場合、大きなモデルの学習に用いた方法が小さなモデルにも適用できる。
- 転送の具体的な方法
- 「面倒なモデル」の出力情報の活用
- Caruanaらは確率ではなくロジットを用いた。
- 本論文の「蒸留」では、ソフトマックスの温度(temperature)を使って、より適切なターゲットのソフトセットを生成する。
論文読解
Google翻訳した上で、自分の理解しやすいように修正しながら読んでいく。
2.1 Matching logits is a special case of distillation
転送の各ケースは、蒸留モデルの各ロジットに関して、クロスエントロピー勾配に寄与します。
面倒な(cumbersome)モデルがソフトターゲット確率を生成するロジットを持ち、転送トレーニングがの温度で行われる場合、この勾配は次の式で与えられます。
クロス(交差)エントロピーの微分が式(2)の前半のようになるのは、良く知られた話のようで、ググれば勉強になるサイトがすぐに出てきます。それを式(1)で展開したものが式(2)の後半です。
ロジットの規模と比較して温度(temperature)が高い場合は、次のように近似できます。
式(2)を近似して式(3)を得る方法についてもう少し詳細に述べます。
ますこの近似は、次式の線型近似(接線近似、一次近似)を用いて行われています。
この近似は、がに十分近い場合に成り立ちます。
指数関数の線型近似は、であることから次の通りです。
温度が高い場合とは、指数が0に近い場合です。従って、として、
これを式(2)に適用すると式(3)が得られます。
ここで、各転送ケースに対してロジットがとなるように別々にゼロ平均されていると仮定すると、式3が単純化できる。
つまり、高温限界で、ロジットが各転送ケースで別々にゼロ平均される場合、蒸留はを最小化することと同じです。
が大きいこと、ロジットがゼロ平均されていることといった条件のもと、クロスエントロピーの勾配の式が単純化できるということがここまでに述べられた。
結局は蒸留モデルのロジットと面倒なモデルのロジットの差の二乗を最小化するという当たり前の式に落ち着いている、ということだろうか。
より低い温度では、蒸留は平均よりはるかに否定的であるマッチングロジットにあまり注意を払いません。
これは潜在的に有利である。なぜなら、これらのロジットは、「面倒なモデル」を訓練するために用いられるコスト関数によってほとんど完全に制約されないため、それらは非常にノイジーになり得る。
一方、非常に否定的なロジットは、「面倒なモデル」によって獲得された知識についての有用な情報を伝えるかもしれません。
これらの効果のどれが支配的かは経験的な問題です。
我々は、蒸留モデルが「面倒なモデル」の知識をすべて捉えるには小さすぎる場合、中間温度が最もうまく機能することを示します。これは大きな負のロジットを無視することが役立つことを強く示唆しています。
温度は高すぎるとノイズが多くなるし、低すぎると情報量が少なくなる。適当が良い、とのこと。
まとめ
論文"Distilling the knowledge in a neural network."の2.1「Matching logits is a special case of distillation」を読んだ。