1 分布外検知の概要
1.1 定義と目的
1.1.1 通常分布・分布外データの概念
分布外検知(out-of-distribution detection, OOD検知)では、「学習時に想定されたデータ分布」に従う入力を通常データとみなし、それから系統的に外れている入力を分布外として扱う。ここでいう分布は、入力特徴量の統計的性質(たとえば画像の画素分布、文章の語彙出現、センサ信号の時系列特性など)を表す。分布外データは、同じタスク形式を満たしていても、発生源の条件が変わった、あるいはデータ生成機構が異なるなどの理由で、学習時の統計から外れた可能性がある入力を指す。
実務上は「真に正しい分布」を定義するのは難しいため、通常分布は通常データ集合の経験分布として近似されることが多い。その近似の限界が、検知の性能や頑健性に直接影響する。
1.1.2 失敗形態と検知の狙い
典型的な失敗は、通常データを前提に学習されたモデルが、分布外入力に対して過信の出力を行い、分類・回帰の誤りや不適切な意思決定を引き起こすことである。たとえば、画像分類器が異物混入や未知の撮影条件の画像を見たときに、確信度の高い誤分類を返す場合がある。
OOD検知の狙いは、(1)分布外らしさを検出して出力を抑制し、(2)必要な場合には問い合わせや追加手順へ誘導し、(3)安全性や品質保証の観点で誤作動の影響を縮小する点にある。多くの設計では「検知できれば正解率を上げる」というより「誤りのリスクを下げる」ことを重視する。
1.2 関連概念との違い
1.2.1 異常検知との関係
異常検知(anomaly detection)は「まれで望ましくない事例」を見つける広い枠組みであり、対象は必ずしも「学習時分布からの逸脱」に限らない。OOD検知はしばしば「学習データの分布と異なる」という観点を中心に定義される点で、異常検知より具体的な前提を持ちやすい。
ただし実際には、異常検知の枠組みにOODが含まれたり、OOD検知が異常検知として実装されたりするなど、重なりが大きい。
1.2.2 不確実性推定との関係
不確実性推定(uncertainty estimation)は、出力の信頼度を定量化することを目的とする。OOD検知は、その不確実性の一要因として「入力が未知であることによる不確かさ」を捉えようとする場合が多い。
ただし、不確実性推定は「モデルの推定がどれだけ揺れているか」を中心に扱うのに対し、OOD検知は「入力が分布外である可能性」を中心に扱う。両者は目的が近い一方で、評価指標や設計の焦点が異なる。
1.2.3 弱ラベル学習・教師なし学習との関係
弱ラベル学習や教師なし学習では、ラベルの欠如や不完全性に対応することが主要な課題となる。OOD検知は、通常データはラベル付きで得られている場合と、ラベルなしで得られている場合があり得るため、教師なし表現学習や自己学習と組み合わせられることがある。
また、教師なしで表現の構造を学び、その「通常構造からの逸脱」を検知に用いる手法は、OOD検知と関連が深い。もっとも、OOD検知の中心問題は「通常と異なる入力をどう区別するか」であり、ラベルの扱いだけで完結するわけではない。
1.3 用途例
1.3.1 セーフティ用途
交通・産業・医療などの領域では、誤作動が重大な結果につながる。OOD検知は、センサ画像や入力信号が想定環境から外れた可能性があるときに、出力を保留したり安全側の判断へ切り替えたりするための保険として利用される。例として、運転支援での未知の路面状態、ロボット制御での異常な照明条件などが挙げられる。
1.3.2 保守・監視用途
品質管理や設備監視では、製品やプロセスが通常状態から外れた兆候を早期に把握したい。OOD検知は、異常の詳細なラベルが用意できない場合でも、通常モデルが許容しない入力を拾う手段として機能する。
ここでは「検知率」と同時に「誤警報の抑制」が重要であり、閾値設計や校正が実装上の鍵になる。
1.3.3 研究・実験用途
研究用途では、モデルがどの種類の外れに弱いかを解析するためにOOD検知を用いる。たとえば、データのシフト要因を意図的に変え、どの要因に対してスコアが変化するかを測定する。これにより、頑健性の理解や追加学習の効果検証が可能になる。
また、ニューラルネットの表現が「通常データのどの特徴に依存しているか」を間接的に調べる手段としても活用される。
2 アウト・オブ・ディストリビューションの設定
2.1 シナリオ分類
2.1.1 既知の外れ(既知異常)
既知の外れとは、外れとして扱う種類がある程度事前に特定できているケースである。たとえば、想定外の撮影角度や特定のノイズパターンなど、想定環境内で外れパターンを分類して用意できる場合が該当する。
この設定では、学習や評価のための外れデータを用意しやすく、閾値の調整や検知器の設計が比較的進めやすい。
2.1.2 未知の外れ(未知異常)
未知の外れは、外れの種類や発生条件が学習時に観測されていない状況を指す。現実の運用ではこちらが多く、分布外の定義が曖昧になりやすい。
この場合、モデルは「何が来ても検知できる」という保証よりも、「通常からの距離や尤度低下など、一般的な逸脱シグナルに反応する」ことが期待される。設計段階では、未知外れの広さをどう評価に反映するかが重要になる。
2.1.3 クローズドセットとオープンセット
クローズドセットでは、評価時の入力は学習クラスに含まれる前提が置かれる。一方オープンセットでは、分類ラベル空間の外に属する可能性があり、未知クラスの検出が求められる。
OOD検知は、この「未知が混ざる」状況と自然に結びつくが、厳密にはOODはクラス非含有だけでなく入力分布の逸脱全般を含み得る。したがって、オープンセット問題として定式化するか、分布逸脱として捉えるかは、目的に応じて設計する。
2.2 データシフトの種類
2.2.1 共変量シフト
共変量シフトは、入力特徴量の分布のみが変化し、目的変数との関係が保たれると仮定する設定である。具体的には、同じラベルでも入力の見え方が変わるような状況を想定する。たとえば、センサの校正状態が変わり、信号の統計が変化するケースが該当することがある。
このとき、正解ラベルへの写像が保たれているなら、学習された決定境界そのものは概ね維持される一方で、入力分布の変化によりスコアや尤度は揺れる。
2.2.2 機構シフト(条件付き分布の変化)
機構シフトは、入力とラベルの関係、すなわち条件付き分布が変化する状況を指す。見え方が変わるだけでなく、「同じ入力の下でラベルが変わり得る」ような変化を含む。
この設定では、単に入力の統計から逸脱を見ても必ずしも検知が完璧にならない場合がある。検知器が捉えるべき兆候は、因果的な関係の崩れに近づく。
2.2.3 ラベル空間の変化
ラベル空間の変化は、新しいクラスや出力体系が導入され、従来のラベル設計が完全には適用できない状況を指す。新規カテゴリの導入、物体の種類の拡張、状態遷移の追加などが例になる。
この場合、OOD検知はしばしばオープンセットの側面を強く持つ。検出の成否は、分類器が未知ラベルに対してどのように反応するか、また未知を受け止めるスキーム(保留や拒否)が用意できるかに依存する。
2.3 分布外の定義の難しさ
2.3.1 「完全に異なる」の扱い
分布外を「完全に異なる」とみなすと、検知課題は比較的単純化されることがある。通常と外れのサンプルが大きく離れていれば、密度や距離ベースの手法で識別が容易になる。
しかし現実には、外れは段階的であり、「完全に異なる」という線引きそのものが曖昧になるため、評価設計が恣意的になりやすい。線引き基準を固定しすぎると、運用での一般化性能が落ちる可能性がある。
2.3.2 「近い外れ」の扱い
近い外れでは、通常データと類似した特徴を持ちながら、生成過程の条件がわずかに異なる入力が問題になる。これは見かけの距離が小さいため、尤度や再構成誤差の差が縮まり、誤警報・見逃しが増える。
近傍の逸脱を扱うには、表現学習の質、通常分布のカバレッジ、モデルの過信の抑制などが重要になる。特に、通常領域の境界近傍でのスコア挙動が安定しているかが鍵となる。
2.3.3 カバレッジの概念
カバレッジとは、「通常データ集合が分布空間のどれだけを覆っているか」を指す考え方である。学習データが限られている場合、同じ通常分布でも学習していない領域が存在し、その領域は運用では分布外として誤って扱われ得る。
逆に、外れが通常データのカバレッジと部分的に重なっていると、検知が困難になる。したがって、カバレッジ評価は、外れ検知と誤検知のトレードオフを理解するための土台になる。
3 アプローチの系統
3.1 確率・尤度ベース手法
3.1.1 エネルギーベースのスコアリング
エネルギーベースのスコアリングは、モデルの出力(分類用のスコアなど)を「エネルギー」のような量へ変換し、その低さ・高さを分布外判定に用いる発想である。一般に、通常データでは比較的一貫した出力構造を示し、外れではその構造が崩れる傾向があるため、スコアの変化が検知信号になる。
この種の手法は、追加の生成モデルを必ずしも必要とせず、既存の分類器の出力を活用できる点が利点とされることがある。
3.1.2 生成モデルに基づく尤度比較
生成モデルに基づく手法では、入力の尤度が通常分布で高く、外れで低いという仮説に立つ。通常データに適合した生成過程を持つモデルほど、外れの尤度が下がりやすくなる。
尤度比較は理論的な直観が明確である一方、実装では正則化、近似誤差、計算量といった要素の影響を受けやすい。さらに、尤度の絶対値そのものは比較的安定しないこともあり、運用ではスコア校正が必要になる場合がある。
3.1.3 事後確率・ソフトマックスの活用
分類器におけるソフトマックス確率や最大確率のような量を、分布外スコアの近似として用いる方法がある。外れ入力では確信度が低くなるはずだという直観に基づくが、ニューラルネットは外れに対しても過信する場合があり、単純な確率値だけでは頑健性が弱くなることがある。
そのため、温度スケーリングや閾値校正などを併用して実用化する例が多い。
3.2 表現(特徴)ベース手法
3.2.1 埋め込み空間での距離・密度推定
表現ベースの方法では、ネットワークの中間層などで得られる埋め込みを特徴量とみなし、その空間での距離や密度に注目する。通常データの埋め込みがある領域に集まるなら、そこから離れた点を分布外と判断できる。
密度推定ではカーネル法、ガウス仮定、最近傍距離などの形が取り得る。距離基準の選択は、通常分布の形状やスケールの影響を強く受ける。
3.2.2 クラスター・サブスペースの逸脱
クラスター構造を仮定し、通常では特定クラスタの近傍に現れるが、外れでは別のクラスタや孤立点として振る舞う、といった考え方がある。また、通常データが低次元のサブスペースに近いという仮定を置き、その逸脱度をスコアにする手法もある。
この系列は、埋め込みの幾何学的性質をうまく活用できる場合に有効だが、表現の学習が不十分だとクラスタ境界が曖昧になり、検知性能が下がる。
3.2.3 正規化表現と判別境界の活用
特徴量の正規化(ノルム制御)を行うことで、距離や方向に基づくスコアが安定しやすくなることがある。さらに、判別境界からのマージンに注目し、境界付近の点を不確実として扱うような発想が用いられる。
ただし境界マージンは学習の仕方に依存し、外れでも境界が過度に自信を持つ場合があるため、校正や追加検討が必要になることがある。
3.3 再構成・誤差ベース手法
3.3.1 自己符号化器による再構成誤差
自己符号化器(オートエンコーダ)を通常データで学習し、再構成誤差が大きい入力を分布外とみなす方法がある。通常データに近いほど再構成が上手くいき、外れでは表現できず誤差が増えるという仮説に基づく。
ただし、オートエンコーダが外れでも低誤差になるように学習してしまうと、検知能力が弱くなる。再構成損失の設計や潜在表現の制約が重要になる。
3.3.2 予測誤差に基づく検知
自己回帰モデルや系列予測モデルなどで、次入力や属性を予測し、その誤差をスコアにする考え方がある。通常の生成規則に従う入力ほど予測可能であり、外れでは予測が崩れて誤差が増えやすい。
特徴量としての誤差の定義(平均化、重み付け、時間方向の扱いなど)が検知挙動を左右しうる。
3.3.3 マスキング・復元型手法
マスキングして一部を隠し、残りから隠した部分を復元する学習や推論を使い、復元の難しさを検知に転用する方法がある。通常データでは復元が容易だが、外れでは整合性が取れず復元誤差が上昇するという発想である。
この系統は、表現の学習と検知が同じ枠組み内で結びつくことがあり、モデル設計の相性が結果に大きく関わる。
3.4 追加学習(識別器)による手法
3.4.1 二値分類としてのOOD学習
追加の識別器を用意し、「通常」か「外れ」かの二値分類として学習する枠組みがある。ここでは、通常データに対して外れデータ(既知の外れ)を用意して学習するのが一般的である。
学習された判別器は、スコアの分離が効率的に進む場合がある一方、外れの定義や範囲が変わると性能が急に落ちるリスクもあるため、評価時の外れの設定が極めて重要になる。
3.4.2 合成外れデータの利用
外れデータが十分に得られない場合、合成的に外れを作る工夫が行われる。たとえば特徴空間での摂動、データ拡張の極端化、潜在操作などにより「通常から遠い」サンプルを生成し学習に利用する。
合成外れは有用な場合があるが、人工的な偏りにより現実の外れと異なる境界学習になり得る。結果として、未知外れへの汎化が弱まることがある。
3.4.3 コントラスト学習の利用
コントラスト学習では、通常の近いサンプルを正例として引き寄せ、外れに相当する要素を負例として遠ざける。OOD検知では、このような表現学習を通じて、通常空間の一貫性を高め、外れが入り込む余地を狭める方向で設計されることがある。
正例・負例の定義が検知性能を決めるため、データの生成戦略やサンプリング設計が重要になる。
4 手法選定と実装上の論点
4.1 スコア設計と閾値設定
4.1.1 検知スコアの比較方法
手法により、スコアの符号や尺度が異なるため、比較可能にする工夫が必要になる。通常は「高いほど外れ」「低いほど外れ」などの向きの統一を行い、同一の評価指標(たとえば検知率や誤警報率)で比較する。
さらに、複数スコアを併用する場合は、単純な統合(加重和、順位統合)から、学習による合成まで多様な選択肢がある。
4.1.2 閾値の校正(キャリブレーション)
閾値は、運用で許容する誤警報と見逃しのバランスに直結する。校正では、ある選定データに基づいて閾値を調整し、指定した条件下での誤差率を狙い通りにする。
スコアが確率と同一の解釈を持つとは限らないため、校正手法の前提(データ分布、独立性、安定性)を確認することが実装上の要点になる。
4.1.3 手数と性能のトレードオフ
再構成誤差や生成モデルの尤度は、計算負荷が比較的大きい場合がある。対して、既存分類器の出力から計算できるスコアは軽量になりやすい。
実運用では推論遅延、バッテリ制約、サーバコストなどの制約があるため、性能向上のための追加計算が許されるかを評価し、段階的な実装(軽量手法で一次判定し、必要時のみ重い処理を行う)を選ぶことがある。
4.2 学習データと外れデータ設計
4.2.1 外れサンプルの生成・収集
既知外れを用意する際には、現場で起こりうる条件変化をできるだけ包含するようにサンプル設計を行う。収集では、実環境でのログから偏りを確認しつつ追加収集する方法がある。
生成では、拡張の範囲を広げすぎると現実の外れとズレるため、逸脱の種類(撮影条件、ノイズ、対象個体の差など)ごとに現実性を検討する必要がある。
4.2.2 クラスごとの扱い
外れは全クラスに対して均一に現れるとは限らない。たとえば特定のクラスに似た外れが多いと、クラス間で検知難易度が変わる。そこで、クラス別の閾値、クラス別スコア、あるいはクラス条件付きの密度推定を行う設計が検討される。
この際、クラス頻度の偏りも影響するため、少数クラスの評価設計が重要になる。
4.2.3 データ不足時の工夫
外れデータが少ないと、識別器の学習が過適合したり、合成外れの偏りが支配的になったりする。工夫としては、外れの多様性を増やすためのデータ拡張、潜在空間での攪拌、自己学習による表現改善などがある。
ただし、増やした外れが本質的に正しい「未知」を表すとは限らないため、評価では未知性の程度を明確にすることが望ましい。
4.3 見かけの性能問題
4.3.1 疑似相関とリーク
訓練データと評価データの分割が不適切な場合、未知性のない特徴が学習に利用され、見かけ上の性能が高く見えることがある。これはリーク(情報漏洩)として扱われる。
また、データ収集プロセス由来の疑似相関(たとえば収集機材や保存形式がラベルと結びつくなど)が存在すると、外れ検知が本来の原因ではない手掛かりに依存してしまう。検知の真の頑健性を確かめるには、収集・前処理の因子分解を意識する必要がある。
4.3.2 ベースライン依存
性能は、比較対象(ベースライン)や評価設定に依存して変化する。たとえば同じOOD手法でも、通常データの定義、外れデータの種類、入力前処理が変わると優劣が入れ替わることがある。
このため、論文や実装の比較では、ベースライン条件がそろっているか、検知指標が同一基準で計算されているかが確認事項になる。
4.3.3 近傍外れでの劣化
近い外れでは通常と外れの境界が曖昧になり、スコア分布が重なる。その結果、閾値調整をしても誤警報と見逃しが同時に増えやすく、検知器の劣化が起こり得る。
劣化を減らすには、表現の幾何学的整理、境界のマージン拡張、外れを含む訓練や校正の改善などが選択肢になるが、万能解は存在しないことが多い。
4.4 速度・計算資源
4.4.1 推論コストの評価
推論コストは、モデル自体の計算量に加えて、OODスコア計算に必要な処理(複数回のサンプリング、尤度計算の反復、再構成の最適化など)で増える。そこで、レイテンシ、スループット、メモリ使用量を測定し、運用要件に合うかを判断する。
また、オンデバイス推論の場合はエネルギー消費も考慮し、軽量化の方針(蒸留、簡略化したスコアなど)を検討する。
4.4.2 バッチ処理と実運用
実運用では、入力が不定期に到着するためバッチ処理が必要になることがある。バッチ化はGPU効率を改善する一方、閾値校正や統計推定をバッチ依存で行うと挙動が変わり得る。
したがって、スコアの集計方法や状態管理(履歴の扱い、正規化層の挙動など)を整理し、推論結果の再現性を確保するのが望ましい。
4.4.3 スコア計算の最適化
スコア計算は、しばしば前処理と後処理を含む。たとえば埋め込み抽出の共通部分を再利用したり、複数ヘッドで計算をまとめたりすることで、全体の遅延を下げられる場合がある。
さらに、数値安定性(ログ計算、正規化、丸め誤差)を保ったまま近似を導入できるなら、計算時間を短縮できる。最適化では、精度劣化と速度向上のバランスを実測で確認することが重要になる。