全4365文字
PR
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 知識蒸留(以下、蒸留)は学習済みモデルの予測結果を学習目標として、他のモデルを学習させる手法である。アルコールの蒸留と同様にモデルから重要な知識だけを抽出することからこの名前が与えられている。

 蒸留はモデル圧縮の手法として2015年にGeoffrey Hinton氏1)らによって提案(それ以前にも一般の機械学習などで提案されていたがニューラルネットワーク(NN)の分野ではHinton氏らが最初に提案)された。蒸留を使うことで大きなデータセットを大きなモデルで学習し、その結果を小さなモデルに移すことが可能である。

著者の岡野原大輔氏
著者の岡野原大輔氏

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