問題 No.1119
大規模で高精度なモデルの知識を、より軽量なモデルに継承させることで、精度を維持したまま軽量化を図る蒸留に関する記述として【不適切なもの】はどれか。
【正解の解説】
蒸留を行うには必ず教師モデルと全く同じレイヤー構造を持つ生徒モデルを用意しなければならない
蒸留の最大の目的はモデルの軽量化(圧縮)です。そのため、生徒モデルは教師モデルと同一の構造ではなく、層の数やチャネル数を大幅に減らした軽量なアーキテクチャ(異なるレイヤー構造)を用いて構築されます。「必ず同じ構造でなければならない」という記述は誤りです。
スポンサーリンク
【その他の選択肢の解説】
生徒モデルは教師モデルの出力する確率分布を模倣するように学習する
蒸留(Distillation)では、巨大な教師モデルが出力する確率分布(例:猫80%、犬18%、車2%という曖昧さを含んだ情報)を正解(ソフトターゲット)として軽量な生徒モデルに学習させます。これにより、単なるハードラベル(猫100%)以上の豊富な情報量を保持したまま知識を継承できます。
エッジデバイスなどの計算資源が限られた環境にモデルをデプロイする際に有効である
パラメータ数が莫大なモデルはスマートフォンや車載機器などのエッジデバイスでは動作が困難です。蒸留によって知識を小型モデルへ凝縮することで、メモリ消費や推論遅延を劇的に抑えつつ実運用が可能になるため、実務で頻繁に用いられる適切なアプローチです。
教師モデルが持つ予測の傾向や曖昧さといったソフトターゲットを活用できる
教師モデルの出力には「この画像は猫だが、車よりも犬に少し似ている」というようなソフトターゲット情報が含まれています。この暗黙知を生徒モデルに受け継がせることで、パラメータ数が大幅に少ないモデルであっても高い予測精度や汎化性能を維持することができます。