知識蒸留(ちしきじょうりゅう)
最終更新:2026/4/25
知識蒸留は、複雑なモデルの知識を、より軽量なモデルに転移させる機械学習の手法である。
別名・同義語 モデル圧縮知識転移
ポイント
教師あり学習におけるモデル圧縮の一種であり、推論速度の向上やリソース制約のある環境での利用を可能にする。
知識蒸留とは
知識蒸留(Knowledge Distillation)は、Hintonらが2015年に発表した機械学習の技術であり、大規模で高性能なモデル(教師モデル)の知識を、より小型で軽量なモデル(生徒モデル)に効率的に転移させることを目的とする。従来のモデル圧縮手法とは異なり、単にモデルのパラメータ数を削減するだけでなく、教師モデルの出力分布を模倣することで、生徒モデルの性能を向上させる点が特徴である。
知識蒸留の仕組み
知識蒸留の基本的な仕組みは、以下の通りである。
- 教師モデルの学習: まず、大規模なデータセットを用いて高性能な教師モデルを学習させる。
- ソフトターゲットの生成: 教師モデルを用いて、学習データに対する出力確率分布(ソフトターゲット)を生成する。従来の教師あり学習では、正解ラベル(ハードターゲット)を用いるが、知識蒸留では、教師モデルの出力確率分布をより詳細な情報として生徒モデルに伝える。
- 生徒モデルの学習: 生徒モデルは、ソフトターゲットとハードターゲットの両方を用いて学習を行う。ソフトターゲットを模倣することで、教師モデルの持つ知識を生徒モデルに転移させ、生徒モデルの性能を向上させる。
知識蒸留の応用例
知識蒸留は、様々な分野で応用されている。
- 画像認識: 大規模な画像認識モデルの知識を、モバイルデバイスで動作する軽量なモデルに転移させる。
- 自然言語処理: Transformerなどの大規模言語モデルの知識を、より小型なモデルに転移させる。
- 音声認識: 高精度な音声認識モデルの知識を、組み込みシステムで動作する軽量なモデルに転移させる。
知識蒸留の課題
知識蒸留は有効な手法であるが、いくつかの課題も存在する。