推論
読み: すいろん
学習済みモデルに新しいデータを入力し、予測結果を出力するプロセス。学習 (訓練) とは異なり、パラメータの更新は行わない。
推論 (Inference) は、訓練が完了したニューラルネットワークに未知のデータを入力し、分類ラベル、バウンディングボックス、セグメンテーションマスクなどの予測結果を得るプロセスである。学習フェーズではパラメーターを更新するが、推論フェーズでは重みを固定したまま順伝播のみを実行する。
推論の性能は速度 (レイテンシ) と精度のバランスで評価される。30 FPS で処理するには 1 フレームあたり 33ms 以下の推論速度が求められる。
- バッチ推論: 複数の入力を一括処理することで GPU の並列性を活用し、スループットを向上させる
- エッジ推論: スマートフォンや IoT デバイス上でモデルを実行する。TensorFlow Lite、ONNX Runtime、Core ML などの推論エンジンがモデルを最適化して実行する
- 推論最適化: 量子化 (FP32 → INT8)、プルーニング (不要な重みの除去)、知識蒸留 (大きなモデルの知識を小さなモデルに転写) により、推論速度の向上を図る
WebAssembly (Wasm) を利用したブラウザー上での推論では、サーバーへの通信なしにクライアント側で画像処理を完結できる。プライバシー保護とレイテンシ削減の両面で利点がある。