コンペで検証してみた。かえるのプログラミングブログスマートフォン用の表示で見るかえるのプログラミングブログプログラミングでつまずいたところとその解決策などを書いていきます。コンペで検証してみた。(@kaeru_nantoka)です。コンペで実際に使ったデータとモデルを用いて蒸留の検証をしたので、これについて書いていこうと思います。上に公開カーネルとして載せていますので合わせてご覧ください。理解する際に参考https://qiita.com/ceptree/items/9a473b5163d5655420e8概要まず、蒸留の基本的なお気持ちについてご紹介します。一般的に、教師データをこれ以上増やせないという制約の元でより良い精度を実現するためにはモデルのアンサンブルという手法が取られます。利用するのに不便が生じます。そこで、より良い予測を得られるアンサンブルモデルの出力を別な軽量なモデルの学習にうまいこと利用しようという発想です。(アンサンブルモデルなど容量が重いがより良い予測が得られる。教師モデルの出力も学習に使う。想起する読み手のかたも多くいらっしゃると思います。モデルへと知識を継承させる実験をしました。実験の結果以下のようになりました。上昇で、順位だと5位アップ相当でした。ことを考慮すると、イマイチパッとしないように見えますが後ほどこれに対する私見を述べます。抑制がかかるとされています。言い換えると、蒸留によってある種の正則化の効果が得られます。これは当論文の第6章に書かれておりますのでご覧ください。強力なモデルの力を借りることで、軽量なモデルの予測が少し良くなっているのがみて取れます。model3.eval()蒸留では、教師モデルと生徒モデルの出力の分布を似せるように学習させます。