異常検知は、機械学習(ML)や人工知能(AI)において重要なプロセスであり、データセットの中で予想される挙動に合致しない異常なパターンや異常値を特定することに重点を置いている。これらの異常値は、様々なアプリケーション領域において、重要な、しばしば重要な情報を表すことがある。例えば、データ・セキュリティでは、異常なパターンはサイバー攻撃を示すかもしれないし、医療画像分析では腫瘍の存在を示すかもしれない。異常検知は、手作業による検査が現実的でない大規模なデータセットを扱う場合に特に有用である。異常なデータポイントの検出を自動化することで、異常検出システムは時間とリソースを節約し、潜在的な問題への迅速な対応を可能にする。
異常検知システムは通常、まずデータセット内の正常な動作のベースラインを確立することで動作する。このベースラインは多くの場合、過去のデータから学習され、正常な状態で予想される典型的なパターンと変動を表す。ベースラインが確立されると、システムは新しいデータを監視し、このベースラインと比較して逸脱を特定する。異常の検出には、統計的手法、機械学習アルゴリズム、ディープラーニングモデルなど、さまざまな手法を用いることができる。統計的手法には、データの平均と標準偏差を計算し、平均から一定の標準偏差の範囲外にあるデータポイントにフラグを立てることが含まれる。クラスタリングや分類などの機械学習アプローチは、データのより複雑なパターンや関係を学習することができ、より単純な手法では見逃してしまうような微妙な異常の検出を可能にする。
異常値検出」と「外れ値検出」はしばしば同じ意味で使われるが、両者には微妙な違いがある。異常値検出は通常、静的なデータセットにおいて、データの大半から大きく逸脱したデータポイントを特定することを指す。一方、異常値検出は、システムが継続的に学習し、新しいデータに適応し、正常な動作を構成するものについての理解を更新する、より動的なプロセスを意味することが多い。実際には、どちらの用語も異常なデータポイントを見つけるプロセスを記述するために使用され、用語の選択は特定のコンテキストやアプリケーションに依存する場合がある。
異常検知は様々な業界で幅広く活用されている。ここでは、実際のAI/MLアプリケーションにおける異常検知の具体的な活用例を2つ紹介する:
その有用性にもかかわらず、異常検知にはいくつかの課題がある。主な課題の1つは、異常の希少性であり、ロバストな検出モデルの学習が困難になる可能性がある。さらに、何をもって異常とするかの定義は文脈によって異なるため、慎重な検討と専門知識が必要となる。もう1つの課題は、正常なデータ・ポイントが誤って異常としてフラグ付けされる、偽陽性の割合が高くなる可能性があることです。これは不必要な警告や調査につながり、時間とリソースを浪費する。このような課題に対処するため、現在進行中の研究では、ラベル付けされていないデータや部分的にラベル付けされたデータから学習できる教師なし学習や 半教師あり学習の手法を含め、より洗練された正確な異常検知技術の開発に重点を置いている。
異常検知システムの開発と導入には、いくつかのツールと技術が一般的に使用されている。よく使われる機械学習ライブラリ TensorFlowや PyTorchなどの一般的な機械学習ライブラリは、カスタムの異常検知モデルを作成するためのビルディングブロックを提供する。さらに、Ultralytics HUB のような専門的なプラットフォームやフレームワークは、異常検知を含む様々なコンピュータビジョンタスクのモデルをトレーニング、デプロイ、モニタリングするためのツールを提供している。これらのツールには、特定の用途に合わせてカスタマイズ可能な事前構築済みのモデルやアルゴリズムが含まれていることが多く、開発プロセスが効率化されます。
異常検知は、データ中の異常なパターンを特定するための強力な技術であり、その応用範囲は詐欺の検知からヘルスケアのモニタリングまで多岐にわたる。これらのシステムがどのように機能し、どのような課題に直面しているかを理解することで、ユーザーは最新の異常検知システムの価値と複雑さをより理解することができる。AIとMLが進歩し続けるにつれて、異常検知は間違いなく様々な業界でますます重要な役割を果たすようになり、重要な問題を特定し、タイムリーな介入を促すのに役立つ。オブジェクト検出やその他の関連概念については、用語集をご覧ください。