Methods_JP

mouser-methods-v6i1-confrontingai-digital-8.5x11in-jp

Issue link: https://trendsintech-japan.mouser.com/i/1540382

Contents of this Issue

Navigation

Page 32 of 43

モデルプルーニング モデルプルーニングとは、ニューラル ネットワークから不要なニューロン や層を除去して、計算やメモリのオー バーヘッドを削減することです。プル ーニングは、構造化プルーニングと非 構造化プルーニングに大別されます。 構造化されたプルーニングは、高 密度のマトリックスを維持しなが ら、ニューロン、チャネル、または レイヤー全体を削除するため、標 準的なハードウェアとの互換性が 高くなります。一般的な構造化アプ ローチとしては、チャネルのプルー ニング(畳み込み層で重要度の低い チャネルを削除)、レイヤーのプル ーニング(特に深いネットワークで 冗長なレイヤーを削除)、グループ ごとのプルーニング(特定のニュー ロンまたはフィルタのグループをタ ーゲットとする)などがあります。 非構造化プルーニングでは、重要 度の低い個々の重み(接続)を削 除します。例えば、重みが 0 に近 いものなどです(図 1)。この処 理により、疎な行列が生成されま す。この行列は、不規則な疎さに より汎用ハードウェアでは効率が 悪くなる可能性があるため、効率 的な計算には専用のライブラリや ハードウェアが必要となります。 図 1:非構造化プルーニングにより、ノード間の重みの総数が削除されます。この例では、元のネットワーク(左)には 36 の重みがあ り、プルーニング後のネットワークには 23 の重みがあります。重みの共有により、メモリに保存する固有の重みの数が減少します。プ ルーニング後のネットワークでは、各線の色は特定の重みを表しています。(出典:Green Shoe Garage。マウザーにより再作成。) 量子化 量子化は、高精度(32 ビットなど) の重みを低精度(8 ビット、あるい はバイナリ精度など)に変換し、ハ ードウェアアクセラレータを使用し てメモリを節約し、計算速度を向上 させます。その1つの手法が、再学 習を行わずに、事前に学習済みの浮 動小数点モデルを量子化する「事後 量子化」です。事後量子化の手法の 1つである「ダイナミックレンジ量子 化」では、重みを低精度に量子化し ますが、推論中は活性化は浮動小数 点数のまま残ります。別の変形とし て、重みと活性化の両方を整数に量子 化する、完全整数量子化があります。 もう 1 つの方法は、トレーニング プロセスに量子化を取り入れた量 子化対応トレーニング (QAT) で す。これは、トレーニング中に低 精度計算をシミュレートして、精 度への影響を最小限に抑えます。 過学習の軽減 過学習とは、トレーニングデータで は非常に優れたパフォーマンスを発 揮するが、未見のデータではパフ ォーマンスが著しく低下する ML モ デルを指します。過学習を軽減する 方法としては、既存のサンプルを変 換して生成したデータセットを拡張 し、汎化性能を向上させる「拡張」 があります(例:画像の回転)。組 み込みシステムによって取得され るセンサデータ(通常は時系列デー タ)の場合、ウィンドウスライシン グ、ジッタリング、タイムワーピン グなどの手法により、過学習を軽減 するのに役立つ連続データにバリエ ーションを導入することができます。 L1/L2 正則化などの他の手法は、大 | 32

Articles in this issue

view archives of Methods_JP - mouser-methods-v6i1-confrontingai-digital-8.5x11in-jp