数学がわからない

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

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

背景

「蒸留(Distillation)」に関して、論文"Ravi Teja Mullapudi, Online Model Distillation for Efficient Video Inference."を読んだ。そのアプローチはモデル蒸留のために広く使用されている技術として以下二つの論文に基づいているという。

[3] C. Bucilu, R. Caruana, and A. Niculescu-Mizil. Model compression. In Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pages 535–541. ACM, 2006. 2
[18] G. Hinton, O. Vinyals, and J. Dean. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531, 2015.

今回からは、論文"Distilling the knowledge in a neural network."を読み進めていく。

論文"Online Model Distillation for Efficient Video Inference."

何でも理解できるが重いネットワークよりも、実運用を考慮して特定の対象に特化させることで軽いネットワークを作ることを目指す。「特定の対象」を明確にして予め準備して訓練するのが難しいため、「オンライン」で訓練する方法を提案。
ビデオの毎フレームを処理する学生モデル「JITNet」は、エンコーダ・デコーダに類似した、内部に修正ResNetブロックを持つアーキテクチャであり、精度と効率の両立を実現する。

論文読解

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

Abstract

ほとんどすべての機械学習アルゴリズムのパフォーマンスを向上させるための非常に簡単な方法は、同じデータ上で多くの異なるモデルを学習させてからそれらの推論を平均化することです[3]。

残念ながら、モデルの全体の集合(ensemble、アンサンブル)を使用して推論を行うことは面倒であり、特に個々のモデルが大きなニューラルネットである場合、多数のユーザへの展開を可能にするには、計算コストがかかりすぎる可能性がある。

Caruanaと彼の共同研究者[1]は、アンサンブル内の知識を単一のモデルに圧縮することが可能であることを示しました。このモデルは展開するのがはるかに簡単です。 そして我々はこのアプローチをさらに異なる圧縮技術を用いることで発展させます。

我々はMNISTでいくつかの驚くべき結果を達成しました。そして我々は、モデルのアンサンブルの知識を単一のモデルに蒸留することによって、頻繁に使用されている商用システムの音響モデルを大幅に改善できることを示します。

我々はまた新しいタイプのアンサンブルも紹介します。それは、1つまたは複数のフルモデルと、フルモデルが混同する細かいクラスを区別するように学習した多くのスペシャリストモデルとで構成されます。

エキスパートの混合とは異なり、これらのスペシャリストモデルは迅速かつ並行して訓練することができます。

[1] C. Buciluˇa, R. Caruana, and A. Niculescu-Mizil. Model compression. In Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD ’06, pages 535–541, New York, NY, USA, 2006. ACM.
[3] T. G. Dietterich. Ensemble methods in machine learning. In Multiple classifier systems, pages 1–15. Springer, 2000.

概要をまとめると以下の通り。

  • 背景

機械学習アルゴリズムは、複数の異なるモデルの推論を平均化することで性能が向上する(モデルのアンサンブル)。

  • 問題

モデルのアンサンブルは計算コストが高すぎる。

  • 従来手法

Caruanaらの"Model compression."は、アンサンブル内の知識を単一のモデルに圧縮することを示している。

  • 提案手法

従来手法をさらに異なる圧縮技術を用いることで発展させる。また、フルモデルとスペシャリストモデルとで構成するアンサンブルも提案。

  • 効果

MNISTでいくつかの驚くべき結果を達成。
商用音響モデルを大幅に改善。
スペシャリストモデルは迅速かつ並行して訓練することが可能。

1 Introduction-1

多くの昆虫は、環境からエネルギーと栄養素を抽出するために最適化された幼虫型と、旅行と繁殖という非常に異なる要件に最適化された成人型を持っています。幼虫型と成人型は完全に異なる形態です。

大規模な機械学習では、トレーニング段階と展開段階で非常によく似たモデルを使用するのが一般的です。トレーニングと展開では、要件が非常に異なるにも関わらず、です。

音声認識やオブジェクト認識などのタスクでは、トレーニングは、非常に大きく冗長性の高いデータセットから構造を抽出する必要があります。しかし、リアルタイムで操作する必要はなく、膨大な量の計算を使用する可能性があります。

ただし、多数のユーザーへの展開には、待ち時間と計算リソースに対する要件がはるかに厳しくなります。

昆虫のアナロジーは、我々は非常に面倒なモデルの訓練を喜んでするべきであることを示唆している。それがデータからの構造抽出を容易にするならば。

面倒なモデルは、個別に訓練された複数のモデルの集合体(アンサンブル)、またはドロップアウト[9]のような非常に強力な正則化器を使用して訓練された単一の非常に大きなモデルです。

面倒なモデルを一度トレーニングすれば、別の種類のトレーニングを使用することができます。これを我々は「蒸留」と呼び、面倒なモデルから展開に適した小さなモデルに知識を移します。

この戦略は、Rich Caruanaと彼の共同研究者[1]によって既に開発されています。

その重要な論文は、大きなモデルのアンサンブルによって獲得された知識を、単一の小さなモデルに移すことが可能であると、説得力を持って示しています。

[1] C. Buciluˇa, R. Caruana, and A. Niculescu-Mizil. Model compression. In Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD ’06, pages 535–541, New York, NY, USA, 2006. ACM.
[9] N. Srivastava, G.E. Hinton, A. Krizhevsky, I. Sutskever, and R. R. Salakhutdinov. Dropout: A simple way to prevent neural networks from overfitting. The Journal of Machine Learning Research, 15(1):1929–1958, 2014.

昆虫が要件に合わせて大きく形態を変えるように、機械学習も要件に合わせて大きく形態を変えて最適化すればよいという話。

昆虫には成長するために最適化された幼虫型と、移動と繁殖のために最適化された成虫型がある。
同様に、機械学習モデルも学習のために最適化された学習型と、展開のために最適化された展開型を作ればよい、という文脈になるのだろう。学習時の要件は時間を掛けてもいいからより良いモデルを作ること、展開時の要件は高速で小さいことなのでかなり違うものが求められている。

そして大規模な学習用モデルから小規模な展開用モデルへの移行という戦略は論文”Model compression.”にて示されており、これを本論文の著者らは「蒸留」と呼ぶ。

まとめ

論文"Distilling the knowledge in a neural network."を読み始めた。今回は概要とイントロダクションの1段落目まで。内容は面白そうだが、真面目に読んでいくと非常に長くなりそうなのでほどほどにすべきかも。