プルーニング(AI)とは?
ぷるーにんぐ
プルーニング(AI)とは、ニューラルネットワークの重要度の低いパラメータや接続を削除・縮小することで、モデルを軽量化・高速化する技術です。
プルーニング(Pruning)とは、人工知能・機械学習の分野において、ニューラルネットワークのモデルを小さく効率化するための技術です。「剪定(せんてい)」という意味の英単語の通り、樹木の不要な枝を切り落とすように、モデル内の重要度の低い重み(パラメータ)や接続(ニューロン間のリンク)を取り除くことでモデルを圧縮します。
大規模なニューラルネットワークは非常に多くのパラメータを持ちますが、そのすべてが推論精度に貢献しているわけではありません。プルーニングでは、絶対値が小さい重みや、出力への影響が軽微なニューロンを特定し、それらを削除またはゼロに固定します。
プルーニングの主な種類と特徴は以下の通りです。
- 非構造化プルーニング:個々の重みをゼロに置き換える。柔軟だが専用ハードウェアが必要になる場合がある
- 構造化プルーニング:フィルター・チャンネル・レイヤー単位で削除する。汎用ハードウェアでも高速化しやすい
- 反復プルーニング:削除と再学習を繰り返してモデルの精度を維持しながら圧縮する
プルーニングを適用することで、モデルのファイルサイズ削減・推論速度の向上・消費メモリの低減が実現し、スマートフォンや組み込み機器など計算資源が限られた環境への展開が容易になります。量子化(Quantization)や知識蒸留(Knowledge Distillation)と組み合わせて活用されることも多い技術です。
使い方・例文
スマートフォン向けAIアプリを開発する際に、サーバー上で学習した大規模モデルにプルーニングを適用して軽量化し、デバイス上でリアルタイム推論できるようにする、といった場面で使われます。
この用語をシェア
最終更新: