数学がわからない

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

論文を読む"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翻訳した上で、自分の理解しやすいように修正しながら読んでいく。

7 Relationship to Mixtures of Experts(専門家の混合との関係)

データのサブセットに関して訓練された専門家を用いることは、mixtures of experts(専門家の混合)[6]に似ています。mixtures of expertsは、gating network(ゲートネットワーク)を使用して、各例を各専門家に割り当てる確率を計算する、というものです。


専門家が割り当てられた例を扱うことを学ぶと同時に、gating networkは、どの専門家をそれぞれの例に割り当てるかの選択を学んでいます。その例のための専門家の相対的な識別性能に基づいて。


エキスパートの識別性能を用いて学習された割り当てを決定することは、単純に入力ベクトルをクラスタリングし、各クラスタにエキスパートを割り当てるよりはるかに優れていますが、それはトレーニングの並列化を困難にします。


第一に、各エキスパートのための重み付きトレーニングセットは、全ての他のエキスパートに依存する方法における変化を維持し、そして第二に、ゲーティングネットワークは、割り当て確率をどのように修正するかを知るために、同じ例の異なるエキスパートのパフォーマンスを比較する必要があります。


これらの困難は、mixtures of experts が彼らが最も有益であろう領域でめったに使用されないということを意味しました:すなわち明確に異なるサブセットを含む巨大なデータセットを持つ課題です。

本稿が述べてきたジェネラリストモデルと専門家モデルを蒸留したモデルは、mixtures of experts(専門家の混合)[6]に似ているとのこと。

mixtures of expertsでは、エキスパートの識別性能を用いて割り当てを定める、というように、本稿で述べた蒸留の方法よりも手間をかけた手法で理論的に優れていそうだが、トレーニングの並列化が困難。

特に問題なのは、mixtures of expertsが理論的に一番効果を発揮しそうなのは膨大なデータセットを扱う課題なのに、並列化できないからとても使用に足るパフォーマンスが得られない、なので使われない、という。

複数の専門家のトレーニングを並列化する方がはるかに簡単です。


まずジェネラリストモデルをトレーニングし、次に混同マトリックスを使用して専門家がトレーニングするサブセットを定義します。


これらのサブセットが定義されると、専門家は完全に独立してトレーニングを受けることができます。


テスト時に、ジェネラリストモデルからの予測を使用して、どの専門家が関連性があり、実行する必要があるのはこれらの専門家のみであるかを判断できます。

結局、とりあえず実行できないと始まらないということでしょうか。

まとめ

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