数学がわからない

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

論文を読む"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-1

  • 昆虫はそれぞれ全く異なる要件に最適化した幼虫形態と成虫形態を持つ
  • 同様に機械学習も、トレーニング段階と展開段階で要件は大きく異なるのだから、それぞれで最適化した形態を持てば良い。
  • レーニング用の面倒なモデルから展開用の単純なモデルへの移行戦略はRich Caruanaらの”Model compression.”で提案されており、これを「蒸留」と呼ぶ。

論文読解

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

1 Introduction-2

2段落目を読み進めようとしたが、いきなり何を書いているのか全く理解できなくなる。かなり自分の解釈を加えるので間違っているかもしれない。

(蒸留を困難にする我々の傾向)
蒸留という非常に有望なアプローチのさらなる探求を妨げた概念的な障害は、我々には訓練されたモデル中の知識と学習されたパラメータ値とを区別する傾向があることです。この傾向が知識を保ったままモデルの形態を変える方法の発見を困難にします。

(傾向への対策)
より抽象的な知識の見方(あらゆる具体化から知識を解放する)は、知識が、入力ベクトルから出力ベクトルへの、学習済みマッピングである、ことです。

(「面倒なモデル」の学習の副作用)
多数のクラスを区別することを学習する「面倒なモデル」にとって、通常のトレーニングの目的は、正解の平均対数確率を最大にすることです。しかし、学習の副作用は、トレーニングされたモデルがすべての誤った回答に確率を割り当てることであり、これらの確率が非常に小さくてもその間に大小の差が存在します。

(「不正解」の中の総体確率)
不正解中の相対確率は、どのように「面倒なモデル」が一般化する傾向があるかについて、多くのことを教えてくれます。

(例:ごみ収集車とニンジン)
例えば、BMWのイメージはごみ収集車と間違えられる非常に低い可能性があるかもしれません。しかし、その間違いが起きる可能性はニンジンと間違える可能性よりは何倍も高そうです。

前の段落で、この論文以前にすでに存在している「蒸留」について言及したが、この段落では、その「蒸留」に関する研究が進まなかったのは、研究者の傾向「モデル中の知識と学習されたパラメータ値とを区別する」にあるとしている。したがって区別せずにモデルの中の知識が学習されたパラメータと同一の、「学習済みマッピング」であるという見方をすれば良い、と理解した。

そしてマッピングなので「面倒なモデル」の学習には副作用が生じ、例えば、車に対しニンジンである確率のような、知識としてはありえないようなごくわずかな確率というものを割り当ててしまう。

まとめ

・・・訳したものを無理やり解釈したものを書いてみたがやっぱりちゃんと理解できない。
こういう理解できない文章にとらわれて時間を無駄にしてしまうのが良くないことなのだろう。イントロダクションは飛ばして、次の章を読み進めるべきかもしれない。