AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  画像データを使った異常検知を試してみる。

公開日:2017.10.29 [最終更新日]2017.10.30

画像データを使った異常検知を試してみる。

カテゴリー: AI(人工知能)の作り方

こんにちは、AI研究所 見習い研究員のマサミです。

以前の記事「[入門者向け] Azure MLを使った異常検知AIの作り方」で紹介した「One Class – Support Vector Machine」モデルを使った異常検知を、今回は画像データで試してみたいと思います。

今回試してみる画像データは、「0〜9」までの手書きの画像データが入った「MNIST」データです。

img1

学習用のデータとして手書きの「0」のデータを5,922個用意し、テストデータは「0〜9」までの手書きの画像データを30個用意します。
そして、「0」以外のデータを異常として検知するか確認してたいと思います。

Azure MLの実験キャンパスの全体はこんな感じです。

00

学習時間は30秒ほどで終わりました。
学習結果をCSVに変換して確認したところ、ちゃんと0以外の画像データを異常として検知してくれていることがわかります。

01

「Label」カラムが手書きの数字を表し、「Scored Label」が「0」の場合は異常なし、「1」の場合は異常ありを表しています。
学習に使用したデータと結果のデータはこちらからダウンロードできます。

ニューラルネットワークを使った画像データのクラス分類はよく知られていますが、ニューラルネットワークを用いた場合は学習データとして「異常あり」と「異常なし」の両方のデータを用意する必要があります。
ただ、実際に製品の傷や歪みを検知したい際に、正常なデータをたくさん集めることは可能でも、傷や歪みのある「異常あり」のデータをたくさん集めるのは難しいことが多々あります。
そういった場合は、ONEクラス サポートベクターマシンを使うと、「異常なし」のデータだけを学習させることで異常検知をすることができるので便利ですね。

今回は、数字の手書きの画像データなのでサポートベクターマシンだけで簡単に異常検知することができましたが、複雑な画像であればオートエンコーダーを利用してCNNとSVMを組み合わせることでできるかもしれません。
今度試してみたいと思います。

タグ:


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加
AI(人工知能)入門セミナー開催中
AI(人工知能)入門セミナー

AI入門ブログの中の人

AI研究所 研究スタッフ
通称:マサミ
アメリカ・サンフランシスコにある情報メディアの専門学校を卒業。大手金融会社での事務経験を経て、2016年9月よりAI研究所に入所。見習い研究員として、AI技術を日々勉強中。

LINE@

Facebookページ