ITサポートシステムに深層学習(ディープラーニング)を導入しました。
最終更新日: 2017/09/16 5:07pm
こんにちは。経理の小高です。
私どもの最も重要な仕事の1つは「お客様がご利用中のサービスで問題が発生していないか」監視することです。
ホームページ、メール、ウィルス対策ソフト、ファイルサーバー・ルーターの機器を対象として、
・異常の警報システム
・サービス状況の確認システム
の2つを運用しています。前者はオープンソースのソフトウェアを利用し、後者は自社開発のシステムを運用しています。
前者はサービス停止(ホームページのダウンなど)といった緊急性の高い問題、後者は問題に発展しそうな状況や前者でカバーしきれない問題を扱います。
後者のシステムは社内の開発コードとして「オクトパス」という名前をつけていて、現在もその名前で呼んでいます。
5/24付けのブログ「【ホームページ制作・管理】ページの改ざん監視」で、ホームページのトップページの改ざん検知機能をご紹介いたしました。これはこのオクトパスの1機能です。
トップページの改ざん検知はpython3 + openCVで開発したものですで、画像認識というエリアのプログラムです。
この延長線上として、今月(2017/6)よりいくつかのお客様のサービス状況の確認にディープラーニング(深層学習)を導入しました。
以下はその1例です。Symantec Endpoint Protection(ウィルス対策ソフト)をご導入の場合、管理者向けダッシュボードは、典型的には以下の2のパターンとなります。
違いは微妙なのですが、はじめの場合は「すべてのPCでウィルス対策ソフトが正常」、次の画面の場合は「いくつかのPCに対してアクションをとった方がよい」場合を示しています。
すべてのお客様について管理者向けダッシュボードを開き、リスクの有無を毎日確認することが、弊社の日次作業となっています。
オクトパスに追加した機能は、
- ダッシュボードのスナップショット(上にあるような画像)を取得する
- 画像からサービス状況を自動的に判定する
というもの。この2の部分にAIで話題でディープラーニング(深層学習)を適用しています。
プログラムはPython + openCV + chainer(ディープラーニングモジュール)を使って開発しました。
画像認識ですので、畳み込みニューラルネット(CNN)を使っているのですが、モデルは複数を試しています。上の画像ではAlexNetという著名なモデルの入出力層を変更し、一から学習させて使っています(転移学習していない)。
Alex Netについては「ImageNet Classification with Deep Convolutional Neural Network(Krizhevsky et.al. )」が出典です。
1カ月運用してみて、再学習を行ったところです。
内容の詳細については、また公開したいと思います。
←「【ご注意下さい】Petya:おもちゃ?ペット?いいえウィルスです」前の記事へ 次の記事へ「第1回AI人工知能EXPOに行ってきました。」→