AI技術紹介 (第1回):AIによる異常検知

デジタルビジネス推進PJTでは日々AI、IoT技術を中心に新製品開発に取り組んでいます。
今回は「AIによる異常検知」をテーマにしてAI技術の紹介を致します。

異常検知とは

はじめに異常検知とは「正常」と「異常」を検知することす。
例えばネジ工場で製造されたネジに傷がついていた場合に、「不良品」と識別ができるということです。

AIとは

次にAIを簡単に説明すると「人の代わりに考える機械」です。
AIは蓄積したデータを学習し、まるで人のように判断をする事が出来ます。
例えばAIに画像をたくさん学習させると、初めて見せられた画像が何かを判断することができます。
AIにはいくつか種類がありますが「画像が何かを判断するAI」は「分類」するAIと呼ばれます。
今回はこの「分類」するAIから「AIによる異常検知」を見ていきたいと思います。

AIによる「分類」

まず「分類」するAIというのはどのようなAIかを見ていきます。
例えとしてここでは干支を「分類」するAIを考えてみます。
あらかじめこのAIには12ある干支の動物の画像を大量に与えます。(この工程をAIの学習や訓練と呼びます)
こうして学習したAIは干支の動物の画像を見せれば干支を判断することができるようになります。
例えばどこかの動物園の虎をこのAIに見せれば、初めて見た虎だとしてもAIは「寅」と答えるでしょう。
このように与えられた情報の種類を答えることを「分類」と呼びます。

これだけでもAIはまるで人の代わりに判断しているように見えます。
しかし実はこの「分類」するAIには弱点があります。
それはこのAIには干支の動物「しか」わからないという点です。
実はこのAIに「猫」の画像を見せたとき、AIは「猫」と答えることができません。
なぜなら「猫」という動物を覚えたことがないからです。
同じ状況でも人であれば「見たことのない動物」と判断できます。
しかしこのAIは干支の中から最もそれらしい干支を必ず答えてしまいます(おそらく猫と特徴の似ている「寅」と答えるでしょう)。

「分類」するAIは未知に対して既知の中で判断してしまうため、異常検知を行わせることは難しいということができます。
なぜなら、異常検知は常に「初めて見る異常」が発生する可能性があるからです。

異常検知の難しさ

まず「分類」するAIで異常検知を行う場合、「正常」と「異常」をAIが学習する必要があります。
「分類」するAIが「正常」と「異常」を学習することに対して、大きく2つの難しい点があります。

  1. 異常が集まりにくい
  2. どんな異常が発生するか分からない

「①異常が集まりにくい」から考えてみます。
先ほどのネジ工場で生産されるほとんどの製品は「正常」です。
「異常」と判断できる傷のついた生産品は万に一つというレベルでしか発生しないということになります。
つまり、そもそも「異常」が集まらず、どの生産品が「異常」であるかをAIに学習させる事が難しいという結果になってしまいます。

次に「②どんな異常が発生するか分からない」ということを考えてみます。
発生する「異常」には汚れの付き方や傷の入り方など無数の種類が考えられます。
もし今までに発生した「異常」を全てAIに学習させることができたとしても、将来同じ「異常」しか発生しない確証はありません。
むしろ新たな「異常」が発生することへの備えを施す方が普通です。
そのような新たな「異常」に対して「分類」するAIが正しく「異常」と判断することを保証出来ません。

AIによる異常検知

ではAIには異常検知は実現が不可能なのでしょうか?
そんなことはなく「AIによる異常検知」は様々な手法が考案されていて、実際にビジネスで使用されるようになってきています。
「AIによる異常検知手法」の特徴は以下があげられます。

  1. 正常だけを学習する
  2. データ同士の距離を見る

まず「①正常だけを学習する」ことが特徴として挙げられます。
異常検知を行うAIでは上で話したように「異常」が集まりにくいことを意識し、AIを作るときに「正常」のみ学習する手法がとられます。
そうすることで「異常検知の難しさ」で挙げた「異常が集まりにくい」という問題を回避することができます。

次に「②データ同士の距離を見る」ことが挙げられます。
AIはデータの特徴を掴む能力があり「分類」するAIもその能力で判断しています。
この特徴からデータをグラフ上に置くようにしてデータ同士を「距離」で比較することができます。
例えば似ているデータ同士は「距離」が近い、似ていないデータ同士は「距離」が遠いとみることができます。

「①正常だけを学習する」とこの「②データ同士の距離を見る」を組み合わせることで、AIに与えたデータと今まで学習した「正常」との「距離」を知り、「距離」に応じて「正常」か「異常」かを判断することができます。

このように「AIによる異常検知」は「①正常だけを学習する」「②データ同士の距離を見る」ことで実現されます。

最後に

以上、「AIによる異常検知」の紹介でした。
当社でもAIを用いて異常検知行う新製品の開発・販売に取り組んでおります。

「もっと詳細を教えて」
そんな方は是非お問い合わせください。我々は懇切丁寧にご相談に乗ります。

また、「そもそもAI,IoTって何?」という方もお気軽にお問い合わせください。
AI,IoTの初歩から知りたい方々に向けたコンサルティングや教育実績もあります。
是非どうぞ。