JP7136329B2 - 異常検知装置、制御方法、及びプログラム - Google Patents

異常検知装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP7136329B2
JP7136329B2 JP2021508533A JP2021508533A JP7136329B2 JP 7136329 B2 JP7136329 B2 JP 7136329B2 JP 2021508533 A JP2021508533 A JP 2021508533A JP 2021508533 A JP2021508533 A JP 2021508533A JP 7136329 B2 JP7136329 B2 JP 7136329B2
Authority
JP
Japan
Prior art keywords
input data
model
abnormality
data
normal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021508533A
Other languages
English (en)
Other versions
JPWO2020194583A1 (ja
Inventor
恭太 比嘉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2020194583A1 publication Critical patent/JPWO2020194583A1/ja
Application granted granted Critical
Publication of JP7136329B2 publication Critical patent/JP7136329B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • G06T2207/30184Infrastructure

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本発明は、異常検知に関する。
労働人口の減少が進む中、熟練の保守作業員によって行われていた点検や検査などの作業を、画像認識技術で支援又は自動化したいという要求が高まっている。画像認識では、現場で収集した大量の学習用画像を用いて識別器などの学習を行うことで、認識精度を向上させる必要がある。しかし、一般に、異常な状態は発生頻度が低いため、十分な量の学習用画像を収集することが難しい。
特許文献1は、架空地線あるいは送電線に落雷があったことにより生じたアーク痕を異常として検出する技術を開示している。ここで、実際に生じたアーク痕の画像データを大量に得ることは難しいことから、被点検物に対して疑似的に付加した異常や劣化の状態を撮影した画像データをもとに、疑似画像が生成される。そして、実際に生じたアーク痕の画像データだけでなくこの疑似画像も利用したディープラーニングにより、異常検知モデルが生成される。
特開2018-74757号公報
Alec Radford、Luke Metz、Soumith Chintala、「Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks」、ICLR 2016
異常の状態を示す特徴(例えば、色や形状など)は多種多様である。特許文献1の発明では、そのような多種多様な特徴を含むデータを扱うことが難しい。
本発明は上記課題に鑑みてなされたものであり、その目的の一つは、異常検知の精度を向上させる技術を提供することである。
本発明の異常検知装置は、1)入力データを取得する取得部と、2)入力データの異常度を算出する識別モデルを有し、取得した入力データを識別モデルに入力することで、その入力データの異常度を算出する異常度算出部と、3)入力データの正常度を算出する正常モデルを有し、取得した入力データを正常モデルに入力することで、その入力データの正常度を算出する正常度算出部と、4)入力データの異常さに関する特定を行う特定モデルを有し、識別モデル及び正常モデルそれぞれから出力されるデータを特定モデルに入力することで、取得した入力データの異常さに関する特定を行う特定部と、5)特定の結果に基づく出力情報を出力する出力部と、を有する。
本発明の制御方法は、コンピュータによって実行される。当該制御方法は、1) 入力データを取得する取得ステップと、2)入力データの異常度を算出する識別モデルを有し、取得した入力データを識別モデルに入力することで、その入力データの異常度を算出する異常度算出ステップと、3)入力データの正常度を算出する正常モデルを有し、取得した入力データを正常モデルに入力することで、その入力データの正常度を算出する正常度算出ステップと、4)入力データの異常さに関する特定を行う特定モデルを有し、識別モデル及び正常モデルそれぞれから出力されるデータを特定モデルに入力することで、取得した入力データの異常さに関する特定を行う特定ステップと、5)特定の結果に基づく出力情報を出力する出力ステップと、を有する。
本発明のプログラムは、本発明の制御方法が有する各ステップを、コンピュータに実行させる。
本発明によれば、異常検知の精度を向上させる技術が提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1に係る異常検知装置の機能構成の一例を示すブロック図である。 異常検知装置を実現するための計算機を例示する図である。 本実施形態の異常検知装置によって実行される処理の流れを例示するフローチャートである。 学習部を有する異常検知装置の機能構成を例示するブロック図である。 本実施形態の異常検知装置によって学習時に実行される処理の流れを例示するフローチャートである。 実施形態2の異常検知装置の機能構成を例示するブロック図である。 実施形態2の異常検知装置によって実行される処理の流れを例示するフローチャートである。 実施形態3の異常検知装置の機能構成を例示する図である。 運用時において、実施形態3の異常検知装置によって実行される処理の流れを例示するフローチャートである。 学習時において、実施形態3の異常検知装置によって実行される処理の流れを例示するフローチャートである。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
図1は、実施形態1に係る異常検知装置100の機能構成の一例を示すブロック図である。本実施形態の異常検知装置100は、取得部110と、異常度算出部120と、正常度算出部130と、特定部140と、出力部150とを備えている。
取得部110は、入力データを取得する。入力データは、異常検知装置100による異常検知の対象となるデータである。例えば入力データは画像である。この場合、例えば異常検知装置100は、入力データである画像を解析することにより、その画像が正常な状況と異常な状況のどちらを表しているのかを特定する。例えば画像に物体が含まれている場合、その物体が異常な状況(故障している、など)にあるか、それとも正常な状況にあるのかが特定される。
異常度算出部120は、取得部110によって取得された入力データの異常度(入力データの異常度合いを表す値)を算出する。そして、異常度算出部120は、算出した異常度を特定部140に供給する。異常度算出部120は、識別モデルを用いて入力データの異常度を算出する。識別モデルは、少なくとも、異常な状況を表す入力データ(以下、異常入力データ)を用いて学習される。ただし、識別モデルの学習には、正常な状況を表す入力データ(以下、正常入力データ)がさらに用いられてもよい。識別モデルは、入力データを2種類以上に分類可能な二項分類器や多項分類器などの任意のモデルにより実現される。識別モデルのより具体的な一例は、畳み込みニューラルネットワークである。
正常度算出部130は、取得部110によって取得された入力データの正常度(入力データの正常度合いを表す値)を算出する。そして、正常度算出部130は、算出した正常度を特定部140に供給する。正常度算出部130は、正常モデルを用いて入力データの正常度を算出する。正常モデルは、正常入力データのみで学習される。正常モデルは、入力データに含まれる任意の特徴を抽出可能な任意のモデルより実現される。正常モデルのより具体的な一例は、オートエンコーダである。
特定部140は、異常度算出部120から、入力データの異常度を取得する。また、特定部140は、正常度算出部130から、入力データの正常度を取得する。そして、特定部140は、入力データの異常度及び正常度を用いて、入力データの異常さに関する特定を行い、その特定結果を表す特定データを生成する。例えば特定部140は、入力データが異常な状況と正常な状況のどちらを表しているのかを特定する。この場合、特定データは、入力データが異常な状況と正常な状況のどちらを表しているのかを示す。より具体的な例としては、特定データは、入力データが異常な状況を表すと特定した場合には「1」を示し、入力データが正常な状況を表すと特定した場合には0を示すフラグである。
ただし、特定モデルは、入力データを正常と異常に分類するのではなく、入力データの異常度合いや正常度合いを特定するものであってもよい。この場合、特定データは、入力データの異常度合いや正常度合いを表す。
特定モデルは、入力データを2種類以上に分類可能な二項分類器や多項分類器などの任意のモデルにより実現される。特定モデルのより具体的な一例は、ニューラルネットワークである。
異常検知装置100は、特定データに基づく出力情報を出力する。例えば出力情報は、特定データそのものである。その他にも例えば、出力情報は、特定データを人にとって分かりやすい形式に置き換えたものであってもよい。具体的には、特定データの値が1であり、これによって、入力データが異常な状況を表しているとする。この場合、出力情報として、「1」という値を示す代わりに、「異常」などといった人に分かりやすい文字列を示すようにしてもよい。
出力情報の出力態様は任意である。例えば、出力情報は、ディスプレイ装置に出力されてもよいし、他の装置に送信されてもよいし、記憶装置に格納されてもよい。
<作用効果>
以上のように、本実施形態の異常検知装置100では、識別モデルを用いて入力データの異常度が算出され、なおかつ正常モデルを用いて入力データの正常度が算出される。さらに、特定モデルを用いて、異常度と正常度に基づいて、入力データの異常さに関する特定が行われる。このように、本実施形態に係る異常検知装置100によれば、目的の異なる複数のモデルを組み合わせることで、任意の入力データから多種多様な特徴を抽出し、その特徴に基づいて入力データの異常さについての特定(すなわち、異常検知)を行うことができる。そのため、異常検知の精度を向上させることができる。
<ハードウエア構成の例>
異常検知装置100の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、異常検知装置100の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
図2は、異常検知装置100を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)、サーバマシン、タブレット端末、又はスマートフォンなどである。計算機1000は、異常検知装置100を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などのプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスクドライブ、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。ただし、ストレージデバイス1080は、RAM など、主記憶装置を構成するハードウエアと同様のハードウエアで構成されてもよい。
入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
ストレージデバイス1080は、異常検知装置100の機能構成部を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
<処理の流れ>
図3は、本実施形態の異常検知装置100によって実行される処理の流れを例示するフローチャートである。取得部110は、入力データを取得する(S102)。異常度算出部120は、識別モデルを用いて入力データの異常度を算出する(S104)。正常度算出部130は、正常モデルを用いて入力データの正常度を算出する(S106)。なお、S104とS106は、平行して行われてもよいし、任意の順で行われてもよい。特定部140は、特定モデルを用いた特定を行う(S108)。出力部160は、特定結果に基づく出力情報を出力する(S110)。
<モデルの学習について>
異常検知装置100は、学習データを利用して、各モデルの学習を行う機能を有することが好適である。以下、この学習を実現する機能構成部を、学習部160と呼ぶ。図4は、学習部160を有する異常検知装置100の機能構成を例示するブロック図である。
学習時において、取得部110は、学習用に用意された入力データを取得する。学習用の入力データには、正解ラベルが用意されている。入力データに対応する正解ラベルは、その入力データの正常さ又は異常さを示す。例えば正解ラベルは、対応する入力データが異常入力データと正常入力データのどちらであるのかを示す。その他にも例えば、正解ラベルは、対応する入力データの正常度合い又は異常度合いを表す値(例えば、0から1の間の連続値)であってもよい。
例えば入力データと正解ラベルとを対応づけた情報は、異常検知装置100からアクセス可能な記憶部10に予め記憶させておく。記憶部10は、任意の記憶装置で実現される。記憶部10は、異常検知装置100の内部に設けられていてもよいし、異常検知装置100の外部に設けられていてもよい。学習部160は、取得部110によって取得された入力データに対応する正解ラベルを、記憶部10から取得する。
その他にも例えば、取得部110が、入力データと正解ラベルとのペアを取得するようにしてもよい。例えば取得部110は、前述した記憶部10から入力データと正解ラベルのペアを取得する。その他にも例えば、取得部110は、他の装置によって送信されるペアを受信してもよい。
学習部160は、入力データについて特定部140が行った特定の結果(すなわち、特定データ)と、その入力データに対応する正解ラベルとの比較により、各モデルの学習(各モデルのパラメータの更新)を行う。そのため、学習時において、特定データは学習部160に供給される。
ただし、特定部140が出力部150に対して供給する特定データと、学習部160に対して供給する特定データとは、異なるデータであってもよい。例えば、出力部150から出力される出力情報が、入力データが正常と異常のどちらであるかを示すものであるとする。この場合、例えば特定モデルでは、入力データについて、異常を表す確率と正常を表す確率のそれぞれが算出された上で、確率が高い方を表す特定データが出力部150に供給される。しかしながら、学習の観点からは、正常と異常のどちらか一方を示すデータよりも、異常と正常それぞれを表す確率の方が有用なデータであるといえる。そこでこのような場合、特定部140は、出力部150に対しては、入力データが正常と異常のどちらであるかを示す特定データを供給し、学習部160に対しては、入力データが正常と異常のそれぞれを表す確率を特定データとして供給するようにしてもよい。
学習部160は、特定部140から供給された特定データと、取得した正解ラベルとに基づいて、識別モデル、正常モデル、及び特定モデルを更新する。ここで、学習部160では、取得部110によって取得された入力データが異常入力データである場合と正常入力データである場合とで、学習対象のモデルが異なる。
取得部110によって取得された入力データが異常入力データである場合、学習部160は、識別モデルと特定モデルの学習を行う。具体的には、学習部160は、入力データについて生成された特定データと、その入力データに対応付けられた正解ラベルとの乖離度を表す誤差(以下、第1の誤差)を最小化するように、識別モデルと特定モデルを更新する。例えば、特定データと正解ラベルの双方が1(異常であることを表す値)である場合、これらの乖離度は0になる。
第1の誤差に基づいて異常モデルと特定モデルを更新する方法は、これらの種類に応じて決定される。例えば、識別モデルが畳み込みニューラルネットワークであり、特定モデルがニューラルネットワークであるとする。この場合、例えば以下の式(1)に示す損失関数Eを予め定義しておく。学習部160は、例えば、この損失関数Eを最小化するように、識別モデルと特定モデルのパラメータを最適化する。なお、損失関数を利用してニューラルネットワークのパラメータを更新する技術には、既存の技術を利用することができる。また、損失関数の定義は、式(1)に限定されない。
Figure 0007136329000001
式(1)において、N はデータ数を表わし、K は分類するクラスの数を表わす。入力データを異常と正常に分類する場合、K=2 となる。また、式(1)における tk'n は、n番目の入力データに対する正解ラベルを表すベクトルである。正解ラベルのベクトルは、例えば以下に例示する式(2)のような形式で表される。式(2)に例示するベクトルは、k番目の要素のみ1を表す、いわゆる 1-of-k ベクトルである。
Figure 0007136329000002
また、式(1)における Pk'(xn) は、n番目の入力データがクラス k' に属する確率を示す。例えば Pk'(xn) は、以下に例示する式(3)で算出される。
Figure 0007136329000003
式(3)において、fk(xn) は、n番目の入力データ xn に対するクラス k の出力値である。
入力データが正常入力データである場合、学習部160は、少なくとも、正常モデル及び特定モデルの学習を行う。具体的には、学習部160は、入力データについて生成された特定データと、その入力データに対応付けられた正解ラベルとの乖離度を表す誤差(以下、第2の誤差と記す)を最小化するように、正常モデル及び特定モデルを更新する。例えば、特定データと正解ラベルがいずれも(正常であることを表す値)である場合、これらの乖離度は0となる。なお、入力データが正常入力データである場合において、学習部160は、識別モデルの学習をさらに行ってもよい。
第2の誤差に基づいて各モデルを更新する方法は、各モデルの種類に応じて決定される。例えば、識別モデルが畳み込みニューラルネットワークであり、正常モデルがオートエンコーダであり、特定モデルがニューラルネットワークであるとする。この場合、学習部160は、入力データについて特定部140が出力した特定データと、その入力データに対応する正解ラベルとを学習データとして、乖離度を最小化するようなパラメータを学習する。なお、パラメータを学習する方法は、第1の誤差に基づいてパラメータを学習する方法と同様であってもよいし、異なっていてもよい。
入力データが正常入力データと異常入力データのどちらであるのかは、入力データに対応する正解ラベルに基づいて判定される。例えば正解ラベルが、対応する入力データが異常入力データと正常入力データのどちらであるのかを示すとする。この場合、正解ラベルによって、入力データが異常入力データであることが示されていれば、学習部160は、入力データが異常入力データであると判定する。一方、正解ラベルによって、入力データが正常入力データであることが示されていれば、学習部160は、入力データが正常入力データであると判定する。
その他にも例えば、正解ラベルが、入力データの正常度合いを表すとする。この場合、例えば学習部160は、正解ラベルによって示される値が所定の閾値以上であれば、入力データが正常入力データであると判定する。一方、正解ラベルによって示される値が閾値未満であれば、学習部160は、入力データが異常入力データであると判定する。正解ラベルが入力データの異常度合いを表す場合についても同様に、閾値との比較で判定を行うことができる。
<<処理の流れ>>
図5は、本実施形態の異常検知装置100によって学習時に実行される処理の流れを例示するフローチャートである。なお、S102からS108までの処理は、運用時と同様である。
学習部160は、S102で取得した入力データに対応する正解ラベルを取得する(S112)。学習部160は、正解ラベルに基づいて入力データが異常入力データと正常入力データのいずれであるかを判定する(S114)。
入力データが異常入力データである場合(S114:異常入力データ)、学習部160は、入力データを用いて識別モデルと特定モデルを更新する(S116)。具体的には、学習部160は、特定部140から得られた特定データ(異常入力データについての特定結果)と正解ラベルの乖離度を表す第1の誤差を計算し、第1の誤差を最小化するように識別モデルと特定モデルを更新する。この際、識別モデルと特定モデルの更新は、平行して行われてもよいし、順次行われてもよい。
入力データが正常入力データである場合(S114:正常入力データ)、学習部160は、入力データを用いて識別モデル、正常モデル、及び特定モデルを更新する(S118)。具体的には、学習部160は、特定部140から得られた特定データ(正常入力データについての特定結果)と正解ラベルの乖離度を表す第2の誤差を計算し、第2の誤差を最小化するように識別モデル、正常モデル、及び特定モデルを更新する。この際、これらのモデルの更新は、順次行われてもよいし、平行して行われてもよい。例えば、学習部160は、識別モデルと正常モデルの更新を順次又は平行で行った後に、特定モデルの更新を行う。なお、識別モデルと正常モデルを順次更新する場合、これらの更新順序は任意である。ただし、前述した様に、識別モデルの更新は行われなくてもよい。
ここで、異常検知装置100は、複数の学習データ(入力データと正解レベルのペア)それぞれについて、図5に示す処理を実行する。こうすることにより、複数の学習データを用いて各モデルが学習される。
[実施形態2]
図6は、実施形態2の異常検知装置100の機能構成を例示するブロック図である。なお、以下で説明する点を除き、実施形態2の異常検知装置100は、実施形態1の異常検知装置100と同様の機能を有する。
実施形態2の異常検知装置100は、データ生成部170を有する点で、実施形態1の異常検知装置100と異なる。データ生成部170は、取得部110によって得られた入力データに類似するデータ(以下、疑似データ)を生成する。これにより、実施形態2の異常検知装置100は、学習用に予め用意された入力データよりも多くのデータを用いて、モデルの学習を行うことができる。
データ生成部170は、例えば、入力データ及び任意の方法で与えられた乱数から疑似データを生成してもよいし、入力データ及び基準とする所定のデータから疑似データを生成してもよい。なお、入力データと、乱数や基準とするデータとから、入力データに類似する新たなデータを生成する方法には、例えば、非特許文献1に記載されている、機械学習によりデータを生成する方法(DCGAN: Deep Convolutional Generative Adversarial Network)を用いることができる。なお、生成したデータの正解ラベルは、その生成に利用された入力データに対応づけられている正解ラベルである。なお、1つの入力データに基づいて生成される疑似データは、1つであってもよいし、複数であってもよい。
データ生成部170は、生成したデータとその正解ラベルとを一旦記憶部10に格納してもよいし、異常度算出部120、正常度算出部130、及び学習部160へ直接供給してもよい。
<ハードウエア構成の例>
実施形態3の異常検知装置100を実現するハードウエアの構成は、実施形態1の異常検知装置100と同様に、例えば図2で表される。ただし、実施形態2のストレージデバイス1080には、実施形態2の異常検知装置100の機能を実現するプログラムモジュールが記録されている。
<処理の流れ>
図7は、実施形態2の異常検知装置100によって実行される処理の流れを例示するフローチャートである。まず、異常検知装置100は、S102~S108、及びS112~S118の処理を実行する。こうすることで、取得部110によって取得された入力データを用いた学習が行われる。
その後、データ生成部170は、取得部110によって取得された入力データを用いて疑似データを生成する(S200)。異常検知装置100は、生成された疑似データを入力データとして扱って、S102~S108、及びS112~S118の処理を実行する。こうすることで、データ生成部170によって生成された疑似データを用いた学習が行われる。
なお、前述したように、入力データから生成される疑似データは複数であってもよい。この場合、異常検知装置100は、各疑似データについて、S102~S108、及びS112~S118の処理を実行する。これにより、各疑似データを用いた学習が行われる。
また、疑似データの生成は、学習部160による学習に先立って行われてもよい。例えばデータ生成部170は、記憶部10に入力されている入力データと正解ラベルのペアを順次読み出す。そして、データ生成部170は、読み出した入力データについて疑似データを生成し、入力データと共に読み出した正解ラベルに生成した疑似データを対応づけて、記憶部10に書き込む。異常検知装置100は、このようにして記憶部10に格納されている学習データを増やした後、記憶部10に格納されている各学習データについて、図5に示す一連の処理を実行することで、モデルの学習を実行する。
[実施形態3]
図8は、実施形態3の異常検知装置100の機能構成を例示する図である。以下で説明する点を除き、実施形態3の異常検知装置100は、実施形態1又は実施形態2の異常検知装置100と同様の機能を有する。
実施形態3の異常検知装置100は、第2異常度算出部180をさらに有する。第2異常度算出部180は、異常モデルを有する。異常モデルは、取得部110によって取得された入力データについて、第2異常度を算出する。
異常モデルは、必ず異常入力データのみで学習される点で、識別モデルと異なる。異常モデルは、入力データに含まれる任意の特徴を抽出可能な任意のモデルより実現される。例えば異常モデルの一例は、オートエンコーダである。
実施形態3の特定部140は、異常度算出部120、正常度算出部130、及び第2異常度算出部180のそれぞれから、異常度、正常度、及び第2異常度を取得する。そして、特定部140は、これら3つのデータに基づいて、入力データの異常さに関する特定を行う。
実施形態3の異常検知装置100は、異常モデルをさらに用いることにより、入力データから、より多種多様な特徴を抽出することができる。そして、その特徴を用いた異常検知が行われる。よって、異常検知の精度をより向上させることができる。
学習部160は、異常度算出部120に含まれる識別モデル、正常度算出部130に含まれる正常モデル、特定部140に含まれる特定モデル、及び第2異常度算出部180に含まれる異常モデルの学習をそれぞれ行う。
取得部110によって取得された入力データが異常入力データであった場合、学習部160は、その入力データと、その入力データに対応する正解ラベルとの比較に基づいて、前述した第1の誤差を算出する。そして、学習部160は、算出した第1の誤差を最小化するように、識別モデル、特定モデル、及び異常モデルの学習(パラメータの更新)を行う。
一方、取得部110によって取得された入力データが正常入力データであった場合、学習部160は、その入力データと、その入力データに対応する正解ラベルとの比較に基づいて、前述した第2の誤差を算出する。そして、学習部160は、算出した第2の誤差を最小化するように、識別モデル、正常モデル、及び特定モデルの学習を行う。ただし、前述した様に、識別モデルの学習は行われなくてもよい。
<ハードウエア構成の例>
実施形態3の異常検知装置100を実現するハードウエアの構成は、実施形態1の異常検知装置100と同様に、例えば図2で表される。ただし、実施形態3のストレージデバイス1080には、実施形態3の異常検知装置100の機能を実現するプログラムモジュールが記録されている。
<処理の流れ>
図9は、運用時において、実施形態3の異常検知装置100によって実行される処理の流れを例示するフローチャートである。図9のフローチャートは、S302を有する点、及びS108の代わりにS304を有する点を除き、図3のフローチャートと同じである。
S302において、第2異常度算出部180は、入力データに基づいて第2異常度を算出する。S304において、特定部140は、異常度、正常度、及び第2異常度に基づいて、入力データの異常さに関する特定を行う。
図10は、学習時において、実施形態3の異常検知装置100によって実行される処理の流れを例示するフローチャートである。図10のフローチャートは、S102~106、S302、及びS304を実行することによって入力データの異常さに関する特定が行われる点、及びS116の代わりにS306を有する点を除き、図5のフローチャートと同じである。S306において、学習部160は、識別モデル、異常モデル、及び特定モデルの学習を行う。なお、複数のモデルの更新は、実施形態1で説明した様に、順次行われてもよいし、平行で行われてもよい。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせや、上記各実施形態以外の様々な構成を採用することもできる。
例えば、実施形態2と3を組み合わせることにより、疑似データを用いて、識別モデル、正常モデル、異常モデル、及び特定モデルの学習を行うようにすることができる。
また、特定モデルに対して他のモデルから供給されるデータは、異常度などといった最終的な出力結果ではなく、中間データとしてもよい。例えば識別モデルは、異常度を特定モデルに供給する代わりに、異常度の算出過程で得られる中間データを識別モデルに供給する。識別モデルがニューラルネットワークである場合、例えば中間データは、任意の中間層からの出力とすることができる。さらに、識別モデルから特定モデルに対し、1つ以上の中間データ(例えば、それぞれ異なる中間層から出力されるデータ)と異常度を供給してもよい。正常モデルや異常モデルから特定モデルへ供給されるデータについても同様である。
上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. 入力データを取得する取得部と、
入力データの異常度を算出する識別モデルを有し、前記取得した入力データを前記識別モデルに入力することで、その入力データの異常度を算出する異常度算出部と、
入力データの正常度を算出する正常モデルを有し、前記取得した入力データを前記正常モデルに入力することで、その入力データの正常度を算出する正常度算出部と、
前記入力データの異常さに関する特定を行う特定モデルを有し、前記識別モデル及び前記正常モデルそれぞれから出力されるデータを前記特定モデルに入力することで、前記取得した入力データの異常さに関する特定を行う特定部と、
前記特定の結果に基づく出力情報を出力する出力部と、を有する異常検知装置。
2. 前記入力データは画像データであり、
前記識別モデル、前記正常モデル、前記特定モデルはそれぞれ、畳み込みニューラルネットワーク、オートエンコーダ、及びニューラルネットワークである、1.に記載の異常検知装置。
3. 前記取得した入力データに対応する正解ラベルを取得し、前記特定部による特定の結果と前記正解ラベルとを用いて前記識別モデル、前記正常モデル、及び前記特定モデルの更新を行う学習部を有し、
前記学習部は、
前記正解ラベルを用いて、前記取得した入力データが異常と正常のいずれを表すのかを判定し、
前記取得した入力データが異常を表す場合、前記識別モデル及び前記特定モデルの更新を行い、
前記取得した入力データが正常を表す場合、前記正常モデル及び前記特定モデルの更新を行う、1.又は2.に記載の異常検知装置。
4. 前記学習部は、前記取得した入力データが正常を表す場合において、前記識別モデルの更新をさらに行う、3.に記載の異常検知装置。
5. 前記取得した入力データを用いて、前記入力データに類似する疑似データを生成するデータ生成部を有し、
前記異常度算出部及び前記正常度算出部に対し、前記疑似データが入力データとして入力され、
前記学習部は、前記取得した正解ラベルと、前記疑似データについて前記特定部から得られる特定の結果とを用いて、前記識別モデル、前記正常モデル、及び前記特定モデルの更新を行う、3.又は4.に記載の異常検知装置。
6. 入力データについて第2異常度を算出する異常モデルを有し、前記取得した入力データを前記異常モデルに入力することで、その入力データの第2異常度を算出する第2異常度算出部を有し、
前記特定部は、前記識別モデル、前記正常モデル、及び前記異常モデルそれぞれから出力されるデータを前記特定モデルに入力することで、前記取得した入力データの異常さに関する特定を行い、
前記学習部は、前記取得した入力データが異常を表す場合、前記異常モデルの学習をさらに行う、3.乃至5.いずれか一つに記載の異常検知装置。
7. コンピュータによって実行される制御方法であって、
入力データを取得する取得ステップと、
入力データの異常度を算出する識別モデルを有し、前記取得した入力データを前記識別モデルに入力することで、その入力データの異常度を算出する異常度算出ステップと、
入力データの正常度を算出する正常モデルを有し、前記取得した入力データを前記正常モデルに入力することで、その入力データの正常度を算出する正常度算出ステップと、
前記入力データの異常さに関する特定を行う特定モデルを有し、前記識別モデル及び前記正常モデルそれぞれから出力されるデータを前記特定モデルに入力することで、前記取得した入力データの異常さに関する特定を行う特定ステップと、
前記特定の結果に基づく出力情報を出力する出力ステップと、を有する制御方法。
8. 前記入力データは画像データであり、
前記識別モデル、前記正常モデル、前記特定モデルはそれぞれ、畳み込みニューラルネットワーク、オートエンコーダ、及びニューラルネットワークである、7.に記載の制御方法。
9. 前記取得した入力データに対応する正解ラベルを取得し、前記特定ステップによる特定の結果と前記正解ラベルとを用いて前記識別モデル、前記正常モデル、及び前記特定モデルの更新を行う学習ステップを有し、
前記学習ステップにおいて、
前記正解ラベルを用いて、前記取得した入力データが異常と正常のいずれを表すのかを判定し、
前記取得した入力データが異常を表す場合、前記識別モデル及び前記特定モデルの更新を行い、
前記取得した入力データが正常を表す場合、前記正常モデル及び前記特定モデルの更新を行う、7.又は8.に記載の制御方法。
10. 前記学習ステップにおいて、前記取得した入力データが正常を表す場合において、前記識別モデルの更新をさらに行う、9.に記載の制御方法。
11. 前記取得した入力データを用いて、前記入力データに類似する疑似データを生成するデータ生成ステップを有し、
前記異常度算出ステップ及び前記正常度算出ステップに対し、前記疑似データが入力データとして入力され、
前記学習ステップにおいて、前記取得した正解ラベルと、前記疑似データについて前記特定ステップから得られる特定の結果とを用いて、前記識別モデル、前記正常モデル、及び前記特定モデルの更新を行う、9.又は10.に記載の制御方法。
12. 入力データについて第2異常度を算出する異常モデルを有し、前記取得した入力データを前記異常モデルに入力することで、その入力データの第2異常度を算出する第2異常度算出ステップを有し、
前記特定ステップにおいて、前記識別モデル、前記正常モデル、及び前記異常モデルそれぞれから出力されるデータを前記特定モデルに入力することで、前記取得した入力データの異常さに関する特定を行い、
前記学習ステップにおいて、前記取得した入力データが異常を表す場合、前記異常モデルの学習をさらに行う、9.乃至11.いずれか一つに記載の制御方法。
13. 7.乃至12.いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。

Claims (10)

  1. 入力データを取得する取得部と、
    入力データの異常度を算出する識別モデルを有し、前記取得した入力データを前記識別モデルに入力することで、その入力データの異常度を算出する異常度算出部と、
    入力データの正常度を算出する正常モデルを有し、前記取得した入力データを前記正常モデルに入力することで、その入力データの正常度を算出する正常度算出部と、
    前記入力データの異常さに関する特定を行う特定モデルを有し、前記識別モデル及び前記正常モデルそれぞれから出力されるデータを前記特定モデルに入力することで、前記取得した入力データの異常さに関する特定を行う特定部と、
    前記特定の結果に基づく出力情報を出力する出力部と、を有する異常検知装置。
  2. 前記入力データは画像データであり、
    前記識別モデル、前記正常モデル、前記特定モデルはそれぞれ、畳み込みニューラルネットワーク、オートエンコーダ、及びニューラルネットワークである、請求項1に記載の異常検知装置。
  3. 前記取得した入力データに対応する正解ラベルを取得し、前記特定部による特定の結果と前記正解ラベルとを用いて前記識別モデル、前記正常モデル、及び前記特定モデルの更新を行う学習部を有し、
    前記学習部は、
    前記正解ラベルを用いて、前記取得した入力データが異常と正常のいずれを表すのかを判定し、
    前記取得した入力データが異常を表す場合、前記識別モデル及び前記特定モデルの更新を行い、
    前記取得した入力データが正常を表す場合、前記正常モデル及び前記特定モデルの更新を行う、請求項1又は2に記載の異常検知装置。
  4. 前記学習部は、前記取得した入力データが正常を表す場合において、前記識別モデルの更新をさらに行う、請求項3に記載の異常検知装置。
  5. 前記取得した入力データを用いて、前記入力データに類似する疑似データを生成するデータ生成部を有し、
    前記異常度算出部及び前記正常度算出部に対し、前記疑似データが入力データとして入力され、
    前記学習部は、前記取得した正解ラベルと、前記疑似データについて前記特定部から得られる特定の結果とを用いて、前記識別モデル、前記正常モデル、及び前記特定モデルの更新を行う、請求項3又は4に記載の異常検知装置。
  6. 入力データについて第2異常度を算出する異常モデルを有し、前記取得した入力データを前記異常モデルに入力することで、その入力データの第2異常度を算出する第2異常度算出部を有し、
    前記特定部は、前記識別モデル、前記正常モデル、及び前記異常モデルそれぞれから出力されるデータを前記特定モデルに入力することで、前記取得した入力データの異常さに関する特定を行い、
    前記学習部は、前記取得した入力データが異常を表す場合、前記異常モデルの学習をさらに行う、請求項3乃至5いずれか一項に記載の異常検知装置。
  7. コンピュータによって実行される制御方法であって、
    入力データを取得する取得ステップと、
    入力データの異常度を算出する識別モデルを有し、前記取得した入力データを前記識別モデルに入力することで、その入力データの異常度を算出する異常度算出ステップと、
    入力データの正常度を算出する正常モデルを有し、前記取得した入力データを前記正常モデルに入力することで、その入力データの正常度を算出する正常度算出ステップと、
    前記入力データの異常さに関する特定を行う特定モデルを有し、前記識別モデル及び前記正常モデルそれぞれから出力されるデータを前記特定モデルに入力することで、前記取得した入力データの異常さに関する特定を行う特定ステップと、
    前記特定の結果に基づく出力情報を出力する出力ステップと、を有する制御方法。
  8. 前記入力データは画像データであり、
    前記識別モデル、前記正常モデル、前記特定モデルはそれぞれ、畳み込みニューラルネットワーク、オートエンコーダ、及びニューラルネットワークである、請求項7に記載の制御方法。
  9. 前記取得した入力データに対応する正解ラベルを取得し、前記特定ステップによる特定の結果と前記正解ラベルとを用いて前記識別モデル、前記正常モデル、及び前記特定モデルの更新を行う学習ステップを有し、
    前記学習ステップにおいて、
    前記正解ラベルを用いて、前記取得した入力データが異常と正常のいずれを表すのかを判定し、
    前記取得した入力データが異常を表す場合、前記識別モデル及び前記特定モデルの更新を行い、
    前記取得した入力データが正常を表す場合、前記正常モデル及び前記特定モデルの更新を行う、請求項7又は8に記載の制御方法。
  10. 請求項7乃至いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
JP2021508533A 2019-03-27 2019-03-27 異常検知装置、制御方法、及びプログラム Active JP7136329B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/013239 WO2020194583A1 (ja) 2019-03-27 2019-03-27 異常検知装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2020194583A1 JPWO2020194583A1 (ja) 2020-10-01
JP7136329B2 true JP7136329B2 (ja) 2022-09-13

Family

ID=72609745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021508533A Active JP7136329B2 (ja) 2019-03-27 2019-03-27 異常検知装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US20220180495A1 (ja)
JP (1) JP7136329B2 (ja)
WO (1) WO2020194583A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6994224B2 (ja) * 2020-04-15 2022-01-14 株式会社Ridge-i 情報処理装置、情報処理方法及び情報処理プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018120300A (ja) 2017-01-23 2018-08-02 株式会社リコー 情報処理装置、情報処理方法およびプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6632288B2 (ja) * 2014-12-12 2020-01-22 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
WO2016195092A1 (ja) * 2015-06-05 2016-12-08 株式会社日立製作所 異常検知装置
US10831577B2 (en) * 2015-12-01 2020-11-10 Preferred Networks, Inc. Abnormality detection system, abnormality detection method, abnormality detection program, and method for generating learned model
JP6426667B2 (ja) * 2016-08-10 2018-11-21 三菱重工工作機械株式会社 工作機械の工具の異常検知装置及び方法
JP6874708B2 (ja) * 2018-02-13 2021-05-19 日本電信電話株式会社 モデル学習装置、モデル学習方法、プログラム
US11983072B2 (en) * 2019-01-16 2024-05-14 Nec Corporation Estimation apparatus, estimation method, and computer-readable storage medium
JP6749655B1 (ja) * 2019-03-19 2020-09-02 株式会社 システムスクエア 検査装置、異常検出方法、コンピュータプログラム、学習モデルの生成方法、及び学習モデル
US20220254006A1 (en) * 2019-07-11 2022-08-11 Lg Electronics Inc. Artificial intelligence server
WO2021245819A1 (ja) * 2020-06-03 2021-12-09 日本電気株式会社 学習装置、学習済みモデル生成方法、及び、記録媒体
WO2022260133A1 (ja) * 2021-06-09 2022-12-15 日本製鉄株式会社 監視システム、監視方法、プログラム、およびコンピュータプログラムが記憶されたコンピュータ読み取り可能な記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018120300A (ja) 2017-01-23 2018-08-02 株式会社リコー 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
US20220180495A1 (en) 2022-06-09
WO2020194583A1 (ja) 2020-10-01
JPWO2020194583A1 (ja) 2020-10-01

Similar Documents

Publication Publication Date Title
Schlegel et al. Towards a rigorous evaluation of XAI methods on time series
WO2018108129A1 (zh) 用于识别物体类别的方法及装置、电子设备
US20180174062A1 (en) Root cause analysis for sequences of datacenter states
US11314986B2 (en) Learning device, classification device, learning method, classification method, learning program, and classification program
CN108229485A (zh) 用于测试用户界面的方法和装置
CN110705531B (zh) 缺失字符检测、缺失字符检测模型的建立方法及装置
CN114553591B (zh) 随机森林模型的训练方法、异常流量检测方法及装置
CN113888514A (zh) 导地线缺陷检测方法、装置、边缘计算设备和存储介质
US20230386243A1 (en) Information processing apparatus, control method, and non-transitory storage medium
JPWO2018180197A1 (ja) データ解析装置、データ解析方法およびデータ解析プログラム
CN114385869A (zh) 检测数据异常的方法、装置、存储介质及计算机设备
CN116403019A (zh) 遥感图像量子识别方法、装置、存储介质及电子装置
JP2019105871A (ja) 異常候補抽出プログラム、異常候補抽出方法および異常候補抽出装置
JP7136329B2 (ja) 異常検知装置、制御方法、及びプログラム
US11373285B2 (en) Image generation device, image generation method, and image generation program
CN114020715A (zh) 一种日志数据的处理方法、装置、介质及设备
CN112888008B (zh) 基站异常检测方法、装置、设备及存储介质
CN113869456A (zh) 采样监测方法、装置、电子设备及存储介质
CN117155771A (zh) 一种基于工业物联网的设备集群故障溯源方法及装置
CN114741697B (zh) 恶意代码分类方法、装置、电子设备和介质
CN113139590B (zh) 时间序列数据的降维方法、装置、计算机设备和存储介质
CN113723515B (zh) 基于图像识别的摩尔纹识别方法、装置、设备及介质
CN114743030A (zh) 图像识别方法、装置、存储介质和计算机设备
CN114626545A (zh) 用于人工智能模型的数据准备
US11420325B2 (en) Method, apparatus and system for controlling a robot, and storage medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210922

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210922

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220815

R151 Written notification of patent or utility model registration

Ref document number: 7136329

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151