(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022176136
(43)【公開日】2022-11-25
(54)【発明の名称】時系列基盤の異常探知方法およびシステム
(51)【国際特許分類】
G06N 3/08 20060101AFI20221117BHJP
【FI】
G06N3/08
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022077887
(22)【出願日】2022-05-11
(31)【優先権主張番号】10-2021-0061509
(32)【優先日】2021-05-12
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】509288208
【氏名又は名称】ネイバー クラウド コーポレーション
【氏名又は名称原語表記】Naver Cloud Corporation
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】イ チュンヒ
(72)【発明者】
【氏名】キム セジュン
(72)【発明者】
【氏名】チョン ダウン
(72)【発明者】
【氏名】チョン ヒジン
(57)【要約】
【課題】 時系列基盤の異常探知方法およびシステムを提供する。
【解決手段】 本実施形態に係る異常探知方法は、予め設定された探知周期ごとに時系列データを収集および前処理する段階、以前の探知周期の時系列データの特徴を利用した教師なし学習方式で学習されたディープラーニングモデルを利用して現在の探知周期に前処理された時系列データの異常を探知する段階、現在の学習周期中に前処理された時系列データをさらに利用してディープラーニングモデルを再学習する段階、および前記現在の学習周期後の探知周期に収集および前処理された時系列データの異常を、再学習されたディープラーニングモデルを利用して探知する段階を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを含むコンピュータ装置の異常探知方法であって、
前記少なくとも1つのプロセッサにより、予め設定された探知周期ごとに時系列データを収集および前処理する段階、
前記少なくとも1つのプロセッサにより、以前の探知周期の時系列データの特徴を利用した教師なし学習方式で学習されたディープラーニングモデルを利用して現在の探知周期に前処理された時系列データの異常を探知する段階、
前記少なくとも1つのプロセッサにより、現在の学習周期中に前処理された時系列データをさらに利用して前記ディープラーニングモデルを再学習する段階、および
前記少なくとも1つのプロセッサにより、前記現在の学習周期後の探知周期に収集および前処理された時系列データの異常を、前記再学習されたディープラーニングモデルを利用して探知する段階
を含む、異常探知方法。
【請求項2】
前記ディープラーニングモデルは、前記教師なし学習方式による畳み込みオートエンコーダ(Conv-AutoEncoder)を使用して実現されることを特徴とする、請求項1に記載の異常探知方法。
【請求項3】
前記現在の探知周期に前処理された時系列データの異常を探知する段階は、
Zスコアを利用して前記前処理された時系列データの異常値を検出してノイズを除去する段階
を含むことを特徴とする、請求項1に記載の異常探知方法。
【請求項4】
前記現在の探知周期に前処理された時系列データの異常を探知する段階は、
6シグマを基準に設定された損失しきい値を利用して前記前処理された時系列データの異常を探知する段階
を含むことを特徴とする、請求項1に記載の異常探知方法。
【請求項5】
前記現在の探知周期に前処理された時系列データの異常を探知する段階は、
正規分布基盤の3シグマルールを利用して前記現在の探知周期に前処理された時系列データのための信頼帯域を生成する段階、および
前記信頼帯域を逸脱するデータまたはデータのパターンを異常値として探知する段階
を含むことを特徴とする、請求項1に記載の異常探知方法。
【請求項6】
前記信頼帯域は、前記時系列データの任意の時点の値よりも大きい値からなる第1信頼帯域および前記時系列データの任意の時点の値よりも小さい値からなる第2信頼帯域を含み、
前記信頼帯域を逸脱するデータまたはデータのパターンを異常値として探知する段階は、
前記第1信頼帯域および前記第2信頼帯域のうちの設定された1つの信頼帯域を逸脱するデータまたはデータのパターンを異常値として設定することを特徴とする、請求項5に記載の異常探知方法。
【請求項7】
前記信頼帯域を生成する段階は、
前記現在の探知周期に前処理された時系列データの標準偏差の単位で前記信頼帯域の幅を調整する段階
を含むことを特徴とする、請求項6に記載の異常探知方法。
【請求項8】
前記少なくとも1つのプロセッサにより、互いに異なる複数のメトリックそれぞれの時系列データに対して前記ディープラーニングモデルを共通的に適用するために、前記互いに異なる複数のメトリックそれぞれの時系列データに対して変動係数を反映する段階
をさらに含む、請求項5に記載の異常探知方法。
【請求項9】
前記現在の探知周期に前処理された時系列データの異常を探知する段階は、
前記互いに異なる複数のメトリックそれぞれの時系列データに対して計算された点数の合算または加重合計によって異常探知結果を組み合わせる段階
を含むことを特徴とする、請求項8に記載の異常探知方法。
【請求項10】
前記少なくとも1つのプロセッサにより、前記現在の探知周期に前処理された時系列データに対する異常探知結果を視覚化する段階
をさらに含む、請求項1に記載の異常探知方法。
【請求項11】
前記少なくとも1つのプロセッサにより、前記現在の探知周期に前処理された時系列データに対する異常の探知に対する警告を提供する段階
をさらに含む、請求項1に記載の異常探知方法。
【請求項12】
前記少なくとも1つのプロセッサにより、前記現在の探知周期に前処理された時系列データ、前記現在の探知周期に前処理された時系列データに対する異常探知結果、および前記再学習されたディープラーニングモデルに対して6シグマを基準に設定された損失しきい値のうちの少なくとも1つをデータベースに保存する段階
をさらに含む、請求項1に記載の異常探知方法。
【請求項13】
コンピュータ装置と結合して請求項1~12のうちのいずれか一項に記載の以上検知方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項14】
請求項13に記載のコンピュータプログラムが記録されている、コンピュータ読み取り可能な記録媒体。
【請求項15】
コンピュータ装置で読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサにより、
予め設定された探知周期ごとに時系列データを収集および前処理し、
以前の探知周期の時系列データの特徴を利用した教師なし学習方式で学習されたディープラーニングモデルを利用して現在探知周期に前処理された時系列データの異常を探知し、
現在の学習周期中に前処理された時系列データをさらに利用して前記ディープラーニングモデルを再学習し、
前記現在の学習周期後の探知周期に収集および前処理された時系列データの異常を、前記再学習されたディープラーニングモデルを利用して探知すること
を特徴とする、コンピュータ装置。
【請求項16】
前記ディープラーニングモデルは、前記教師なし学習方式による畳み込みオートエンコーダ(Conv-AutoEncoder)を使用して実現されること
を特徴とする、請求項15に記載のコンピュータ装置。
【請求項17】
前記現在の探知周期に前処理された時系列データの異常を探知するために、前記少なくとも1つのプロセッサにより、
6シグマを基準に設定された損失しきい値を利用して前記前処理された時系列データの異常を探知し、
Zスコアを利用して前記前処理された時系列データの異常値を検出してノイズを除去すること
を特徴とする、請求項15に記載のコンピュータ装置。
【請求項18】
前記現在の探知周期に前処理された時系列データの異常を探知するために、前記少なくとも1つのプロセッサにより、
正規分布基盤の3シグマルールを利用して前記現在の探知周期に前処理された時系列データのための信頼帯域を生成し、
前記信頼帯域を逸脱するデータまたはデータのパターンを異常値として探知すること
を特徴とする、請求項15または16に記載のコンピュータ装置。
【請求項19】
前記信頼帯域は、前記時系列データの任意の時点の値よりも大きい値からなる第1信頼帯域および前記時系列データの任意の時点の値よりも小さい値からなる第2信頼帯域を含み、
前記信頼帯域を逸脱するデータまたはデータのパターンを異常値として探知するために、前記少なくとも1つのプロセッサにより、
前記第1信頼帯域および前記第2信頼帯域のうちの設定された1つの信頼帯域を逸脱するデータまたはデータのパターンを異常値として設定すること
を特徴とする、請求項18に記載のコンピュータ装置。
【請求項20】
前記少なくとも1つのプロセッサにより、
互いに異なる複数のメトリックそれぞれの時系列データに対して前記ディープラーニングモデルを共通的に適用するために、前記互いに異なる複数のメトリックそれぞれの時系列データに対して変動係数を反映すること
を特徴とする、請求項18に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、時系列基盤の異常探知方法およびシステムに関する。
【背景技術】
【0002】
従来の観測とは異なる他のメカニズムによって生じたと判断される観測値を異常(anomaly)として定義する。異常探知は、それ自体がアルゴリズムであると言うよりは「目標または期待する結果」に該当し、多数のアルゴリズムと分析論を活用した「分析アプリケーション」であると見なすことができる。
【0003】
したがって、解決しようとする問題の目的やコンテキストによって異常探知の目的は異なる可能性がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】韓国公開特許第10-2020-0072169号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
過去の正常データに基づいてディープラーニングモデル生成することができる、異常探知方法および装置を提供する。
【0006】
自動化された基準線を生成して異常値を探知することができる、異常探知方法および装置を提供する。
【0007】
予め設定された探知周期パターンを統計的にモデリングすることができる、異常探知方法および装置を提供する。
【0008】
大量のデータに対するリアルタイム異常探知が可能な、異常探知方法および装置を提供する。
【課題を解決するための手段】
【0009】
少なくとも1つのプロセッサを含むコンピュータ装置の異常探知方法であって、前記少なくとも1つのプロセッサにより、予め設定された探知周期ごとに時系列データを収集および前処理する段階、前記少なくとも1つのプロセッサにより、以前の探知周期の時系列データの特徴を利用した教師なし学習(Unsupervised Learning)方式で学習されたディープラーニングモデルを利用して現在の探知周期に前処理された時系列データの異常を探知する段階、前記少なくとも1つのプロセッサにより、現在の学習周期中に前処理された時系列データをさらに利用して前記ディープラーニングモデルを再学習する段階、および前記少なくとも1つのプロセッサにより、前記現在の学習周期後の探知周期に収集および前処理された時系列データの異常を、前記再学習されたディープラーニングモデルを利用して探知する段階を含む、異常探知方法を提供する。
【0010】
一側によると、前記ディープラーニングモデルは、前記教師なし学習方式のうちの畳み込みオートエンコーダ(Conv-AutoEncoder)を使用して実現されることを特徴としてよい。
【0011】
他の側面によると、前記現在の探知周期に前処理された時系列データの異常を探知する段階は、Zスコア(Z score)を利用して前記前処理された時系列データの異常値を検出してノイズを除去する段階を含むことを特徴としてよい。
【0012】
また他の側面によると、前記現在の探知周期に前処理された時系列データの異常を探知する段階は、6シグマ(6sigma)を基準に設定された損失しきい値を利用して前記前処理された時系列データの異常を探知する段階を含むことを特徴としてよい。
【0013】
また他の側面によると、前記現在の探知周期に前処理された時系列データの異常を探知する段階は、正規分布基盤の3シグマルール(3sigma rule)を利用して前記現在の探知周期に前処理された時系列データのための信頼帯域を生成する段階、および前記信頼帯域を逸脱するデータまたはデータのパターンを異常値として探知する段階を含むことを特徴としてよい。
【0014】
また他の側面によると、前記信頼帯域は、前記時系列データの任意の時点の値よりも大きい値からなる第1信頼帯域および前記時系列データの任意の時点の値よりも小さい値からなる第2信頼帯域を含み、前記信頼帯域を逸脱するデータまたはデータのパターンを異常値として探知する段階は、前記第1信頼帯域および前記第2信頼帯域のうちの設定された1つの信頼帯域を逸脱するデータまたはデータのパターンを異常値として設定することを特徴としてよい。
【0015】
また他の側面によると、前記信頼帯域を生成する段階は、前記現在の探知周期に前処理された時系列データの標準偏差の単位で前記信頼帯域の幅を調整する段階を含むことを特徴としてよい。
【0016】
また他の側面によると、前記異常探知方法は、前記少なくとも1つのプロセッサにより、互いに異なる複数のメトリックそれぞれの時系列データに対して前記ディープラーニングモデルを共通的に適用するために、前記互いに異なる複数のメトリックそれぞれの時系列データに対して変動係数(coefficient of variance)を反映する段階をさらに含んでよい。
【0017】
また他の側面によると、前記現在の探知周期に前処理された時系列データの異常を探知する段階は、前記互いに異なる複数のメトリックそれぞれの時系列データに対して計算された点数の合算または加重合計によって異常探知結果を組み合わせる段階を含むことを特徴としてよい。
【0018】
また他の側面によると、前記異常探知方法は、前記少なくとも1つのプロセッサにより、前記現在の探知周期に前処理された時系列データに対する異常探知結果を視覚化する段階をさらに含んでよい。
【0019】
また他の側面によると、前記異常探知方法は、前記少なくとも1つのプロセッサにより、前記現在の探知周期に前処理された時系列データに対する異常の探知に対する警告を提供する段階をさらに含んでよい。
【0020】
さらに他の側面によると、前記異常探知方法は、前記少なくとも1つのプロセッサにより、前記現在の探知周期に前処理された時系列データ、前記現在の探知周期に前処理された時系列データに対する異常探知結果、および前記再学習されたディープラーニングモデルに対して6シグマを基準に設定された損失しきい値のうちの少なくとも1つをデータベースに保存する段階をさらに含んでよい。
【0021】
コンピュータ装置と結合して前記方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録された、コンピュータプログラムを提供する。
【0022】
前記方法をコンピュータ装置に実行させるためのプログラムが記録されている、コンピュータ読み取り可能な記録媒体を提供する。
【0023】
コンピュータ装置で読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサにより、予め設定された探知周期ごとに時系列データを収集および前処理し、以前の探知周期の時系列データの特徴を利用した教師なし学習方式で学習されたディープラーニングモデルを利用して現在の探知周期に前処理された時系列データの異常を探知し、現在の学習周期中に前処理された時系列データをさらに利用して前記ディープラーニングモデルを再学習し、現在の学習周期後の探知周期に収集および前処理された時系列データの異常を前記再学習されたディープラーニングモデルを利用して探知することを特徴とする、コンピュータ装置を提供する。
【発明の効果】
【0024】
過去の正常データに基づいてディープラーニングモデル生成することができる。
【0025】
自動化された基準線を生成して異常値を探知することができる。
【0026】
予め設定された探知周期パターンを統計的にモデリングすることができる。
【0027】
大量のデータに対してリアルタイムで異常を探知することができる。
【図面の簡単な説明】
【0028】
【
図1】本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。
【
図2】本発明の一実施形態における、ポイント異常の例を示した図である。
【
図3】本発明の一実施形態における、文脈異常の例を示した図である。
【
図4】本発明の一実施形態における、文脈異常の例を示した図である。
【
図5】本発明の一実施形態における、オートエンコーダの例を示した図である。
【
図6】本発明の一実施形態における、畳み込みオートエンコーダの例を示した図である。
【
図7】本発明の一実施形態における、自動化された基準線生成過程の例を示した図である。
【
図8】本発明の一実施形態における、6シグマに基づいて損失しきい値を設定する例を示した図である。
【
図9】本発明の一実施形態における、信頼帯域を設定する例を示した図である。
【
図10】本発明の一実施形態における、信頼帯域を設定する例を示した図である。
【
図11】本発明の一実施形態における、信頼帯域を設定する例を示した図である。
【
図12】本発明の一実施形態における、信頼帯域を設定する例を示した図である。
【
図13】本発明の一実施形態における、異常探知システムのリアルタイム探知過程の例を示した図である。
【
図14】本発明の一実施形態における、使用量増加パターンを探知する例を示した図である。
【
図15】本発明の一実施形態における、使用量増加パターンを探知する例を示した図である。
【
図16】本発明の一実施形態における、使用量増加パターンを探知する例を示した図である。
【
図17】本発明の一実施形態における、使用量増加パターンを探知する例を示した図である。
【
図18】本発明の一実施形態における、固定しきい値を使用して異常を探知する例を示した図である。
【
図19】本発明の一実施形態における、パターン変動時に異常を探知する例を示した図である。
【
図20】本発明の一実施形態における、異常探知方法の例を示したフローチャートである。
【
図21】本発明の一実施形態における、異常探知方法の例を示したフローチャートである。
【発明を実施するための形態】
【0029】
以下、添付の図面を参照しながら実施形態について詳しく説明する。各図面に提示する同一の参照符号は、同一の部材を示す。
【0030】
図1は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。コンピュータ装置(Computer device)100は、
図1に示すように、メモリ(Memory)110、プロセッサ(Processor)120、通信インタフェース(Communication interface)130、および入力/出力インタフェース(I/O interface)140を含んでよい。メモリ110は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ110とは区分される別の永続的記録装置としてコンピュータ装置100に含まれてもよい。また、メモリ110には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ110とは別のコンピュータ読み取り可能な記録媒体からメモリ110にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース130を通じてメモリ110にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク(Network)160を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置100のメモリ110にロードされてよい。
【0031】
プロセッサ120は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ110または通信インタフェース130によって、プロセッサ120に提供されてよい。例えば、プロセッサ120は、メモリ110のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0032】
通信インタフェース130は、ネットワーク160を介してコンピュータ装置100が他の装置と互いに通信するための機能を提供してよい。一例として、コンピュータ装置100のプロセッサ120がメモリ110のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース130の制御にしたがってネットワーク160を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク160を経てコンピュータ装置100の通信インタフェース130を通じてコンピュータ装置100に受信されてよい。通信インタフェース130を通じて受信された信号や命令、データなどは、プロセッサ120やメモリ110に伝達されてよく、ファイルなどは、コンピュータ装置100がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0033】
入力/出力インタフェース140は、入力/出力装置(I/O device)150とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース140は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置150は、コンピュータ装置100と1つの装置で構成されてもよい。
【0034】
また、他の実施形態において、コンピュータ装置100は、
図1の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置100は、上述した入力/出力装置150のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、データベースなどのような他の構成要素をさらに含んでもよい。
【0035】
本発明の一実施形態に係る異常探知システムは、少なくとも1つのコンピュータ装置によって実現されてよく、このようなコンピュータ装置は、
図1を参照しながら説明したコンピュータ装置100に対応してよい。
【0036】
一方、異常(anomaly)は、ポイント異常(point anomaly)と文脈異常(contextual anomaly)に分類されてよい。
【0037】
図2は、ポイント異常の例を示した図である。ポイント異常とは、通常よりもデータが急増あるいは急減するパターンが現れることを意味し、外れ値(outlier)を意味する場合がある。
図2のグラフは、データが通常よりも急増した例を示している。
【0038】
図3および
図4は、文脈異常の例を示した図である。文脈異常とは、過去に発生したことのないパターンが現われることを意味し、データのパターンが変化する場合とデータの大きさが変化(漸進的な増加または漸進的な減少)する場合とに区分されてよい。
図3のグラフは、季節性(seasonality)分析によってパターンが変化した場合の例を示しており、
図4のグラフは、データ使用範囲が変化した場合の例を示している。
【0039】
1.インテリジェントモニタリング(Intelligent Monitoring)
【0040】
インフラモニタリングは、純粋ITモニタリングからデータ主導的分析に変化する必要性がある。これはインテリジェントモニタリングと呼ばれ、インテリジェントモニタリングは、運営者の専門性や従来のアラームを完全に代替するものではない。従来には人間がアラームの真偽を把握するためにいちいち調査する必要があったが、マシンラーニング(又は機械学習)によって高い正確度で同じ作業をすることが可能となり、運営者が実際の問題に集中できるようになった。本実施形態に係る異常探知方法およびシステムは、長期予測よりも、現在発生するデータからリアルタイムで信頼できる異常探知を判断することができる。
【0041】
2.教師なし学習
【0042】
ITインフラ運営データには、次のような特性がある。
【0043】
1)膨大:特性上、ITインフラ運営は、サーバ、ネットワーク、クラウドなどの多様なデータソースでモニタリングされた時系列データが持続的に発生する。
【0044】
2)難しい基準設定:運営者がしきい値を直接登録する統計的感知技法では限界がある。
【0045】
3)ラベルがない:ラベルなしで蓄積される膨大なデータでリアルタイムに自ら持続学習する方策が求められる。
【0046】
4)使用パターンがある:日間および/たは週間ごとに時間的なパターンが存在する。
【0047】
したがって、異常探知のための信頼できる規則を生成したり誰かが明確な正解を定義したりすることができないという問題が存在する。これにより、データから学び、データの変化に自動で適応しながら、インフラデータの特性に合ったモデルを実現することが求められる。
【0048】
3.連続学習(Continuous Learning)
【0049】
異常探知のためのデータの変化に手動で適応することはできないため、異常探知システムは、環境に持続的に適応できるシステムでなければならない。一例として、特定の時点だけをモデリングすれば、使用パターンが変化するときに誤探(異常探知エラー)が発生することがある。これだけでなく、メトリック(metric)ごとに異なる使用パターンがあるため、互いに異なるメトリックでモデルを共有することが難しい。したがって、メトリックごとに最新データで正確なモデルを維持することができる自動化が求められる。
【0050】
このために、本発明の実施形態に係る異常探知方法およびシステムは、次のような特徴を含む可能性がある。
【0051】
い.過去の正常データに基づいたディープラーニングモデルの生成
【0052】
一実施形態に係る異常探知システムは、教師なし学習方式による畳み込みオートエンコーダ(Conv-AutoEncoder)を使用してよい。学習データは正常運営状態であると仮定してモデルを生成してよく、入力データの期待値と実際値の誤差を計算する方式が活用されてよい。
【0053】
ろ.自動化された基準線の生成
【0054】
一実施形態に係る異常探知システムは、6シグマ(6sigma)を基準にしきい値を自動で計算してよく、特異値(異常値)の検出とノイズの除去のためにZスコア(Z score)を使用してよい。
【0055】
統計学において、シグマ(σ)は、1つの値が平均からどれほど遠く離れているかを意味する記号であり、これは標準偏差を意味する可能性がある。ある人物が平均から1シグマ内にいる場合、これは、社会全体から見るときに68.27%の主類に属する人物であることを意味する。両極端に行くほど確率が急激に低くなる正規分布の特性上、平均から遠ざかるほどシグマの値は急激に高まる。2シグマは95.45%、3シグマは99.73%を含む範囲である。このとき、「3シグマに属する人間」とは、ある社会で0.27%(370人のうちの1人)に属する独特な人物を意味する表現となる。品質管理において6シグマという用語が使用されるが、不良品の発生確率を6シグマ内にしようとすることは、「不良品がない」ということとほぼ同じ意味をなす。
【0056】
一方、Zスコアは、標準点数(standard score)とも呼ばれる。標準正常分布において確率変数Xの平均がμであって標準偏差がσであるとき、確率変数Xが平均μから標準偏差の何倍の距離で離れているかをz=(X-μ)/σで求めることができる。Zスコアは、測定の単位として標準偏差を使用し、該当の分布の平均と関連する点数の位置を示すため、互いに異なる分布から出た値を比較できるようにする役割を担う。
【0057】
は.予め設定された探知周期(分(minute)、時(hour)、日(day)、および/または週(week)など)パターンを統計的にモデリング
【0058】
一実施形態に係る異常探知システムは、正規分布基盤の3シグマルール(3sigma rule)方式によって信頼区間を生成してよく、データ特性による統計値(一例として、変動係数(coefficient of variance))を反映することにより、多様な形態の時系列(一例として、互いに異なるメトリックの時系列データ)にディープラーニングモデルを共通で適用することが可能となる。
【0059】
統計学において、3シグマルールとは正規分布を示す規則であり、経験則(empirical rule)とも呼ばれる。3シグマルール平均から両側に3標準偏差の範囲にほぼすべての値(99.7%)が入る規則を示してよい。
【0060】
変動係数は、標準偏差sの大きさを平均値xに対する百分率で示したものを意味してよい。このような変動係数は相対値であるため、大きさや単位が異なる分布の変動を比較するために使用することができる。
【0061】
に.リアルタイム探知
【0062】
一実施形態に係る異常探知システムは、1分あたりの数万個のデータポイントそれぞれを点数化して異常を探知してよい。このとき、異常探知システムは、マルチメトリック(multi metric)に対する統合点数によってレベルを設定してもよい。
【0063】
図5は、本発明の一実施形態における、オートエンコーダの例を示した図であり、
図6は、本発明の一実施形態における、畳み込みオートエンコーダの例を示した図である。
【0064】
オートエンコーダは、教師なし学習で活用することが可能なモデルであり、
図5は、原本入力データ(original input data)510をエンコーダ(encoder)520に入力して原本入力データ510に対する圧縮表現(compressed representation)530を生成し、圧縮表現530を再びデコーダ(decoder)540に入力することで復元入力データ(reconstructed input data)550を生成する過程を示している。このとき、オートエンコーダは、
図5の過程において、原本入力データ510と復元入力データ550が類似するようにモデルを学習させることができる。このために、オートエンコーダは、原本入力データ510の特徴を記憶しなければならない。
【0065】
このようなオートエンコーダは、従来のニューラルネットワーク(neural network)形態において出力値と入力値の個数が同じモデルであって、左右対称の入力/出力層で構成され、エンコーダ520で原本入力データ510を圧縮した後、デコーダ540で復旧する作業によって特徴を抽出して学習することができる。このようなオートエンコーダは、データの圧縮と復元によってデータの重要な特徴を探索できるという長所があり、サンプルデータから自動的に学習するのに有用であるため、従来の教師なし学習の問題を解決するために使用することができる。
【0066】
このようなオートエンコーダの特徴に畳み込み層を結合した
図6の畳み込みオートエンコーダは、畳み込みによって特徴を抽出することで教師なし学習に活用することができる。このように、
図6は、左右対称の入力/出力層で構成された畳み込み層によって原本入力データの特徴を抽出することで、教師なし学習に活用できることを示している。
【0067】
図7は、本発明の一実施形態における、自動化された基準線生成過程の例を示した図である。
【0068】
図7のグラフを詳しく見ると、一実施形態に係る異常探知システムは、第1時点810以前の過去の正常データ(メトリックデータ820)を学習してディープラーニングモデルを生成してよい。
【0069】
また、異常探知システムは、統計に基づいて、異常探知決定の基準となる損失しきい値(loss threshold)を自動で設定してよい。
図7では、第1点線830および第2点線840それぞれが損失値に対する異常探知決定基準を示している。損失しきい値を決定するために、異常探知システムは、統計アルゴリズムとして、6シグマ、SPC(Statistical Process Control)などに基づいて損失しきい値を設定してよい。
【0070】
このとき、異常探知システムは、統計アルゴリズムによってレベルごとに複数の損失しきい値を定義してもよい。一例として、
図7では、第1点線830で示した第1損失しきい値以上の損失値850に対応するメトリックデータ860に対してクリティカル(Critical)レベルの異常を探知し、第1点線830で示した第1損失しきい値未満であるが第2点線840で示した第2損失しきい値以上の損失値870に対応するメトリックデータ880に対してウォーニング(Warning)レベルの異常を探知する例を示している。実施形態によって、損失しきい値は、3レベル(一例として、High/Middle/Lowレベル)や4レベル以上のレベルが定義されてもよい。
【0071】
図8は、本発明の一実施形態における、6シグマに基づいて損失しきい値を設定する例を示した図である。一例として、一実施形態に係る異常探知システムは、6シグマを上限(upper limit、μ+6σ)、-6シグマを下限(lower limit、μ-6σ)としてよく、6シグマ(および/または-6シグマ)の他にも、5シグマ(または、-5シグマ)や4シグマ(または、-4シグマ)などを損失しきい値のレベルとしてさらに設定してよい。ここで、μは値の平均を意味してよく、σは標準偏差を意味してよい。
【0072】
図9~12は、本発明の一実施形態における、信頼帯域を設定する例を示した図である。
【0073】
図9のグラフは、値910と、値910に対応する信頼帯域920、930を示している。信頼帯域920、930は、値910を基準に、値910よりも大きい値に対する第1信頼帯域920と、値910よりも小さい値に対する第2信頼帯域930を含んでよい。
【0074】
図10のグラフも、値1010と、値1010に対応する信頼帯域1020、1030を示している。信頼帯域1020、1030は、値1010を基準に、値1010よりも大きい値に対する第1信頼帯域1020と、値1010よりも小さい値に対する第2信頼帯域1030を含んでよい。
【0075】
一方、一実施形態に係る異常探知システムは、過去の予め設定された探知周期(分(minute)、時(hour)、日(day)、および/または週(week)など)の使用パターンを統計的数値でモデリングして信頼度を生成してよい。一例として、異常探知システムは、3シグマに基づいて信頼度を生成してよく、変動係数(coefficient of variance:cv)を使用して[Confidence band width=band_width×std(標準偏差)]のようにパターン類型を分類してよい。ここで、[Confidence band width]は、信頼帯域の幅を意味してよく、[band_width]は、信頼帯域の幅を調整するための変数(一例として、自然数)として使用されてよい。一例として、[band_width]が1増加するたびに標準偏差に合わせて信頼帯域の幅が広がってよい。
【0076】
このとき、
図11および
図12は、
図9および
図10に比べて、信頼帯域920、930、1020、1030の幅が広がったものを示している。
【0077】
一方、上述したように、時系列パターンの特徴を抽出するために変動係数(cv)が使用されてよい。本実施形態では変動係数cv=σ/μのように計算されてよく、σは標準偏差を、μは値の平均を意味してよい。言い換えれば、変動係数cvは、平均と比べた標準偏差の大きさを意味してよく、このようなcvによって相対的散布度の測定が可能となり、変動係数の値が大きいほど時系列の平均に比べて偏差が大きいパターンが現われることを意味してよい。
【0078】
また、特異差検出とノイズ除去のためにZスコアが使用されてよい。本実施形態ではZスコアZ=(x-μ)/σのように計算されてよく、σは標準偏差を、μは値の平均を、xは特定値をそれぞれ意味してよい。Zスコアは、観測値xが全体分布で占める相対的位置を表示してよい。
【0079】
図13は、本発明の一実施形態における、異常探知システムのリアルタイム探知過程の例を示した図である。本実施形態に係る異常探知システムは、クラウド1310のようなデータソースから予め設定された時間間隔(一例として、1分)ごとにリアルタイムでデータを収集および前処理1320してよい。一例として、異常探知システムは、1分あたり数万個のような膨大なデータを収集して処理してよい。このとき、異常探知システムは、収集したデータをCPU、メモリ、ロード(load)、プロセスカウント(process count)、ディスク読み込み(disk read)、ディスク書き取り(disk write)、ネットワークイン(net in)、ネットワークアウト(net out)などの多様なメトリックに分類し、それぞれのメトリックごとに時系列データを生成して収集されたデータを前処理してよい。
【0080】
また、異常探知システムは、異常探知のために学習されたディープラーニングモデルによってリアルタイムで前処理されたデータに対する分析を処理して異常探知1330を処理してよい。このとき、異常探知システムは、マルチメトリックに対する統合点数で異常探知レベルを設定してよい。
【0081】
また、異常探知システムは、異常探知1330の結果を視覚化1340してよく、必要によっては管理者に警告(または、アラーム)を提供1350してよい。
【0082】
このとき、処理されたデータは、再びディープラーニングモデルに適用してよい。言い換えれば、異常探知システムは、処理されたデータをさらに利用して再びモデルを生成1360してよい。収集および前処理1320されたデータと異常探知1330の結果、さらにモデル生成1360時に設定された損失しきい値などがデータベース1370に保存されてよい。
【0083】
したがって、異常探知システムのディープラーニングモデルは、データから学び、データの変化に自動で適応することができる。また、異常探知システムは、インフラデータの特性に合うようにディープラーニングモデルを実現することが可能となる。
【0084】
図14~17は、本発明の一実施形態における、使用量増加パターンを探知する例を示した図である。
図14および
図15は、学習パターンよりも使用量が増加して異常を探知した例を示している。
【0085】
持続的な学習によってディープラーニングモデルが増加傾向を学習するようになる場合、ディープラーニングモデルは、
図16および
図17に示すように、週間使用パターンを適用してアウトオブバンド(out of band)として異常を探知することが可能となる。
【0086】
これと同様に、使用量の減少によって異常を探知し、持続的な学習によって減少傾向を学習することで、一定の期間の使用パターンからアウトオブバンドとして異常を探知できることは容易に理解できるであろう。
【0087】
一方、
図9~12では信頼帯域920、930、1020、1030に対して説明したが、このような信頼帯域920、930、1020、1030を逸脱するパターンが異常パターンとして探知されてよい。このとき、信頼帯域920、930、1020、1030は、値910、1010を基準に、値910、1010よりも大きい値に対する第1信頼帯域920、1020と値910、1010よりも小さい値に対する第2信頼帯域930、1030を含むことは説明したとおりである。実施形態によっては、オプションにより、第1信頼帯域920、1020および第2信頼帯域930、1030のうちのいずれか1つだけを異常探知として活用するように設定してもよい。言い換えれば、特定の値や値のパターンが第1信頼帯域920、1020を越えた場合に限って異常を探知するように設定するか、これとは逆に、特定の値や値のパターンが第2信頼帯域930、1030以下に下がった場合に限って異常を探知するように設定してよい。
【0088】
また、
図14~17のように1つのメトリックデータからも異常の探知が可能であれば、インスタンス内の複数のメトリックデータそれぞれに対する異常探知結果の組み合わせから異常を探知することも可能である。一例として、各メトリックデータに対して探知された点数の合算(または、加重合計)によって異常探知結果が組み合わされてよく、合算(または、加重合計)された点数を利用してインフラに対する異常を探知してもよい。また、多数のメトリックから同時に異常が探知される場合、該当のインフラに対する障害の疑いのあるパターンを選り分けてもよい。このような合算(または、加重合計)された点数や障害の疑いのあるパターンは、生成時に警告などが考慮されてよい。
【0089】
図18は、本発明の一実施形態における、固定しきい値を用いて異常を探知する例を示した図である。
図18のグラフでは、CPU使用量が90%(固定しきい値)以上の値に対して異常を探知する例を示している。
【0090】
図19は、本発明の一実施形態における、パターン変動時に異常を探知する例を示した図である。
図19のグラフでは、データ値のパターンが繰り返される場合には異常を探知せず、パターンに変化が生じた場合に異常を探知する例を示している。
【0091】
図20および
図21は、本発明の一実施形態における、異常探知方法の例を示したフローチャートである。本実施形態に係る異常探知方法は、上述した異常探知システムを実現するコンピュータ装置100によって実行されてよい。このとき、コンピュータ装置100のプロセッサ120は、メモリ110が含むオペレーティングシステムのコードと、少なくとも1つのコンピュータプログラムのコードとによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ120は、コンピュータ装置100に記録されたコードが提供する制御命令にしたがってコンピュータ装置100が
図20の方法に含まれる段階2010~2070を実行するようにコンピュータ装置200を制御してよい。
図21の段階2021~2024は、段階2020に含まれて実行されてよい。
【0092】
段階2010で、コンピュータ装置100は、予め設定された探知周期ごとに時系列データを収集および前処理してよい。一例として、コンピュータ装置100は、毎分ごとに時系列データを収集して前処理してよいが、これに限定されてはならない。また、時系列データは、複数のサーバ群のインフラに対する時系列データを含んでよいが、これに限定されてはならない。
【0093】
段階2020で、コンピュータ装置100は、以前の探知周期の時系列データの特徴を利用した教師なし学習方式で学習されたディープラーニングモデルを利用して現在の探知周期に前処理された時系列データの異常を探知してよい。このとき、ディープラーニングモデルは、教師なし学習方式のうちの畳み込みオートエンコーダ(Conv-AutoEncoder)を使用して実現されてよい。
【0094】
一実施形態において、段階2020は、
図21の段階2021および段階2022を含んでよい。
【0095】
段階2021で、コンピュータ装置100は、Zスコア(Z score)を利用して前記前処理された時系列データの異常値を検出してノイズを除去してよい。上述したように、Zスコアは、標準正常分布において確率変数Xの平均がμであって標準偏差がσであるとき、確率変数Xが平均μから標準偏差の何倍の距離だけ離れているかを示してよく、測定の単位として標準偏差を使用して該当の分布の平均と関連する点数の位置を示すため、互いに異なる分布から出た値の比較を可能にする役割ができることから、以前の探知周期の時系列データの分布に基づいて現在の探知周期の時系列データの分布から異常値を検出し、ノイズを除去するために活用することができる。
【0096】
段階2022で、コンピュータ装置100は、6シグマ(6sigma)を基準に設定された損失しきい値を利用して前処理された時系列データの異常を探知してよい。6シグマは、異常が発生する確率はほぼないという意味をもち、このような6シグマを基準に、それ以内で損失しきい値が自動に設定されてよい。一例として、シグマ単位(標準偏差単位)で損失しきい値が設定されてよい。この場合、コンピュータ装置100は、設定された損失しきい値を利用して前処理された時系列データの異常を探知してよい。
【0097】
実施形態によって、コンピュータ装置100は、段階2022で、6シグマを基準に複数レベルの損失しきい値を設定してもよい。一例として、
図7では、第1点線830と第2点線840で示した損失しきい値により、異常値に対してクリティカル(Critical)とウォーニング(Warning)のようなレベルを付与する例について説明した。
【0098】
他の実施形態において、段階2020は、
図21の段階2023および段階2024を含んでよい。
【0099】
段階2023で、コンピュータ装置100は、正規分布基盤の3シグマルールを利用して前記現在の探知周期に前処理された時系列データのための信頼帯域を生成してよい。
【0100】
段階2024で、コンピュータ装置100は、信頼帯域を逸脱するデータまたはデータのパターンを異常値として探知してよい。このような信頼帯域の生成および活用については、
図9~12を参照しながら詳しく説明した。このような信頼帯域の生成および活用は、ディープラーニングモデルの持続的な学習によって傾向(パターン)の学習がなされた後になされてよい。
【0101】
また、実施形態によって、信頼帯域は、時系列データの任意の時点の値よりも大きい値からなる第1信頼帯域および時系列データの任意の時点の値よりも小さい値からなる第2信頼帯域を含んでよい。この場合、コンピュータ装置100は、段階2024で、第1信頼帯域および第2信頼帯域のうちの設定された1つの信頼帯域を逸脱するデータまたはデータのパターンを異常値として設定してもよい。
【0102】
また、実施形態によって、コンピュータ装置100は、段階2023で、現在の探知周期に前処理された時系列データの標準偏差の単位で信頼帯域の幅を調整してよい。一例として、信頼帯域の幅が[Confidence band width=band_width×std(標準偏差)]のように標準偏差の単位で調整されることについては、上述したとおりである。
【0103】
段階2030で、コンピュータ装置100は、現在の学習周期中に前処理された時系列データをさらに利用してディープラーニングモデルを再学習してよい。このように、ディープラーニングモデルは、信頼できる規則を生成したり誰かが明確な正解を定義したりすることが難しい異常探知学習で教師なし学習方式によってデータから学習がなされることで、データの変化に自動で適応することが可能となる。
【0104】
段階2040で、コンピュータ装置100は、現在の学習周期後の探知周期に収集および前処理された時系列データの異常を、再学習されたディープラーニングモデルを利用して探知してよい。このとき、学習周期は、探知周期と等しいか、または探知周期よりも大きく設定されてよい。実施形態によって、学習周期は、探知周期のn(nは自然数)倍になるように設定されてよい。この場合、学習周期ごとに以前の学習周期に対応する探知周期(ら)に収集および前処理された時系列データを利用してディープラーニングモデルが再学習されることにより、持続的な学習と同時に異常探知が可能となる。
【0105】
段階2050で、コンピュータ装置100は、現在の探知周期に前処理された時系列データに対する異常探知結果を視覚化してよい。
図13では、異常探知結果が視覚化1340されることについて説明した。このとき、
図7、
図9~12、
図14~19のグラフが視覚化された異常探知結果の例となる。
【0106】
段階2060で、コンピュータ装置100は、現在の探知周期に前処理された時系列データに対する異常の探知に対する警告を提供してよい。
図13では、異常探知による警告(または、アラーム)が提供1350されることについて説明した。一例として、警告(または、アラーム)は、コンピュータ装置100を利用して実現された異常探知システムの管理者に提供されてよい。
【0107】
段階2070で、コンピュータ装置100は、現在の探知周期に前処理された時系列データ、現在の探知周期に前処理された時系列データに対する異常探知結果、および再学習されたディープラーニングモデルに対して6シグマを基準に設定された損失しきい値のうちの少なくとも1つをデータベースに保存してよい。データベースに保存されたデータは、ディープラーニングモデルの学習用過去データとして活用されてよい。この場合、ディープラーニングモデルは、上述したように、現在の探知周期に前処理された時系列データを活用するだけでなく、異常探知結果と損失しきい値をさらに活用して再学習されてよい。
【0108】
一方、
図20では、1つのメトリックの時系列データについてのみ説明したが、互いに異なる複数のメトリックそれぞれの時系列データが存在することもある。このとき、コンピュータ装置100は、互いに異なる複数のメトリックそれぞれの時系列データに対して前記ディープラーニングモデルを共通的に適用するために、前記互いに異なる複数のメトリックそれぞれの時系列データに対して変動係数(coefficient of variance)を反映してよい。
【0109】
この場合、一例として、コンピュータ装置100は、段階2020で、互いに異なる複数のメトリックそれぞれの時系列データに対して計算された点数の合算または加重合計によって異常探知結果を組み合わせてもよい。組み合わされた異常探知結果は、インフラ障害の疑いのあるパターンを選り分けるために使用されたり、またはアラームの生成を決定するために使用されたりしてよい。
【0110】
このように、本発明の実施形態によると、過去の正常データに基づいてディープラーニングモデル生成することができる。また、自動化された基準線を生成して異常値を探知することができる。また、予め設定された探知周期パターンを統計的にモデリングすることができる。さらに、大量のデータに対してリアルタイムで異常を探知することができる。
【0111】
上述した装置は、ハードウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0112】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0113】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0114】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0115】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0116】
100:コンピュータ装置
110:メモリ
120:プロセッサ
130:通信インタフェース
140:入力/出力インタフェース
150:入力/出力装置
160:ネットワーク