プルーニング (Pruning)
解説:AIの「贅肉」を削ぎ落とす
プルーニング(剪定:せんてい)は、学習済みのニューラルネットワークから、「結果にあまり貢献していない(重要でない)重みやニューロン」を削除して、モデルをスカスカ(疎)にする手法です。

ニューラルネットワークは、初期状態では「過剰なパラメータ(無駄な結合)」を多く含んでいます。これを整理することで、精度の低下を最小限に抑えつつ、モデルのサイズを劇的に小さくし、計算速度を上げることができます。
脳の成長と同じプロセス
人間の脳も、幼児期にはシナプス(神経結合)が爆発的に増えますが、成長過程で「使われない回路」は整理(刈り込み)され、効率的な脳回路が出来上がります(シナプス刈り込み)。
AIのプルーニングもこれと同じで、「重みの絶対値が小さい(=影響力がほぼゼロ)」結合をバッサリ切るのが一般的なやり方です。
人間の脳も、幼児期にはシナプス(神経結合)が爆発的に増えますが、成長過程で「使われない回路」は整理(刈り込み)され、効率的な脳回路が出来上がります(シナプス刈り込み)。
AIのプルーニングもこれと同じで、「重みの絶対値が小さい(=影響力がほぼゼロ)」結合をバッサリ切るのが一般的なやり方です。
プルーニングの流れ
- 学習: 通常通り、大きなモデルを学習させる。
- 剪定(Pruning): 重みの絶対値が小さい結合を「0」にする(削除する)。
- 再学習(Fine-tuning): 削除によって少し下がった精度を回復させるため、残った結合だけで仕上げの学習を行う。
「スパース(疎)」なモデル
プルーニングを行うと、行列の中身のほとんどが「0」になります。これを「スパース(疎)な状態」と呼びます。
逆に、全ての結合が詰まっている通常の状態を「デンス(密)な状態」と呼びます。
| 状態 | 特徴 |
|---|---|
| Dense(密) | 通常の学習後モデル。 無駄なパラメータも多く、メモリを食う。 |
| Sparse(疎) | プルーニング後のモデル。 スカスカなので圧縮しやすく、高速化しやすい。 |
G検定対策
出題ポイント
- 目的:「モデルの軽量化」と「高速化」。エッジデバイス(スマホ等)への搭載時に使われる。
- 基準:一般的に「重みの絶対値が小さいもの」を不要と判断して削除する。
- 用語:「枝刈り」や「剪定」とも呼ばれる。
ひっかけ対策
- × ドロップアウトと同じである
(解説)ドロップアウトは「学習中に一時的に無効化する(推論時は復活する)」過学習防止テクニックです。
プルーニングは「推論時にも永久に削除してしまう」軽量化テクニックです。目的が違います。 - × 学習データを削除して軽くする
(解説)削除するのはデータではなく、ネットワークの「構造(重みパラメータ)」です。
