『日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。
知識蒸留(以下、蒸留)は学習済みモデルの予測結果を学習目標として、他のモデルを学習させる手法である。アルコールの蒸留と同様にモデルから重要な知識だけを抽出することからこの名前が与えられている。
蒸留はモデル圧縮の手法として2015年にGeoffrey Hinton氏1)らによって提案(それ以前にも一般の機械学習などで提案されていたがニューラルネットワーク(NN)の分野ではHinton氏らが最初に提案)された。蒸留を使うことで大きなデータセットを大きなモデルで学習し、その結果を小さなモデルに移すことが可能である。

機械学習のべき乗則(本コラム2021年3月号を参照)が示すように、学習データがいくらでも手に入る状況では、モデルが大きいほど汎化性能が高く、学習効率も高いことがわかっている。さらに大きなモデルであるほど少ないデータ数を使った転移学習でも高い性能を達成し、従来の半教師あり学習を大きく凌駕する性能を達成することがわかってきている2)。そのため、巨大なデータセットで巨大なモデルを事前学習しておき、その後に様々なタスク向けに少ないデータ数で学習するという動きが自然言語処理を中心に広がっている。