(57)【要約】本発明にかかる異常検知装置（２００）は、２以上の所定数の要素を入力層とする学習済みの自己符号化器（２１１）を記憶する記憶手段（２１０）と、１以上のセンサにより測定された時系列データの中から、所定数のデータが含まれる所定期間の対象データ群を抽出する抽出手段（２２０）と、対象データ群から、所定数の要素を有する多次元ベクトルデータに変換する変換手段（２３０）と、自己符号化器（２１１）に対して多次元ベクトルデータを入力して得られた所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、所定期間の中から異常原因の可能性のある時間帯を特定する特定手段（２４０）と、特定された時間帯を含めた異常検知情報を出力する出力手段（２５０）と、を備える。
2020148904.tif 000002
【特許請求の範囲】
【請求項１】
２以上の所定数の要素を入力層とする学習済みの自己符号化器を記憶する記憶手段と、
１以上のセンサにより測定された時系列データの中から、前記所定数のデータが含まれる所定期間の対象データ群を抽出する抽出手段と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する変換手段と、
前記自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定する特定手段と、
前記特定された時間帯を含めた異常検知情報を出力する出力手段と、
を備える異常検知装置。
【請求項２】
前記所定期間は、前記センサと当該センサによる測定時刻との組合せが前記所定数となる時間帯である
請求項１に記載の異常検知装置。
【請求項３】
前記変換手段は、
前記対象データ群から、前記センサと当該センサによる測定時刻との組合せごとの各データを要素とした前記多次元ベクトルデータに変換する
請求項１又は２に記載の異常検知装置。
【請求項４】
前記特定手段は、
前記出力ベクトルデータと前記多次元ベクトルデータとを対応する要素ごとに比較して前記差分を算出し、
前記差分が所定の閾値を超える場合の測定時刻を含めて前記時間帯として特定する
請求項１乃至３のいずれか１項に記載の異常検知装置。
【請求項５】
前記時系列データは、２以上のセンサのそれぞれにより複数の測定時刻において測定されたデータを含み、
前記特定手段は、前記差分に基づいて、前記２以上のセンサの中から異常原因の可能性のあるセンサをさらに特定し、
前記出力手段は、前記特定された時間帯と前記特定されたセンサとを対応付けて前記異常検知情報に含めて出力する
請求項１乃至４のいずれか１項に記載の異常検知装置。
【請求項６】
前記自己符号化器は、
前記入力層の各要素を総当たりで結合した全結合型ニューラルネットワークである符号化器を含む
請求項１乃至５のいずれか１項に記載の異常検知装置。
【請求項７】
前記自己符号化器は、
前記２以上のセンサのそれぞれに対応する複数のサブ入力層を含む符号化器と、
前記符号化器と結合され、前記複数のサブ入力層のそれぞれに対応する複数のサブ出力層を含む復号化器と、を含み、
前記複数のサブ入力層のそれぞれは、
対応するセンサにより測定された複数の測定時刻に対応する各データを要素とし、
前記複数のサブ出力層のそれぞれは、
対応する前記サブ入力層と同数の要素を有する
請求項５に記載の異常検知装置。
【請求項８】
前記抽出手段は、測定対象が正常である場合に前記１以上のセンサにより測定された第２の時系列データの中から、前記所定期間の第２の対象データ群を抽出し、
前記変換手段は、前記第２の対象データ群から第２の多次元ベクトルデータに変換し、
前記異常検知装置は、
前記第２の多次元ベクトルデータを前記入力層に入力して前記自己符号化器のパラメータを学習し、前記学習済みの自己符号化器として前記記憶手段に格納する学習手段をさらに備える
請求項１乃至７のいずれか１項に記載の異常検知装置。
【請求項９】
２以上の所定数の要素を入力層とする自己符号化器を記憶する記憶手段と、
１以上のセンサにより測定された時系列データの中から、前記所定数のデータが含まれる所定期間の対象データ群を抽出する抽出手段と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する変換手段と、
前記多次元ベクトルデータを前記入力層に入力して前記自己符号化器のパラメータを学習し、学習済みの自己符号化器として前記記憶手段に格納する学習手段と、
を備える学習装置。
【請求項１０】
前記所定期間は、前記センサと当該センサによる測定時刻との組合せが前記所定数となる時間帯である
請求項９に記載の学習装置。
【請求項１１】
２以上の所定数の要素を入力層とする自己符号化器を記憶する記憶手段と、
１以上のセンサにより測定された時系列データの中から、前記所定数のデータが含まれる所定期間の対象データ群を抽出する抽出手段と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する変換手段と、
前記多次元ベクトルデータを前記入力層に入力して前記自己符号化器のパラメータを学習し、学習済みの自己符号化器として前記記憶手段に格納する学習手段と、
前記学習済みの自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定する特定手段と、
前記特定された時間帯を含めた異常検知情報を出力する出力手段と、
を備える異常検知システム。
【請求項１２】
前記所定期間は、前記センサと当該センサによる測定時刻との組合せが前記所定数となる時間帯である
請求項１１に記載の異常検知システム。
【請求項１３】
コンピュータが、
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出し、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換し、
前記所定数の要素を入力層とする学習済みの自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定し、
前記特定された時間帯を含めた異常検知情報を出力する
異常検知方法。
【請求項１４】
コンピュータが、
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出し、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換し、
前記所定数の要素を入力層とする自己符号化器に前記多次元ベクトルデータを入力して当該自己符号化器のパラメータを学習し、
学習済みの自己符号化器として記憶装置に格納する、
学習方法。
【請求項１５】
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出する処理と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する処理と、
前記所定数の要素を入力層とする学習済みの自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定する処理と、
前記特定された時間帯を含めた異常検知情報を出力する処理と、
をコンピュータに実行させる異常検知プログラムが格納された非一時的なコンピュータ可読媒体。
【請求項１６】
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出する処理と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する処理と、
前記所定数の要素を入力層とする自己符号化器に前記多次元ベクトルデータを入力して当該自己符号化器のパラメータを学習する処理と、
学習済みの自己符号化器として記憶装置に格納する処理と、
をコンピュータに実行させる学習プログラムが格納された非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、異常検知装置、システム、方法及びプログラム、並びに、学習装置、方法及びプログラムに関する。
【背景技術】
【０００２】
製造機械、化学プラント、電力プラント及び機械部品などを含む現代の複雑なシステムにおいては、多数及び多種類のセンサを用いて管理されている。例えば、電力プラントなどでは、数千にも及ぶセンサにより測定された測定値のデータが出力される。そして、出力された時系列データを解析することでシステムの異常を検知し、その異常の原因を特定することが求められる。【０００３】
特許文献１には、情報システムから出力される様々なデータを用いて自己符号化器を学習し、異常を検知するシステムが開示されている。当該システムは、高度な専門知識を必要とせずにノイズが含まれることが多いセンサデータを効率よく処理する手段である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１７／０９４２６７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、異なる時刻のセンサ値の間の相関を考慮しておらず、時間軸に起因する異常の検知が不十分である、という問題点がある。そのため、特許文献１では、ある時刻に異常値が測定されたセンサを特定することはできるが、所定期間内の各センサ値自体は正常値であっても、全体として異常であるケース等の検出ができず、検知精度が不十分である。【０００６】
本開示は、このような問題点を解決するためになされたものであり、センサから得られた時系列データを用いて対象システムの異常をより高精度に検知するための異常検知装置、システム、方法及びプログラム、並びに、学習装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の第１の態様にかかる異常検知装置は、
２以上の所定数の要素を入力層とする学習済みの自己符号化器を記憶する記憶手段と、
１以上のセンサにより測定された時系列データの中から、前記所定数のデータが含まれる所定期間の対象データ群を抽出する抽出手段と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する変換手段と、
前記自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定する特定手段と、
前記特定された時間帯を含めた異常検知情報を出力する出力手段と、
を備える。【０００８】
本開示の第２の態様にかかる異常検知システムは、
２以上の所定数の要素を入力層とする自己符号化器を記憶する記憶手段と、
１以上のセンサにより測定された時系列データの中から、前記所定数のデータが含まれる所定期間の対象データ群を抽出する抽出手段と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する変換手段と、
前記多次元ベクトルデータを前記入力層に入力して前記自己符号化器のパラメータを学習し、学習済みの自己符号化器として前記記憶手段に格納する学習手段と、
前記学習済みの自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定する特定手段と、
前記特定された時間帯を含めた異常検知情報を出力する出力手段と、
を備える。【０００９】
本開示の第３の態様にかかる異常検知方法は、
コンピュータが、
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出し、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換し、
前記所定数の要素を入力層とする学習済みの自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定し、
前記特定された時間帯を含めた異常検知情報を出力する。【００１０】
本開示の第４の態様にかかる異常検知プログラムは、
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出する処理と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する処理と、
前記所定数の要素を入力層とする学習済みの自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定する処理と、
前記特定された時間帯を含めた異常検知情報を出力する処理と、
をコンピュータに実行させる。【００１１】
本開示の第５の態様にかかる学習装置は、
２以上の所定数の要素を入力層とする自己符号化器を記憶する記憶手段と、
１以上のセンサにより測定された時系列データの中から、前記所定数のデータが含まれる所定期間の対象データ群を抽出する抽出手段と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する変換手段と、
前記多次元ベクトルデータを前記入力層に入力して前記自己符号化器のパラメータを学習し、学習済みの自己符号化器として前記記憶手段に格納する学習手段と、
を備える。【００１２】
本開示の第６の態様にかかる学習方法は、
コンピュータが、
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出し、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換し、
前記所定数の要素を入力層とする自己符号化器に前記多次元ベクトルデータを入力して当該自己符号化器のパラメータを学習し、
学習済みの自己符号化器として記憶装置に格納する。【００１３】
本開示の第７の態様にかかる学習プログラムは、
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出する処理と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する処理と、
前記所定数の要素を入力層とする自己符号化器に前記多次元ベクトルデータを入力して当該自己符号化器のパラメータを学習する処理と、
学習済みの自己符号化器として記憶装置に格納する処理と、
をコンピュータに実行させる。
【発明の効果】
【００１４】
上述の態様によれば、センサから得られた時系列データを用いて対象システムの異常をより高精度に検知するための異常検知装置、システム、方法及びプログラム、並びに、学習装置、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態１にかかる学習装置の構成を示すブロック図である。
【図２】本実施の形態１にかかる学習方法の流れを示すフローチャートである。
【図３】本実施の形態２にかかる異常検知装置の構成を示すブロック図である。
【図４】本実施の形態２にかかる異常検知方法の流れを示すフローチャートである。
【図５】本実施の形態３にかかる異常検知システムの構成を示すブロック図である。
【図６】本実施の形態３にかかる異常検知システムのハードウェア構成を示すブロック図である。
【図７】本実施の形態３にかかる学習装置の構成を示すブロック図である。
【図８】本実施の形態３にかかる学習段階の処理の流れを示すフローチャートである。
【図９】本実施の形態３にかかる異常検知装置の構成を示すブロック図である。
【図１０】本実施の形態３にかかる異常検知段階の処理の流れを示すフローチャートである。
【図１１】本実施の形態３にかかる全結合ニューラルネットワークを用いた自己符号化器の概念を説明するための図である。
【図１２】本実施の形態４にかかる分岐付きニューラルネットワークを用いた自己符号化器の概念を説明するための図である。
【発明を実施するための形態】
【００１６】
以下では、本開示の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００１７】
＜実施の形態１＞
図１は、本実施の形態１にかかる学習装置１００の構成を示すブロック図である。学習装置１００は、対象システムの異常を検知するために用いられる自己符号化器のパラメータを学習するための情報処理装置である。ここで、対象システムとは、上述したように、製造機械、化学プラント、電力プラント及び機械部品などが挙げられるが、これらに限定されない。また、対象システムに対しては、多数及び多種類のセンサにより定期的又は不定期に各種測定がなされ、測定データが取得されるものとする。学習装置１００は、記憶部１１０と、抽出部１２０と、変換部１３０と、学習部１４０とを備える。
【００１８】
記憶部１１０は、自己符号化器１１１を記憶する。ここで、自己符号化器１１１は、２以上の所定数の要素を入力層とする自己符号化モデルである。すなわち、自己符号化器１１１は、所定数の次元のベクトルデータを入力し、当該ベクトルデータから次元を減らす符号化を行った上で、元の次元に復元する処理を行うプログラムモジュールである。例えば、自己符号化器１１１は、各入力データに所定のパラメータ（重み付け係数）を用いて演算される数学モデルである。そして、自己符号化器１１１は、例えば、ニューラルネットワーク等で表現されたものである。尚、自己符号化器１１１としては、例えば、ＡＥ（Auto Encoder）、ＶＡＥ（Variational Auto Encoder）、ＣＶＡＥ（Conditional Variational Auto Encoder）といったものを適用することができる。また、自己符号化器１１１について入力データを用いて学習することで、最適なパラメータ値を得ることができる。尚、自己符号化器１１１は、パラメータが学習前のものか、学習済みのものであってもよい。また、以下の説明において「所定数」とは、本開示で用いられる自己符号化器の入力層の要素数を指すものとする。
【００１９】
抽出部１２０は、時系列データの中から、所定数のデータが含まれる所定期間の対象データ群を抽出する。尚、抽出部１２０は、時系列データを外部又は内部の記憶装置（不図示）から取得してもよい。または、学習装置１００は、時系列データを予め外部から取得し、記憶部１１０等に保存してもよい。ここで、時系列データとは、上記対象システムから１以上のセンサにより測定された２以上の測定値（センサデータ）の集合である。また、時系列データは、測定されたセンサ（の種別）と測定時刻と測定値とが少なくとも対応付けられているものとする。尚、センサが２以上の場合、センサの間で測定間隔が異なっていてもよい。また、「所定期間」は、時系列データの一部の期間であり、２以上の測定時刻が含まれるものとする。そのため、対象データ群には、２以上の測定時刻に対応する２以上の（所定数の）データが含まれている。但し、対象データ群内の測定時刻は、隣接している必要はなく、少なくとも所定期間の範囲内であればよい。尚、本実施形態１にかかる時系列データは、対象システムが正常な状態において測定されたデータ群であることが望ましい。つまり、本実施形態にかかる時系列データ又は対象データ群は、自己符号化器１１１の学習用のデータとみなすことができる。
【００２０】
変換部１３０は、対象データ群から、所定数の要素を有する多次元ベクトルデータに変換する。つまり、自己符号化器１１１の入力層の要素数と、抽出された対象データ群のデータ数と、多次元ベクトルデータの要素数とは、いずれも同一（かつ）２以上の所定数である。ここで、変換部１３０は、対象データ群に対して所定の前処理を行った上で、多次元ベクトルデータに変換してもよい。
【００２１】
学習部１４０は、変換部１３０により変換された多次元ベクトルデータを、自己符号化器１１１の入力層に入力して、自己符号化器１１１のパラメータを学習し、学習済みの自己符号化器１１１として記憶部１１０に格納する。例えば、学習部１４０は、自己符号化器１１１に対する入力データ（多次元ベクトルデータ）と、入力データに対する自己符号化器１１１による復元値とを比較し、差分が小さくなるようにパラメータを最適化する。
【００２２】
図２は、本実施の形態１にかかる学習方法の流れを示すフローチャートである。まず、抽出部１２０は、学習用の時系列データの中から所定期間の対象データ群を抽出する（Ｓ１１）。次に、変換部１３０は、対象データ群から多次元ベクトルデータに変換する（Ｓ１２）。そして、学習部１４０は、自己符号化器１１１の入力層に、ステップＳ１２において変換された多次元ベクトルデータを入力して、自己符号化器１１１のパラメータを学習する（Ｓ１３）。その後、学習部１４０は、学習済みの自己符号化器１１１として記憶部１１０に格納する（Ｓ１４）。
【００２３】
このように、本実施形態１では、センサから得られた時系列データについて、２以上の測定時刻を含む所定期間単位で自己符号化器のパラメータを学習することで、学習済みの自己符号化器を得ることができる。つまり、複数のセンサの観測値のうち一定時間幅の観測データについて、自己符号化器の入力層の各要素と対応させたベクトルデータに変換するものである。そして、当該学習済みの自己符号化器を用いて、対象システムの異常をより高精度に検知することができる。その理由は、２以上の測定時刻を含む所定期間の測定データを対象とするため、１データの正常値の閾値のみでは検知できない異常ケースを検知できる可能性があるためである。例えば、単独の測定データだけであれば正常値の範囲であっても、隣接するデータ間の関係や複数時点のデータが特定のパターンを示す場合には正常ではないケース、又は、時間軸で見た場合には異常な振る舞いを示すケース等を検知できる可能性があるためである。
【００２４】
尚、学習装置１００は、図示しない構成としてプロセッサ、メモリ及び記憶装置を備えるものである。また、当該記憶装置には、本実施の形態にかかる学習方法の処理が実装されたコンピュータプログラムが記憶されている。そして、当該プロセッサは、記憶装置からコンピュータプログラムを前記メモリへ読み込み、当該コンピュータプログラムを実行する。これにより、前記プロセッサは、抽出部１２０、変換部１３０及び学習部１４０の機能を実現する。
【００２５】
または、抽出部１２０、変換部１３０及び学習部１４０は、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路（circuitry）、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。また、プロセッサとして、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（field-programmable gate array）等を用いることができる。
【００２６】
また、学習装置１００の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。また、学習装置１００の機能がＳａａＳ（Software as a Service）形式で提供されてもよい。
【００２７】
＜実施の形態２＞
図３は、本実施の形態２にかかる異常検知装置２００の構成を示すブロック図である。異常検知装置２００は、対象システムの異常を検知するための情報処理装置である。ここで、対象システムは、上述した実施形態１と同様である。異常検知装置２００は、記憶部２１０と、抽出部２２０と、変換部２３０と、特定部２４０と、出力部２５０とを備える。
【００２８】
記憶部２１０は、学習済みの自己符号化器２１１を記憶する。ここで、自己符号化器２１１は、２以上の所定数の要素を入力層とする自己符号化モデルである。そして、自己符号化器２１１は、事前にパラメータが学習済みであるものとする。そのため、自己符号化器２１１には、上述した実施形態１にかかる学習済みの自己符号化器１１１を用いてもよい。
【００２９】
抽出部２２０は、時系列データの中から、所定数のデータが含まれる所定期間の対象データ群を抽出する。尚、抽出部２２０は、上述した抽出部１２０と同様の構成を用いてもよい。ここで、本実施形態２にかかる時系列データは、対象システムの運用中に測定された実運用データであるとよい。つまり、本実施形態２にかかる時系列データは、運用中の対象システムの異常を検知するために用いられる検知対象のデータある。また、「所定数」とは、上述した通り、自己符号化器の入力層の要素数を指すものとする。
【００３０】
変換部２３０は、対象データ群から、所定数の要素を有する多次元ベクトルデータに変換する。尚、変換部２３０は、上述した変換部１３０と同様の構成を用いてもよい。
【００３１】
特定部２４０は、自己符号化器２１１に対して多次元ベクトルデータを入力して出力ベクトルデータを得る。つまり、自己符号化器２１１の入力層の要素数と、抽出された対象データ群のデータ数と、多次元ベクトルデータの要素数と、出力ベクトルデータの要素数とは、いずれも同一（かつ）２以上の所定数である。そして、特定部２４０は、出力ベクトルデータと、入力に用いた多次元ベクトルデータとの差分に基づいて、所定期間の中から異常原因の可能性のある時間帯を特定する。ここで、「時間帯」には、少なくとも１以上の測定時刻が含まれればよい。
【００３２】
出力部２５０は、特定された時間帯を含めた異常検知情報を出力する。ここで、「異常検知情報」は、特定された時間帯が異常原因の可能性がある旨を示すテキストデータを含むものであってもよい。
【００３３】
図４は、本実施の形態２にかかる異常検知方法の流れを示すフローチャートである。まず、抽出部２２０は、時系列データの中から所定期間の対象データ群を抽出する（Ｓ２１）。次に、変換部２３０は、対象データ群から多次元ベクトルデータに変換する（Ｓ２２）。そして、特定部２４０は、学習済みの自己符号化器２１１に対して、ステップＳ２２において変換された多次元ベクトルデータを入力して出力ベクトルデータを得る（Ｓ２３）。そして、特定部２４０は、出力ベクトルデータと入力に用いた多次元ベクトルデータとの差分に基づいて、所定期間の中から異常原因の可能性のある時間帯を特定する（Ｓ２４）。その後、出力部２５０は、特定された時間帯を含めた異常検知情報を出力する（Ｓ２５）。
【００３４】
このように、本実施形態２により、センサから得られた時系列データを用いて対象システムの異常をより高精度に検知することができる。その理由は、２以上の測定時刻を含む所定期間の測定データを対象とするため、１データの正常値の閾値のみでは検知できない異常ケースを検知できる可能性があるためである。例えば、単独の測定データだけであれば正常値の範囲であっても、隣接するデータ間の関係や複数時点のデータが特定のパターンを示す場合には正常ではないケース、又は、時間軸で見た場合には異常な振る舞いを示すケース等を検知できる可能性があるためである。そのため、未知の故障や異常を検知する精度が向上する。
【００３５】
ここで、一般的な手法である閾値を基にしたルールベースの手法では、個々の異常ごとにドメイン知識を用いて、予め異常検知ルールを定める必要があった。そして、高精度な異常検知ルールを定めるには、ドメインごとの高度な専門知識を必要とした。しかし、対象システムが変更されるたびに新たにルールを定める必要があり、煩雑な運用が求められた。それ故、メイン知識を基にしたルールベースの異常検知には限界があった。
【００３６】
これに対し、本実施形態２にかかる異常検知装置２００では、ルールを定めることなく検知精度を向上させると共に、異常の可能性のある時刻を特定することができる。そのため、複雑なシステムについての高度な専門知識がなくとも、リアルタイムで異常を検知し、異常原因を特定することができる。なぜならば、本実施形態では一定時間幅の複数センサの観測値をベクトル化するためである。
【００３７】
尚、異常検知装置２００は、図示しない構成としてプロセッサ、メモリ及び記憶装置を備えるものである。また、当該記憶装置には、本実施の形態にかかる異常検知方法の処理が実装されたコンピュータプログラムが記憶されている。そして、当該プロセッサは、記憶装置からコンピュータプログラムを前記メモリへ読み込み、当該コンピュータプログラムを実行する。これにより、前記プロセッサは、抽出部２２０、変換部２３０、特定部２４０及び出力部２５０の機能を実現する。
【００３８】
または、抽出部２２０、変換部２３０、特定部２４０及び出力部２５０は、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路（circuitry）、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。また、プロセッサとして、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（field-programmable gate array）等を用いることができる。
【００３９】
また、異常検知装置２００の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。また、異常検知装置２００の機能がＳａａＳ（Software as a Service）形式で提供されてもよい。
【００４０】
＜実施の形態３＞
図５は、本実施の形態３にかかる異常検知システム３００の構成を示すブロック図である。異常検知システム３００は、上述した学習装置１００と異常検知装置２００の機能を有する情報処理システムである。尚、上述した学習装置１００と異常検知装置２００の機能のうち重複する機能については同一の構成を用いてもよい。また、異常検知システム３００は、２以上のコンピュータ装置により機能を分散又は冗長化して実現したものであってもよい。異常検知システム３００は、記憶部３１０と、抽出部３２０と、変換部３３０と、学習部３４０と、特定部３５０と、出力部３６０とを備える。
【００４１】
記憶部３１０は、上述した記憶部１１０又は記憶部２１０と少なくとも同等の構成である。記憶部３１０は、自己符号化器３１１を記憶する。自己符号化器３１１は、学習前又は学習済みの自己符号化モデルであり、上述した自己符号化器１１１又は２１１を用いてもよい。
【００４２】
抽出部３２０は、上述した抽出部１２０又は抽出部２２０と少なくとも同等の構成である。変換部３３０は、上述した変換部１３０又は変換部２３０と少なくとも同等の構成である。学習部３４０は、上述した学習部１４０と少なくとも同等の構成である。特定部３５０は、上述した特定部２４０と少なくとも同等の構成である。出力部３６０は、上述した出力部２５０と少なくとも同等の構成である。
【００４３】
ここで、本実施形態３では、さらに次の構成の少なくともいずれかを有するものである。まず、「所定期間」は、センサとセンサによる測定時刻との組合せが「所定数」となる時間帯である。また、前記変換部は、前記対象データ群から、前記センサと当該センサによる測定時刻との組合せごとの各データを要素とした前記多次元ベクトルデータに変換するとよい。さらに、前記特定部は、前記出力ベクトルデータと前記多次元ベクトルデータとを対応する要素ごとに比較して前記差分を算出し、前記差分が所定の閾値を超える場合の測定時刻を含めて前記時間帯として特定するとよい。
【００４４】
また、前記時系列データは、２以上のセンサのそれぞれにより複数の測定時刻において測定されたデータを含む。そして、前記特定部は、前記差分に基づいて、前記２以上のセンサの中から異常原因の可能性のあるセンサをさらに特定する。その際、前記出力部は、前記特定された時間帯と前記特定されたセンサとを対応付けて前記異常検知情報に含めて出力する。
【００４５】
図６は、本実施の形態３にかかる異常検知システム３００のハードウェア構成を示すブロック図である。尚、図６は、異常検知システム３００が１台の情報処理装置で実現された場合について模式的に示したものである。そして、異常検知システム３００は、上述した通り、２台以上の情報処理装置により機能を分散又は冗長化して実現しても構わない。
【００４６】
異常検知システム３００は、記憶装置３７０と、メモリ３８１と、ＩＦ（InterFace）部３８２と、制御部３８３とを少なくとも備える。記憶装置３７０は、上述した記憶部３１０に相当するハードディスク、フラッシュメモリ等の記憶装置である。記憶装置３７０は、学習プログラム３７１、異常検知プログラム３７２、自己符号化モデル３７３、学習用時系列データ３７４及び検知用時系列データ３７５等を記憶する。学習プログラム３７１は、本実施形態にかかる自己符号化器の学習処理が実装されたコンピュータプログラムである。異常検知プログラム３７２は、本実施形態にかかる異常検知処理が実装されたコンピュータプログラムである。自己符号化モデル３７３は、上述した自己符号化器３１１に相当するものであり、学習前又は学習済みのものである。学習用時系列データ３７４は、学習処理の入力データとして用いられ、実施形態１における時系列データに相当するものである。特に、学習用時系列データ３７４は、対象システムが正常な状態において測定されたデータ群であることが望ましい。検知用時系列データ３７５は、異常検知処理の入力データとして用いられ、実施形態２における時系列データに相当するものである。
【００４７】
メモリ３８１は、ＲＡＭ（Random Access Memory）等の揮発性記憶装置であり、制御部３８３の動作時に一時的に情報を保持するための記憶領域である。ＩＦ部３８２は、異常検知システム３００の外部との入出力を行うインタフェースである。例えば、ＩＦ部３８２は、キーボード、マウス、タッチパネル等の入力デバイス（不図示）を介して、ユーザの操作を受け付け、受け付けた操作内容を制御部３８３へ出力する。また、ＩＦ部３８２は、制御部３８３からの指示に応じて、タッチパネル、表示装置、プリンタ等（不図示）へ出力を行う。
【００４８】
制御部３８３は、異常検知システム３００の各構成を制御するプロセッサつまり制御装置であり、例えば、ＣＰＵである。制御部３８３は、記憶装置３７０から学習プログラム３７１及び異常検知プログラム３７２をメモリ３８１へ読み込み、学習プログラム３７１及び異常検知プログラム３７２を実行する。これにより、制御部３８３は、上述した抽出部３２０、変換部３３０、学習部３４０、特定部３５０及び出力部３６０の機能を実現する。
【００４９】
ここで、本実施形態３にかかる異常検知システム３００の学習装置としての側面について説明する。図７は、本実施の形態３にかかる異常検知システム３００を学習装置４００として捉えた場合の構成を示すブロック図である。学習装置４００は、データ格納部４１０と、前処理部４２０と、多次元ベクトル化部４３０と、学習部４４０とを備える。データ格納部４１０は、上述した記憶部３１０に相当する構成である。データ格納部４１０は、時系列データ４１１と、自己符号化器４１２とを記憶する。時系列データ４１１は、上述した学習用時系列データ３７４に相当する。自己符号化器４１２は、パラメータ４１２１を含む。ここで、パラメータ４１２１は、学習前の場合には、ランダム値や任意の設定値であってもよい。
【００５０】
前処理部４２０は、時系列データ４１１に対して平滑化などを施して、前処理済みデータとして出力する。当該前処理を行うことで、ノイズに対してより頑健な自己符号化器を得ることができる。尚、前処理の具体例は後述する。また、前処理済みデータを、上述した時系列データとみなしてもよい。
【００５１】
多次元ベクトル化部４３０は、前処理済みデータの中から一定時間幅（所定期間の単位）で抽出し、抽出した時系列の前処理済みデータを多次元ベクトル化する。ここで、所定期間は、時系列データ４１１のセンサ種別数と各センサによる測定間隔に基づいて予め定められているものとする。例えば、所定期間は、各センサと当該センサによる測定時刻との組合せの数が自己符号化器４１２の入力層の要素数となる時間帯であるとよい。尚、時間幅はアプリケーション次第で自由に設定可能である。そして、多次元ベクトルデータの次元数は、センサと当該センサによる測定時刻との組合せごとの各データを１要素とした場合の要素数である。つまり、多次元ベクトル化部４３０は、前処理済みデータの中から、センサと当該センサによる測定時刻との組合せごとの各データを１要素とした次元数の多次元ベクトルデータに変換する。
【００５２】
学習部４４０は、多次元ベクトル化部４３０により変換された多次元ベクトルデータを用いて、自己符号化器４１２のパラメータ４１２１を学習する。つまり、学習部４４０は、自己符号化器４１２に多次元ベクトルデータを入力し、その復元値を取得する。そして、学習部４４０は、入力された多次元ベクトルデータと復元値との差分が小さくなるようにパラメータ４１２１を最適化する。そして、学習部４４０は、最適化されたパラメータ４１２１によりデータ格納部４１０を更新する。尚、自己符号化器のパラメータの学習アルゴリズムには、誤差逆伝搬法など、公知のものを用いることができる。
【００５３】
図８は、本実施の形態３にかかる学習段階の処理の流れを示すフローチャートである。まず、前処理部４２０は、データ格納部４１０に格納された時系列データ４１１に対して所定の前処理を行う（Ｓ３１１）。例えば、前処理部４２０は、平滑化を行い、微小なノイズを予め除去すると良い。または、前処理部４２０は、フーリエ変換を施して特定の周波数成分を抽出しても良い。尚、前処理の具体的な手法はこれらに限定されない。
【００５４】
次に、多次元ベクトル化部４３０は、前処理済みの時系列データから、所定期間の対象データ群を抽出する（Ｓ３１２）。そして、多次元ベクトル化部４３０は、抽出した対象データ群を多次元ベクトル化する（Ｓ３１３）。
【００５５】
その後、学習部４４０は、多次元ベクトル化されたデータを用いて自己符号化器４１２のパラメータ４１２１を学習する（Ｓ３１４）。そして、学習部４４０は、学習結果をデータ格納部４１０に格納する（Ｓ３１５）。
【００５６】
このように、本実施形態３では、上述した実施形態１と同様に、センサから得られた時系列データを用いて対象システムの異常をより高精度に検知するための学習済み自己符号化器を得ることができる。
【００５７】
続いて、異常検知システム３００が異常検知装置の機能を発揮している場合について説明する。図９は、本実施の形態３にかかる異常検知システム３００を異常検知装置５００として捉えた場合の構成を示すブロック図である。異常検知装置５００は、データ格納部５１０と、前処理部５２０と、多次元ベクトル化部５３０と、復元値算出部５４０と、差分算出部５５０と、結果出力部５６０とを備える。データ格納部５１０は、上述した記憶部３１０に相当する構成である。データ格納部５１０は、時系列データ５１１と、自己符号化器５１２とを記憶する。時系列データ５１１は、上述した検知用時系列データ３７５に相当するものであり、対象システムから随時測定された格納されてもよい。。自己符号化器５１２は、学習済みパラメータ５１２１を含む。つまり、自己符号化器５１２及び学習済みパラメータ５１２１は、上述した学習装置４００により学習済みの自己符号化器４１２及びパラメータ４１２１であってもよい。
【００５８】
前処理部５２０及びは多次元ベクトル化部５３０は、上述した前処理部４２０及び多次元ベクトル化部４３０と同等の処理であるため、詳細な説明を省略する。
【００５９】
復元値算出部５４０は、多次元ベクトル化部４３０により変換された多次元ベクトルデータを自己符号化器５１２に入力し、自己符号化器５１２により復元値を算出させ、復元値を出力ベクトルデータとして取得する。このとき、自己符号化器５１２は、学習済みのパラメータ５１２１を用いて、入力された多次元ベクトルデータから復元値を算出することとなる。
【００６０】
差分算出部５５０は、復元値と入力される多次元ベクトルデータとについて、センサごと、測定時刻ごと、又は、センサ及び測定時刻ごとに乖離を差分として算出する。
【００６１】
結果出力部５６０は、差分算出部５５０により算出された差分を基に、異常原因の可能性のあるセンサ、時間帯、又は、センサ及び時間帯の組を特定する。そして、結果出力部５６０は、特定した時間帯等を用いて異常検知情報を生成し、生成した異常検知情報を異常検知装置５００の外部へ出力する。例えば、結果出力部５６０は、ディスプレイ等に異常検知情報を表示する。
【００６２】
ここで、異常検知装置５００は、異常原因の可能性のある時間帯等と特定するための１以上の指標を予めデータ格納部５１０に格納済みであるものとする。当該指標として例えば、センサ及び測定時刻ごとの許容できる差分の閾値を示す個別閾値、所定期間内で個別閾値を超えることが許容される上限回数、差分の統計処理結果（標準偏差等）の閾値、差分の正負の変動の許容度合い等が挙げられる。但し、指標はこれらに限定されない。そのため、結果出力部５６０は、差分及び当該指標に基づいて、所定期間の中で差分が個別閾値を超える複数の測定時刻や該当するセンサを特定してもよい。または、結果出力部５６０は、差分及び当該指標に基づいて、所定期間の中で個別閾値を超える差分が上限回数を超える時間帯やセンサを特定してもよい。または、結果出力部５６０は、差分及び当該指標に基づいて差分に統計処理を行い、ばらつき等の統計処理結果に基づいて異常原因の可能性のある時間帯等と特定してもよい。または、結果出力部５６０は、差分及び当該指標に基づいて差分の正負の変動を導出し、許容度合いを超える時間帯等を特定してもよい。これらにより、個別の測定時刻における測定データ単独では検出できない異常を検出できる可能性がある。
【００６３】
図１０は、本実施の形態３にかかる異常検知段階の処理の流れを示すフローチャートである。まず、前処理部５２０は、上述したステップＳ３１１と同様に、データ格納部５１０に格納された時系列データ５１１に対して所定の前処理を行う（Ｓ３２１）。但し、時系列データ５１１は、上述した通り、検知用時系列データ３７５相当である。次に、多次元ベクトル化部５３０は、前処理済みの時系列データから、上述したステップＳ３１２と同様の所定期間に対応する対象データ群を抽出する（Ｓ３２２）。そして、多次元ベクトル化部５３０は、上述したステップＳ３１３と同様に、抽出した対象データ群を多次元ベクトル化する（Ｓ３２３）。
【００６４】
その後、復元値算出部５４０は、多次元ベクトル化されたデータｘを、学習済みの自己符号化器５１２（ｆ）に入力し、復元値ｆ（ｘ）を算出させる（Ｓ３２４）。そして、結果出力部５６０は、入力データｘと復元値ｆ（ｘ）との差分に基づき、異常個所（センサ、測定時刻）を特定する（Ｓ３２５）。その後、結果出力部５６０は、特定された異常個所を含めた異常検知情報を生成し、出力する（Ｓ３２６）。
【００６５】
ここで、上述した対象システムでは、各測定時刻のセンサ値そのものではなく、いくらかの期間にわたる時系列パターンとして異常が見られる場合がある。例えば、個々の値は正常範囲に収まっているものの正常時には見られない振動をしているものや、急激な変化を伴うものである。したがって、各時刻のセンサ値を管理するだけでは不十分である。加えて、どのタイミングで異常が発生したか特定することで、より詳細な原因究明に役立たせることが求められる。
【００６６】
そこで、本実施形態３により、上述した実施形態２と同様に、センサから得られた時系列データを用いて対象システムの異常をより高精度に検知することができる。さらに、本実施形態３では、異常の可能性のある時間帯と共にセンサも特定して異常検知情報とするため、管理者はより詳細な検知情報を用いて短期間で異常原因を特定できる。
【００６７】
また、本実施形態３にかかる時系列データは、少なくとも１以上のセンサにより測定された２以上の測定時刻による測定結果を含むものであればよい。そして、所定期間も当該２以上の測定時刻が含まれれば良い。その場合、本実施形態３にかかる自己符号化器３１１は、次の構成を用いることができる。
【００６８】
図１１は、本実施の形態３にかかる全結合ニューラルネットワークを用いた自己符号化器６１０の概念を説明するための図である。自己符号化器６１０は、符号化器６１１と復号化器６１２とを含む。符号化器６１１は、入力層６２１の各要素を総当たりで結合した全結合型ニューラルネットワークである。復号化器６１２は、符号化器６１１と結合され、入力層６２１と同数の要素を有する出力層６２３を備える。ここで、入力層６２１と出力層６２３とは、複数層の中間層６２２を介して結合されている。また、上述したパラメータ４１２１や５１２１は、異なる層の要素（ニューロン）間の演算に用いられる重み付け係数である。尚、中間層６２２は３層に限定されず、４以上の層であっても構わない。
【００６９】
ここでは例えば、時系列データは、センサ１及び２により対応する時刻にセンサデータが測定されたものとする。また、所定期間を測定時刻ｔ１からｔｎ（ｎは２以上の自然数。）とする。そして、前処理部４２０（５２０）及び多次元ベクトル化部４３０（５３０）は、時系列データから測定時刻ｔ１からｔｎのそれぞれに対応するセンサデータｄ１１からｄ１ｎ、ｄ２１からｄ２ｎを前処理、抽出し、多次元ベクトルデータ化する。学習部４４０又は復元値算出部５４０は、自己符号化器６１０の入力層６２１のそれぞれの要素に、センサデータｄ１１からｄ１ｎ、ｄ２１からｄ２ｎを入力する。符号化器６１１は、入力層６２１からパラメータを用いて中間層６２２へ出力し、復号化器６１２は、中間層６２２からパラメータを用いて出力層６２３へ出力する。よって、自己符号化器６１０は、センサデータｄ１１からｄ１ｎ、ｄ２１からｄ２ｎを要素とする多次元ベクトルデータから、符号化器６１１により次元を減らし、復号化器６１２により次元を復元して復元データｒ１１からｒ１ｎ、ｒ２１からｒ２ｎを出力する。そのため、自己符号化器６１０の入力データｄ１１からｄ２ｎと出力データｒ１ｎからｒ２ｎとは次元が一致し、対応するセンサ及び測定時刻ごとにデータを比較して差分を求めることができる。ここで、自己符号化器６１０のような全結合ニューラルネットワークを用いることにより、異なるセンサ間及び異なる測定時刻の間の関連を考慮することができ、異常検知の精度を向上することができる。
【００７０】
＜実施の形態４＞
本実施形態４は、上述した実施形態３の変形例であり、自己符号化器として入力層をセンサごとに区別したものを用いるものである。これにより、自己符号化器のパラメータ数が実施形態３と比べて少ないため、学習処理時間を短縮し、また、異常検知処理時間も短縮することができる。尚、本実施形態４の他の構成は、実施形態３と同様であるため、図示及び詳細な説明を省略する。
【００７１】
図１２は、本実施の形態４にかかる分岐付きニューラルネットワークを用いた自己符号化器６３０の概念を説明するための図である。自己符号化器６３０は、符号化器６３１と復号化器６３２とを含む。符号化器６３１は、２以上のセンサ１、・・・センサ２等のそれぞれに対応する複数のサブ入力層６４１１、・・・６４１２等を含む。尚、サブ入力層６４１１、・・・６４１２等は、入力層６４１とみなすことができる。復号化器６３２は、サブ入力層６４１１、・・・６４１２等のそれぞれに対応する複数のサブ出力層６４３１、・・・６４３２等を含む。尚、サブ出力層６４３１、・・・６４３２等は、出力層６４３とみなすことができる。ここで、入力層６４１と出力層６４３とは、複数層の中間層６４２を介して結合されている。尚、中間層６４２は３層に限定されず、４以上の層であっても構わない。
【００７２】
ここで、サブ入力層６４１１は、中間層６４２の前段の層のうち一部の要素と結合され、他の要素とは結合されていない。また、サブ入力層６４１２は、中間層６４２の前段の層のうち、サブ入力層６４１１とは異なる要素と結合され、他の要素とは結合されていない。同様に、サブ出力層６４３１は、中間層６４２の後段の層のうち一部の要素と結合され、他の要素とは結合されていない。また、サブ出力層６４３２は、中間層６４２の後段の層のうち、サブ出力層６４３１とは異なる要素と結合され、他の要素とは結合されていない。
【００７３】
そのため、学習部４４０又は復元値算出部５４０は、自己符号化器６３０のうちセンサ１に対応するサブ入力層６４１１のそれぞれの要素に、多次元ベクトルデータのうちセンサデータｄ１１からｄ１ｎを入力する。同様に、学習部４４０又は復元値算出部５４０は、自己符号化器６３０のうちセンサ２に対応するサブ入力層６４１２のそれぞれの要素に、多次元ベクトルデータのうちセンサデータｄ２１からｄ２ｎを入力する。符号化器６３１は、サブ入力層６４１１及び６４１２からパラメータを用いて中間層６４２へ出力し、復号化器６３２は、中間層６４２からパラメータを用いてサブ出力層６４３１及び６４３２へ出力する。このとき、復号化器６３２は、サブ出力層６４３１からセンサ１のセンサデータｄ１１からｄ１ｎに対応する復元データｒ１１からｒ１ｎを出力し、サブ出力層６４３２からセンサ２のセンサデータｄ２１からｄ２ｎに対応する復元データｒ２１からｒ２ｎを出力する。よって、自己符号化器６３０は、センサデータｄ１１からｄ１ｎ、ｄ２１からｄ２ｎを要素とする多次元ベクトルデータから、符号化器６３１により次元を減らし、復号化器６３２により次元を復元して復元データｒ１１からｒ１ｎ、ｒ２１からｒ２ｎを出力する。そのため、自己符号化器６３０の入力データｄ１１からｄ２ｎと出力データｒ１ｎからｒ２ｎとは次元が一致し、対応するセンサ及び測定時刻ごとにデータを比較して差分を求めることができる。ここで、自己符号化器６２０のようなセンサにより入力層を分岐したニューラルネットワークを用いることにより、全結合ニューラルネットワークと比べてパラメータ数が少なくなるため、学習処理時間を短縮し、また、異常検知処理時間も短縮することができる。
【００７４】
＜その他の実施の形態＞
尚、本実施形態にかかる自己符号化器は、図１１や図１２に示したようなニューラルネットワークに限定されない。例えば、本実施形態にかかる自己符号化器は、畳み込みニューラルネットワークであってもよい。
【００７５】
また、本実施形態の対象システムとしては、例えば、電力プラントのタービンが挙げられる。この場合、センサとしては圧力計や温度系があり、センサデータ（測定値）は、圧力や温度のようなものとなる。そして、特定箇所の異常な圧力上昇や振動のような異常ケースを検出できる。
【００７６】
なお、上記実施の形態において、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メモリ、その他の回路で構成することができ、ソフトウェア的には、ＣＰＵがメモリにロードして実行するプログラム等によって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、又はそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００７７】
また、上記のプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＣＤ−Ｒ（CD-Recordable）、ＣＤ−Ｒ／Ｗ（CD-ReWritable）、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されても良い。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００７８】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
【００７９】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記Ａ１）
２以上の所定数の要素を入力層とする学習済みの自己符号化器を記憶する記憶手段と、
１以上のセンサにより測定された時系列データの中から、前記所定数のデータが含まれる所定期間の対象データ群を抽出する抽出手段と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する変換手段と、
前記自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定する特定手段と、
前記特定された時間帯を含めた異常検知情報を出力する出力手段と、
を備える異常検知装置。
（付記Ａ２）
前記所定期間は、前記センサと当該センサによる測定時刻との組合せが前記所定数となる時間帯である
付記Ａ１に記載の異常検知装置。
（付記Ａ３）
前記変換手段は、
前記対象データ群から、前記センサと当該センサによる測定時刻との組合せごとの各データを要素とした前記多次元ベクトルデータに変換する
付記Ａ１又はＡ２に記載の異常検知装置。
（付記Ａ４）
前記特定手段は、
前記出力ベクトルデータと前記多次元ベクトルデータとを対応する要素ごとに比較して前記差分を算出し、
前記差分が所定の閾値を超える場合の測定時刻を含めて前記時間帯として特定する
付記Ａ１乃至Ａ３のいずれか１項に記載の異常検知装置。
（付記Ａ５）
前記時系列データは、２以上のセンサのそれぞれにより複数の測定時刻において測定されたデータを含み、
前記特定手段は、前記差分に基づいて、前記２以上のセンサの中から異常原因の可能性のあるセンサをさらに特定し、
前記出力手段は、前記特定された時間帯と前記特定されたセンサとを対応付けて前記異常検知情報に含めて出力する
付記Ａ１乃至Ａ４のいずれか１項に記載の異常検知装置。
（付記Ａ６）
前記自己符号化器は、
前記入力層の各要素を総当たりで結合した全結合型ニューラルネットワークである符号化器を含む
付記Ａ１乃至Ａ５のいずれか１項に記載の異常検知装置。
（付記Ａ７）
前記自己符号化器は、
前記２以上のセンサのそれぞれに対応する複数のサブ入力層を含む符号化器と、
前記符号化器と結合され、前記複数のサブ入力層のそれぞれに対応する複数のサブ出力層を含む復号化器と、を含み、
前記複数のサブ入力層のそれぞれは、
対応するセンサにより測定された複数の測定時刻に対応する各データを要素とし、
前記複数のサブ出力層のそれぞれは、
対応する前記サブ入力層と同数の要素を有する
付記Ａ５に記載の異常検知装置。
（付記Ａ８）
前記抽出手段は、測定対象が正常である場合に前記１以上のセンサにより測定された第２の時系列データの中から、前記所定期間の第２の対象データ群を抽出し、
前記変換手段は、前記第２の対象データ群から第２の多次元ベクトルデータに変換し、
前記異常検知装置は、
前記第２の多次元ベクトルデータを前記入力層に入力して前記自己符号化器のパラメータを学習し、前記学習済みの自己符号化器として前記記憶手段に格納する学習手段をさらに備える
付記Ａ１乃至Ａ７のいずれか１項に記載の異常検知装置。
（付記Ｂ１）
２以上の所定数の要素を入力層とする自己符号化器を記憶する記憶手段と、
１以上のセンサにより測定された時系列データの中から、前記所定数のデータが含まれる所定期間の対象データ群を抽出する抽出手段と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する変換手段と、
前記多次元ベクトルデータを前記入力層に入力して前記自己符号化器のパラメータを学習し、学習済みの自己符号化器として前記記憶手段に格納する学習手段と、
を備える学習装置。
（付記Ｂ２）
前記所定期間は、前記センサと当該センサによる測定時刻との組合せが前記所定数となる時間帯である
付記Ｂ１に記載の学習装置。
（付記Ｃ１）
２以上の所定数の要素を入力層とする自己符号化器を記憶する記憶手段と、
１以上のセンサにより測定された時系列データの中から、前記所定数のデータが含まれる所定期間の対象データ群を抽出する抽出手段と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する変換手段と、
前記多次元ベクトルデータを前記入力層に入力して前記自己符号化器のパラメータを学習し、学習済みの自己符号化器として前記記憶手段に格納する学習手段と、
前記学習済みの自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定する特定手段と、
前記特定された時間帯を含めた異常検知情報を出力する出力手段と、
を備える異常検知システム。
（付記Ｃ２）
前記所定期間は、前記センサと当該センサによる測定時刻との組合せが前記所定数となる時間帯である
付記Ｃ１に記載の異常検知システム。
（付記Ｄ１）
コンピュータが、
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出し、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換し、
前記所定数の要素を入力層とする学習済みの自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定し、
前記特定された時間帯を含めた異常検知情報を出力する
異常検知方法。
（付記Ｅ１）
コンピュータが、
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出し、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換し、
前記所定数の要素を入力層とする自己符号化器に前記多次元ベクトルデータを入力して当該自己符号化器のパラメータを学習し、
学習済みの自己符号化器として記憶装置に格納する、
学習方法。
（付記Ｆ１）
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出する処理と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する処理と、
前記所定数の要素を入力層とする学習済みの自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定する処理と、
前記特定された時間帯を含めた異常検知情報を出力する処理と、
をコンピュータに実行させる異常検知プログラム。
（付記Ｇ１）
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出する処理と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する処理と、
前記所定数の要素を入力層とする自己符号化器に前記多次元ベクトルデータを入力して当該自己符号化器のパラメータを学習する処理と、
学習済みの自己符号化器として記憶装置に格納する処理と、
をコンピュータに実行させる学習プログラム。
【００８０】
以上、実施形態（及び実施例）を参照して本開示を説明したが、本開示は上記実施形態（及び実施例）に限定されものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００８１】
１００  学習装置
１１０  記憶部
１１１  自己符号化器
１２０  抽出部
１３０  変換部
１４０  学習部
２００  異常検知装置
２１０  記憶部
２１１  自己符号化器
２２０  抽出部
２３０  変換部
２４０  特定部
２５０  出力部
３００  異常検知システム
３１０  記憶部
３１１  自己符号化器
３２０  抽出部
３３０  変換部
３４０  学習部
３５０  特定部
３６０  出力部
３７０  記憶装置
３７１  学習プログラム
３７２  異常検知プログラム
３７３  自己符号化モデル
３７４  学習用時系列データ
３７５  検知用時系列データ
３８１  メモリ
３８２  ＩＦ部
３８３  制御部
４００  学習装置
４１０  データ格納部
４１１  時系列データ
４１２  自己符号化器
４１２１  パラメータ
４２０  前処理部
４３０  多次元ベクトル化部
４４０  学習部
５００  異常検知装置
５１０  データ格納部
５１１  時系列データ
５１２  自己符号化器
５１２１  パラメータ
５２０  前処理部
５３０  多次元ベクトル化部
５４０  復元値算出部
５５０  差分算出部
５６０  結果出力部
６１０  自己符号化器
６１１  符号化器
６１２  復号化器
６２１  入力層
６２２  中間層
６２３  出力層
６３０  自己符号化器
６３１  符号化器
６３２  復号化器
６４１  入力層
６４１１  サブ入力層
６４１２  サブ入力層
６４２  中間層
６４３  出力層
６４３１  サブ出力層
６４３２  サブ出力層
ｄ１１  センサデータ
ｄ１２  センサデータ
ｄ１ｎ  センサデータ
ｄ２１  センサデータ
ｄ２２  センサデータ
ｄ２ｎ  センサデータ
ｒ１１  復元データ
ｒ１２  復元データ
ｒ１ｎ  復元データ
ｒ２１  復元データ
ｒ２２  復元データ
ｒ２ｎ  復元データ
ｔ１  測定時刻
ｔ２  測定時刻
ｔｎ  測定時刻
【図１】
2020148904.tif 000003
【図２】
2020148904.tif 000004
【図３】
2020148904.tif 000005
【図４】
2020148904.tif 000006
【図５】
2020148904.tif 000007
【図６】
2020148904.tif 000008
【図７】
2020148904.tif 000009
【図８】
2020148904.tif 000010
【図９】
2020148904.tif 000011
【図１０】
2020148904.tif 000012
【図１１】
2020148904.tif 000013
【図１２】
2020148904.tif 000014
【手続補正書】
【提出日】令和3年6月11日(2021.6.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
２以上の所定数の要素を入力層とする学習済みの自己符号化器を記憶する記憶部と、
１以上のセンサにより測定された時系列データの中から、前記所定数のデータが含まれる所定期間の対象データ群を抽出する抽出部と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する変換部と、
前記自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定する特定部と、
前記特定された時間帯を含めた異常検知情報を出力する出力部と、
を備える異常検知装置。
【請求項２】
前記所定期間は、前記センサと当該センサによる測定時刻との組合せが前記所定数となる時間帯である
請求項１に記載の異常検知装置。
【請求項３】
前記変換部は、
前記対象データ群から、前記センサと当該センサによる測定時刻との組合せごとの各データを要素とした前記多次元ベクトルデータに変換する
請求項１又は２に記載の異常検知装置。
【請求項４】
前記特定部は、
前記出力ベクトルデータと前記多次元ベクトルデータとを対応する要素ごとに比較して前記差分を算出し、
前記差分が所定の閾値を超える場合の測定時刻を含めて前記時間帯として特定する
請求項１乃至３のいずれか１項に記載の異常検知装置。
【請求項５】
２以上の所定数の要素を入力層とする自己符号化器を記憶する記憶部と、
１以上のセンサにより測定された時系列データの中から、前記所定数のデータが含まれる所定期間の対象データ群を抽出する抽出部と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する変換部と、
前記多次元ベクトルデータを前記入力層に入力して前記自己符号化器のパラメータを学習し、学習済みの自己符号化器として前記記憶部に格納する学習部と、
を備える学習装置。
【請求項６】
２以上の所定数の要素を入力層とする自己符号化器を記憶する記憶部と、
１以上のセンサにより測定された時系列データの中から、前記所定数のデータが含まれる所定期間の対象データ群を抽出する抽出部と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する変換部と、
前記多次元ベクトルデータを前記入力層に入力して前記自己符号化器のパラメータを学習し、学習済みの自己符号化器として前記記憶部に格納する学習部と、
前記学習済みの自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定する特定部と、
前記特定された時間帯を含めた異常検知情報を出力する出力部と、
を備える異常検知システム。
【請求項７】
コンピュータが、
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出し、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換し、
前記所定数の要素を入力層とする学習済みの自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定し、
前記特定された時間帯を含めた異常検知情報を出力する
異常検知方法。
【請求項８】
コンピュータが、
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出し、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換し、
前記所定数の要素を入力層とする自己符号化器に前記多次元ベクトルデータを入力して当該自己符号化器のパラメータを学習し、
学習済みの自己符号化器として記憶装置に格納する、
学習方法。
【請求項９】
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出する処理と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する処理と、
前記所定数の要素を入力層とする学習済みの自己符号化器に対して前記多次元ベクトルデータを入力して得られた前記所定数の要素を有する出力ベクトルデータと、当該多次元ベクトルデータとの差分に基づいて、前記所定期間の中から異常原因の可能性のある時間帯を特定する処理と、
前記特定された時間帯を含めた異常検知情報を出力する処理と、
をコンピュータに実行させる異常検知プログラム。
【請求項１０】
１以上のセンサにより測定された時系列データの中から、２以上の所定数のデータが含まれる所定期間の対象データ群を抽出する処理と、
前記対象データ群から、前記所定数の要素を有する多次元ベクトルデータに変換する処理と、
前記所定数の要素を入力層とする自己符号化器に前記多次元ベクトルデータを入力して当該自己符号化器のパラメータを学習する処理と、
学習済みの自己符号化器として記憶装置に格納する処理と、
をコンピュータに実行させる学習プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
そのため、学習部４４０又は復元値算出部５４０は、自己符号化器６３０のうちセンサ１に対応するサブ入力層６４１１のそれぞれの要素に、多次元ベクトルデータのうちセンサデータｄ１１からｄ１ｎを入力する。同様に、学習部４４０又は復元値算出部５４０は、自己符号化器６３０のうちセンサ２に対応するサブ入力層６４１２のそれぞれの要素に、多次元ベクトルデータのうちセンサデータｄ２１からｄ２ｎを入力する。符号化器６３１は、サブ入力層６４１１及び６４１２からパラメータを用いて中間層６４２へ出力し、復号化器６３２は、中間層６４２からパラメータを用いてサブ出力層６４３１及び６４３２へ出力する。このとき、復号化器６３２は、サブ出力層６４３１からセンサ１のセンサデータｄ１１からｄ１ｎに対応する復元データｒ１１からｒ１ｎを出力し、サブ出力層６４３２からセンサ２のセンサデータｄ２１からｄ２ｎに対応する復元データｒ２１からｒ２ｎを出力する。よって、自己符号化器６３０は、センサデータｄ１１からｄ１ｎ、ｄ２１からｄ２ｎを要素とする多次元ベクトルデータから、符号化器６３１により次元を減らし、復号化器６３２により次元を復元して復元データｒ１１からｒ１ｎ、ｒ２１からｒ２ｎを出力する。そのため、自己符号化器６３０の入力データｄ１１からｄ２ｎと出力データｒ１ｎからｒ２ｎとは次元が一致し、対応するセンサ及び測定時刻ごとにデータを比較して差分を求めることができる。ここで、自己符号化器６３０のようなセンサにより入力層を分岐したニューラルネットワークを用いることにより、全結合ニューラルネットワークと比べてパラメータ数が少なくなるため、学習処理時間を短縮し、また、異常検知処理時間も短縮することができる。
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2020148904.tif 000015
【国際調査報告】
2020148904.tif 000016
2020148904.tif 000017