蒸留がどうしてうまく動くのか

今日はもう授業がないので1日研究室のイベント。午前中と夕方に NAACL 読み会と、13-16時までが YANS(NLP 若手の会シンポジウム)の進捗報告である。NAACL 読み会で一番おもしろかったのは以下。(スライド

  • Hao-Ran Wei, Shujian Huang, Ran Wang, Xin-yu Dai, Jiajun Chen. Online Distilling from Checkpoints for Neural Machine Translation. NAACL HLT 2019.

これは知識蒸留に関する研究で、ニューラル機械翻訳で複数のチェックポイントでモデルを保存しておき、精度が落ちたら保存しておいたチェックポイントから知識蒸留する、という手法。知識蒸留自体がどのように動いているのかいまいちよく分かっていないのだが、離散的な教師信号から学習すると最適化が難しいが、連続的なモデルを使って最適化すると最適化しやすい、というのが直観だろうか。自然言語処理だと系列を生成したり構造を学習したりする必要があるので、画像処理と比べると探索の部分の比重が高いというのが特徴だと思うのだが、これとこの問題設定がどのように関係しているのかちょっと考えてみたい。

YANS の進捗報告の方は、今日で発表者を確定。1ヶ月以上前だしもっと飛行機のチケットが安いと思っていたのだが、LCC の安いチケットは(夏休みだから?)もう残っていないようで、結局そこそこの出費を覚悟しなければならないようだ(10人行くので飛行機代だけで50万)。うーむ。まあ、50万円で GPU 買ってもたかが知れているし、同じ50万円使うなら、ちゃんと手を動かした人が報われるように使いたいので、お金がかかること自体は特に気にはしていない(学生の頑張りに報いるべく、もっと自分が稼いでくればいい)のだけど。