SHAP は本番対応できていない — そしてそれをそうだと装うのをやめる必要がある
これは賛否が分かれるかもしれませんが、言う必要があります:
ほとんどの説明可能なAI(explainable AI)のセットアップは、本番環境では根本的に壊れています。
不正確だからではありません。
遅すぎる、結果が安定しない、そしてモデル自体から切り離されているからです。
実際に起きている不都合な現実
リアルタイムの不正検知システムで、私はSHAP(KernelExplainer)をテストしました:
- 予測ごとに約30 ms
- 2回実行 → 異なる説明
- 背景データ + サンプリングが必要
ここで自問してください:
次のようなシステムを出荷しますか?
- 説明が毎回変わる
- レイテンシーが予測できない
- そして監査ログが決定的(deterministic)ではない?
なぜなら、私たちはまさにそれをやっているからです。
根本的なミス
私たちは、このアーキテクチャを受け入れてしまいました:
モデル → 予測 → 別個のエクスプレイナー → 説明
その分離が問題です。
決定的なシステムを、確率的なプロセスで説明しようとして……それを信頼できると言っている。
私は別のことを試した
SHAPを改善する代わりに…
私はそれを取り除きました。
次のようなモデルを構築しました:
- 記号(シンボリック)のルールをニューラルネットワークと並行して実行する
- 説明はフォワードパスの中で生成する
後処理なし。サンプリングなし。
何が起きたか
- 予測 + 説明あわせて0.9 ms
- SHAPより33×高速
- 決定的な出力
- ベースラインと同じ不正検知リコール
説明は、もはや「後から計算するもの」ではありません。
それは、モデルがすでに知っているものです。
より大きな論点
私たちは説明可能性の問題を抱えているわけではありません。
アーキテクチャの問題を抱えています。
説明が次の状態である限り:
- 後付けでくっつける
- 遅い
- そして確率的
そうなると、次のような要件があるシステムでは決して機能しません:
- リアルタイムの意思決定
- 監査可能性(auditability)
- そして一貫性
完全な実験(コード + ベンチマーク)
私はすべてここに記録しました:
実運用における説明可能なAI:リアルタイム不正検知のためのニューラル・シンボリックモデル
実システムを作っているなら、次の問いです:
見た目が良い説明が欲しい…
それとも実際に展開できる説明が欲しいですか?




