Web教科書

プルーニング

プルーニング (Pruning)

解説:AIの「贅肉」を削ぎ落とす

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

ニューラルネットワークは、初期状態では「過剰なパラメータ(無駄な結合)」を多く含んでいます。これを整理することで、精度の低下を最小限に抑えつつ、モデルのサイズを劇的に小さくし、計算速度を上げることができます。

脳の成長と同じプロセス
人間の脳も、幼児期にはシナプス(神経結合)が爆発的に増えますが、成長過程で「使われない回路」は整理(刈り込み)され、効率的な脳回路が出来上がります(シナプス刈り込み)。
AIのプルーニングもこれと同じで、「重みの絶対値が小さい(=影響力がほぼゼロ)」結合をバッサリ切るのが一般的なやり方です。

プルーニングの流れ

  1. 学習: 通常通り、大きなモデルを学習させる。
  2. 剪定(Pruning): 重みの絶対値が小さい結合を「0」にする(削除する)。
  3. 再学習(Fine-tuning): 削除によって少し下がった精度を回復させるため、残った結合だけで仕上げの学習を行う。

「スパース(疎)」なモデル

プルーニングを行うと、行列の中身のほとんどが「0」になります。これを「スパース(疎)な状態」と呼びます。
逆に、全ての結合が詰まっている通常の状態を「デンス(密)な状態」と呼びます。

状態 特徴
Dense(密) 通常の学習後モデル。
無駄なパラメータも多く、メモリを食う。
Sparse(疎) プルーニング後のモデル。
スカスカなので圧縮しやすく、高速化しやすい。

G検定対策

出題ポイント

  • 目的:「モデルの軽量化」と「高速化」。エッジデバイス(スマホ等)への搭載時に使われる。
  • 基準:一般的に「重みの絶対値が小さいもの」を不要と判断して削除する。
  • 用語:「枝刈り」や「剪定」とも呼ばれる。

ひっかけ対策

  • × ドロップアウトと同じである
    (解説)ドロップアウトは「学習中に一時的に無効化する(推論時は復活する)」過学習防止テクニックです。
    プルーニングは「推論時にも永久に削除してしまう」軽量化テクニックです。目的が違います。
  • × 学習データを削除して軽くする
    (解説)削除するのはデータではなく、ネットワークの「構造(重みパラメータ)」です。
タイトルとURLをコピーしました