異常検知
AI/MLにおける異常検知が、データ内の異常なパターンをどのように識別するかを解説します。不正防止、ヘルスケアなどの応用例をご紹介します。
異常検知は、人工知能の重要な能力である。
人工知能における重要な機能である。
データセットの大多数から著しく逸脱したデータポイント、イベント、または観測を特定する。これらの
一般に異常値と呼ばれるこれらの逸脱事例は、構造的欠陥や病状、セキュリティ侵害などの重大なインシデントを示すことが多い、
医療状態、セキュリティ侵害などの重大なインシデントを示すことが多い。コンピュータビジョンの文脈では
コンピュータ・ビジョンの特定の文脈では、異常検出アルゴリズム
は、視覚データを分析して、学習された「正常な」行動や外観の表現に適合しない不規則なパターンにフラグを立てる。
これにより、意味のある信号からノイズを効果的に除去することができる。
核となるメカニズムとアプローチ
異常検知の実装は通常、統計分析とディープラーニング技術に依存している。
ディープラーニング技術に依存する。ラベル付き学習データ
ラベル付けされた学習データの有無によって
は主に3つのタイプに分類される:
-
教師あり学習:この方法は、正常な例と異常な例の両方を含む完全にラベル付けされたデータセットを利用する。モデルは二値分類または多値分類を実行するよう
バイナリ分類またはマルチクラス分類を行うように訓練される。効果的ではあるが、この手法にはかなりの量の既知の異常例
を必要とし、これは現実のシナリオでは乏しい場合がある。
-
教師なし学習:ラベル付けされたデータなしで動作するこの手法は、異常がまれで明確であることを前提としている。以下のようなアルゴリズム
K平均クラスタリングや
DBSCAN
のようなアルゴリズムは、類似したデータ点をグループ化し、孤立した点を異常値として分類する。
-
半教師あり学習:これは、システムが通常のデータのみで学習される、視覚検査でよく使われるアプローチである。
通常のデータのみで学習される。推論中、多くの場合オートエンコーダを使用して計算される高い再構成誤差をもたらす入力は、すべてフラグが立てられます。
オートエンコーダを用いて計算される。
異常としてフラグが立てられる。
異常検知 vs. 物体検出
どちらの技術も画像の解析に使われるが、異常検知と物体検知を区別することが重要である。
を区別することが重要である。
-
物体検出は、定義された境界ボックスを使用して、既知のカテゴリ(例:自動車、歩行者)のインスタンスを見つけ、分類することに焦点を当てる、
定義されたバウンディング・ボックスを使用して、既知のカテゴリ(車、歩行者など)のインスタンスを見つけ、分類することに重点を置いている。モデル
モデルは、トレーニング中にこれらの特定のオブジェクトの例を見ている必要があります。
-
異常検知は多くの場合オープンセットであり、未知の逸脱を検索することを意味する。例えば
例えば、コンベアベルトを監視するシステムは、完璧な製品に訓練され、傷、へこみ、変色などにフラグを立てなければならないかもしれない、
または変色にフラグを立てなければならない。しかし
Ultralytics YOLO11のようなロバストなモデルは、特定の欠陥を別個のクラスとして扱うことで、教師あり異常検出に適応させることができる。
特定の欠陥を別個のクラスとして扱うことで、教師あり異常検出に適応できる。
実際のアプリケーション
不正を自動的に発見する能力により、この技術はさまざまな産業で不可欠なものとなっている。
YOLO11欠陥検出の実装
教師ありの異常検知を実装する1つの実用的な方法は、特定の欠陥クラスを認識するためにビジョンモデルを訓練することである。
を学習させることである。次の例は
カスタムトレーニングモデル
をロードして推論を実行し、オブジェクトとしてラベル付けされた異常を識別する方法を示します。
from ultralytics import YOLO
# Load a YOLO11 model trained to detect specific defects (e.g., scratches)
model = YOLO("yolo11n.pt") # Replace with your custom trained weights
# Perform inference on a new image to check for anomalies
results = model.predict("path/to/product_image.jpg", conf=0.25)
# Display the results to visualize identified defects
for result in results:
result.show() # Renders the image with bounding boxes around defects
ツールとフレームワーク
こうしたシステムを開発するには、堅牢なソフトウェア・エコシステムが必要だ。
-
ライブラリPyTorchや
TensorFlowは、ディープラーニングアーキテクチャのビルディングブロックを提供する。
-
データの取り扱い:視覚的でないデータについては
Scikit-learn外れ値検出モジュール
は、孤立林のような標準的なアルゴリズムを提供します。
-
エンド・ツー・エンドのソリューション今後の
Ultralytics Platformは、データのアノテーションからモデルのトレーニング、デプロイまで、ワークフロー全体を効率化するように設計されています。
ワークフロー全体を合理化するように設計されています、
これにより、リアルタイム環境での異常検知に特化したビジョンシステムの構築が容易になります。