(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024174571
(43)【公開日】2024-12-17
(54)【発明の名称】指標計算装置、方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241210BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023092464
(22)【出願日】2023-06-05
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】新田 佳菜
(72)【発明者】
【氏名】村田 由香里
(57)【要約】
【課題】学習データ群と運用データ群とのずれを検知することを支援する指標計算装置、方法及びプログラムを提供することにある。
【解決手段】実施形態に係る指標計算装置は、取得手段と、作成手段と、計算手段と、判定手段と、出力手段とを具備する。取得手段は、学習データ群と運用データ群とを取得する。作成手段は、第1階級数に従って、学習データ群の第1ヒストグラムと、運用データ群の第2ヒストグラムとを作成する。計算手段は、第1及び第2ヒストグラムに基づいて指標を計算する。出力手段は、判定手段によって指標が収束したと判定された場合、指標を出力する。判定手段によって指標が収束していないと判定された場合、第2階級数に従って第1及び第2ヒストグラムが再度作成され、再度作成された第1及び第2ヒストグラムに基づいて指標が再度計算される。
【選択図】
図7
【特許請求の範囲】
【請求項1】
機械学習モデルを生成するために用いられた複数のデータを含む学習データ群と、予測値を得るために前記機械学習モデルに入力される複数のデータを含む運用データ群とを取得する取得手段と、
第1階級数に従って、前記取得された学習データ群に含まれる複数のデータの分布を表す第1ヒストグラムと、前記取得された運用データ群に含まれる複数のデータの分布を表す第2ヒストグラムとを作成する作成手段と、
前記作成された第1及び第2ヒストグラムに基づいて、前記学習データ群と前記運用データ群との類似性を表す指標を計算する計算手段と、
前記計算された指標が収束したかを判定する判定手段と、
前記計算された指標が収束したと判定された場合、当該指標を出力する出力手段と
を具備し、
前記計算された指標が収束していないと判定された場合、前記第1階級数を増加させた第2階級数に従って前記第1及び第2ヒストグラムが再度作成され、前記再度作成された第1及び第2ヒストグラムに基づいて前記指標が再度計算される
指標計算装置。
【請求項2】
前記出力された指標は、表示装置に表示される請求項1記載の指標計算装置。
【請求項3】
前記出力手段は、前記階級数毎に計算された指標を出力し、
前記階級数毎に計算された指標は、グラフ形式で表示装置に表示される
請求項1記載の指標計算装置。
【請求項4】
前記出力された指標に基づいて前記学習データ群と前記運用データ群とのずれを検知する検知手段を更に具備し、
前記検知結果は、表示装置に表示される
請求項1記載の指標計算装置。
【請求項5】
前記取得手段は、ユーザによって指定された閾値を含む収束条件を取得し、
前記判定手段は、前記計算された指標の変化量が前記取得された収束条件に含まれる閾値未満である場合に当該指標が収束したと判定する
請求項1記載の指標計算装置。
【請求項6】
前記学習データ群に含まれる複数のデータ及び前記運用データ群に含まれる複数のデータのうちの外れ値を処理する処理手段を更に具備し、
前記作成手段は、前記外れ値の処理結果に基づいて、前記第1及び第2ヒストグラムを作成する
請求項1記載の指標計算装置。
【請求項7】
前記学習データ群及び前記運用データ群の各々は、複数の第1種別のデータ及び複数の第2種別のデータを含み、
前記第1ヒストグラムは、前記学習データ群に含まれる複数の第1種別のデータの分布を表す第3ヒストグラム及び前記学習データ群に含まれる複数の第2種別のデータの分布を表す第4ヒストグラムを含み、
前記第2ヒストグラムは、前記運用データ群に含まれる複数の第1種別のデータの分布を表す第5ヒストグラム及び前記運用データ群に含まれる複数の第2種別のデータの分布を表す第6ヒストグラムを含み、
前記指標は、前記第3及び第5ヒストグラムに基づいて計算された第1指標と前記第4及び第6ヒストグラムに基づいて計算された第2指標とを含み、
前記出力手段は、前記第1及び第2指標を含む指標が収束したと判定された場合に、当該第1及び第2指標を出力する
請求項1記載の指標計算装置。
【請求項8】
前記指標は、JSD(Jensen-Shannon Divergence)を含む請求項1~7のいずれか一項に記載の指標計算装置。
【請求項9】
機械学習モデルを生成するために用いられた複数のデータを含む学習データ群と、予測値を得るために前記機械学習モデルに入力される複数のデータを含む運用データ群とを取得するステップと、
第1階級数に従って、前記取得された学習データ群に含まれる複数のデータの分布を表す第1ヒストグラムと、前記取得された運用データ群に含まれる複数のデータの分布を表す第2ヒストグラムとを作成するステップと、
前記作成された第1及び第2ヒストグラムに基づいて、前記学習データ群と前記運用データ群との類似性を表す指標を計算するステップと、
前記計算された指標が収束したかを判定するステップと、
前記計算された指標が収束したと判定された場合、当該指標を出力するステップと
を具備し、
前記計算された指標が収束していないと判定された場合、前記第1階級数を増加させた第2階級数に従って前記第1及び第2ヒストグラムが再度作成され、前記再度作成された第1及び第2ヒストグラムに基づいて前記指標が再度計算される
方法。
【請求項10】
コンピュータに、
機械学習モデルを生成するために用いられた複数のデータを含む学習データ群と、予測値を得るために前記機械学習モデルに入力される複数のデータを含む運用データ群とを取得するステップと、
第1階級数に従って、前記取得された学習データ群に含まれる複数のデータの分布を表す第1ヒストグラムと、前記取得された運用データ群に含まれる複数のデータの分布を表す第2ヒストグラムとを作成するステップと、
前記作成された第1及び第2ヒストグラムに基づいて、前記学習データ群と前記運用データ群との類似性を表す指標を計算するステップと、
前記計算された指標が収束したかを判定するステップと、
前記計算された指標が収束したと判定された場合、当該指標を出力するステップと
を実行させ、
前記計算された指標が収束していないと判定された場合、前記第1階級数を増加させた第2階級数に従って前記第1及び第2ヒストグラムが再度作成され、前記再度作成された第1及び第2ヒストグラムに基づいて前記指標が再度計算される
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、指標計算装置、方法及びプログラムに関する。
【背景技術】
【0002】
近年では、人工知能(AI:Artificial Intelligence)を搭載したシステムを運用することが知られている。
【0003】
このようなシステムは例えば機械学習(ディープラーニング)等の技術に基づいて予め用意された複数のデータを学習することによって生成された機械学習モデルを有し、当該機械学習モデルは、当該システムの運用時に得られる複数のデータの各々が入力されることによって当該データに基づく予測値を出力することができる。
【0004】
しかしながら、例えば時間の経過等に応じて、システムの運用時に機械学習モデルに入力される複数のデータ(以下、運用データ群と表記)の分布が機械学習モデルを生成するために用いられた複数のデータ(以下、学習データ群と表記)の分布とずれてしまう現象(以下、データドリフトと表記)が発生すると、当該機械学習モデルから出力すされる予測値の精度が低下する可能性がある。
【0005】
このような予測値の精度の低下は機械学習モデルが新たな学習データ群を学習することによって抑制することが可能であるが、このように予測値の精度の低下を抑制するためには、上記したデータドリフトの発生(つまり、学習データ群と運用データ群とのずれ)を適切に検知することができる仕組みが必要である。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
そこで、本願発明が解決しようとする課題は、学習データ群と運用データ群とのずれを検知するために用いられる指標計算装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0008】
実施形態に係る指標計算装置は、取得手段と、作成手段と、計算手段と、判定手段と、出力手段とを具備する。前記取得手段は、機械学習モデルを生成するために用いられた複数のデータを含む学習データ群と、予測値を得るために前記機械学習モデルに入力される複数のデータを含む運用データ群とを取得する。前記作成手段は、第1階級数に従って、前記取得された学習データ群に含まれる複数のデータの分布を表す第1ヒストグラムと、前記取得された運用データ群に含まれる複数のデータの分布を表す第2ヒストグラムとを作成する。前記計算手段は、前記作成された第1及び第2ヒストグラムに基づいて、前記学習データ群と前記運用データ群との類似性を表す指標を計算する。前記判定手段は、前記計算された指標が収束したかを判定する。前記出力手段は、前記計算された指標が収束したと判定された場合、当該指標を出力する。前記計算された指標が収束していないと判定された場合、前記第1階級数を増加させた第2階級数に従って前記第1及び第2ヒストグラムが再度作成され、前記再度作成された第1及び第2ヒストグラムに基づいて前記指標が再度計算される。
【図面の簡単な説明】
【0009】
【
図3】異なる階級数に従って作成される学習データ群に含まれる複数のデータの分布を表すヒストグラムの一例を示す図。
【
図4】異なる階級数に従って作成される運用データ群に含まれる複数のデータの分布を表すヒストグラムの一例を示す図。
【
図5】階級数に応じて計算されるJSDについて説明するための図。
【
図6】第1実施形態に係る指標計算装置の概要について説明するための図。
【
図7】指標計算装置の機能構成の一例を示すブロック図。
【
図8】指標計算装置のハードウェア構成の一例を示す図。
【
図9】指標計算装置の処理手順の一例を示すフローチャート。
【
図10】学習データ群及び運用データ群の一例を示す図。
【
図11】階級数毎に計算された指標を表すグラフの一例を示す図。
【
図12】第2実施形態に係る指標計算装置の機能構成の一例を示すブロック図。
【
図13】指標計算装置の処理手順の一例を示すフローチャート。
【
図14】学習データ群及び運用データ群の一例を示す図。
【
図15】階級数毎に計算された第1及び第2指標を表すグラフの一例を示す図。
【発明を実施するための形態】
【0010】
以下、図面を参照して、各実施形態について説明する。
(第1実施形態)
まず、第1実施形態について説明する。ここで、
図1は、AI(人工知能)を搭載したシステムの概要を示している。
【0011】
図1に示すシステムは例えば機械学習等の技術に基づいて学習データ群を学習することによって生成された機械学習モデルを有し、当該機械学習モデルは、当該システムの運用時に得られた運用データ群の各々が入力されることによって当該データに基づく予測値を出力する。
【0012】
なお、上記した学習データ群及び運用データ群は、例えばセンサによって連続的に計測された複数のデータ(時系列の数値データ)等を含む。
【0013】
このようなシステムにおいては、例えば学習データ群に含まれる複数のデータと同程度の運用データ群が機械学習モデルに入力されることによって、精度の高い予測値を出力することができる。
【0014】
一方、時間の経過に応じて運用データ群に含まれる複数のデータの分布が学習データ群に含まれる複数のデータの分布とずれてしまう現象(データドリフト)が発生すると、当該機械学習モデルから出力される予測値の精度(機械学習モデルの予測精度)が低下する可能性がある。
【0015】
換言すれば、時間経過によるデータドリフトの発生(データの分布の変動)により、機械学習モデルにおける良好な予測精度が不良になる可能性がある。
【0016】
そこで、上記した学習データ群と運用データ群との類似性を表す指標を計算し、当該指標に基づいてデータドリフトの発生(学習データ群と運用データ群とのずれ)を検知することが考えられる。このようにデータドリフトの発生が検出された場合には、運用データ群と傾向が類似する新たな学習データ群を機械学習モデルに再度学習させることによって当該機械学習モデルの予測精度を向上させることができる。
【0017】
ところで、本実施形態においては学習データ群と運用データ群との類似性を数値で表すような指標を想定しており、当該指標としては、例えばJSD(Jensen-Shannon Divergence)を用いることができる。JSDは、2つの複数のデータの分布を表すヒストグラム間の差異(距離)に基づいて計算される指標である。
【0018】
ここで、
図2を参照して、JSDの概要について説明する。
図2においては、2つのヒストグラムと当該2つのヒストグラムに基づいて計算されるJSDとの関係性が示されている。
【0019】
図2に示すように、JSDは、例えば2つのヒストグラムが重なる面積に応じて値が異なる。換言すれば、JSDは、複数のデータの分布が類似する場合に小さな値をとり、当該複数のデータの分布が異なる場合に大きな値をとる指標であるといえる。
【0020】
このようなJSD(値)を上記した学習データ群と運用データ群との類似性を表す指標として用いることによって、例えば当該指標が閾値を超えるような場合にデータドリフトの発生を検知することができると考えられる。
【0021】
ここで、上記したJSDは2つのヒストグラムに基づいて計算される指標であるが、当該ヒストグラムは、それぞれ数値の範囲が割り当てられた複数の階級を横軸に設定し、当該各階級に該当するデータ数(度数)を縦軸に表すことによって作成される。すなわち、横軸に設定される数値の範囲(つまり、階級数)を変化させることによって異なるヒストグラムが作成される。
【0022】
なお、
図3は、異なる階級数に従って作成される学習データ群に含まれる複数のデータの分布を表すヒストグラムの一例を示している。具体的には、
図3の左側は、例えば学習データ群に含まれる複数のデータの最小値から最大値までの範囲を5個の数値の範囲に分割する(つまり、階級数=5を設定する)ことによって作成されるヒストグラムを示している。
図3の右側は、学習データ群に含まれる複数のデータの最小値から最大値までの範囲を50個の数値の範囲に分割する(つまり、階級数=50を設定する)ことによって作成されるヒストグラムを示している。
図3に示すように、ヒストグラムによって表される複数のデータの分布は、設定される階級数に応じて異なる。
【0023】
また、
図4は、異なる階級数に従って作成される運用データ群に含まれる複数のデータの分布を表すヒストグラムの一例を示している。具体的には、
図4の左側は、運用データ群に含まれる複数のデータの最小値から最大値までの範囲を5個の数値の範囲に分割する(つまり、階級数=5を設定する)ことによって作成されるヒストグラムを示している。
図4の右側は、運用データ群に含まれる複数のデータの最小値から最大値までの範囲を50個の数値の範囲に分割する(つまり、階級=50を設定する)ことによって作成されるヒストグラムを示している。
【0024】
図3及び
図4に示すように異なる階級数が設定されることによって異なるヒストグラムが作成されるが、例えば
図5に示すように、
図3及び
図4の左側に示す階級数=5に従って作成された2つのヒストグラムに基づいて計算されるJSDは0.23であり、
図3及び
図4の右側に示す階級数=50に従って作成された2つのヒストグラムに基づいて計算されるJSDは0.33である。すなわち、上記したJSDのような学習データ群と運用データ群との類似性を表す指標は、ヒストグラムを作成するために設定される階級数に依存する(つまり、当該階級数に応じて値が異なる)。
【0025】
一般に、上記したJSDのような指標は予め設定された階級数に従って作成されたヒストグラムに基づいて計算される場合が多いが、全てのデータに適した階級数はない。すなわち、予め設定された階級数に従って作成されたヒストグラムは、学習データ群及び運用データ群に含まれる複数のデータの分布を適切に表していない可能性がある。よって、このようなヒストグラムに基づいて計算される指標は、学習データ群と運用データ群との類似性を正しく反映していない場合があり、上記したデータドリフトの発生を検知するために適切であるとは限らない。
【0026】
そこで、本実施形態においては、学習データ群及び運用データ群の特徴に合わせて当該学習データ群と運用データ群との類似性を表す指標の計算方法を最適化する指標計算装置を提供する。
【0027】
以下、
図6を参照して、本実施形態に係る指標計算装置の概要について説明する。
図6に示すように、本実施形態においては、学習データ群に含まれる複数のデータの分布を表すヒストグラム及び運用データ群に含まれる複数のデータの分布を表すヒストグラムに基づく指標(例えば、JSD)を、当該ヒストグラムを作成する際に設定される階級数を変化させながら計算する。
図6においては、階級数を5から50まで段階的に増加させながら作成されたヒストグラム及び当該ヒストグラムに基づいて計算された指標が示されている。
【0028】
本実施形態においては、上記したように階級数を増加させながら計算される指標も同様に増加する点に着目し、当該指標の収束値をデータドリフトの発生の検知に利用する。
【0029】
図7は、本実施形態に係る指標計算装置の機能構成の一例を示すブロック図である。
図7に示すように、指標計算装置10は、取得部11、外れ値処理部12、指標計算部13、指標評価部14、階級数設定部15及び表示処理部16を含む。
【0030】
取得部11は、上記した学習データ群及び運用データ群を取得する。また、取得部11は、後述するように指標が収束したか否かを判定するために用いられる条件(以下、収束条件と表記)を取得する。
【0031】
上記した取得部11によって取得された学習データ群及び運用データ群は複数のデータを含み、外れ値処理部12は、当該複数のデータのうちの外れ値を処理する。なお、外れ値処理部12によって実行される処理は、例えば予め定められた数値の範囲に該当しない値(データ)を外れ値とみなし、当該外れ値を当該数値の範囲に該当するデータとなるように修正するクリッピングと称される処理を含む。
【0032】
指標計算部13は、上記した外れ値処理部12によって外れ値が処理された学習データ群に含まれる複数のデータの分布を表すヒストグラム(以下、学習データ群のヒストグラムと表記)を作成する。また、指標計算部13は、上記した外れ値処理部12によって外れ値が処理された運用データ群に含まれる複数のデータの分布を表すヒストグラム(以下、運用データ群のヒストグラムと表記)を作成する。なお、学習データ群及び運用データ群のヒストグラムは、例えば同一の階級数に従って作成される。
【0033】
更に、指標計算部13は、作成された学習データ群及び運用データ群のヒストグラムに基づいて、学習データ群と運用データ群との類似性を表す指標(例えば、JSD)を計算する。
【0034】
指標評価部14は、指標計算部13によって計算された指標を評価し、上記した取得部11によって取得された収束条件に基づいて当該指標が収束したか否かを判定する。
【0035】
指標が収束していないと判定された場合、階級数設定部15は、上記した指標計算部13によってヒストグラムが作成された際の階級数を増加させた新たな階級数を設定する。このように階級数設定部15によって新たな階級数が設定された場合、指標計算部13は、当該階級数に従って学習データ群及び運用データ群のヒストグラムを再度作成し、当該作成された学習データ群及び運用データ群のヒストグラムに基づいて指標を再度計算する。
【0036】
指標が収束したと判定された場合、指標評価部14から表示処理部16に当該指標(収束値)が出力される。表示処理部16は、指標評価部14から出力された指標(収束値)を表示する。
【0037】
図8は、
図7に示す指標計算装置10のハードウェア構成の一例を示す。
図8に示すように、指標計算装置10は、CPU101、不揮発性メモリ102、主メモリ103、通信装置104、入力装置105及び表示装置106等を備える。
【0038】
CPU101は、指標計算装置10内の各コンポーネントの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ102から主メモリ103にロードされる様々なプログラムを実行する。このプログラムには、オペレーティングシステム及び上記した指標を計算するためのプログラム(以下、指標計算プログラムと表記)等が含まれる。
【0039】
通信装置104は、例えば指標計算装置10とは異なる外部装置との通信を実行するように構成されている。入力装置105は、各種情報を入力するように構成され、例えばマウス及びキーボード等を含む。表示装置106は、各種情報を表示するように構成され、例えばディスプレイ等を含む。
【0040】
なお、
図8においては不揮発性メモリ102及び主メモリ103のみが示されているが、指標計算装置10は、例えばHDD(Hard Disk Drive)及びSSD(Solid State Drive)等の他の記憶装置を更に備えていてもよい。また、指標計算装置10は、
図8に示されていない他の装置を備えていてもよい。
【0041】
本実施形態において、
図7に示す各部11~16の一部または全ては、
図8に示すCPU101に上記した指標計算プログラムを実行させること、すなわち、ソフトウェアによって実現されるものとする。この指標計算プログラムは、ネットワークを介して指標計算装置10にダウンロードされてもよいし、記憶媒体に格納されて頒布されてもよい。また、各部11~16の一部または全ては、IC(Integrated Circuit)等のハードウェアによって実現されてもよいし、ソフトウェア及びハードウェアを組み合わせた構成によって実現されてもよい。
【0042】
次に、
図9のフローチャートを参照して、本実施形態に係る指標計算装置10の処理手順の一例について説明する。なお、
図9に示す処理は、例えば上記したシステムの運用時にデータドリフトの発生を検知する(モニタリングする)ために定期的に実行される。
【0043】
まず、取得部11は、学習データ群、運用データ群及び収束条件を取得(入力)する(ステップS1)。
【0044】
ここで、例えばプラントにおいて稼働する設備(機器)に取り付けられたセンサによって連続的に計測された複数のデータ(当該センサから収集された時系列の数値データ)を含む学習データ群を学習することによって生成された機械学習モデルを有するシステムを運用する場合を想定する。なお、このようなシステムにおいて、機械学習モデルは、学習データ群と同様の運用データ群に含まれる複数のデータの各々を入力することによって、センサが取り付けられている設備の異常度等を予測値として出力するように構築されているものとする。
【0045】
この場合、ステップS1においては、例えば
図10に示すような学習データ群及び運用データ群が取得される。
図10に示すように、学習データ群及び運用データ群は、それぞれ例えば日時毎にセンサによって計測された数値データを含む。なお、学習データ群及び運用データ群は、例えば指標計算装置10の外部に設けられているサーバ装置等から取得(受信)されてもよいし、当該指標計算装置10に設けられているデータベース等の格納部(図示せず)から取得されてもよい。
【0046】
また、ステップS1においては、例えば「階級数増加に伴うJSDの変化量が0.001未満」のような収束条件が取得される。すなわち、ステップS1において取得される収束条件には、閾値(ここでは、0.001)が含まれる。なお、収束条件(に含まれる閾値)は、指標計算装置10内に予め保持されていてもよいし、例えばユーザが入力装置105を操作することによって指定(入力)されてもよい。
【0047】
次に、外れ値処理部12は、ステップS1において取得された学習データ群及び運用データ群に含まれる複数のデータのうちの外れ値を処理する(ステップS2)。この場合、外れ値処理部12は、学習データ群及び運用データ群に含まれる複数のデータ(数値データ)のうち、予め定められた数値の範囲に該当しないデータを外れ値として特定し、当該データを当該数値の範囲に該当するデータとなるように修正する。具体的には、外れ値は、例えば予め定められた数値の範囲の最大値及び最小値のうちの近い値となるように修正される。ここでは、外れ値を修正する処理が実行されるものとして説明したが、ステップS2においては、当該外れ値として特定されたデータを学習データ群及び運用データ群から除外するような処理が実行されてもよい。
【0048】
以下の説明においては、ステップS2において外れ値が処理された学習データ群及び運用データ群を、単に学習データ群及び運用データ群と称する。
【0049】
ここで、指標計算部13内には例えば初期値に相当する階級数が予め設定(保持)されており、当該指標計算部13は、当該階級数(初期値)に従って学習データ群及び運用データ群のヒストグラムを作成する(ステップS3)。ステップS3においては、上記したように階級数によって定められる複数の数値の範囲の各々を横軸に設定し、当該複数の数値の範囲の各々に該当するデータ数を縦軸に表すことによって、学習データ群及び運用データ群のヒストグラムを作成する。
【0050】
次に、指標計算部13は、ステップS3において作成された学習データ群及び運用データ群のヒストグラムに基づいて、当該学習データ群と当該運用データ群との類似性(差異)を表す指標を計算する(ステップS4)。
【0051】
なお、ステップS4における指標の計算には、例えば以下の式(1)~(3)が用いられる。
【数1】
【0052】
ステップS4の処理が実行されると、階級数設定部15は、上記したステップS3においてヒストグラムが作成された際の階級数(初期値)に所定の値(増分)を加算することによって得られる新たな階級数を設定する(ステップS5)。なお、ステップS5において階級数(初期値)に加算される値は、当該ステップS5の処理が実行される回数(指標計算の試行回数)に応じて増加するものとする。
【0053】
この場合、指標計算部13は、ステップS5において設定された階級数に従って学習データ群及び運用データ群のヒストグラムを作成する(ステップS6)。
【0054】
次に、指標計算部13は、ステップS6において作成された学習データ群及び運用データ群のヒストグラムに基づいて指標を計算する(ステップS7)。
【0055】
なお、ステップS6及びS7の処理は、階級数が異なる点以外は上記したステップS3及びS4の処理と同様である。
【0056】
ステップS7の処理が実行されると、指標評価部14は、ステップS4において計算された指標及びステップS7において計算された指標に基づいて、当該指標がステップS1において取得された収束条件を満たすか否かを判定する(ステップS8)。この場合、指標評価部14は、ステップS4において計算された指標とステップS7において計算された指標との差分(つまり、指標の変化量)を計算し、当該差分が収束条件に含まれる閾値未満である場合に、指標が収束条件を満たすと判定する。一方、指標評価部14は、計算された差分が収束条件に含まれる閾値未満でない場合に、指標が収束条件を満たさないと判定する。
【0057】
指標が収束条件を満たさないと判定された場合(ステップS8のNO)、当該指標が収束していないとみなし、ステップS5に戻って処理が繰り返される。このように繰り返されるステップS5においては、少なくとも前回のステップS5において設定された階級数よりも多い階級数が設定される。
【0058】
一方、指標が収束条件を満たすと判定された場合(ステップS8のYES)、指標評価部14は、指標が収束したとみなし、ステップS7において計算された指標を収束値として出力する(ステップS9)。
【0059】
ステップS9の処理が実行された場合、例えば表示処理部16は、当該ステップS9において指標評価部14から出力された指標(収束値)を表示装置106に表示することができる。
【0060】
なお、ここではステップS9において指標評価部14が収束値である指標を出力するものとして説明したが、当該指標評価部14は、例えばステップS4及びS7において計算された全ての指標(つまり、階級数毎に計算された指標)を出力する構成であってもよい。この場合、表示処理部16は、
図11に示すような指標評価部14から出力された階級数毎に計算された指標(階級数の各々に応じた指標)を表すグラフを作成し、当該作成されたグラフを表示することができる。ここでは階級数の各々に応じた指標を表すグラフが表示される(つまり、各階級数に応じた指標がグラフ形式で表示される)ものとして説明したが、当該各階級数に応じた指標は、表のような他の形式で表示されてもよい。
【0061】
更に、表示処理部16は、例えば指標評価部14から出力された指標(収束値)に基づいてデータドリフトの発生(学習データ群と運用データ群とのずれ)を検知する検知部(図示せず)を含み、当該検知部による検知結果を表示する構成であってもよい。具体的には、指標評価部14から出力された指標が例えばJSDであるものとすると、表示処理部16は、当該JSDが閾値を超えている(つまり、データドリフトが発生しているとみなすことができる程度にJSDが高い値である)場合にデータドリフトの発生を検知することができる。
【0062】
また、上記したステップS9において指標評価部14から出力された指標は、例えば指標計算装置10の外部装置に送信され、当該外部装置において表示されてもよいし、当該外部装置において実行される処理等に用いられてもよい。
【0063】
上記したように本実施形態においては、機械学習モデルを生成するために用いられた複数のデータを含む学習データ群と、予測値を得るために当該機械学習モデルに入力される複数のデータを含む運用データ群とを取得し、第1階級数に従って、当該取得された学習データ群のヒストグラム(第1ヒストグラム)と、当該取得された運用データ群のヒストグラム(第2ヒストグラム)とを作成し、当該作成された学習データ群及び運用データ群のヒストグラムに基づいて、学習データ群と運用データ群との類似性を表す指標を計算する。本実施形態においては、このように計算された指標が収束したと判定された場合に、当該指標(収束値)が出力される。また、本実施形態においては、このように計算された指標が収束していないと判定された場合に、第1階級数を増加させた第2階級数に従って学習データ群及び運用データ群のヒストグラムが再度作成され、当該再度作成された学習データ群及び運用データ群のヒストグラムに基づいて指標が再度計算される。換言すれば、本実施形態に係る指標計算装置10は、収束するまで階級数を増加させながら指標を計算するように動作する。
【0064】
本実施形態においては、上記した構成により計算された適切な指標を用いて学習データ群と運用データ群とのずれ(データドリフトの発生)を検知することが可能となる。
【0065】
ここで、上記したように本実施形態における指標がJSDである場合、当該JSDは、
図6において説明したように階級数の増加に伴って増加する。本実施形態においては、このような階級数に応じて増加するJSDの収束値を出力する構成であり、当該収束値は学習データ群と運用データ群とのずれを表すJSDの最大値に相当するため、データドリフトの発生の検知漏れの可能性を低減することができる。
【0066】
具体的に
図6を参照して説明すると、例えば予め定められた階級数に従って計算されたJSDが0.30以上である場合にデータドリフトの発生を検知する場合を想定する。この場合、例えば予め定められた階級数=11に従って計算されるJSDは0.29であり、このようなJSDによればデータドリフトの発生は検知されない。これに対して、本実施形態においては階級数を増加させながらJSDを計算することによって階級数=50に従って計算されるJSDの収束値である0.33を出力する構成であるため、当該JSDによりデータドリフトの発生を検知することができる。
【0067】
換言すれば、上記したように単に予め定められた階級数に従って指標を計算する構成においては、学習データ群及び運用データ群によっては当該階級数で複数のデータの分布を適切に表現することができていない可能性があるとともに、このように計算された指標が学習データ群と運用データ群とのずれを正しく反映できているのか(つまり、当該指標の妥当性)をユーザが判断することができない。
【0068】
しかしながら、本実施形態においては、階級数を増加させながら計算される指標の収束値(複数のデータの分布を適切に表現していると推測される階級数に従って計算された指標)が出力されるため、ユーザは当該指標の妥当性を判断する必要がない。
【0069】
なお、本実施形態においては、上記したように出力された指標を表示装置106に表示することができる。このような構成によれば、ユーザは、表示装置106に表示された指標を確認することによって、データドリフトの発生を検知(判断)することが可能となる。
【0070】
また、本実施形態においては、例えば階級数毎に計算された指標がグラフ形式で表示装置106に表示されてもよい。このような構成によれば、階級数毎に計算された指標の推移を可視化することが可能となるため、ユーザは、より適切にデータドリフトの発生を検知することができる可能性がある。
【0071】
更に、本実施形態は、上記した指標に基づいてデータドリフトの発生(学習データ群と運用データ群とのずれ)が自動的に検知され、当該検知結果が表示装置106に表示される構成であってもよい。このような構成によれば、例えば指標に基づいてデータドリフトの発生を判断する知識をユーザが有していないような場合であっても、当該ユーザはデータドリフトの発生を把握(認識)することができる。
【0072】
また、本実施形態においては、例えばユーザによって指定された閾値を含む収束条件を取得し、計算された指標の変化量(差分)が当該収束条件に含まれる閾値未満である場合に当該指標が収束したと判定する。本実施形態においては、このような構成により、指標の収束を適切に判定し、当該指標の収束値を出力することが可能となる。
【0073】
更に、本実施形態においては学習データ群及び運用データ群のヒストグラムに基づいて指標が計算されるが、当該学習データ群に含まれる複数のデータ及び当該運用データ群に含まれる複数のデータのうちの外れ値は、当該ヒストグラムに影響を与える場合がある。換言すれば、例えば外れ値に相当するデータが学習データ群及び運用データ群に混入した場合、このような学習データ群及び運用データ群のヒストグラムは指標の計算に適切でない場合がある。このため、本実施形態においては、学習データ群に含まれる複数のデータ及び運用データ群に含まれる複数のデータのうちの外れ値を処理し、当該外れ値の処理結果に基づいて学習データ群及び運用データ群のヒストグラムを作成する。本実施形態においては、このような構成により、外れ値の影響を緩和し、適切なヒストグラムの作成及び精度の高い指標の計算を実現することができる。
【0074】
なお、本実施形態においては外れ値を処理するものとして説明したが、例えば学習データ群及び運用データ群に外れ値が混入する可能性が低いことが想定される状況下においては、外れ値に対する処理(つまり、
図9に示すステップS2の処理)は省略されても構わない。
【0075】
また、本実施形態においては学習データ群と運用データ群との類似性を表す指標として主にJSDについて説明したが、当該指標は、学習データ群のヒストグラム(学習データ群に含まれる複数のデータの分布)及び運用データ群のヒストグラム(運用データ群に含まれる複数のデータの分布)に基づいて計算されるものであればよく、当該分布間の乖離度または類似度に相当する値であっても構わない。具体的には、指標は、KLD(Kullback-Leibler Divergence)等であってもよい。
【0076】
(第2実施形態)
次に、第2実施形態について説明する。前述した第1実施形態においては学習データ群及び運用データ群に含まれるデータの種別が1つである場合を想定しているが、本実施形態は、学習データ群及び運用データ群に含まれるデータの種別が2つである点で、当該第1実施形態とは異なる。
【0077】
図12は、本実施形態に係る指標計算装置の機能構成の一例を示すブロック図である。
図12においては、前述した
図7と同様の部分には同一参照符号を付して、その詳しい説明を省略する。ここでは、前述した
図7と異なる部分について主に述べる。
【0078】
図12に示すように、指標計算装置10は、指標合計部17を含む。なお、指標合計部17は、各部11~16と同様に、ソフトウェアによって実現されてもよし、ハードウェアによって実現されてもよいし、ソフトウェア及びハードウェアを組み合わせた構成によって実現されてもよい。
【0079】
ここで、本実施形態において取得部11によって取得される学習データ群及び運用データ群は、例えば複数の第1種別データ及び複数の第2種別データを含むものとする。なお、第1種別データとは例えば第1センサによって計測されたデータであり、第2種別データとは例えば第1センサとは異なる第2センサによって計測されたデータである。
【0080】
また、本実施形態において指標計算部13によって作成される学習データ群のヒストグラムは、取得部11によって取得された学習データ群(外れ値処理部12によって外れ値が処理された学習データ群)に含まれる複数の第1種別データの分布を表すヒストグラム及び当該学習データ群に含まれる複数の第2種別データの分布を表すヒストグラムを含む。
【0081】
同様に、本実施形態において指標計算部13によって作成される運用データ群のヒストグラムは、取得部11によって取得された運用データ群(外れ値処理部12によって外れ値が処理された運用データ群)に含まれる複数の第1種別データの分布を表すヒストグラム及び当該運用データ群に含まれる複数の第2種別データの分布を表すヒストグラムを含む。
【0082】
更に、本実施形態において指標計算部13によって計算される指標は、上記した学習データ群のヒストグラム及び運用データ群のヒストグラムに基づいて計算されるデータの種別毎の指標を含む。
【0083】
指標合計部17は、指標計算部13によって計算されたデータの種別毎の指標を合計する。
【0084】
本実施形態において指標評価部14は、指標合計部17によってデータの種別毎の指標が合計された結果に対して収束条件を適用し、当該指標が収束したか否かを判定する。
【0085】
なお、本実施形態において指標が収束したと判定された場合、指標評価部14から表示処理部16にデータの種別毎の指標(収束値)が出力される。
【0086】
ここでは本実施形態に係る指標計算装置10の機能構成について説明したが、本実施形態における指標計算装置10のハードウェア構成は前述した第1実施形態と同様であるため、当該ハードウェア構成については、適宜、
図8を用いて説明する。
【0087】
次に、
図13のフローチャートを参照して、本実施形態に係る指標計算装置10の処理手順の一例について説明する。なお、
図13に示す処理は、前述した
図9に示す処理と同様に、例えば上記したシステムの運用時にデータドリフトの発生を検知する(モニタリングする)ために定期的に実行される。
【0088】
まず、取得部11は、学習データ群、運用データ群及び収束条件を取得する(ステップS11)。
【0089】
ここでは、例えばプラントにおいて稼働する設備(機器)に取り付けられた第1センサによって連続的に計測された複数の第1種別データ及び第2センサによって連続的に計測された複数の第2種別データを含む学習データ群を学習することによって機械学習モデルが生成されており、当該機械学習モデルは、学習データ群と同様の運用データ群に含まれる複数の第1種別データの各々及び複数の第2種別データの各々(つまり、対応する第1及び第2種別データのセット)を入力することによって、当該設備の異常度等を予測値として出力するように構築されているものとする。
【0090】
この場合、ステップS11においては、例えば
図14に示すような学習データ群及び運用データ群が取得される。なお、
図14において第1センサに対応づけられている数値データが日時毎に当該第1センサによって計測された第1種別データに相当し、第2センサに対応づけられている数値データが日時毎に当該第2センサによって計測された第2種別データに相当する。
【0091】
また、ステップS11においては、前述した第1実施形態と同様に、閾値を含む収束条件が取得される。
【0092】
ステップS11の処理が実行されると、前述した
図9に示すステップS2の処理に相当するステップS12の処理が実行される。
【0093】
以下の説明においては、ステップS12において外れ値が処理された学習データ群及び運用データ群を、単に学習データ群及び運用データ群と称する。
【0094】
次に、指標計算部13は、前述した第1実施形態において説明した初期値に相当する階級数に従って、データの種別毎に、学習データ群及び運用データ群のヒストグラムを作成する(ステップS13)。ステップS13においては、学習データ群に含まれる複数の第1種別データの分布を表すヒストグラム(以下、学習データ群の第1ヒストグラムと表記)、学習データ群に含まれる複数の第2種別データの分布を表すヒストグラム(以下、学習データ群の第2ヒストグラムと表記)、運用データ群に含まれる複数の第1種別データの分布を表すヒストグラム(以下、運用データ群の第1ヒストグラムと表記)及び運用データ群に含まれる複数の第2種別データの分布を表すヒストグラム(以下、運用データ群の第2ヒストグラムと表記)が作成される。
【0095】
ステップS13の処理が実行されると、指標計算部13は、当該ステップS13において作成された学習データ群の第1及び第2ヒストグラムと運用データ群の第1及び第2ヒストグラムとに基づいて、データの種別毎に指標を計算する(ステップS14)。ステップS14においては、学習データ群の第1ヒストグラム及び運用データ群の第1ヒストグラムに基づいて指標(以下、第1指標と表記)が計算され、学習データ群の第2ヒストグラム及び運用データ群の第2ヒストグラムに基づいて指標(以下、第2指標と表記)が計算される。
【0096】
なお、上記したステップS13及びS14の処理は、ヒストグラムの作成及び指標の計算がデータの種別毎に実行される点以外は前述した
図9に示すステップS3及びS4の処理に相当するため、ここではその詳しい説明を省略する。
【0097】
次に、指標合計部17は、ステップS14において計算された第1及び第2指標を合計する(ステップS15)。
【0098】
ステップS15の処理が実行されると、前述した
図9に示すステップS5の処理に相当するステップS16の処理が実行される。
【0099】
この場合、指標計算部13は、ステップS16において設定された階級数に従って、データの種別毎に、学習データ群及び運用データ群のヒストグラムを作成する(ステップS17)。
【0100】
次に、指標計算部13は、ステップS17において作成された学習データ群及び運用データ群のヒストグラムに基づいて、データの種別毎に指標を計算する(ステップS18)。
【0101】
なお、ステップS17及びS18の処理は、階級数が異なる点以外は上記したステップS13及びS14の処理と同様である。すなわち、ステップS17においては、学習データ群の第1及び第2ヒストグラムと、運用データ群の第1及び第2ヒストグラムとが作成される。また、ステップS18においては、第1及び第2指標が計算される。
【0102】
次に、指標合計部17は、ステップS18において計算された第1及び第2指標を合計する(ステップS19)。
【0103】
ステップS19の処理が実行されると、指標評価部14は、ステップS15において第1及び第2指標が合計された結果(以下、第1指標合計値と表記)及びステップS19において第1及び第2指標が合計された結果(以下、第2指標合計値と表記)に基づいて、指標(第1及び第2指標)がステップS11において取得された収束条件を満たすか否かを判定する(ステップS20)。この場合、指標評価部14は、第1指標合計値と第2指標合計値との差分(つまり、指標合計値の変化量)を計算し、当該差分が収束条件に含まれる閾値未満である場合に、指標が収束条件を満たすと判定する。一方、指標評価部14は、計算された差分が収束条件に含まれる閾値未満でない場合に、指標が収束条件を満たさないと判定する。
【0104】
なお、上記したように異なる種別のデータを含むデータ群でヒストグラム(度数分布)を作成する場合、当該種別間で階級数を一律に揃えることが好ましいと考えられる。このため、本実施形態においては、同一の階級数に従ってデータの種別毎に作成されたヒストグラムに基づいて計算された第1及び第2指標の合計値に対して収束条件を適用する構成を採用する。
【0105】
指標が収束条件を満たさないと判定された場合(ステップS20のNO)、当該指標が収束していないとみなし、ステップS16に戻って処理が繰り返される。このように繰り返されるステップS16においては、少なくとも前回のステップS16において設定された階級数よりも多い階級数が設定される。
【0106】
一方、指標が収束条件を満たすと判定された場合(ステップS20のYES)、指標評価部14は、当該指標が収束したとみなし、データの種別毎に指標を出力する(ステップS21)。具体的には、ステップS21においては、上記したステップS18において計算された第1及び第2指標が収束値として出力される。
【0107】
ステップS21の処理が実行された場合、例えば表示処理部16は、当該ステップS21において出力された第1及び第2指標を表示装置106に表示することができる。
【0108】
また、指標評価部14が例えばステップS14及びS18において計算された全ての指標(つまり、階級数毎に計算された第1及び第2指標)を出力する構成である場合、表示処理部16は、
図15に示すような階級数毎に計算された第1指標を表すグラフ及び階級毎に計算された第2指標を表すグラフ(つまり、データの種別毎のグラフ)を作成し、当該作成されたグラフを表示してもよい。なお、
図15においては第1及び第2指標の各々に対して作成された2つのグラフが別々に示されているが、表示処理部16は、当該2つのグラフを重ねて表示するようにしてもよい。
【0109】
更に、表示処理部16は、例えば指標評価部14から出力された第1及び第2指標(収束値)に基づいてデータドリフトの発生(学習データ群と運用データ群とのずれ)を検知する検知部(図示せず)を含み、当該検知部による検知結果を表示する構成であってもよい。具体的には、指標評価部14から出力された第1及び第2指標がJSDであるものとすると、表示処理部16は、当該第1及び第2指標の少なくとも一方が閾値を超えている場合にデータドリフトの発生を検知することができる。なお、データドリフトの発生は、第1及び第2指標の合計値または平均値のような代表値が閾値を超えている場合に検知されてもよい。
【0110】
また、上記したステップS21において指標評価部14から出力された第1及び第2指標は、例えば指標計算装置10の外部装置に送信され、当該外部装置において表示されてもよいし、当該外部装置において実行される処理等に用いられてもよい。
【0111】
なお、上記した
図13においては第1及び第2指標の合計値に対して収束条件が適用されるものとして説明したが、例えば第1及び第2指標の各々に対して収束条件を適用してもよい。この場合、第1及び第2指標の一方が収束条件を満たすと判定された場合にステップS21の処理が実行されてもよいし、当該第1及び第2指標の両方が収束条件を満たすと判定された場合にステップS21の処理が実行されてもよい。すなわち、本実施形態においては、上記した第1及び第2指標を含む指標が収束したと判定された場合に当該第1及び第2指標が出力される構成であればよい。
【0112】
上記したように本実施形態において、学習データ群及び運用データ群の各々は、複数の第1種別データ及び複数の第2種別データを含む。この場合、学習データ群のヒストグラムは、学習データ群の第1ヒストグラム(学習データ群に含まれる複数の第1種別データの分布を表す第3ヒストグラム)及び学習データ群の第2ヒストグラム(学習データ群に含まれる複数の第2種別データの分布を表す第4ヒストグラム)を含む。また、運用データ群のヒストグラムは、運用データ群の第1ヒストグラム(運用データ群に含まれる複数の第1種別データの分布を表す第5ヒストグラム)及び運用データ群の第2ヒストグラム(運用データ群に含まれる複数の第2種別データの分布を表す第6ヒストグラム)を含む。更に、本実施形態における指標は、上記した学習データ群の第1ヒストグラム及び運用データ群の第1ヒストグラムに基づいて計算された第1指標と、学習データ群の第2ヒストグラム及び運用データ群の第2ヒストグラムに基づいて計算された第2指標とを含み、当該第1及び第2指標を含む指標が収束したと判定された場合に、当該第1及び第2指標が出力される。
【0113】
本実施形態においては、上記した構成により、例えば第1実施形態に係る指標計算装置10を種別が異なるデータを含むデータセット(学習データ群及び運用データ群)に適用可能なように拡張することができる。
【0114】
なお、本実施形態においては、学習データ群及び運用データ群に含まれるデータの種別が2つであるものとして説明したが、当該データの種別は3つ以上であっても構わない。
【0115】
以上述べた少なくとも1つの実施形態によれば、学習データ群と運用データ群とのずれを検知することを支援する指標計算装置、方法及びプログラムを提供することができる。
【0116】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0117】
10…指標計算装置、11…取得部、12…外れ値処理部、13…指標計算部、14…指標評価部、15…階級数設定部、16…表示処理部、17…指標合計部、101…CPU、102…不揮発性メモリ、103…主メモリ、104…通信装置、105…入力装置、106…表示装置。