G検定(JDLA) 練習問題 24:モデル圧縮/知識蒸留
深層学習モデルの軽量化・高速化技術である「モデル圧縮」の手法の一つ「知識蒸留(Knowledge Distillation)」について、正しいものはどれか。
- 大規模な教師モデルの出力を用いて小規模な生徒モデルを学習させ、軽量で高精度なモデルを作る手法である
- ニューラルネットワークの重みパラメータを8ビットや4ビットなど低精度の数値表現に変換し、メモリ使用量を削減する手法である
- モデルの推論結果に対して人間が解釈可能な説明を付与する手法である
- 複数のモデルの出力を統合して最終的な予測精度を高める手法である
- 学習データにノイズを加えることでモデルの頑健性を高める手法である
正解と解説を見る
正解:大規模な教師モデルの出力を用いて小規模な生徒モデルを学習させ、軽量で高精度なモデルを作る手法である
知識蒸留とは、精度は高いが計算コストの大きい教師モデルの出力(ソフトターゲットと呼ばれる確率分布など)を模倣するように、軽量な生徒モデルを学習させる技術です。これによりエッジデバイスなどでも動作可能な軽量モデルを実現できます。
【正解の理由】
知識蒸留は、教師モデルが持つ知識(クラス間の類似性などの情報を含むソフトターゲット)を生徒モデルに転移させることで、パラメータ数を削減しつつも元のモデルに近い性能を維持することを目的とした手法だからです。
【不正解の理由】
• 「重みパラメータを低精度の数値表現に変換」は量子化(Quantization)と呼ばれる別のモデル圧縮手法の説明である
• 「推論結果に人間が解釈可能な説明を付与」はXAI(説明可能なAI)に関する説明であり、知識蒸留とは無関係
• 「複数のモデルの出力を統合して精度を高める」はアンサンブル学習の説明である
• 「学習データにノイズを加えて頑健性を高める」はデータ拡張やAdversarial Trainingに近い説明であり、知識蒸留とは異なる