AIの本と用語検索

知識蒸留

知識蒸留は、大規模で複雑なモデルが持つ高度な性能を、より小型で効率的なモデルへと転送するプロセスです。この技術の根幹には、教師モデルと生徒モデルの二つの異なるモデルが存在します。

教師モデルは、通常、極めて多くのパラメータを持ち、膨大なデータセットで訓練されたディープニューラルネットワークです。これに対し、生徒モデルは、教師モデルよりもパラメータ数が少なく、計算資源の制約がある環境(例えばモバイルデバイスやエッジデバイス)での運用に適しています。

知識蒸留の主要な目的は、教師モデルのソフトラベル(出力層のロジットをソフトマックス関数で変換した確率分布)を、生徒モデルの訓練における新たな教師信号として利用することです。

従来の訓練方法がハードラベル(正解クラスを示す単一のラベル)に依存するのに対し、ソフトラベルは、正解クラスだけでなく、他のクラスに対しても確率的な情報を保持しています。これにより、教師モデルが学習したクラス間の関係性や、データセットの微妙な特徴を生徒モデルに効率的に伝えることができます。

具体的には、生徒モデルは、教師モデルのソフトラベルと自身のソフトラベルの間のKLダイバージェンスを最小化するように訓練されます。この過程で、生徒モデルは教師モデルの「暗黙の知識」を獲得し、その結果、教師モデルに匹敵する、あるいはそれに近い性能を達成しつつ、より高速な推論が可能となります。

このアプローチは、モデルの軽量化と性能維持の両立という、モデル圧縮の重要な課題に対する有効な解決策を提供します。