異常検知とは｜意味や事例、メリット、代表的な手法、導入課題を解説

こんにちは。スキルアップAI編集部です。膨大なデータの中から一般的な振る舞いとは異なるデータ、つまり異常データを発見する「異常検知」の技術は大きな注目を集めています。近年は深層学習の発展もあり、幅広い種類・特徴をもつデータに対応可能な異常検知手法が次々と生み出されています。

本記事では、**異常検知が重要視される背景や活用事例、メリット・デメリット、具体的な手法、学習方法**などを紹介します。異常検知を勉強したい方、ビジネスで異常検知の導入を検討している方などは、ぜひ参考にしてみてください。

<目次>
異常検知とは
異常検知が重要視されている背景
異常検知の活用事例
異常検知のメリット
異常検知の代表的な種類・手法
異常検知を活用する際の課題
異常検知について学習する方法
異常検知に関するよくある質問
まとめ

## 異常検知とは
異常検知とは、**データ集合の中から通常とは振る舞いが異なるデータ、つまり異常値となるデータを検出する技術**です。異常とは、正常ではないことを指します。そのため、正常のパターンを定義して、そのパターンから大きく外れるほど異常であると定義できます。

![about-anomaly-detection.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/293fc444-febc-3013-0f9a-cd61f6a885ee.png)

近年はさまざまな企業が異常検知を自社の業務やサービスに導入しています。

異常検知の代表的なタスクには、以下のようなものが挙げられます。

- 故障検知
- 障害検知
- 製品の品質検査
- 製造プロセスにおける異常診断
- 詐欺検出
- ローン顧客の審査
 

## 異常検知が重要視されている背景
異常検知が重要視されている背景として、**ビジネスにおいて競合優位性を保つ必要性が高まっている**ことが挙げられます。

企業は膨大な量のデータを収集するようになり、その情報をいかに効率的かつ効果的に扱うかが、ビジネスの優位性を左右します。市場の競争が激しくなる中で、異常検知の技術をどう活かすかが重要なポイントなのです。

 

## 異常検知の活用事例
異常検知が活用されている事例をいくつか紹介します。

### メールのスパム検知
企業において、セキュリティの維持は信用問題に関わるため非常に重要です。異常検知を活用することで、会社に関係のあるメールやチャットのメッセージからセキュリティ上の傾向を分析し、スパム検知が可能になりました。これにより、**情報漏洩や改ざんなどの重大なトラブルを未然に防ぐことにつながります。**

### 製造ラインにおける不良品の発見
異常検知を活用することで、製造ラインから不良品を発見できるようになった事例もあります。例えば、これまでは機械部品の不具合を人間の目で細かく発見することは困難でした。しかし、異常検知により画像データを細かく学習することで**不良品を識別でき、検品作業が効率化された**のです。

### 医療における病気の発見
医療の現場においては、画像に対して異常検知が活用されています。例えば、患者のカルテやCT画像のデータを学習させれば、病変などを異常として検知可能です。これにより、医療の**オペレーションの効率化や精度の向上**が期待できます。

そのほかにも、以下のような場面で異常検知が用いられています。

- 機器の故障検知
- 建物やインフラ設備の劣化診断
- クレジットカードの不正利用検知
- ITシステムにおける不正使用検知
 

## 異常検知のメリット
異常検知を導入することで、以下のようなメリットが期待できます。

### エラーを早期に発見できる
異常検知をビジネスに導入する主な目的は「故障、劣化、不良品、不正などを早期発見もしくは未然に防ぐこと」です。機械学習により高速でデータを確認して、早期に異常を発見できます。例えば、企業のセキュリティ対策で導入している場合、**早期発見によって障害の拡大を防げます**。さらに、社員や利用者に向けて、障害の内容や原因、解決策、復旧の見込みなどのいち早い伝達が可能です。

### 作業を自動化することができる
異常検知を導入すれば、作業を自動化できます。異常検知は、一度データを学習すれば、その後は質を保ったまま自動で検知を行ってくれるのです。そのため、チェック作業などが不要となり、**業務効率の向上や作業員の負荷の軽減につながります**。

### ヒューマンエラーの防止になる
人間が行う作業では、その日の作業者のコンディションによって精度にばらつきが出てしまう可能性があります。しかし、異常検知を導入することでアルゴリズムにしたがった判断が可能となり、一定のルール下で安定した作業ができます。

### 損失の軽減やコスト削減につながる
異常検知の導入によって事故や問題発生を未然に防げるだけでなく、他の作業にもリソースを割り振ることができるようになります。その結果、**人件費などのコスト削減につながる**でしょう。

 

## 異常検知の代表的な種類・手法
異常検知に使われる代表的な機械学習手法をいくつか紹介します。

### 統計手法を用いた異常検知
統計モデルを用いた異常検知技術として有名なものには、ホテリング理論があります。ホテリング理論では、**データが正規分布から生起していると仮定し、この分布から大きく外れているデータを異常データとして検出します**。

またもう一つ有名な技術として、回帰分析があります。回帰分析による異常検知は、**正常時のデータをもとに回帰式と呼ばれるモデル構築を行い、さらにそのモデルから外れたものを異常として判別するもの**です。これにより、予測値と実測値の差異を異常度として用いることができます。

これらの技術では、人の主観に寄らず、統計的モデルを用いて客観的に異常度を評価可能です。しかし、正規分布のパラメータはあらかじめ決められているため、分布や回帰モデルのパラメータが変化する時系列データには適用できないという欠点もあります。

### 分類手法を用いた異常検知
分類手法を用いた異常検知手法には、まずk近傍法が挙げられます。k近傍法は、**各データから最も近いデータへの距離を計算することで異常検知を行う手法**です。

あるデータから、最も近くにある別のデータまでの距離が閾値を超えたら、そのデータを異常と判断します。なお、この閾値は分析者の経験則などからあらかじめ決めておく必要があります。一方で、データによっては閾値がデータに強く依存しており、閾値の設定が簡単ではない場合があります。

こういった問題点を解決するために使われるのが局所外れ値因子法（LOF法）と呼ばれる手法です。LOF法とは、**データの集まりの中から外れ値を見つけ出す方法**です。あるデータの局所密度と近傍点の局所密度が等しいときほど正常データであり、その差が大きいほど外れ値である可能性が高いと解釈できます。

局所密度とは、**周囲にあるデータの密度を示す指標**です。これを定式化することで、あるデータが異常である可能性を表す異常スコアを算出することができます。

また、似たようなデータを次々とグルーピングしていく分類手法である、クラスタリングによっても異常検知は可能です。この場合、**どのクラスタにも属さないデータや、ほかの多くのクラスタとは異なる特徴をもつクラスタに属するデータを異常データとして判断**します。

### 深層学習による異常検知
異常検知に深層学習を利用した手法は、大きく下記3つのアプローチに分けられます。

1. 自己符号化器
1. 敵対的生成ネットワーク
1. ハイブリッドモデル

それぞれ具体的に紹介していきます。

### 自己符号化器
自己符号化器による異常検知とは、**正常データで学習した自己符号化器は異常データを復元できないため、入力データと復元データについての誤差で異常を判定する手法です**。具体的には、AutoEncoderやVAE-Mなどが代表的な手法として挙げられます。

自己符号化器による異常検知については、以下の記事で詳しく紹介しているのでチェックしてみてください。
[【自己符号化器による異常検知】異常検知連載シリーズその2](https://www.skillupai.com/blog/tech/ad-tips-2/)

### 敵対的生成ネットワーク
敵対的生成ネットワークによる異常検知とは、**正常データで学習した生成器は異常データを生成できないため、テストデータと生成データの誤差で異常を判定する手法です**。具体的には、AnoGANやADGAN、EfficientGANなどが代表的な手法として挙げられます。

敵対的生成ネットワークによる異常検知については、以下の記事で詳しく紹介しているのでチェックしてみてください。
[【敵対的生成ネットワークによる異常検知】異常検知連載シリーズその3 ](https://www.skillupai.com/blog/tech/ad-tips-3/)

### ハイブリッドモデル
ハイブリッドモデルによる異常検知は、**ニューラルネットワークによって特徴を抽出し、古典的な異常検知モデルによって異常を判定**します。ハイブリッドモデルでは、その名称に表れているように、深層学習と従来の異常検知モデルを組み合わせて異常検知を行います。具体的な手法としてAE+GMMやDeep SVDDなどが挙げられます。

ハイブリッドモデルによる異常検知については、以下の記事で詳しく紹介しているのでチェックしてみてください。
[【ハイブリッドモデルによる異常検知】異常検知連載シリーズその4 ](https://www.skillupai.com/blog/tech/ad-tips-4/)
 

## 異常検知を活用する際の課題
ここでは、異常検知を活用する際の課題を4つ紹介します。

### 大量の学習データが必要
異常検知は大量のデータの中から一定のパターンを見つけ出し、それをもとに正常・異常を判定していくため、学習用のデータを大量に準備しなければなりません。データ量が多ければ多いほど精度が上がるため、膨大なデータを蓄積していることがポイントです。

### 誤った異常検知結果が生成させるリスクもある
現代の技術でも、100%の確率で異常データを正確に検出するのは難しいです。そのため、医療現場など誤った結果を生成することに大きなリスクのともなう分野への導入には、細心の注意を払う必要があります。

### 導入に多くのリソースを要する
異常検知は大量のデータが必要ですが、データの量が少なかったり機械学習に使える適切なデータの用意ができないケースは少なくありません。そのため、この準備に多くのリソースを要するといわれています。

また、自社で取り入れるとなると専門知識をもった人材が欠かせません。しかし、高いスキルをもつ人材は不足しているのが現状なため、人的リソースの面でも課題があるでしょう。

### 汎用的なモデルをつくることが難しい
検知したい異常は多種多様です。企業によってもさまざまなパターンが発生するため、汎用的なモデルをつくることは難しいとされています。

 

## 異常検知について学習する方法
ここでは、異常検知を学習する方法を紹介します。

### 書籍
まずは書籍で学習する方法です。おすすめの書籍を3冊紹介します。

・[井手 剛「入門 機械学習による異常検知」,コロナ社,2015](https://amzn.asia/d/2oyTtK4)
ホテリング理論などの一般的な異常検知からベイズ推論を用いたものまで、さまざまな異常検知手法が体系的に紹介されています。異常検知の基礎が網羅されているため、具体的な手法を把握したい人は最初に読むべき一冊です。Rによるサンプルコードが随所に記載されており、実際に自分で手を動かしてみるとっかかりとしても最適です。

・[井手 剛,杉山 将「異常検知と変化検知 (機械学習プロフェッショナルシリーズ)」,講談社,2015](https://amzn.asia/d/8KU41ha)
本書では、異常検知のアルゴリズムとその活用例が広範囲に紹介されています。「入門 機械学習による異常検知」を読んだ後に読むことで、さらに理解を広げられる一冊です。

・[山西 健司「データマイニングによる異常検知」,共立出版,2009](https://amzn.asia/d/h9dio4m)
セキュリティやオンラインデータに対する異常検知について学べます。具体的な使い道をイメージするのに非常に役立つ内容となっているため、上記2冊を読んで理論や具体的な手法を理解した後に読むのがおすすめです。

### 講座
講座を受講する方法もおすすめです。「[現場で使える異常検知基礎講座](https://www.skillupai.com/anomaly-detection/)」では、異常検知の基本的な考え方から、プログラミングによる実践まで学ぶことができます。実務における異常検知によるアプローチ方法を学びたい方はぜひチェックしてみてください。

![about-anomaly-detection02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/aef25a6c-8428-122b-6175-a661cf6ff2b9.jpeg)
 

## 異常検知に関するよくある質問
最後に、異常検知に関するよくある質問とその回答を紹介します。

### Q. 異常検知の具体例は何ですか？
異常検知の具体例として、メールのスパムチェックや製造ラインでの不良品検出、医療における病気の発見などが挙げられます。

### Q. 異常検知のメリットは何ですか？
異常検知のメリットは、主に以下の4点です。

- 異常の早期発見
- 作業の自動化
- ヒューマンエラーの防止
- 損失の軽減やコスト削減

### Q. 異常検知の代表的な手法は何ですか？
統計手法を用いた手法では、ホテリング理論や回帰分析、分類手法を用いた方法では近傍法やLOF法などがあります。

 

## まとめ
異常検知は、企業が大量のデータを積極的に活用するようになったことで注目を集めています。異常検知には、異常の早期発見や作業の自動化など、さまざまなメリットがあります。そのため、異常検知システムはあらゆる分野において必要不可欠になっていくでしょう。

今後異常検知を実務に活用したいと考えている方は、ぜひ本記事を参考にしてみてください。

また、スキルアップAIでは、異常検知の基礎から実際のデータへのアプローチ方法まで、順を追って学べる「[現場で使える異常検知基礎講座](https://www.skillupai.com/anomaly-detection/)」を開講中です。講座の一部を無料で視聴できるトライアル版も用意しているので、合わせてチェックしてみてください。

☆☆☆
スキルアップAIのメールマガジンでは会社のお知らせや講座に関するお得な情報を配信しています。配信を希望される方は[こちら](https://share.hsforms.com/1_XlReV-4Te-zcxCl9lhffA2mtef)

また、SNSでも様々なコンテンツをお届けしています。興味を持った方は是非チェックしてください♪
Twitterは[こちら](https://twitter.com/SkillupAi)
Facebookは[こちら](https://www.facebook.com/skillupai)
LinkedInは[こちら](https://www.linkedin.com/company/skillup-ai)
スキルアップAI公式YouTube AIビジネスチャンネルは[こちら](https://www.youtube.com/AIBusinessChannel)