Deep Mutual Learning (arxiv)

[1706.00384] Deep Mutual Learning

手法

  • distillationの進化系
  • 2つのネットワークを同時に学習させる
  • 通常通りのsupervised learning lossに加え、mimicry lossを使う
  • mimicry lossとは2つのネットワークの出力を似せたい(KLダイバージェンス

実験結果

  • distillationよりも精度が上がる
  • 明確にteacher-studentではなく同じネットワークを2つ用いた場合でも精度が上がる
  • 同時に学習させるネットワークの数を2から増やしてみるともっと精度が上がる
  • 直感としては、教師にアンサンブルを使うと良くなる気がするが、実験してみるとそれよりも複数のネットワーク同士のmimic lossを使う方が良くなるらしい

ただし、小規模なデータでしか実験されていない。著者らも考察しているが、どちらかというとunderfitの場合の話ではなくoverfitの場合の話であるようだ。普通に学習させてもtrain accuracyが100%に行くようなデータを用いているため、regularizationとして働いているっぽい気がする。そうなると、underfitな小規模ニューラルネットワークのoptimization difficultyを改善しモデルのキャパシティの限界を上げるというようなdistillationの話とはちょっと違う気がする。