JP2020113119A - 監視システム、監視方法およびプログラム - Google Patents

監視システム、監視方法およびプログラム Download PDF

Info

Publication number
JP2020113119A
JP2020113119A JP2019004517A JP2019004517A JP2020113119A JP 2020113119 A JP2020113119 A JP 2020113119A JP 2019004517 A JP2019004517 A JP 2019004517A JP 2019004517 A JP2019004517 A JP 2019004517A JP 2020113119 A JP2020113119 A JP 2020113119A
Authority
JP
Japan
Prior art keywords
output data
statistical information
abnormality
degree
learning model
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.)
Granted
Application number
JP2019004517A
Other languages
English (en)
Other versions
JP7309366B2 (ja
Inventor
光宏 木村
Mitsuhiro Kimura
光宏 木村
崇博 瀧本
Takahiro Takimoto
崇博 瀧本
瑛 杉本
Akira Sugimoto
瑛 杉本
耕祐 春木
Kosuke Haruki
耕祐 春木
政博 小澤
Masahiro Ozawa
政博 小澤
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.)
Toshiba Corp
Kioxia Corp
Original Assignee
Toshiba Corp
Kioxia 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 Toshiba Corp, Kioxia Corp filed Critical Toshiba Corp
Priority to JP2019004517A priority Critical patent/JP7309366B2/ja
Priority to US16/542,420 priority patent/US20200226048A1/en
Publication of JP2020113119A publication Critical patent/JP2020113119A/ja
Application granted granted Critical
Publication of JP7309366B2 publication Critical patent/JP7309366B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/043Architecture, e.g. interconnection topology based on fuzzy logic, fuzzy membership or fuzzy inference, e.g. adaptive neuro-fuzzy inference systems [ANFIS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computational Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Debugging And Monitoring (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

【課題】異常を高精度に検出可能とする。【解決手段】監視システムは、記憶部と、取得部と、算出部と、判定部と、出力制御部と、を備える。記憶部は、学習モデルに第1入力データを入力して得られる第1出力データ、および、第1出力データから得られる第1統計情報、の少なくとも一方を記憶する。算出部は、第1統計情報に対する第2出力データの統計情報の変化の度合い、第1出力データから算出される第2統計情報に対する第2出力データの統計情報の変化の度合い、および、第1統計情報から算出される第3統計情報に対する第2出力データの統計情報の変化の度合い、の少なくとも1つを表す異常度を算出する。判定部は、異常度に基づいて、学習モデルに異常が生じたか否かを判定する。出力制御部は、異常が生じたと判定された場合に、異常が生じたことを示す情報を出力する。【選択図】図1

Description

本発明の実施形態は、監視システム、監視方法およびプログラムに関する。
過去のデータを用いて学習した機械学習モデルに新たなデータを入力して分類または推定などの処理を行う場合、入力データの傾向の変化によって機械学習モデルが期待通りの精度を出せなくなることがある。このような精度の低下に気付かずに運用を継続することでユーザが誤った判断を行うおそれがある。これを防ぐために、例えば機械学習モデルの出力の確からしさを人手で確認することは非現実的であり、入力データの傾向の変化を異常として検知する技術が望まれる。
例えば、機械学習モデルと、別の方法で作られたモデルと、を並行して運用し、それら2つのモデルの出力に相違が発生した際に、異常として判定する技術が提案されている。
特開2018−119924号公報
しかしながら、従来技術では、異常を高精度に検出できない場合があった。例えば、上記のように2つのモデルを用いる技術では、2つのモデルが同時に性能劣化を起こした場合には異常を検知することができない。
実施形態の監視システムは、記憶部と、取得部と、算出部と、判定部と、出力制御部と、を備える。記憶部は、学習モデルに第1入力データを入力して得られる第1出力データ、および、第1出力データから得られる第1統計情報、の少なくとも一方を記憶する。算出部は、第1統計情報に対する第2出力データの統計情報の変化の度合い、第1出力データから算出される第2統計情報に対する第2出力データの統計情報の変化の度合い、および、第1統計情報から算出される第3統計情報に対する第2出力データの統計情報の変化の度合い、の少なくとも1つを表す異常度を算出する。判定部は、異常度に基づいて、学習モデルに異常が生じたか否かを判定する。出力制御部は、異常が生じたと判定された場合に、異常が生じたことを示す情報を出力する。
第1の実施形態にかかる監視システムのブロック図。 第1の実施形態にかかる監視システムのブロック図。 第1の実施形態における学習処理のフローチャート。 第1の実施形態における監視処理のフローチャート。 第2の実施形態にかかる監視システムのブロック図。 第2の実施形態における監視処理のフローチャート。 表示情報に基づく表示画面の例を示す図。 表示情報に基づく表示画面の他の例を示す図。 第1または第2の実施形態にかかる装置のハードウェア構成図。
以下に添付図面を参照して、この発明にかかる監視システムの好適な実施形態を詳細に説明する。
(第1の実施形態)
上記のように、機械学習により学習されたモデル(以下、学習モデルという)は、入力データの傾向の変化によって出力の精度が低下する場合がある。このような場合に、入力データの傾向の変化を検知して変化の原因を排除すること、変化した入力データに対しても精度よく機能するように学習モデルを修正すること、および、その時に得られた出力の取り扱いに注意すること、などが学習モデルを運用する上で重要となる。
上記のような2つのモデルを用いる技術では、2つのモデルが同時に性能劣化を起こした場合に異常が検知できない。また、システム全体として高い精度を実現するためには、すべてのモデルが高い精度になっている必要がある。しかし、高精度のモデルを複数作成することは処理負荷が高く、コストが増加するおそれがある。
第1の実施形態にかかる監視システムは、基準となる期間に入力された入力データに対する学習モデルの出力データまたは出力データの統計情報(統計量)を記憶しておき、その後の入力データに対する学習モデルの出力データの統計情報と、記憶したデータから得られる統計情報とを比較することにより、学習モデルの異常を検出する。これにより、より簡単な構成で、入力データの傾向の変化を把握し、学習モデルの異常を高精度に検出することができる。
図1は、第1の実施形態にかかる監視システムの構成の一例を示すブロック図である。図1に示すように、第1の実施形態の監視システムは、情報処理装置100と、監視装置200と、情報処理装置300と、を備えている。
情報処理装置100、監視装置200、および、情報処理装置300は、LAN(ローカルエリアネットワーク)およびインターネットなどのネットワーク、または、接続ケーブルなどの任意の接続形態で接続される。
情報処理装置100は、学習モデルの学習、および、学習済みの学習モデルを用いた処理などを行う装置である。学習モデルは、どのようなモデルであってもよいが、例えば、ニューラルネットワーク、サポートベクターマシン(SVM)、決定木、ランダムフォレスト、および、GBDT(Gradient Boosting Decision Tree)などである。
情報処理装置100は、処理制御部101と、通信制御部102と、記憶部121と、を備えている。
記憶部121は、情報処理装置100で実行される各種処理で用いられる各種情報を記憶する。例えば記憶部121は、学習モデルを定める情報(例えばニューラルネットワークの場合、重みおよびバイアスなどのパラメータ)、学習に用いる学習データ、および、学習モデルの検証に用いる検証データなどを記憶する。
処理制御部101は、学習モデルの学習を制御する。処理制御部101は、適用する学習モデルに応じた学習方法により、学習処理を制御する。例えば学習モデルとしてニューラルネットワークを用いる場合、処理制御部101は、誤差逆伝播法などの学習方法による学習処理を行う。
また処理制御部101は、学習済みの学習モデルを用いた処理を制御する。学習モデルを用いた処理はどのような処理であってもよいが、例えば入力データを複数のクラスのいずれかに分類する分類処理、および、入力データから何らかの値を推定する推定処理などである。処理制御部101は、例えば、処理対象となる入力データを学習済みの学習モデルに入力し、学習モデルから出力データを得る。入力データはどのような方法で取得されてもよい。例えば、後述する通信制御部102を介して入力データが取得されてもよい。
通信制御部102は、監視装置200などの外部装置との間の通信を制御する。例えば通信制御部102は、学習済みの学習モデルを定める情報、および、学習モデルが出力する出力データを、監視装置200に送信する。
上記各部(処理制御部101、および、通信制御部102)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
次に、監視装置200について説明する。監視装置200は、学習済みの学習モデルを用いた処理を監視する装置である。監視装置200は、取得部201と、算出部202と、判定部203と、出力制御部204と、記憶部221と、を備えている。
記憶部221は、監視装置200で実行される各種処理で用いられる各種情報を記憶する。例えば記憶部221は、後述する判定部203が学習モデルの異常を判定するときに参照する参照情報を記憶する。参照情報は、学習された学習モデルに、基準となる期間に入力された入力データ(第1入力データ)を入力して得られる複数の出力データ(第1出力データ)の統計情報(第1統計情報)、および、この複数の出力データの統計情報の算出に用いられる情報、の少なくとも一方である。統計情報の算出に用いられる情報は、例えば、複数の出力データ自体である。
記憶部221が出力データ自体を記憶する場合、後述する算出部202は、記憶された出力データを用いて出力データの統計情報(第2統計情報)を算出し、算出した統計情報をさらに異常度の算出などに使用する。出力データの更新頻度が低い場合は、出力データから算出した統計情報を記憶部221に記憶し、異常度の算出などに使用する方が、算出処理の負荷を軽減することができる。
基準となる期間に入力された入力データは、例えば、学習モデルが正常に機能する状態で入力した入力データである。正常に機能する状態とは、例えば、学習モデルを運用することを決定した際に確認していた精度と同等以上の精度で機能する状態である。運用するか否かは、例えば、学習データとは別の検証データで性能を確認することで決定される。従って、学習モデルを運用することを決定した際に確認していた精度とは、運用することを決定したときの検証データに対する精度である。
なお、基準となる期間に入力された入力データは、学習モデルが正常に機能する状態で入力した入力データに限られるものではない。すなわち、基準とする期間は、学習モデルが正常に機能する状態に相当する期間に限られず、どのような期間であってもよい。例えば、過去の一定期間を基準とする期間とし、この期間に入力された入力データに対する参照情報を用いてもよい。この場合、参照情報と比較する対象となる出力データ(第2出力データ)は、過去の一定期間よりも後の期間に出力された出力データとすればよい。
また、記憶部221は、取得部201により取得された出力データであって、第1入力データの後に入力された入力データ(第2入力データ)に対する複数の出力データ(第2出力データ)を記憶する。
記憶部221は、物理的または論理的に分離される複数の記憶部により構成してもよい。例えば、参照情報を記憶する記憶部と、取得部201により取得された出力データを記憶する記憶部とに分けられてもよい。
ここで、統計情報の例を説明する。複数の出力データを、(v,v,・・・,v)(nは2以上の整数)とすると、統計情報は、例えば(1)式で算出される相加平均u、および、(2)式で算出される標準偏差σなどである。
統計情報は(1)式および(2)式に限られず、中央値および分散などの他の統計情報を用いてもよい。
取得部201は、参照情報に対応する入力データ(第1入力データ)の後に入力された入力データ(第2入力データ)を学習モデルに入力して得られる複数の出力データ(第2出力データ)を取得する。例えば取得部201は、情報処理装置100から送信された出力データを取得する。出力データの取得方法はどのような方法であってもよい。例えば取得部201は、情報処理装置100が学習モデルを用いた処理を実行するごとに出力データを取得してもよいし、情報処理装置100内で一定数の出力データが得られたときにこの一定数の出力データを情報処理装置100から取得してもよいし、一定期間が経過するごとにその期間内に得られた出力データを情報処理装置100から取得してもよい。取得部201は、取得した出力データを記憶部221に記憶する。
出力データは、監視する学習モデルによって異なる。例えば学習モデルが多クラス分類を行う場合には、出力データは、各クラスに対するロジットまたは確率値(事後確率)である。例えば学習モデルが何らかの値を推定する場合には、出力データは、推定された推定値である。例えば学習モデルが入力を再構成し、その再構成誤差の大きさにより異常を検知する場合には、出力データは、再構成誤差の値である。
算出部202は、参照情報に基づいて得られる複数の出力データ(第1出力データ)の統計情報に対する、取得部201により取得された出力データ(第2出力データ)の統計情報の変化の度合いを表す異常度を算出する。上記のように、参照情報は、出力データそのもの、または、複数の出力データの統計情報である。以下では主に複数の出力データの統計情報を算出することを前提に説明するが、出力データの統計情報を複数用いて、さらに平均値等の統計情報(第3統計情報)を算出してもよい。例えば、記憶部221に記憶されている平均値をすべて用いて初期状態からの統計情報の平均値をさらに算出してもよい。初期状態から処理時点までの平均値と、処理時点での平均値とを比較することによって、初期状態からの状態の変化を知ることが可能となる。
なお取得部201で取得する個々の出力データは、学習モデルが正常に機能している時でもある程度のばらつきを持つ場合が多い。従って、1つの出力データではなく、取得した出力データの統計情報が、記憶部221に記憶された統計情報との比較に用いられる。これにより、個々の出力データのばらつきの影響を抑制可能となる。
まず算出部202は、取得部201により取得されて記憶部221に記憶された複数の出力データを読み出し、読み出した出力データの統計情報を算出する。算出部202で算出する統計情報は、例えば相加平均などである。取得部201により取得された出力データをx、その前までに取得されて記憶部221に記憶された出力データを(x,x,・・・,x)とすると、算出部202は、例えば以下の(3)式により相加平均mを算出する。なお、記憶された出力データの個数を、統計情報の算出に用いる出力データの個数と同じnとしたが、両者の個数を異なる値としてもよい。
このような統計情報を用いることによって、取得された出力データのばらつきによって異常度が大きくなり、実際には異常ではないのに異常と判定されることを防ぐことができる。統計情報を用いることで抑えられるばらつきの大きさおよび特性は、記憶部221に記憶しておく出力データの個数、および、統計情報の算出方法によって異なる。従って、統計情報の算出方法、並びに、要求されるばらつきの大きさおよび特性などに応じて、記憶部221に記憶する出力データの個数が調整されてもよい。
次に算出部202は、算出した統計情報と、記憶部221に記憶された参照情報から得られる統計情報とを比較して、学習モデルの出力データの時間的な変化の度合いを表す異常度を算出する。例えば算出部202は、以下の(4)式により表されるマハラノビス距離を異常度dとして算出する。
異常度の算出方法は(4)式に限られるものではない。例えば算出部202は、出力データ間の距離(ユークリッド距離など)を異常度として算出してもよい。
出力データが複数の要素を含むベクトルで表される場合は、複数の要素のうちいずれか1つの要素を用いて上記各式の演算が実行されてもよい。例えば学習モデルが他クラス分類モデルであり、事後確率ベクトルを出力データとして出力する場合、値(事後確率)が最大である要素を用いて上記各式の演算が実行される。
出力データが複数の要素を含むベクトルで表される場合は、ベクトル同士の距離を算出するように構成してもよい。例えば、記憶部221は、基準となる期間に入力された入力データに対する複数の出力データ(ベクトル)の要素ごとの平均値を要素とするベクトルuを参照情報として記憶する。また算出部202は、取得部201により取得されて記憶部221に記憶された複数の出力データ(ベクトル)の要素ごとの平均値を要素とするベクトルmを算出する。そして算出部202は、ベクトルm、ベクトルu、および、共分散行列Σを用いて、以下の(5)式により表されるマハラノビス距離を異常度dとして算出する。
判定部203は、算出部202により算出された異常度に基づいて、学習モデルに異常が生じたか否かを判定する。例えば判定部203は、算出された異常度と、予め定められた閾値とを比較し、異常度が閾値を超えた場合に、学習モデルに異常が生じたと判定する。比較に用いる閾値は、例えば1などの定数である。閾値を小さくすると小さな変化も異常と判定される。閾値を大きくすると大きな変化が生じた場合にのみ異常と判定される。そこで、精度低下によるリスクが大きく、細かな精度低下を見逃したくない場合は閾値を小さくする。精度低下によるリスクが小さく多少の見逃しを許容できる、または、精度低下を見つけてもすぐに対応できないような場合は閾値を大きくする。このように、閾値は、監視する学習モデルの特性および運用方法に合わせて調整すればよい。
出力制御部204は、異常が生じたと判定された場合に、異常が生じたことを示す情報を出力する。例えば出力制御部204は、学習モデルの異常が生じたことを示す情報を含む、表示装置などに表示するための表示情報を情報処理装置300などに送信する。出力制御部204は、監視装置200が備える、または、監視装置200に接続された、表示装置(液晶ディスプレイなど)、音声出力装置(スピーカなど)、および、警告用の表示灯などの出力装置に対して、異常が生じたことを出力してもよい。
上記各部(取得部201、算出部202、判定部203、および、出力制御部204)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
次に、情報処理装置300について説明する。情報処理装置300は、例えば監視装置200から送信された情報の出力(表示)などを実行する装置である。情報処理装置300は、表示制御部301と、通信制御部302と、表示部321と、を備えている。
表示部321は、情報を表示するための装置であり、例えば、液晶ディスプレイなどにより構成される。
通信制御部302は、監視装置200などの外部装置との間の通信を制御する。例えば通信制御部302は、監視装置200から、学習モデルの異常が生じたことを示す情報を含む表示情報を受信する。
表示制御部301は、表示部321に対する情報の表示を制御する。例えば表示制御部301は、監視装置200から受信した表示情報を表示部321に表示させる。
上記各部(表示制御部301、および、通信制御部302)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
なお、上記の各記憶部(記憶部121、記憶部221)は、フラッシュメモリ、メモリカード、RAM(Random Access Memory)、HDD(Hard Disk Drive)、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
図1に示す監視システムの構成は一例であり、これに限られるものではない。例えば、情報処理装置100、監視装置200、および、情報処理装置300は、それぞれ物理的に独立した装置とする必要はなく、一部または全部を物理的に1つの装置に統合してもよい。また、例えば情報処理装置100および監視装置200の少なくとも一方を、クラウド環境上で処理を実行するサーバ装置として実現してもよい。
図2は、クラウド環境上で監視システムを実現する場合の構成例を示すブロック図である。図2に示すように、各装置は、インターネットなどのネットワーク400により接続される。例えば監視装置200は、ネットワーク400を介してアクセスできるクラウド環境上のサーバ装置として実現することができる。
次に、このように構成された第1の実施形態にかかる監視システムによる学習処理について説明する。学習処理は、監視対象となる学習モデルを学習するための処理である。図3は、第1の実施形態における学習処理の一例を示すフローチャートである。
情報処理装置100の処理制御部101は、学習データを用いて学習モデルを学習する(ステップS101)。処理制御部101は、さらに、学習済みの学習モデルの精度を、検証データを用いて検証する(ステップS102)。検証データにより精度が検証されない(学習モデルを運用できないと判定するなど)場合、ステップS101に戻りさらに別の学習データ等で学習を実行してもよい。
検証データにより精度が検証された場合、処理制御部101は、検証データに対する学習モデルの出力データを例えば通信制御部102を介して監視装置200に送信する。監視装置200は、送信された出力データ、または、送信された出力データの統計情報(相加平均u、標準偏差σなど)を参照情報として記憶部221に記憶する(ステップS103)。また監視装置200は、判定部203が異常の判定に用いる閾値を例えば記憶部221に記憶する(ステップS104)。記憶する閾値は、例えば監視装置200を利用するユーザにより指定された値が設定されてもよいし、情報処理装置100などから送信された値が設定されてもよい。
次に、第1の実施形態にかかる監視システムによる監視処理について説明する。監視処理は、学習処理により学習された学習モデルを用いた処理の結果(出力データ)などを用いて、学習モデルの運用時の異常を監視する処理である。図4は、第1の実施形態における監視処理の一例を示すフローチャートである。
取得部201は、運用時の入力データに対する学習モデルの出力データを情報処理装置100から取得する(ステップS201)。算出部202は、取得された出力データ、および、それ以前に取得されて記憶部221に記憶された複数の出力データの統計情報(相加平均m)を算出する(ステップS202)。
算出部202は、算出された統計情報(相加平均mなど)と、記憶部221に事前に記憶された統計情報(相加平均u、標準偏差σなど)とを用いて、例えば上記(4)式により異常度を算出する(ステップS203)。
判定部203は、算出された異常度が閾値を超えたか否かを判定する(ステップS204)。閾値を超えた場合(ステップS204:Yes)、出力制御部204は、学習モデルの異常が生じたことを示す情報を含む表示情報を情報処理装置300に送信(通知)する(ステップS205)。
異常度が閾値を超えていない場合(ステップS204:No)、および、異常を通知した後、取得部201は、取得した出力データを記憶部221に記憶する(ステップS206)。このとき取得部201は、最も古い出力データを記憶部221から削除してもよい。これにより、統計情報の算出に必要な個数の出力データのみを記憶部221に記憶することができる。
なお、図4の例では、取得部201により出力データが1件取得されるごとに異常度が算出され、異常が判定されている。取得部201が予め定められた件数の出力データを取得するごとに、または、予め定められた期間が経過するごとに、異常度の算出および異常の判定などが実行されてもよい。
このように、第1の実施形態にかかる監視システムでは、基準となる期間に入力された入力データに対する学習モデルの複数の出力データまたは複数の出力データの統計情報と、その後の入力データに対する学習モデルの出力データまたは出力データの統計情報とを比較することにより、学習モデルの異常を検出する。これにより、学習モデルの異常を高精度に検出することができる。
(第2の実施形態)
第2の実施形態にかかる監視システムは、異常が生じたと判定された場合に、異常の原因などを示す情報を出力する。図5は、第2の実施形態にかかる監視システムの構成の一例を示すブロック図である。図5に示すように、第2の実施形態にかかる監視システムは、情報処理装置100と、監視装置200−2と、情報処理装置300と、を備えている。
第2の実施形態では、監視装置200−2内に抽出部205−2および生成部206−2をさらに備えたこと、並びに、出力制御部204−2の機能が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかる監視システムのブロック図である図1と同様であるので、同一符号を付し、ここでの説明は省略する。
抽出部205−2は、異常が生じたと判定された場合に、取得部201により取得された複数の出力データ(過去に取得部201により取得されて記憶部221に記憶された出力データを含む)のうち、異常の原因となった出力データを異常データとして抽出する。例えば抽出部205−2は、以下の(6)式を満たす出力データxを、異常データとして抽出する。出力データxは、取得部201により取得された出力データx、または、記憶部221に記憶されている出力データ(x,x,・・・,x)のいずれかを示す。相加平均uおよび標準偏差σは、記憶部221で記憶された値を用いることができる。tは予め定められた定数であり、例えば異常の判定に用いる閾値と同じ値(例えば1)とする。
抽出部205−2は、このような処理により、統計情報の代わりに各出力データを用いて異常度を算出した場合に、異常と判定される出力データを、異常データとして抽出することができる。
抽出部205−2による異常データの抽出方法は上記に限られるものではない。例えば、異常度の大きい順にN個(Nは1以上の整数)を抽出する方法などを用いてもよい。
また抽出部205−2は、抽出した出力データに対応する入力データを取得する。例えば取得部201、出力データとともに、この出力データに対応する入力データを情報処理装置100から取得し、出力データと対応づけて記憶部221に記憶しておく。抽出部205−2は、記憶部221から、出力データに対応する入力データを取得することができる。
生成部206−2は、抽出された出力データに対応する入力データが学習モデルの内部でどのように処理されたかを示す情報(内部情報)を生成する。生成部206−2は、適用する学習モデルに応じた内部情報を生成する。
例えば学習モデルが畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)であれば、生成部206−2は、誘目度マップ(Saliency Map)などを内部情報として生成する。学習モデルが決定木であれば、生成部206−2は、決定されたリーフまでのパスなどを内部情報として生成する。学習モデルがランダムフォレストであれば、生成部206−2は、出力データに近い結果を投票した木の数などを内部情報として生成する。その他の分類モデルを用いる場合、生成部206−2は、分類するクラス間の境界と、異常データとの関係を可視化した情報を内部情報として生成してもよい。
生成部206−2が内部情報の生成に必要な情報は、例えば取得部201が出力データとともに情報処理装置100から取得し、記憶部221に記憶しておけばよい。
出力制御部204−2は、生成された内部情報を出力する機能をさらに備える点が、第1の実施形態の出力制御部204と異なっている。例えば出力制御部204−2は、異常が生じたと判定された場合に、抽出部205−2により抽出された出力データおよび対応する入力データと、生成部206−2により生成された内部情報と、を表示するための表示情報を情報処理装置300に送信する。
次に、このように構成された第2の実施形態にかかる監視システムによる監視処理について図6を用いて説明する。図6は、第2の実施形態における監視処理の一例を示すフローチャートである。
ステップS301からステップS304までは、第1の実施形態にかかる監視システムにおけるステップS201からステップS204までと同様の処理なので、その説明を省略する。
異常度が閾値を超えた場合(ステップS304:Yes)、抽出部205−2は、異常の原因となる出力データを抽出する(ステップS305)。抽出部205−2は、例えば上記(6)式を満たす出力データxを、異常データとして抽出する。抽出部205−2は、抽出した出力データ(異常データ)に対応する入力データを、例えば記憶部221から抽出する(ステップS306)。
生成部206−2は、抽出された入力データを用いて、入力データが学習モデルの内部でどのように処理されたかを示す内部情報を含む表示情報を生成する(ステップS307)。例えば生成部206−2は、入力データを学習モデルに入力して処理を実行し、実行時の内部情報を取得し、取得した内部情報を含む表示情報を生成する。出力制御部204−2は、生成された表示情報を情報処理装置300に送信する(ステップS308)。
異常度が閾値を超えていない場合(ステップS304:No)、および、表示情報を送信した後、取得部201は、取得した出力データを記憶部221に記憶する(ステップS309)。
次に、表示情報に基づく表示画面の例について図7および図8を用いて説明する。図7は、表示情報に基づき表示される表示画面701の例を示す図である。
図7は、学習モデルが、入力された画像(入力データの一例)を複数のクラスのいずれかに分類する畳み込みニューラルネットワークである場合の表示画面701の例を示す。表示画面701の左上部は、表示時点までに算出部202により算出された異常度の推移を示すグラフである。このようなグラフにより、異常データが増加した時期、すなわち、学習モデルの精度が悪化した時期を把握できる。また、異常度の値が表示されるため、異常の程度が把握できる。このような情報は、異常の原因調査、および、異常に対する対応の優先度の決定などの参考とすることができる。
表示画面701の右上部は、抽出部205−2により抽出された異常データ(ロジット)の一覧(リスト)を示す。このリストには、異常データを識別する番号、処理された時刻(日、時間など)、および、分類されたクラスなどが含まれる。リストは、例えば異常度が大きい順、または、時刻順にソートされて表示されてもよい。リストに表示する対象とする異常データの範囲(期間など)を指定可能としてもよい。
リストに含まれる複数の異常データから、例えばユーザが1つの異常データを選択すると、選択された異常データについての内部情報等が表示される。例えば、表示画面701の左下部は、選択された異常データが分類されたクラス(図7の例ではクラス0)について、このクラスに分類された複数の出力データ(ロジット)の分布を示す。例えば記憶部221は、学習モデルが正常に機能する時の出力データを分類クラスとともに記憶しておく。生成部206−2は、記憶部221に記憶された情報を参照して図7に示すような分布を生成する。
分布内の矩形部は、予め定められた第1の範囲に含まれるロジットの値を示す。第1の範囲は、多くの出力データが含まれる範囲として定められる範囲であり、例えば全ロジットの値の25%から75%の値に相当する範囲である。矩形の上下に付された縦線は、第1の範囲以外の第2の範囲に含まれるロジットの値を示す。矩形部内の横線は、例えばロジットの中央値または平均値を示す。白丸は、選択された異常データに対するロジットの値を示す。図7では、異常データは、クラス0に分類されているが、クラス0に対する第1の範囲から大きく外れた値となっていることが示されている。
表示画面701の左下部に示す情報により、異常データの詳細情報、および、異常度の算出の根拠などを把握することができる。
表示画面701の右下部は、選択された異常データについて生成部206−2により生成された内部情報の例を示す。図7の例では、選択された異常データに対する内部情報として誘目度マップが表示されている。誘目度マップには、対応する入力データ(画像)が並べて表示されている。これにより、異常と判定された原因をより把握しやすくなり、例えば、学習モデルの修正方法を検討するときの参考とすることができる。
なお、図7では、人の画像が入力データとして入力されたときに、標識を表すクラスであるクラス0に分類されたために、この入力データに対する出力データが異常データと判定された例が示されている。誘目度マップだけでなく入力データの画像を表示することで、例えば人の画像が入力データとして入力されたことが異常の原因であると推測することができる。
また、図7では、異常データの下に、正常に機能する状態で入力した入力データの例と、この入力データに対応する誘目度マップが表示されている。この誘目度マップを異常データに対応する誘目度マップと比較することにより、例えば、学習モデルが人の顔を標識と誤認識していると推測することができる。
図8は、表示情報に基づく表示画面の他の例を示す図である。図8は、生成部206−2が、分類するクラス間の境界と、異常データとの関係を可視化した情報を内部情報として生成した場合の表示画面の例を示す。図8に示すように、表示画面は、分類される3つのクラスの境界と、出力データとを含む。出力データ801は、正常に機能する状態で入力した入力データに対応する出力データを示す。出力データ802は、異常データとして抽出された出力データを示す。図8に示す表示画面により、異常データである出力データ802は、クラス間の境界付近に分布することが把握できる。
このように、第2の実施形態にかかる監視システムでは、異常が生じたと判定された場合に、異常の原因などを示す情報を出力することができる。
以上説明したとおり、第1から第2の実施形態によれば、機械学習により学習される学習モデルを運用するときの異常をより高精度に検出可能となる。
次に、第1または第2の実施形態にかかる各装置(情報処理装置、監視装置)のハードウェア構成について図9を用いて説明する。図9は、第1または第2の実施形態にかかる装置のハードウェア構成例を示す説明図である。
第1または第2の実施形態にかかる装置は、CPU51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
第1または第2の実施形態にかかる装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
第1または第2の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、第1または第2の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1または第2の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
第1または第2の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 情報処理装置
101 処理制御部
102 通信制御部
121 記憶部
200、200−2 監視装置
201 取得部
202 算出部
203 判定部
204 出力制御部
205−2 抽出部
206−2 生成部
221 記憶部
300 情報処理装置
301 表示制御部
302 通信制御部
321 表示部
400 ネットワーク

Claims (6)

  1. 学習された学習モデルに第1入力データを入力して得られる複数の第1出力データ、および、複数の前記第1出力データから得られる第1統計情報、の少なくとも一方を記憶する記憶部と、
    前記学習モデルに第2入力データを入力して得られる複数の第2出力データを取得する取得部と、
    複数の前記第1統計情報に対する前記第2出力データの統計情報の変化の度合い、複数の前記第1出力データから算出される第2統計情報に対する前記第2出力データの統計情報の変化の度合い、および、複数の前記第1統計情報から算出される第3統計情報に対する前記第2出力データの統計情報の変化の度合い、の少なくとも1つを表す異常度を算出する算出部と、
    前記異常度に基づいて、前記学習モデルに異常が生じたか否かを判定する判定部と、
    異常が生じたと判定された場合に、異常が生じたことを示す情報を出力する出力制御部と、
    を備える監視システム。
  2. 異常が生じたと判定された場合に、複数の前記第2出力データのうち、異常の原因となった第2出力データである異常データを抽出する抽出部をさらに備え、
    前記出力制御部は、さらに、前記学習モデルが前記異常データをどのように処理したかを示す情報を出力する、
    請求項1に記載の監視システム。
  3. 前記学習モデルは、ニューラルネットワークである、
    請求項1に記載の監視システム。
  4. 前記第1出力データおよび前記第2出力データは、前記ニューラルネットワークが出力するロジットまたは確率値である、
    請求項3に記載の監視システム。
  5. 学習された学習モデルに第1入力データを入力して得られる複数の第1出力データ、および、複数の前記第1出力データから得られる第1統計情報、の少なくとも一方を記憶する記憶ステップと、
    前記学習モデルに第2入力データを入力して得られる複数の第2出力データを取得する取得ステップと、
    複数の前記第1統計情報に対する前記第2出力データの統計情報の変化の度合い、複数の前記第1出力データから算出される第2統計情報に対する前記第2出力データの統計情報の変化の度合い、および、複数の前記第1統計情報から算出される第3統計情報に対する前記第2出力データの統計情報の変化の度合い、の少なくとも1つを表す異常度を算出する算出ステップと、
    前記異常度に基づいて、前記学習モデルに異常が生じたか否かを判定する判定ステップと、
    異常が生じたと判定された場合に、異常が生じたことを示す情報を出力する出力制御ステップと、
    を含む監視方法。
  6. 学習された学習モデルに第1入力データを入力して得られる複数の第1出力データ、および、複数の前記第1出力データから得られる第1統計情報、の少なくとも一方を記憶する記憶部を備えるコンピュータを、
    前記学習モデルに第2入力データを入力して得られる複数の第2出力データを取得する取得部と、
    複数の前記第1統計情報に対する前記第2出力データの統計情報の変化の度合い、複数の前記第1出力データから算出される第2統計情報に対する前記第2出力データの統計情報の変化の度合い、および、複数の前記第1統計情報から算出される第3統計情報に対する前記第2出力データの統計情報の変化の度合い、の少なくとも1つを表す異常度を算出する算出部と、
    前記異常度に基づいて、前記学習モデルに異常が生じたか否かを判定する判定部と、
    異常が生じたと判定された場合に、異常が生じたことを示す情報を出力する出力制御部と、
    として機能させるためのプログラム。
JP2019004517A 2019-01-15 2019-01-15 監視システム、監視方法およびプログラム Active JP7309366B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019004517A JP7309366B2 (ja) 2019-01-15 2019-01-15 監視システム、監視方法およびプログラム
US16/542,420 US20200226048A1 (en) 2019-01-15 2019-08-16 Monitoring system, monitoring method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019004517A JP7309366B2 (ja) 2019-01-15 2019-01-15 監視システム、監視方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2020113119A true JP2020113119A (ja) 2020-07-27
JP7309366B2 JP7309366B2 (ja) 2023-07-18

Family

ID=71518082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019004517A Active JP7309366B2 (ja) 2019-01-15 2019-01-15 監視システム、監視方法およびプログラム

Country Status (2)

Country Link
US (1) US20200226048A1 (ja)
JP (1) JP7309366B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11698977B1 (en) * 2019-11-13 2023-07-11 Ivanti, Inc. Predicting and quantifying weaponization of software weaknesses
CN113406935B (zh) * 2021-06-22 2022-09-02 惠民万顺节能新材料有限公司 一种热镀铝锌板生产过程监控系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070028219A1 (en) * 2004-10-15 2007-02-01 Miller William L Method and system for anomaly detection
WO2018061842A1 (ja) * 2016-09-27 2018-04-05 東京エレクトロン株式会社 異常検知プログラム、異常検知方法および異常検知装置
JP2019016209A (ja) * 2017-07-07 2019-01-31 株式会社東芝 診断装置、診断方法およびコンピュータプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
INDRE ZLIOBAITE: ""Change with Delayed Labeling: when is it detectable?"", 2010 IEEE INTERNATIONAL CONFERENCE ON DATA MINING WORKSHOPS [ONLINE], JPN6022045477, 2011, pages 843 - 850, ISSN: 0004909381 *
武藤 志真子, 管理栄養士・栄養士のための 統計処理入門, vol. 初版, JPN6022045478, 1 March 2012 (2012-03-01), pages 87 - 94, ISSN: 0004909382 *

Also Published As

Publication number Publication date
US20200226048A1 (en) 2020-07-16
JP7309366B2 (ja) 2023-07-18

Similar Documents

Publication Publication Date Title
US11763198B2 (en) Sensor contribution ranking
US10733287B2 (en) Resiliency of machine learning models
US11675641B2 (en) Failure prediction
US20170109427A1 (en) Information processing apparatus, information processing method, and storage medium
US20170147909A1 (en) Information processing apparatus, information processing method, and storage medium
US20210116331A1 (en) Anomaly analysis method, program, and system
US20220083814A1 (en) Associating a population descriptor with a trained model
US10068073B2 (en) Verification device and control method for verifiction device, as well as computer program
US11080070B2 (en) Automated user interface analysis
WO2019087803A1 (ja) 画像処理装置、画像処理方法及び記録媒体
JP7309366B2 (ja) 監視システム、監視方法およびプログラム
US20190213610A1 (en) Evaluation device and evaluation method
US20210356943A1 (en) Monitoring apparatus, monitoring method, computer program product, and model training apparatus
US11521392B2 (en) Image processing apparatus and image processing method for image analysis process
US11455489B2 (en) Device that updates recognition model and method of updating recognition model
JP6874864B2 (ja) 画像処理装置、画像処理方法及びプログラム
US20190066285A1 (en) Image inspection apparatus, image inspection method, and image inspection program
US11527091B2 (en) Analyzing apparatus, control method, and program
US20170276567A1 (en) Information processing apparatus, information processing method, and program
JP2014146161A (ja) モデル推定装置およびその方法
US20220067345A1 (en) Method and system for identifying, tracking, and collecting data on a person of interest
US20210232947A1 (en) Signal processing device, signal processing method, and computer program product
CN113837208A (zh) 一种异常图像的确定方法、装置、电子设备及存储介质
US20220180495A1 (en) Abnormality detection apparatus, control method, and program
JP2016099688A (ja) リスク評価方法およびリスク評価装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230222

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: 20230606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230705

R150 Certificate of patent or registration of utility model

Ref document number: 7309366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150