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

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

Info

Publication number
JP2023142779A
JP2023142779A JP2022049860A JP2022049860A JP2023142779A JP 2023142779 A JP2023142779 A JP 2023142779A JP 2022049860 A JP2022049860 A JP 2022049860A JP 2022049860 A JP2022049860 A JP 2022049860A JP 2023142779 A JP2023142779 A JP 2023142779A
Authority
JP
Japan
Prior art keywords
drift
accuracy
data
model
learning
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.)
Pending
Application number
JP2022049860A
Other languages
English (en)
Inventor
剛史 山田
Tsuyoshi Yamada
博基 古川
Hiromoto Furukawa
稔久 奥田
Toshihisa Okuda
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.)
Hitachi Industry and Control Solutions Co Ltd
Original Assignee
Hitachi Industry and Control Solutions Co Ltd
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 Hitachi Industry and Control Solutions Co Ltd filed Critical Hitachi Industry and Control Solutions Co Ltd
Priority to JP2022049860A priority Critical patent/JP2023142779A/ja
Publication of JP2023142779A publication Critical patent/JP2023142779A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Figure 2023142779000001
【課題】設計者のノウハウに依らず、予測モデルの運用時に発生するコンセプトドリフトを安定して検出すること。
【解決手段】 予測モデル監視システム2は、運用システム1の各機器から取得される学習データ32Aと、その学習データ32Aを学習した予測モデル31Aと、運用システム1の運用時に取得した運用データ33Bとを収集するデータ収集部3と、予測モデル31Aと運用データ33Bとの間のコンセプトドリフトを検出するドリフト検出部62を構築するドリフト検出ロジック構築部5とを備える。ドリフト検出部62は、学習時の異常率よりも運用時の異常率が高い状態が継続したときに、運用時の運用システム1にコンセプトドリフトが発生した旨を出力する。
【選択図】図3

Description

本発明は、精度監視システム、精度監視方法、および、精度監視プログラムに関する。
制御システムなどの計測データの予測値を出力する予測モデルは、過去の計測データから機械学習される。予測モデルの精度(予測精度)とは、予測モデルの予測値と、実際に未来に計測される実測値との適合度合いを示すものであり、予測値が実測値に近づくほど、高い精度と言える。一般に予測精度は学習直後が最も精度が高く、運用中は徐々に精度が劣化していく。
特許文献1では機械学習モデルの一種である予測モデルにおいて、一定の条件を満たしたときに運用データを用いて予測モデルの再学習を行うことで、予測精度を維持することが提案されている。特許文献1は、運用中の予測精度をなるべく少ない計算コストで維持するために、運用中に取得したデータ(運用データ)を使用して再学習した場合の予測精度を計算する。そして、再学習後に予測精度の向上が見込まれる場合、もしくは運用中の予測精度が閾値以下の場合に再学習を行う。
その予測モデルの再学習条件として、運用中の予測精度に対して閾値を設定し、予測精度が閾値を超えたとき(モデルの精度劣化を検出したとき)という条件が使われている。
しかし、この条件では瞬間的な精度劣化を捉えるだけであり、長期的な精度劣化の傾向を捉えることができず、ノイズや外れ値のような瞬間的な精度劣化にも反応してしまう。仮に瞬間的な精度劣化を契機として機械学習モデルの再学習を行っても、長期的な予測精度は変化しない。
一方、非特許文献1には、機械学習モデルの予測モデルとは別の一種である分類モデルを対象として、コンセプトドリフト検出技術を用いて、長期的なモデル精度を評価する手法が記載されている。分類モデルとは、入力されたデータを、ある属性に分類するモデルである。コンセプトドリフトとは、機械学習モデルが学習したシステムのデータ入出力関係が時間に応じて変化することである。非特許文献1は、コンセプトドリフトの中でも機械学習モデルにおけるモデル精度の低下、というデータ変化を検出する。
特開2021-184139号公報
Joao Gama et al.「Learning with Drift Detection」,Brazilian Symposium on Artificial Intelligence(SBIA 2004) ,Pages286-295
前記したように、コンセプトドリフトの発生によりモデル精度が劣化するので、コンセプトドリフトの発生を適切に検出することが重要である。
図17は、予測モデル95の学習時の説明図である。
生産システム92は、入力データ91と、作業員94から入力される操作量とに応じて、生産量93などの計測データを出力する。
予測モデル95は、入力データ91と、作業員94から入力される操作量と、生産量93との関係を学習した結果である。
図18は、予測モデル95の運用時の説明図である。
予測モデル95は、作業員94の代わりに操作量を生産システム92に入力するとともに、その操作量における生産システム92の生産量93を予測した生産量の予測値96を出力する。
よって、予測モデル95の精度97とは、生産量93と、生産量の予測値96との差分が小さいほど高いものとして計算される。
ここで、予測モデル95自体は学習時から運用時に変化しなくても、予測モデル95の周辺が変化することで、結果として精度97が劣化することもある。予測モデル95の周辺の変化とは、生産システム92の装置劣化、学習時には存在しない傾向の新たな入力データ91の発生などである。
このように、学習時から運用時に発生した変化は、コンセプトドリフトの発生によるものである。コンセプトドリフトの発生による予測モデル95の精度劣化に対応するために、運用中の予測モデル95の精度を維持するためのしくみが必要である。
しかし、非特許文献1は機械学習モデルの一種である分類モデルを対象としており、予測モデル95に対して直接は適用できない。そのため、予測モデル95の予測結果を分類モデルの出力結果と同様の形式に変換するロジックを、設計者が案件に応じて構築するため、設計者のノウハウに依存してしまっていた。
そこで、本発明は、設計者のノウハウに依らず、予測モデルの運用時に発生するコンセプトドリフトを安定して検出することを主な課題とする。
前記課題を解決するために、本発明の精度監視装置は、以下の特徴を有する。
本発明は、運用システムの各機器から取得される学習データと、その学習データを学習した予測モデルと、前記運用システムの運用時に取得した運用データとを収集するデータ収集部と、
前記予測モデルと前記運用データとの間のコンセプトドリフトを検出するドリフト検出部を構築するドリフト検出ロジック構築部とを備えており、
前記ドリフト検出ロジック構築部が、異常検知モデルとコンセプトドリフト検出部とを含む前記ドリフト検出部を構築し、
前記異常検知モデルが、前記学習データおよび前記運用データそれぞれについて、前記予測モデルが出力する予測値との間で定義される精度指標の頻度に応じて、正常値または異常値に分類する分類ロジックに沿って、前記学習データのうちの異常値の割合を示す学習時の異常率および前記運用データのうちの異常値の割合を示す運用時の異常率を計算して出力するモデルであり、
前記コンセプトドリフト検出部が、前記異常検知モデルが出力する前記運用データの異常率を、正しくない分類がなされたエラー率として入力し、運用時の前記運用システムにコンセプトドリフトが発生したか否かを出力する処理部であり、
前記ドリフト検出部が、前記学習時の異常率よりも前記運用時の異常率が高い状態が継続したときに、運用時の前記運用システムにコンセプトドリフトが発生した旨を出力することを特徴とする。
その他の手段は、後記する。
本発明によれば、設計者のノウハウに依らず、予測モデルの運用時に発生するコンセプトドリフトを安定して検出することができる。
本実施形態に関する予測モデルの学習時に用いられる各データの説明図である。 本実施形態に関する予測モデルの運用時に用いられる各データの説明図である。 本実施形態に関する精度監視システムの全体構成図である。 本実施形態に関する予測モデル監視システムのハードウェア構成図である。 本実施形態に関するデータ収集部の処理を示すフローチャートである。 本実施形態に関するドリフト検出ロジック構築部の処理を示すフローチャートである。 本実施形態に関する学習時精度指標計算部の処理の詳細を示すフローチャートである。 本実施形態に関する学習時における絶対誤差と頻度との関係図である。 本実施形態に関する運用時に予測モデルが精度劣化した場合における絶対誤差と頻度との関係図である。 本実施形態に関する異常検知モデル学習部の処理の詳細を示すフローチャートである。 本実施形態に関するドリフト指標とドリフト判定基準との説明図である。 本実施形態に関するドリフト判定基準作成部の処理の詳細を示すフローチャートである。 本実施形態に関する精度監視部の処理を示すフローチャートである。 本実施形態に関する運用時精度指標計算部の処理を示すフローチャートである。 本実施形態に関するドリフト検出部の処理を示すフローチャートである。 本実施形態に関するシステムデータ入出力部の説明図である。 予測モデルの学習時の説明図である。 予測モデルの運用時の説明図である。
本発明を実施するための形態を、図面を参照しながら詳細に説明する。
まず、図1および図2を参照して、本実施形態で用いられる主要なデータの概要を説明する。
図1は、予測モデル31Aの学習時に用いられる各データの説明図である。
データ収集部3は、図3の運用システム1の各機器から予測モデル31Aの学習時の計測データを学習データ32Aとして収集するとともに、その学習データ32Aから学習された予測モデル31Aも収集する。
精度指標23Aは、予測モデル31Aと学習データ32Aとの間の精度を測定するための指標である。ここで、使用する精度指標23Aは、図8の絶対誤差や二乗値、L1ノルムやL2ノルムなど、目的変数と予測結果の差を正負の符号関係なく定量的に評価できるものならば、どれを使用しても良い。
本実施形態では一例として、予測モデル31Aの予想値と学習データ32Aの実測値との間の絶対誤差を想定する。絶対誤差の数値が大きいほど、精度指標23Aが低い(劣化傾向にある)と評価される。
異常検知モデル24Aは、予測モデル31Aの出力を分類モデルの出力として(分類問題として)扱うために、学習データ32Aを正常値と異常値という2つに分類するモデルである。このように異常検知モデル24Aの分類ロジックを実装することで、これまで設計者が案件に応じて用い、設計者のノウハウに依存した個別の分類ロジックを用いなくても済む。
異常検知モデル24Aは、学習データ32Aを正常値と異常値という2つに分類できるものであれば、Isolation ForestやOne-Class SVM(Support Vector Machine)、Local Outlier Factorなど、任意のモデルを採用できる。本実施形態の異常検知モデル24Aは、Isolation Forestを想定する。Isolation Forestでは学習パラメータとして、学習データ32Aに含まれる異常値の割合を「異常率」として指定する。
異常検知モデル24Aは、学習データ32Aおよび運用データ33Bそれぞれについて、予測モデル31Aが出力する予測値との間で定義される精度指標23の頻度に応じて、正常値または異常値に分類する分類ロジックを計算する。これにより、異常検知モデル24Aは、学習データ32Aのうちの異常値の割合を示す学習時の異常率および運用データ33B(図2)のうちの異常値の割合を示す運用時の異常率を計算して出力するモデルである。
エラー率25Aは、正しくない分類がされた確率であり、例えば、異常検知モデル24Aが出力する異常率である。エラー率25Aは、分類モデルのデータとして図2のCD検出部28Bに入力できるデータ形式である。ドリフト指標26Aは、非特許文献1ではエラー率25Aの平均値およびエラー率25Aの標準偏差の組み合わせを示す統計データであり、エラー率25Aの代わりに、CD検出部28Bに入力できるデータ形式である。
ドリフト判定基準27Aは、学習時におけるドリフト指標26Aの数値であり、予測モデル31Aの予測精度を示す。
図2は、予測モデル31Aの運用時に用いられる各データの説明図である。
図2のデータのうち、符号の末尾「A」のデータである予測モデル31A、異常検知モデル24A、および、ドリフト判定基準27Aは、図1の学習時に計算したデータを用いる。一方、符号の末尾「B」のデータである運用データ33B、精度指標23B、エラー率25B、ドリフト指標26B、および、CD検出部28Bは、運用時に用意するデータを用いる。
データ収集部3は、図3の運用システム1の各機器から予測モデル31Aの運用時の計測データを運用データ33Bとして収集する。
精度指標23Bは、予測モデル31Aと運用データ33Bとの間の精度を測定するための指標である。エラー率25Bは、異常検知モデル24Aが出力する運用データ33Bの異常率である。ドリフト指標26Bは、ドリフト指標26Aと同様に、エラー率25Bの統計データである。
ドリフト検出部62は、異常検知モデル24A、および、CD検出部28Bを有しており、予測モデル31Aと運用データ33Bとの間のコンセプトドリフトを検出する。つまり、ドリフト検出部62は、運用時の精度指標23Bの入力を受け、運用時にコンセプトドリフトを検出したか否かを示すドリフト検出結果(CD検出部28Bの出力結果)を出力する。また、ドリフト検出部62は、運用時の予測モデル31Aの予測精度がドリフト判定基準27Aによりも高いときには、CD検出部28Bによりコンセプトドリフトが発生したとする出力を、コンセプトドリフトが発生していないという出力に修正してもよい。さらに、ドリフト検出部62は、異常検知モデル24Aの出力結果を併せて出力してもよい。
ドリフト検出部62は、例えば、学習時の異常率よりも運用時の異常率が高い状態が継続したときに、運用時の運用システム1にコンセプトドリフトが発生した旨を出力する。
CD検出部28Bは、非特許文献1のように、分類モデルを対象として運用データ33Bから精度劣化を伴うコンセプトドリフトを検出する手段として構成される。CD検出部28Bは、異常検知モデル24Aが出力する運用データ33Bの異常率を、正しくない分類がなされたエラー率25として入力し、運用時の運用システム1にコンセプトドリフトが発生したか否かを出力する処理部である。
CD検出部28Bは、エラー率25Bまたはドリフト指標26Bを計算することで、運用時にコンセプトドリフトを検出したか否かを示すドリフト検出結果を出力する。また、CD検出部28Bは、ドリフト判定基準27Aと運用時のドリフト指標26Bとの比較結果に応じて、ドリフト検出結果を適宜修正してもよい。
なお、本実施形態では、CD検出部28Bとして、非特許文献1に記載されているDrift Detection Methodを想定する。なお、精度劣化を伴うコンセプトドリフトを検出する技術であれば、Early Drift Detection Method、HDDMs(drift diffusion models)など任意の手法をCD検出部28Bに採用できる。
以下、CD検出部28Bに対してデータ入力するモデルが、従来の分類モデルと同様に、予測モデル31Aの出力を受けた異常検知モデル24Aを適用できる理由を説明する。
CD検出部28Bでは、従来の分類モデルの出力値として、2つの分類結果(正解または失敗)で示す二項分布などのデータを受け付ける。CD検出部28Bは、受け付けた分類結果の失敗確率(エラー率)から計算したドリフト指標をもとに、コンセプトドリフトを検出する。
一方で、予測モデル31Aの出力は、浮動小数点数型式などの正負の符号や小数点が含むこともあり得る連続値の数値である。そして、二項分布では求めることができるエラー率やドリフト指標が、連続値の場合では存在しない。
よって、異常検知モデル24Aは、予測モデル31Aが出力する連続値を、二項分布などの分類結果を示すデータに変換し、その変換後のデータのエラー率25Bを出力する。なお、予測精度が劣化するほど、エラー率25Bの数値が増加する。
そして、CD検出部28Bは、分類結果が反映されたエラー率25Bまたはドリフト指標26Bから、従来の分類モデルと同様に、コンセプトドリフトを検出できる。なお、ドリフト指標26Bは、例えば、正常または異常という2つの結果で出力される二項分布である。換言すると、異常検知モデル24Aは、予測モデル31Aの出力結果をドリフト指標26Bによって分類することで、CD検出部28Bが対応可能なデータを生成できる。
図3は、精度監視システムの全体構成図である。精度監視システムは、監視される側の運用システム1と、監視する側の予測モデル監視システム2とがネットワークで接続されて構成される。
予測モデル監視システム2は、一般的なPC(精度監視装置)などローカル環境で実現する方法、または、クラウドサービスなどネットワーク経由で実現する方法のどちらでもよい。また、予測モデル監視システム2と運用システム1との接続方法、および、予測モデル監視システム2とインターフェイス部7との接続方法は、ローカル環境で構築しても、ネットワーク経由で構築しても良い。
予測モデル監視システム2は、データ収集部3と、記憶部4と、ドリフト検出ロジック構築部5と、精度監視部6とを有する。
ドリフト検出ロジック構築部5は、学習時精度指標計算部51と、異常検知モデル学習部52と、ドリフト判定基準作成部53とを有する。精度監視部6は、運用時精度指標計算部61と、ドリフト検出部62とを有する。
運用システム1は、予測モデル31Aを活用したシステムである。データ収集部3は運用システム1から以下の必要なデータを取得し、記憶部4に格納する。
・運用中の予測モデル31A
・予測モデル31Aの学習に用いた学習データ32A
・運用システム1の稼働中に取得した運用データ33B
記憶部4は予測モデル監視システム2内部の各構成要素で必要なデータ及びインターフェイス部7への出力に必要なデータを格納する。ドリフト検出ロジック構築部5は記憶部4に格納されたデータを用いてドリフト検出部62を構築する。
精度監視部6は、記憶部4に格納されたデータを用いて、運用中の予測モデル31Aが精度劣化しているか否かを検出する。つまり、精度監視部6は、ドリフト検出ロジック構築部5が構築したドリフト検出部62を用いて、運用システム1の運用時における予測モデル31Aの予測精度の劣化を検出する。具体的には、精度監視部6は、運用データ33Bと予測モデル31Aの予測結果とをもとに運用時の精度指標23を計算し、その計算した精度指標23を異常検知モデル24Aに入力することで、運用時の運用システム1にコンセプトドリフトが発生したか否かをCD検出部28Bに出力させる。
インターフェイス部7は、ドリフト検出ロジック構築部5のパラメータを入力させるとともに、予測モデル監視システム2のデータを表示することが可能な入出力手段である。
図4は、予測モデル監視システム2のハードウェア構成図である。
予測モデル監視システム2は、CPU901と、RAM902と、ROM903と、HDD904と、通信I/F905と、入出力I/F906と、メディアI/F907とを有するコンピュータ900として構成される。
通信I/F905は、外部の通信装置915と接続される。入出力I/F906は、入出力装置916と接続される。メディアI/F907は、記録媒体917からデータを読み書きする。さらに、CPU901は、RAM902に読み込んだプログラム(アプリケーションや、その略のアプリとも呼ばれる)を実行することにより、各処理部を制御する。そして、このプログラムは、通信回線を介して配布したり、CD-ROM等の記録媒体917に記録して配布したりすることも可能である。
図5は、データ収集部3の処理を示すフローチャートである。
データ収集部3は、予測モデル31Aと、その予測モデル31Aを学習した際の学習データ32Aとが記憶部4に存在するか否かを確認する(S101)。データが存在しない場合、データ収集部3は、運用システム1から予測モデル31Aとその学習データ32Aとを取得する(S102)。次に、データ収集部3は、運用システム1から常に最新の運用データ33Bを取得する(S103)。最後に、データ収集部3は、S102,S103で取得したデータを記憶部4へ格納する(S104)。
図6は、ドリフト検出ロジック構築部5の処理を示すフローチャートである。このフローチャートはインターフェイス部7からの入力により開始される。なお、インターフェイス部7は他システムと連携し、ドリフト検出ロジック構築部5の処理開始信号を取得しても良い。
まず、学習時精度指標計算部51は、学習データ32Aにおける予測モデル31Aの精度指標23Aを計算する(S201)。
次に、異常検知モデル学習部52は、計算した精度指標23Aを使い、異常検知モデル24Aを学習する(S202)。
最後に、ドリフト判定基準作成部53は、学習データ32Aと異常検知モデル24Aとを用いて学習時におけるドリフト指標26Aを計算し、ドリフト指標26Aを用いてドリフト判定基準27Aを作成する(S203)。
図7は、学習時精度指標計算部51の処理(S201)の詳細を示すフローチャートである。
まず、学習時精度指標計算部51は、予測モデル31Aと学習データ32Aとを記憶部4から取得する(S301)。次に、学習時精度指標計算部51は、学習データ32Aの中から学習時の説明変数を抽出し、その説明変数を予測モデル31Aへ入力することで、学習時における予測モデル31Aの予測結果を取得する(S302)。
その後、学習時精度指標計算部51は、学習データ32Aの中から学習時の目的変数を抽出し、その目的変数とS302の予測結果とを用いて精度指標23Aを計算する(S303)。
図8、図9を用いて異常検知モデル学習部52がドリフト検出部62の構築で果たす役割を示す。
図8は、学習時における絶対誤差と頻度との関係図である。
異常検知モデル24Aは、発生頻度が低い異常値DA5と、その他の正常値DA1-DA4とに学習データ32Aを分類する方法を学習する。そして、図8の学習時には図9の運用時よりも、異常検知モデル24Aは、一般的には低い異常率を出力する。なお、異常率は、全データ(正常値DA1-DA4、異常値DA5)の頻度に対する異常値DA5の頻度の割合である。
また、予測モデル31Aは、予測モデル31Aが出力する予測値と、学習データ32Aの実測値との間の絶対誤差がなるべく少なくなるように学習されている。よって、図8では、異常値DA5は、正常値DA1-DA4よりも大きな絶対誤差のデータである。
図9は、運用時に予測モデルが精度劣化した場合における絶対誤差と頻度との関係図である。
図9では、異常検知モデル24Aは、発生頻度が低い異常値DB5と、その他の正常値DB1-DB4とに運用データ33Bを分類する。つまり、異常検知モデル24Aは、学習データ32Aの分類ロジックと、運用データ33Bの分類ロジックとで、同じロジックを用いる。
しかし、異常値DB5の頻度は、図8の異常値DA5の頻度よりも高いので、図9の運用時には、異常検知モデル24Aは、図8の異常率よりも約2倍の高い異常率を出力する。高い異常率は、予測モデル31Aが運用データ33Bに対して不適合であり、予測モデル31Aの精度が学習時よりも劣化したことを示す。
このように、学習データ32Aに適合して学習された予測モデル31Aを評価する異常検知モデル24Aは、学習データ32Aとはデータ傾向が異なる(コンセプトドリフトした)運用データ33Bに対しては、高い異常率を出力する。この異常率をエラー率25Bとして用いることで、非特許文献1のようなCD検出部28Bを予測モデル31Aに適用することが可能である。
予測モデル監視システム2は、予測モデル31Aを分類モデルとしてCD検出部28Bに適用可能とするため、CD検出部28Bの前処理部として異常検知モデル24Aを構築する。これにより、設計者による分類ロジックのカスタマイズが不要となるので、設計者のノウハウに依らない精度劣化検出が可能となり、均一な予測モデル監視性能を実現できる。
図10は、異常検知モデル学習部52の処理(S202)の詳細を示すフローチャートである。
まず、異常検知モデル学習部52は、使用する異常検知モデル24Aの学習パラメータを記憶部4から取得する(S401)。
次に、異常検知モデル学習部52は、学習時精度指標計算部51で計算した精度指標23Aを用いて異常検知モデル24Aの学習を行う(S402)。その後、異常検知モデル学習部52は、異常検知モデル24Aを記憶部4に格納する(S403)。
以下、ドリフト判定基準作成部53がドリフト検出部62の構築で果たす役割を示す。CD検出部28Bは、運用データ33Bから精度劣化を伴うコンセプトドリフトを検出する。そのため、運用システム1で稼働中の予測モデル31Aが学習時よりも高い精度を示していても、運用データ33Bの中で精度劣化しているとコンセプトドリフトとして検出するが、一般に運用時の精度が学習時の精度よりも高いときに精度劣化を伴うコンセプトドリフトと検出することは適切ではないことが多い。
そこで、ドリフト判定基準作成部53を用いてドリフト判定基準27Aを作成することで、学習時よりも精度が高いときにドリフト検出部62がコンセプトドリフトを検出することを防止する。
非特許文献1のようなCD検出部28Bでは、運用データ33Bを処理することでドリフト指標26Bを計算し、ドリフト指標26Bの推移を統計的に処理してコンセプトドリフト検出を行っている。例えば、非特許文献1ではエラー率25Bの平均値と標準偏差をドリフト指標26Bとしている。予測モデル監視システム2は、学習時におけるドリフト指標26Aを計算し、ドリフト検出部62の処理におけるドリフト判定基準27Aとすることで、運用時の精度が学習時よりも高い精度ときに、コンセプトドリフトを検出しないことができる。
図11は、ドリフト指標26Aとドリフト判定基準27Aとの説明図である。
図11ではドリフト指標26Aの平均値をドリフト判定基準27Aとしているが、最大値、中央値などを使用しても良い。
図12は、ドリフト判定基準作成部53の処理(S203)の詳細を示すフローチャートである。
まず、ドリフト判定基準作成部53は、精度指標23Aの計算結果と学習した異常検知モデル24Aとを用いて、エラー率25Aを計算する(S501)。次に、ドリフト判定基準作成部53は、計算したエラー率25Aを用いてドリフト検出部62で使用するCD検出部28Bに合わせたドリフト指標26Aを計算する(S502)。最後に、ドリフト判定基準作成部53は、ドリフト指標26Aからドリフト判定基準27Aとなる数値(平均値、最大値など)を計算し、その計算結果を記憶部4に格納する(S503)。
図13は、精度監視部6の処理を示すフローチャートである。
まず、精度監視部6は、運用時における予測モデル31Aの精度指標23Bを計算し(S601)、計算した精度指標23Bと記憶部4から取得したデータとからドリフト検出部62でドリフトを検出する(S602)。
次に、精度監視部6は、精度監視部6で処理した以下に例示するデータを記憶部4へ格納する(S603)。
・運用時精度指標計算部61で計算した運用時の精度指標23B
・ドリフト検出部62で計算したコンセプトドリフト検出結果
次に、精度監視部6は、精度監視終了の信号入力があるか否かを確認する(S604)。精度監視終了の信号は、運用システム1が停止したときや、インターフェイス部7によって入力される。精度監視終了の信号入力があれば、精度監視部6の処理を終了する。
精度監視終了の信号入力がなければ、精度監視部6は、記憶部4に格納されている運用データ33Bが更新されたか否かを確認する(S605)。運用データ33Bが更新されていなければS604に戻り、運用データ33Bが更新されていればS601に戻る。
図14は、運用時精度指標計算部61の処理(S601)を示すフローチャートである。
この図14は、図7に示した学習時精度指標計算部51で記載していた学習データ32Aの処理(S301~S303)を、運用データ33Bの処理(S701~S703)に置き換えたものである。
運用時精度指標計算部61は、予測モデル31Aと運用データ33Bとを記憶部4から取得する(S701)。運用時精度指標計算部61は、運用時の説明変数を予測モデル31Aに入力し、予測結果を取得する(S702)。運用時精度指標計算部61は、運用時の目的変数と予測結果とから精度指標23Bを計算する(S703)。
図15は、ドリフト検出部62の処理を示すフローチャートである。
まず、ドリフト検出部62は、ドリフト検出に必要な情報を記憶部4から取得する(S801)。S801の必要な情報は、異常検知モデル24A、運用データ33B、ドリフト判定基準27Aである。
次に、ドリフト検出部62は、運用時精度指標計算部61で計算した精度指標23Bの計算結果を異常検知モデル24Aへ入力し、エラー率25Bを計算する(S802)。
次に、ドリフト検出部62は、エラー率25Bを用いて、CD検出部28Bで使用するドリフト指標26Bを計算する(S803)。
次に、ドリフト検出部62は、ドリフト指標26BをCD検出部28Bに入力する(S804)。次に、ドリフト検出部62は、CD検出部28Bによって、コンセプトドリフトを検出したか否かを確認する(S805)。検出した場合はS806へ進み、検出しなかった場合はS807に進む。
S806に進んだ場合はドリフト指標26Bがドリフト判定基準27Aよりも大きいか否かを比較する(S806)。ドリフト指標26Bがドリフト判定基準27ABよりも小さい場合、運用中の予測モデル精度27Bは学習時の予測モデル精度27Aよりも高いため、S807へ進み、精度劣化の検出結果を「検出なし」とする。これにより、コンセプトドリフト技術が検出した偽陽性(false positive)の「検出あり」の結果を、「検出なし」として正しく修正できる。
一方、ドリフト指標26Bがドリフト判定基準27Aよりも大きい場合、運用中の予測モデル精度は学習時よりも低いためS808へ進み、精度劣化の検出結果を「検出あり」とする。
ドリフト検出部62は、精度劣化の検出結果をシステムデータ入出力部15から出力し、処理を終了する。
図16は、システムデータ入出力部15の説明図である。
ドリフト検出部62は、システムデータ入出力部15を介して運用時の精度指標23を計算した結果を、図16の時系列グラフとして画面表示するとともに、その時系列グラフに、コンセプトドリフトが発生した時点(下記の時刻t3)を示す情報も併せて表示する。
システムデータ入出力部15では、記憶部4に格納されているデータの出力と、予測モデル監視システム2のパラメータを記憶部4に入力することができる。記憶部4に格納されているデータとしては、表示タブにあるように、予測モデル31Aの精度指標23B、学習データ32A、運用データ33B、エラー率25Bなどのパラメータ、ドリフト指標26B、エラー率25Bなどがある。図16の構成例では、精度劣化検出時における精度指標23Bを表示している。
図16ではグラフとして表示しているが、時系列の表形式など表示方法は自由に決めてよい。また、予測モデル監視システム2のデータを処理し、その結果を表示しても良い。図16の構成例では、精度指標23の傾きを用いて精度劣化開始点を算出し、グラフ上に表示している。パラメータ入力の例としては、異常検知モデル24Aとして想定したIsolation Forestの学習パラメータ(異常率)などがある。
以下、図16のグラフ上の特徴的な点について説明する。
時刻t1は、精度指標の外れ値を示している。ドリフト検出部62は、このような外れ値やノイズのような瞬間的な精度劣化は検出しないため、時刻t1では精度劣化を検出しない。
時刻t2は、予測モデルの精度劣化開始時刻を示している。時刻t2を求める方法は、先述の通り精度指標23Bの傾きを用いるなどの方法がある。
時刻t3は、ドリフト検出部62によって予測モデルの精度劣化を検出したことを示している。ドリフト検出部62は、長期的な精度劣化を検出可能である。ドリフト検出部62は、時刻t2から継続的に精度劣化が発生したときに、時刻t3において精度劣化を検出し、システムデータ入出力部15へ出力する。
以上説明した本実施形態の予測モデル監視システム2は、予測モデル31A向けのドリフト検出部62をドリフト検出ロジック構築部5で構築する。ドリフト検出部62の異常検知モデル24Aは、設計者のノウハウに依らない分類モデル向けのCD検出部28Bの適用を可能とする。
これにより、長期的な精度劣化検出が可能になり、予測モデルの精度維持を目的とした再学習が効率的に行える。また、予測モデルの再学習要否の条件が明確化されることで、予測モデルのメンテナンス作業に関する説明性向上と効率化が可能である。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、本発明の予測モデル監視システム2を他システムと連携させることなどが考えられる。上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
さらに、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。ハードウェアとして、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などの広義のプロセッサデバイスを用いてもよい。
また、上述した予測モデル監視システム2の各構成要素は、それぞれのハードウェアがネットワークを介して互いに情報を送受信できるならば、いずれのハードウェアに実装されてもよい。また、ある処理部により実行される処理が、1つのハードウェアにより実現されてもよいし、複数のハードウェアによる分散処理により実現されてもよい。
1 運用システム
2 予測モデル監視システム(精度監視装置)
3 データ収集部
4 記憶部
5 ドリフト検出ロジック構築部
6 精度監視部
7 インターフェイス部
15 システムデータ入出力部
23 精度指標
24A 異常検知モデル
25 エラー率
26 ドリフト指標
27A ドリフト判定基準
28B CD検出部(コンセプトドリフト検出部)
31A 予測モデル
32A 学習データ
33B 運用データ
51 学習時精度指標計算部
52 異常検知モデル学習部
53 ドリフト判定基準作成部
61 運用時精度指標計算部
62 ドリフト検出部

Claims (7)

  1. 運用システムの各機器から取得される学習データと、その学習データを学習した予測モデルと、前記運用システムの運用時に取得した運用データとを収集するデータ収集部と、
    前記予測モデルと前記運用データとの間のコンセプトドリフトを検出するドリフト検出部を構築するドリフト検出ロジック構築部とを備えており、
    前記ドリフト検出ロジック構築部は、異常検知モデルとコンセプトドリフト検出部とを含む前記ドリフト検出部を構築し、
    前記異常検知モデルは、前記学習データおよび前記運用データそれぞれについて、前記予測モデルが出力する予測値との間で定義される精度指標の頻度に応じて、正常値または異常値に分類する分類ロジックに沿って、前記学習データのうちの異常値の割合を示す学習時の異常率および前記運用データのうちの異常値の割合を示す運用時の異常率を計算して出力するモデルであり、
    前記コンセプトドリフト検出部は、前記異常検知モデルが出力する前記運用データの異常率を、正しくない分類がなされたエラー率として入力し、運用時の前記運用システムにコンセプトドリフトが発生したか否かを出力する処理部であり、
    前記ドリフト検出部は、前記学習時の異常率よりも前記運用時の異常率が高い状態が継続したときに、運用時の前記運用システムにコンセプトドリフトが発生した旨を出力することを特徴とする
    精度監視装置。
  2. 前記精度監視装置は、さらに、前記ドリフト検出ロジック構築部が構築した前記ドリフト検出部を用いて、前記運用システムの運用時における前記予測モデルの予測精度の劣化を検出する精度監視部を有しており、
    前記精度監視部は、前記運用データと前記予測モデルの予測結果とをもとに運用時の前記精度指標を計算し、その計算した前記精度指標を前記異常検知モデルに入力することで、運用時の前記運用システムにコンセプトドリフトが発生したか否かを前記コンセプトドリフト検出部に出力させることを特徴とする
    請求項1に記載の精度監視装置。
  3. 前記ドリフト検出ロジック構築部は、さらに、学習時の前記予測モデルの予測精度を示すドリフト判定基準を作成して、そのドリフト判定基準を前記ドリフト検出部に含めることとし、
    前記ドリフト検出部は、運用時の前記予測モデルの予測精度が前記ドリフト判定基準によりも高いときには、前記コンセプトドリフト検出部によりコンセプトドリフトが発生したとする出力を、コンセプトドリフトが発生していないという出力に修正することを特徴とする
    請求項2に記載の精度監視装置。
  4. 前記ドリフト検出部は、運用時の前記精度指標を計算した結果を時系列グラフとして画面表示するとともに、その時系列グラフに、コンセプトドリフトが発生した時点を示す情報も併せて表示することを特徴とする
    請求項2に記載の精度監視装置。
  5. 請求項1ないし請求項4のいずれか1項に記載の精度監視装置と、前記運用システムの各機器とを有することを特徴とする
    精度監視システム。
  6. 精度監視装置は、データ収集部と、ドリフト検出ロジック構築部とを備えており、
    前記データ収集部は、運用システムの各機器から取得される学習データと、その学習データを学習した予測モデルと、前記運用システムの運用時に取得した運用データとを収集し、
    前記ドリフト検出ロジック構築部は、前記予測モデルと前記運用データとの間のコンセプトドリフトを検出するドリフト検出部を構築し、
    前記ドリフト検出ロジック構築部は、異常検知モデルとコンセプトドリフト検出部とを含む前記ドリフト検出部を構築し、
    前記異常検知モデルは、前記学習データおよび前記運用データそれぞれについて、前記予測モデルが出力する予測値との間で定義される精度指標の頻度に応じて、正常値または異常値に分類する分類ロジックに沿って、前記学習データのうちの異常値の割合を示す学習時の異常率および前記運用データのうちの異常値の割合を示す運用時の異常率を計算して出力するモデルであり、
    前記コンセプトドリフト検出部は、前記異常検知モデルが出力する前記運用データの異常率を、正しくない分類がなされたエラー率として入力し、運用時の前記運用システムにコンセプトドリフトが発生したか否かを出力する処理部であり、
    前記ドリフト検出部は、前記学習時の異常率よりも前記運用時の異常率が高い状態が継続したときに、運用時の前記運用システムにコンセプトドリフトが発生した旨を出力することを特徴とする
    精度監視方法。
  7. コンピュータを、請求項1ないし請求項4のいずれか1項に記載の精度監視装置として機能させるための精度監視プログラム。
JP2022049860A 2022-03-25 2022-03-25 精度監視システム、精度監視方法、および、精度監視プログラム Pending JP2023142779A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022049860A JP2023142779A (ja) 2022-03-25 2022-03-25 精度監視システム、精度監視方法、および、精度監視プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022049860A JP2023142779A (ja) 2022-03-25 2022-03-25 精度監視システム、精度監視方法、および、精度監視プログラム

Publications (1)

Publication Number Publication Date
JP2023142779A true JP2023142779A (ja) 2023-10-05

Family

ID=88206316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022049860A Pending JP2023142779A (ja) 2022-03-25 2022-03-25 精度監視システム、精度監視方法、および、精度監視プログラム

Country Status (1)

Country Link
JP (1) JP2023142779A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024128089A1 (ja) * 2022-12-12 2024-06-20 日立造船株式会社 情報処理装置、制御システム、指標値算出方法、および指標値算出プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024128089A1 (ja) * 2022-12-12 2024-06-20 日立造船株式会社 情報処理装置、制御システム、指標値算出方法、および指標値算出プログラム

Similar Documents

Publication Publication Date Title
US11275345B2 (en) Machine learning Method and machine learning device for learning fault conditions, and fault prediction device and fault prediction system including the machine learning device
Nunes et al. Challenges in predictive maintenance–A review
Subramaniyan et al. A data-driven algorithm to predict throughput bottlenecks in a production system based on active periods of the machines
Costa et al. Failure detection in robotic arms using statistical modeling, machine learning and hybrid gradient boosting
JP5299267B2 (ja) 診断装置
Huang Bayesian methods for control loop monitoring and diagnosis
EP3827387A1 (en) Systematic prognostic analysis with dynamic causal model
JP4276623B2 (ja) 技術的設備の監視装置および方法
JP5901140B2 (ja) システムの高い可用性のためにセンサデータを補間する方法、コンピュータプログラム、システム。
Lazarova-Molnar et al. Reliability assessment in the context of industry 4.0: data as a game changer
CN117114454B (zh) 一种基于Apriori算法的直流套管状态评估方法及系统
JP4635194B2 (ja) 異常検知装置
WO2017126046A1 (ja) 画像処理装置、画像処理方法および画像処理プログラム
Karamthulla et al. AI-powered Self-healing Systems for Fault Tolerant Platform Engineering: Case Studies and Challenges
JP2023142779A (ja) 精度監視システム、精度監視方法、および、精度監視プログラム
CN115769235A (zh) 提供与训练函数的准确度有关的警报的方法和系统
KR102419782B1 (ko) 인공지능 기반의 산업설비 고장예측 모델링 기법과 경보 통합 시스템 및 그 방법
Lughofer et al. Prologue: Predictive maintenance in dynamic systems
US11585732B2 (en) Apparatus and method for diagnosing failure of plant
WO2020036851A1 (en) Optimizing accuracy of machine learning algorithms for monitoring industrial machine operation
US20230091068A1 (en) Operating state classification system, and operating state classification method
WO2022259446A1 (ja) 異常原因推定装置、異常原因推定方法、及びコンピュータ読み取り可能な記録媒体
US9519565B2 (en) Method for automatically monitoring at least one component of a physical system
US20210247742A1 (en) Failure prediction model generating apparatus and method thereof
WO2021130936A1 (ja) 時系列データ処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240213