(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-11
(45)【発行日】2024-04-19
(54)【発明の名称】評価装置、プラント制御支援システム、評価方法、及びプログラム
(51)【国際特許分類】
G06N 3/08 20230101AFI20240412BHJP
【FI】
G06N3/08
(21)【出願番号】P 2020117529
(22)【出願日】2020-07-08
【審査請求日】2023-01-31
(73)【特許権者】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】110000785
【氏名又は名称】SSIP弁理士法人
(72)【発明者】
【氏名】▲高▼尾 健司
(72)【発明者】
【氏名】山科 勇輔
【審査官】円子 英紀
(56)【参考文献】
【文献】特開2010-277231(JP,A)
【文献】特開2020-067980(JP,A)
【文献】特開2006-236367(JP,A)
【文献】特開2019-114158(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
学習入力データと実運用入力データとのデータ空間上での違いを示す第1指標を取得する第1取得部と、
ニューラルネットワークの学習モデルにおける前記学習入力データの入力時と前記実運用入力データの入力時とのニューロンの発火傾向の違いを示す第2指標を取得する第2取得部と、
前記第1指標及び前記第2指標に基づいて、前記実運用入力データに対して前記学習モデルから出力される予測値の信頼性を評価する評価部と、
を備える評価装置。
【請求項2】
前記評価部は、前記第1指標が第1閾値より小さく、かつ前記第2指標も第2閾値より小さい場合には、前記信頼性が高いと評価し、前記第1指標と前記第2指標との両方が大きい場合には、前記信頼性が低いと評価する
請求項1に記載の評価装置。
【請求項3】
前記評価部は、前記第1指標が第1閾値より小さく前記第2指標が第2閾値以上である場合、又は前記第1指標が前記第1閾値以上で前記第2指標が前記第2閾値より小さい場合には、前記学習モデルの予測誤差を評価する
請求項1又は2に記載の評価装置。
【請求項4】
前記評価部は、前記第1指標が前記第1閾値以上で、前記第2指標が前記第2閾値より小さく、かつ前記予測誤差が基準値より小さいと評価した場合には、前記第1指標がより小さくなるように前記第1指標の算出式を変更する
請求項3に記載の評価装置。
【請求項5】
前記評価部は、前記第1指標が前記第1閾値以上で、前記第2指標が前記第2閾値より小さく、かつ前記予測誤差が基準値以上であると評価した場合には、前記第2指標がより大きくなるように前記ニューラルネットワークの構造を調整する
請求項3又は4に記載の評価装置。
【請求項6】
前記評価部は、前記第1指標が前記第1閾値より小さく、前記第2指標が前記第2閾値以上で、かつ前記予測誤差が基準値以上であると評価した場合には、前記第1指標がより大きくなるように前記第1指標の算出式を変更する
請求項3乃至5の何れか一項に記載の評価装置。
【請求項7】
前記評価部は、前記第1指標が前記第1閾値より小さく、前記第2指標が前記第2閾値以上で、かつ前記予測誤差が基準値より小さいと評価した場合には、前記第2指標がより小さくなるように前記ニューラルネットワークの構造を調整する
請求項3乃至6の何れか一項に記載の評価装置。
【請求項8】
前記評価部は、
前記第1指標が第1閾値以上で、前記第2指標が第2閾値以上である場合と、
前記第1指標が前記第1閾値以上で、前記第2指標が前記第2閾値より小さく、かつ前記学習モデルの予測誤差が基準値以上であると評価した場合と、
前記第1指標が前記第1閾値より小さく、前記第2指標が前記第2閾値以上で、かつ前記予測誤差が前記基準値以上であると評価した場合と、
の何れか一つ以上の場合において再学習又は再学習を促す通知の出力を実行するように構成される
請求項1乃至7の何れか一項に記載の評価装置。
【請求項9】
前記第2取得部は、前記ニューラルネットワークに含まれる複数の前記ニューロンの全体における発火度合を示すニューロンカバレッジに基づいて前記第2指標を算出するように構成された
請求項1乃至8の何れか一項に記載の評価装置。
【請求項10】
前記第2取得部は、前記ニューラルネットワークに含まれる複数の前記ニューロンのそれぞれにおける発火度合と、複数層からなる前記ニューラルネットワークのある層における前記ニューロンの前記発火度合と、又は複数の前記ニューロンの発火パターンの多様性の度合との何れか一以上に基づいて前記第2指標を算出するように構成された
請求項1乃至9の何れか一項に記載の評価装置。
【請求項11】
前記第2取得部は、複数の前記ニューロンの全体における発火度合を示すニューロンカバレッジの違いと、複数の前記ニューロンの発火パターンの違いと、に基づいて前記第2指標を算出するように構成された
請求項1乃至10の何れか一項に記載の評価装置。
【請求項12】
前記第2取得部は、複数の前記ニューロンのそれぞれの発火頻度の違いに基づいて前記第2指標を算出するように構成された
請求項1乃至11の何れか一項に記載の評価装置。
【請求項13】
前記第1取得部は、前記学習入力データと前記実運用入力データとの前記データ空間上でのユークリッド距離に基づいて前記第1指標を算出するように構成された
請求項1乃至12の何れか一項に記載の評価装置。
【請求項14】
前記学習入力データと前記実運用入力データは、それぞれ複数種類の入力データを含み、
前記第1取得部は、前記学習入力データ及び前記実運用入力データの各種類の前記入力データに重要度に基づく重み付けをしたうえで、前記第1指標を算出するように構成された
請求項1乃至13の何れか一項に記載の評価装置。
【請求項15】
前記第1取得部は、ドロップアウト手法を用いて、前記学習入力データを入力した場合の出力値の分布を表し、前記分布において前記実運用入力データを入力した場合の分散値に基づいて、前記第1指標を算出するように構成された
請求項1乃至14の何れか一項に記載の評価装置。
【請求項16】
前記評価部は、前記学習入力データの前記データ空間上の分布における中心値を決定し、前記中心値からのずれ又は分散値を前記第1指標の良否判定の第1閾値として設定し、前記信頼性を評価するように構成された
請求項1乃至14の何れか一項に記載の評価装置。
【請求項17】
前記評価部は、前記学習入力データを入力した場合のニューロンカバレッジに応じた増加幅を前記第2指標の良否判定の第2閾値として、前記信頼性を評価するように構成された
請求項1乃至16の何れか一項に記載の評価装置。
【請求項18】
プラントの状態を予測するための学習モデルを含む学習装置と、
前記学習モデルの予測結果に応じて前記プラントの制御装置の設定パラメータ及び/又は運転目標値を調整するように構成されたパラメータ調整装置と、
を備え、
前記学習装置は、請求項1乃至17の何れか一項に記載の評価装置の評価結果に応じて前記学習モデルの再学習を実行するように構成される
プラント制御支援システム。
【請求項19】
記憶部及びプロセッサを含む評価装置を用いた評価方法であって、
前記記憶部に記憶されたプログラムに従い、前記プロセッサにより、
学習入力データと実運用入力データとのデータ空間上での違いを示す第1指標を取得するステップと、
ニューラルネットワークの学習モデルにおける前記学習入力データの入力時と前記実運用入力データの入力時とのニューロンの発火傾向の違いを示す第2指標を取得するステップと、
前記第1指標及び前記第2指標に基づいて、前記実運用入力データに対して前記学習モデルから出力される予測値の信頼性を評価するステップと、
を
実行する評価方法。
【請求項20】
コンピュータに、
学習入力データと実運用入力データとのデータ空間上での違いを示す第1指標を取得する手順、
ニューラルネットワークの学習モデルにおける前記学習入力データの入力時と前記実運用入力データの入力時とのニューロンの発火傾向の違いを示す第2指標を取得する手順、
前記第1指標及び前記第2指標に基づいて、前記実運用入力データに対して前記学習モデルから出力される予測値の信頼性を評価する手順、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、評価装置、プラント制御支援システム、評価方法、及びプログラムに関する。
【背景技術】
【0002】
近年、ニューラルネットワークモデルを用いて入力データに対して予測を行うように構成された学習装置及びその学習装置を評価する方法が提案されている。例えば、特許文献1には、ニューラルネットワークの出力値(予測値)の信頼度を評価する手法が開示されている。この手法では、評価対象事例(実運用入力データ)と学習事例(学習入力データ)との類似度をユークリッド距離ベースで求めて、入力因子(入力データ)の重要度を加味して演算することにより、評価値を得ている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ニューラルネットワークの学習モデルを用いて実運用した場合、学習入力データから外れた実運用入力データが入力された場合に学習時に発火することがなかったニューロンが発火する場合がある。このような状態で得られた予測値を使用すると意図せぬ挙動が発生し、予測精度が低下する虞がある。そのため、このような場合には信頼度が低くなるように評価されるべきである。
【0005】
しかし、特許文献1の評価手法では、そのような評価に対応していない。評価精度を向上させるためには、学習入力データの入力時と実運用入力データの入力時とのニューロンの発火傾向の違いに基づいて評価することが望ましい。
【0006】
上述の事情に鑑みて、本開示は、ニューラルネットワークの学習モデルから出力される予測値の信頼性を評価する場合の評価精度を向上させることを目的とする。
【課題を解決するための手段】
【0007】
本開示に係る評価装置は、
学習入力データと実運用入力データとのデータ空間上での違いを示す第1指標を取得する第1取得部と、
ニューラルネットワークの学習モデルにおける前記学習入力データの入力時と前記実運用入力データの入力時とのニューロンの発火傾向の違いを示す第2指標を取得する第2取得部と、
前記第1指標及び前記第2指標に基づいて、前記実運用入力データに対して前記学習モデルから出力される予測値の信頼性を評価する評価部と、
を備える。
【0008】
本開示に係るプラント制御支援システムは、
プラントの状態を予測するための学習モデルを含む学習装置と、
前記学習モデルの予測結果に応じて前記プラントの制御装置の設定パラメータ及び/又は運転目標値を調整するように構成されたパラメータ調整装置と、
を備え、
前記学習装置は、上記の評価装置の評価結果に応じて前記学習モデルの再学習を実行するように構成される。
【0009】
本開示に係る評価方法は、
学習入力データと実運用入力データとのデータ空間上での違いを示す第1指標を取得するステップと、
ニューラルネットワークの学習モデルにおける前記学習入力データの入力時と前記実運用入力データの入力時とのニューロンの発火傾向の違いを示す第2指標を取得するステップと、
前記第1指標及び前記第2指標に基づいて、前記実運用入力データに対して前記学習モデルから出力される予測値の信頼性を評価するステップと、
を含む。
【0010】
本開示に係るプログラムは、
コンピュータに、
学習入力データと実運用入力データとのデータ空間上での違いを示す第1指標を取得する手順、
ニューラルネットワークの学習モデルにおける前記学習入力データの入力時と前記実運用入力データの入力時とのニューロンの発火傾向の違いを示す第2指標を取得する手順、
前記第1指標及び前記第2指標に基づいて、前記実運用入力データに対して前記学習モデルから出力される予測値の信頼性を評価する手順、
を実行させる。
【発明の効果】
【0011】
本開示によれば、ニューラルネットワークの学習モデルから出力される予測値の信頼性を評価する場合の評価精度を向上させることが可能となる。
【図面の簡単な説明】
【0012】
【
図1】一実施形態に係る評価装置の構成を概略的に示すブロック図である。
【
図2A】一実施形態に係る評価装置がユークリッド距離に基づいて取得する第1指標の一例を示す概略図である。
【
図2B】一実施形態に係る評価装置がドロップアウト手法に基づいて取得する第1指標の一例を示す概略図である。
【
図3】一実施形態に係る評価装置が使用するニューロンカバレッジの算出方法の一例を示す概念図である。
【
図4】
図3に対応し、1つのニューロンにおけるニューロンカバレッジの算出結果の一例を示す概念図である。
【
図5】一実施形態に係る評価装置が使用するニューロンカバレッジの算出方法の一例を示す概念図である。
【
図6】一実施形態に係る評価装置が使用するニューロンパターンの算出方法の一例を示す概念図である。
【
図7】一実施形態に係る評価装置がニューロンの発火パターンに基づいて取得する第2指標の一例を示す概念図である。
【
図8】一実施形態に係る評価装置がニューロンの発火頻度に基づいて取得する第2指標の一例を示す概念図である。
【
図9】一実施形態に係る評価装置が実行する処理の一例を説明するためのフローチャートである。
【
図10】一実施形態に係るプラント制御支援システムの構成を概略的に示すブロック図である。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して幾つかの実施形態について説明する。ただし、実施形態として記載されている又は図面に示されている構成部品の寸法、材質、形状、その相対的配置等は、発明の範囲をこれに限定する趣旨ではなく、単なる説明例にすぎない。
例えば、「ある方向に」、「ある方向に沿って」、「平行」、「直交」、「中心」、「同心」或いは「同軸」等の相対的或いは絶対的な配置を表す表現は、厳密にそのような配置を表すのみならず、公差、若しくは、同じ機能が得られる程度の角度や距離をもって相対的に変位している状態も表すものとする。
例えば、「同一」、「等しい」及び「均質」等の物事が等しい状態であることを表す表現は、厳密に等しい状態を表すのみならず、公差、若しくは、同じ機能が得られる程度の差が存在している状態も表すものとする。
例えば、四角形状や円筒形状等の形状を表す表現は、幾何学的に厳密な意味での四角形状や円筒形状等の形状を表すのみならず、同じ効果が得られる範囲で、凹凸部や面取り部等を含む形状も表すものとする。
一方、一の構成要素を「備える」、「具える」、「具備する」、「含む」、又は、「有する」という表現は、他の構成要素の存在を除外する排他的な表現ではない。
【0014】
(評価装置の構成)
以下、一実施形態に係る評価装置100の構成について説明する。評価装置100は、実運用入力データに対してニューラルネットワークの学習モデルが出力する予測値の信頼性を評価するために使用される装置である。ニューラルネットワークは、畳み込みニューラルネットワーク(CNN)であってもよいし、リカレントニューラルネットワーク(RNN)であってもよい。また、ニューラルネットワークは、ニューロンのセル状態を示す値を使用するLSTM(Long Short Term Memory)であってもよい。
図1は、一実施形態に係る評価装置100の構成を概略的に示すブロック図である。
【0015】
図1に示すように、評価装置100は、他の装置と通信を行う通信部11と、各種データを記憶する記憶部12と、ユーザの入力を受け付ける入力部13と、各種情報を出力する出力部14と、装置全体の制御を行う制御部15とを備える。これらの構成要素は、バスライン16によって相互に接続される。
【0016】
通信部11は、有線通信又は無線通信を行うためのNIC(Network Interface Card controller)を備える通信インターフェースである。通信部11は、他の装置(例えば学習モデルを含む学習装置200)と通信を行う。
【0017】
記憶部12は、RAM(Random Access Memory)、ROM(Read Only Memory)等から構成される。記憶部12は、各種制御処理を実行するためのプログラム(例えば、信頼性を評価するためのプログラム)と、各種データ(例えば、第1指標及び第2指標の算出式、評価結果等)とを記憶する。
【0018】
なお、評価装置100は学習モデルを含む学習装置200とは別体であってもよいし、一体化されていてもよい。両者が別体である場合、評価装置100は、通信部11を介して学習装置200と通信することにより、信頼性の評価やニューラルネットワークの構造の調整を行う。両者が一体である場合、評価装置100(学習装置200)は、記憶部12に記憶されている学習モデルから出力される予測値の信頼性の評価やニューラルネットワークの構造の調整を行う。
【0019】
入力部13は、例えば、操作ボタン、キーボード、ポインティングデバイス等の入力装置から構成される。入力部13は、ユーザが指示を入力するために用いられる入力インターフェースである。
【0020】
出力部14は、例えば、LCD(Liquid Crystal Display)、EL(Electroluminescence)ディスプレイ、スピーカー等の出力装置から構成される。出力部14は、ユーザに各種情報(例えば、再学習を促す通知、評価結果等)を提示するための出力インターフェースである。
【0021】
制御部15は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等のプロセッサから構成される。制御部15は、記憶部12に記憶されているプログラムを実行することにより、装置全体の動作を制御する。
【0022】
以下、制御部15の機能的な構成を説明する。制御部15は、第1取得部151、第2取得部152、評価部153として機能する。
【0023】
第1取得部151は、学習入力データと実運用入力データとのデータ空間上での違いを示す第1指標を取得するように構成される。学習入力データは、学習フェーズにおける入力データ(説明変数)である。学習入力データは、データベースから取得した過去の実績データであってもよい。実運用入力データは、学習モデルを実機適用した後の運用フェーズにおける入力データ(説明変数)である。実運用入力データは、センサ等からリアルタイムで取得した計測データであってもよい。
【0024】
幾つかの実施形態では、第1取得部151は、学習入力データと実運用入力データとのデータ空間上でのユークリッド距離に基づいて第1指標を算出するように構成される。
図2Aは、一実施形態に係る評価装置100がユークリッド距離に基づいて取得する第1指標の一例を示す概略図である。
【0025】
この図は、入力データを構成する2つの変数であるx1及びx2をそれぞれ縦軸と横軸にした場合の二次元のユークリッド距離を算出する例を示している。黒色のプロットP1は、学習入力データを示し、白色のプロットP2は、実運用入力データを示している。第1取得部151は、学習入力データである複数のプロットP1のいずれかを基準点とした場合の複数の実運用入力データP2のそれぞれの距離を用いて第1指標を算出してもよいし、複数のプロットP1の分布の中心値Cを基準点とした場合の複数のプロットP2のそれぞれのユークリッド距離を用いて第1指標を算出してもよい。
【0026】
また、第1取得部151は、学習入力データである複数のプロットP1の全体の重心と、実運用入力データの複数のプロット2の全体の重心とを算出し、両者のユークリッド距離を用いて第1指標を算出してもよい。第1取得部151は、k近傍法などの手法によって実運用入力データの入力値に一番近い学習入力データを特定し、両者のユークリッド距離を用いて第1指標を算出してもよい。なお、第1取得部151は、より多くの入力データを使用して3次元以上のユークリッド距離を算出して、第1指標を取得してもよい。また、第1取得部151は、プロットP1、P2のうちの外れ値を除いてユークリッド距離を算出して、第1指標を取得してもよい。
【0027】
幾つかの実施形態では、学習入力データと実運用入力データは、それぞれ複数種類の入力データを含み、第1取得部151は、学習入力データ及び実運用入力データの各種類の入力データに重要度に基づく重み付けをしたうえで、第1指標を算出するように構成される。重み付けは、特許文献1に記載されるように、各種類の入力データに固有の重要度を乗じることによって行われてもよい。重要度の算出は、特許文献1に記載されている数式を用いて行われてもよい。
【0028】
幾つかの実施形態では、第1取得部151は、学習入力データを入力した場合の出力値のドロップアウトの係数を確率分布として表し、確率分布における実運用入力データの位置に基づいて、第1指標を算出するように構成される。
図2Bは、一実施形態に係る評価装置100がドロップアウト手法に基づいて取得する第1指標の一例を示す概略図である。
図2Bに示すグラフにおいて、横軸は、入力データを構成する変数である。縦軸は、出力値(予測したい値)である。
【0029】
ドロップアウト手法では、ニューラルネットワークを構成するニューロンを確率的に選択してドロップアウト(重みをゼロにしたり、使用不可にしたりする)させる。ドロップアウトさせた状態で学習入力データを用いた学習を実行することによって重みを付与する。その重みを維持したまま、ドロップアウトを戻したうえで、次に確率的に選択されたニューロンをドロップアウトさせた状態で再び学習入力データを用いて学習を実行することによって重みを付与する。このような処理を繰り返す。このような処理の中で学習モデルから出力される予測値のバラつきを評価する。
図2Bに示すように、バラつきは、予測値の平均を示す平均線M1と、平均線M1からのバラつきの幅すなわち分散値(例えば3σ)を示す帯域とによって示される。プロットP3は、学習時に得られたデータを示している。このプロットP3の事後分布(曲線R1、R2で示す帯域)を求めると、学習時のデータが存在しない領域の分布(曲線R3、R4で示す帯域)も推測可能である。実運用入力データを入力した場合の分散値を示す帯域に基づいて第1指標を算出することができる。例えば、実運用入力データが学習入力データから外れている場合には点線より右側のプロットP3が存在しない領域に示すように、分散値3σが大きくなることがわかる。これは不確かさの増大を示している。一方、実運用入力データが学習入力データに近ければ、点線より左側のプロットP3が存在する領域に示すように、分散値3σが小さくなることがわかる。
【0030】
第2取得部152は、ニューラルネットワークの学習モデルにおける学習入力データの入力時と実運用入力データの入力時とのニューロンの発火傾向の違いを示す第2指標を取得するように構成される。ニューロンの発火傾向は、ニューロンの発火度合(ニューロンカバレッジやニューロンパターン)に基づく指標であってもよいし、ニューロンの発火頻度に基づく指標であってもよい。
【0031】
幾つかの実施形態では、第2取得部152は、ニューラルネットワークに含まれる複数のニューロンの全体における発火度合を示すニューロンカバレッジに基づいて第2指標を算出するように構成される。ニューロンの発火度合とは、ニューロンの出力値φが1に近いことではなく複数のニューロンから満遍なく出力が出てくるようなカバレッジを意味する。なお、ニューロンの出力値の大きさが閾値を超えていることを発火と定義する論文もあるが、本開示では、満遍なく出力が出てくることを発火と定義する。
【0032】
幾つかの実施形態では、第2取得部152は、ニューラルネットワークに含まれる複数のニューロンのそれぞれにおける発火度合と、複数層からなるニューラルネットワークモデルのある層におけるニューロンの発火度合と、複数のニューロンの発火パターンの多様性の度合との何れか一以上に基づいて第2指標を算出するように構成される。
【0033】
ニューロンカバレッジの算出方法には、ニューロンごとに算出する場合と複数層のニューラルネットワークの層ごとに算出する場合がある。以下、これらの算出方法を説明する。
【0034】
まず、ニューロンごとに算出する一例として、KMNカバレッジ(k-Multisection Neuron Coverage)について説明する。
図3は、一実施形態に係る評価装置100が使用するニューロンカバレッジの算出方法の一例を示す概念図である。
【0035】
図3に示すように、まず、複数の入力データxを1つのニューロンnに入力して複数の出力値φ(x,n)を得る。x(xはベクトル量であるため、太字で表記される。以下同じ。)は、カバレッジを計算するためのデータセットTから抽出されたデータの集合を示している。データセットTは学習入力データであってもよいし、実運用入力データであってもよい。
【0036】
ニューロンnから出力された出力値φ(x,n)の最大値Highnと最小値Lownを取得する。ここで、最小値Lownから最大値Highnまでの数値範囲(Lown≦φ(x,n)≦Highn)をk個の領域(分割パケットS)に分割する。
【0037】
分割数kはユーザによって任意の値に設定されてもよい。分割パケットSの下付きの添え字(1・・・i・・・k)は、何番目の分割パケットSかを示している。分割パケットSの上付きの添え字nは、複数のニューロンのうちのn番目のニューロンであることを示している。次に、複数の入力データxのすべてに対して、ニューロンnの出力値φ(x,n)がk個の分割パケットのどれくらいをカバーするかを求める。
【0038】
例えば、以下の式(1)により、1つのニューロンにおけるニューロンカバレッジCovを計算することができる。式(1)において、分子は、複数の出力値φ(x,n)が属する分割パケットSの個数を示し、分母は分割数kである。
【0039】
図4は、
図3に対応し、1つのニューロンnにおけるニューロンカバレッジの算出結果の一例を示す概念図である。例えば、分割数k=10であり、最大値High
n=1であり、最小値Low
n=0であったとする。この場合において、複数の入力データxをニューロンnに入力した場合の出力値φ(x,n)が0.11、0.15、0.23、0.51、0.88.0.92、0.96の7つであったとする。
【0040】
そうすると、
図4においてハッチングで示すように、10個の分割パケットSのうち、2番目、3番目、6番目、9番目、及び10番目の分割パケットSがカバーされる。この場合、ニューロンカバレッジCovは0.5(1つのニューロンnの半分が発火している状態)である。なお、ニューロンカバレッジは、基本的に入力データが多ければ増加する。しかし、入力データに偏りがあるために入力データを増やしてもニューロンカバレッジは1にならずに飽和する場合が多い。
【0041】
このような計算を拡張し、すべてのニューロンNにデータセットTを入力した場合のカバレッジ、すなわちニューラルネットワーク全体でのニューロンカバレッジKMNCovを求めてもよい。例えば、以下の式(2)により、ニューラルネットワーク全体でのニューロンカバレッジKMNCovを計算することができる。
【0042】
式(2)において、分子は、ニューロンnの複数の出力値φ(x,n)が属する分割パケットSの個数を全ニューロンNで総和を取った値であり、分母は分割数kと全ニューロンNに含まれるニューロンnの数の積である。なお、この手法では、k個の分割パケットSにおいて出力値φ(x,n)がどのくらいをカバーしているかに着目している。
【0043】
次に、複数層のニューラルネットワークの層ごとに算出する一例として、TKNカバレッジ(Top-k Neuron Coverage)について説明する。
図5は、一実施形態に係る評価装置100が使用するニューロンカバレッジの算出方法の一例を示す概念図である。
【0044】
まず、ある層(レイヤ)に対して、複数の入力データxを入力した場合において、全ニューロンNのうち発火度合の上位k個のニューロンを抽出する。抽出するニューロンの数kはユーザによって任意の値に設定されてもよい。
【0045】
図5に示す例では、ニューラルネットワークが1~7番の7つのニューロンが3層で構成されている。ここで、2層の3~5番の3つのニューロンに対して複数の入力データxを入力し、各々のニューロンの出力値φ(x,n)を得る。出力値φ(x,n)は、3番が0.5であり、4番が0.2であり、5番が0.6である。k=2であれば、上位2個が抽出されるため、3番と5番のニューロンが選択される。これらの選択したニューロンが、データセットT(複数の入力データxを含む入力データの集合)を入力した場合にどのくらいの割合で選択されるかを求める。また、別のデータを入力してみて、複数回、どのニューロンが上位2個に選ばれているかをチェックする。最終的に、上位2個に選ばれる確率が2層の3~5番の3つのニューロンに対して均等に選ばれていれば好ましい。このような算出を他の層についても行う。すなわち、この手法では各層で各ニューロンが選ばれる確率が均等であるかを示す均等度合でニューロンカバレッジが評価される。
【0046】
例えば、以下の式(3)により、1つの層におけるニューロンカバレッジTKNCovを計算することができる。式(3)において、lはニューラルネットワークの層(レイヤ)の数であり、iはそれらの層のうちi番目の層を示している。
【0047】
次に、ニューロンパターンの算出方法を説明する。具体的には、複数層のニューラルネットワークにおいてニューロンパターンTKNPat(Top-k Neuron Pattern)を算出する場合について説明する。
図6は、一実施形態に係る評価装置100が使用するニューロンパターンの算出方法の一例を示す概念図である。
【0048】
図6に示すように、まず、複数の入力データxをすべてのニューロンNに入力して複数の出力値φ(x,n)を得る。xは、カバレッジを計算するためにデータセットTから抽出されたデータの集合を示している。ここで、各々の層(レイヤ)から発火度合の上位k個のニューロンを抽出する。抽出するニューロンの数kはユーザによって任意の値に設定されてもよい。これらのニューロンの抽出によりニューロンパターンが得られる。
【0049】
例えば、
図6に示す例では、k=1であり、出力値φ(x,n)の大きさに基づいて、第1層から1番のニューロンが抽出され、第2層から4番のニューロンが抽出され、第3層から7番のニューロンが抽出されている。この場合、ニューロンパターンは1、4、7である。このニューロンパターンをすべての入力データxに対して求める。すなわち、別のデータを入力してみて、複数回、どのニューロンが抽出されているかをチェックする。最終的に、抽出される確率がすべてのニューロンにおいて均等になっていれば好ましい。すなわち、この手法では、抽出される確率が各ニューロンで均等であるかを示す均等度合でニューロンカバレッジが評価される。
【0050】
例えば、以下の式(4)により、ニューロンパターンTKNPatを計算することができる。式(4)において、lはニューラルネットワークの層(レイヤ)の数である。
【0051】
幾つかの実施形態では、第2取得部152は、複数のニューロンの全体における発火度合を示すニューロンカバレッジの違いと、複数のニューロンの発火パターンの違いと、に基づいて第2指標を算出するように構成される。
図7は、一実施形態に係る評価装置100がニューロンの発火パターンに基づいて取得する第2指標の一例を示す概念図である。
【0052】
図7には、ニューラルネットワークのニューロンが10個である場合の発火パターンの一例が示されている。データ入力で発火したニューロンにはハッチングが付与されている。例えば、学習入力データを入力した場合の発火パターンは、左から1番目、3番目、5番目、7番目、及び9番目のニューロンが発火したことを示している。この場合、ニューロンカバレッジは50%である。一方、実運用入力データを入力した場合の発火パターンは、左から1番目、3番目、5番目、8番目、及び9番目のニューロンが発火したことを示している。この場合、ニューロンカバレッジは、50%である。これらのニューロンカバレッジの違いは0%である。
【0053】
一方、学習入力データ入力時と実運用入力データ入力時との発火パターンを比べてみると、左から7番目及び8番目の発火状態が異なっている。学習入力データ入力時では、7番目のニューロンが発火しているのに対し、実運用入力データ入力時では、7番目のニューロンが発火していない。学習入力データ入力時では、8番目のニューロンが発火していないのに対し、実運用入力データ入力時では、8番目のニューロンが発火している。この場合、10個のニューロンのうち2個のニューロンの発火状態が変わっているため、発火パターンの違いは20%である。
【0054】
幾つかの実施形態では、これら2つの違いを考慮して第2指標が算出される。例えば、第2指標は、2つの違いの和(0%+20%=20%)であってもよいし、2つの違いの線形結合和(0%×係数A+20%×係数B=20%×係数B)であってもよい。第2指標は、2つの違いの積であってもよい。ただし、2つの違いのいずれか一方がゼロである場合、その積である第2指標はゼロになるため、留意が必要である。
【0055】
幾つかの実施形態では、第2取得部152は、複数のニューロンのそれぞれの発火頻度の違いに基づいて第2指標を算出するように構成される。
図8は、一実施形態に係る評価装置100がニューロンの発火頻度に基づいて取得する第2指標の一例を示す概念図である。
【0056】
図8には、ニューラルネットワークのニューロンが5個である場合の各ニューロンの発火頻度の一例が示されている。例えば、10個の入力データを入力した場合の発火回数が7回である場合には発火頻度は70%である。図示の例では、学習入力データを入力した場合の各ニューロンの発火頻度は、左から80%、10%、70%、100%、90%である。なお、この場合のニューロンカバレッジは100%である。実運用入力データを入力した場合の各ニューロンの発火頻度は、左から70%、0%、70%、80%、100%である。なお、この場合のニューロンカバレッジは80%である。
【0057】
ここで、各ニューロンの発火頻度の変化率を算出して、その総和を第2指標としてもよい。学習入力データにおける発火頻度と実運用入力データにおける発火頻度がともに0%でない場合、発火頻度の変化率は、発火頻度の変化率=|学習入力データにおける発火頻度-実運用入力データにおける発火頻度|/学習入力データにおける発火頻度、という式から計算される。図示の例では、発火頻度の変化率が左から0.12、1、0、0.2、0.11である。この場合、第2指標は1.43である。
【0058】
学習入力データにおける発火頻度と実運用入力データにおける発火頻度とのいずれか一方だけが0%である場合、他方の発火頻度を発火頻度の変化率としてもよい(すなわち上記の式で分母を1とみなす)。学習入力データにおける発火頻度及び実運用入力データにおける発火頻度の両方が0%である場合にも、発火頻度の変化率を0としてもよい。これにより、計算上の制約をクリアできる。なお、第2指標の算出式は適宜変更可能である。例えば、発火頻度の変化率をニューロンの数で除して正規化した値を第2指標としてもよい。
【0059】
評価部153は、第1取得部151が取得した第1指標及び第2取得部152が取得した第2指標に基づいて、実運用入力データに対して学習モデルから出力される予測値の信頼性を評価するように構成される。この評価は、第1閾値及び第2閾値との対比によって行われてもよい。
【0060】
幾つかの実施形態では、評価部153は、学習入力データのデータ空間上の分布における中心値を決定し、中心値からのずれ又は分散値を第1指標の良否判定の第1閾値として設定し、信頼性を評価するように構成される。例えば、
図2Aに示すように、学習入力データの分布から中心値Cを求めて、点線で示すように中心値Cから一定距離を第1閾値としてもよい。また、学習入力データの分布から分散を求めて、例えば2σや3σを第1閾値としてもよい。上述した重み付けを行なう場合には、重み付け係数を用いて算出される値である第1指標に対して第1閾値を設定する。ドロップアウト手法の場合には、実運用入力データを入力してドロップアウトさせた場合の分散値(例えば3σ)に対して第1閾値を設定する。
【0061】
なお、第1閾値の設定方法は、これらに限られない。例えば、複数のプロットP1のうち中心値Cから離れた何れか一以上(外れ値)を第1閾値としてもよい。複数のプロットP1と複数のプロットP2のそれぞれの距離が一定値を超えたか否かを判別するために設定した一定値を第1閾値としてもよい。
【0062】
幾つかの実施形態では、評価部153は、学習入力データを入力した場合のニューロンカバレッジに応じた増加幅を第2指標の良否判定の第2閾値として、信頼性を評価するように構成される。例えば、学習入力データを入力した場合のニューロンカバレッジが80%以上(例えば80%)である場合に、2%以上の増加幅を加えた値(例えば82%)を第1閾値としてもよい。学習入力データを入力した場合のニューロンカバレッジが60%以上80%未満(例えば70%)である場合に、5%以上の増加幅を加えた値(例えば75%)を第1閾値としてもよい。学習入力データを入力した場合のニューロンカバレッジが60%未満(例えば50%)である場合に、10%以上の増加幅を加えた値(例えば60%)を第1閾値としてもよい。
【0063】
このように、学習入力データを入力した場合のニューロンカバレッジが第1値である場合には、第2閾値としての増加幅が第1増加幅に設定され、学習入力データを入力した場合のニューロンカバレッジが第1値よりも小さい第2値である場合には、第2閾値としての増加幅が第1増加幅より大きい第2増加幅に設定されてもよい。
【0064】
学習時のニューロンカバレッジが大きい場合には、実運用時にそのニューロンカバレッジが少し変化しただけでも影響が大きい場合がある。学習時のニューロンカバレッジが小さい場合には、実運用時にそのニューロンカバレッジが少し変化しただけでは影響が小さい場合がある。この点、上記構成によれば、ニューロンカバレッジが第1値よりも小さい第2値である場合には、増加幅が第1増加幅より大きい第2増加幅に設定される。そのため、第2指標の良否判定の閾値をより適切な値に設定できる。
【0065】
幾つかの実施形態では、評価部153は、第1指標が第1閾値より小さく、かつ第2指標も第2閾値より小さい場合には、信頼性が高いと評価し、第1指標と第2指標との両方が大きい場合には、信頼性が低いと評価する。
【0066】
幾つかの実施形態では、評価部153は、第1指標が第1閾値より小さく第2指標が第2閾値以上である場合、又は第1指標が第1閾値以上で第2指標が第2閾値より小さい場合には、学習モデルの予測誤差を評価するように構成される。
【0067】
予測誤差の評価には、予測値と正解値の両方が必要である。将来を予測する学習モデルの場合、正解値を取得するまでの待機時間が必要である。なお、将来を予測する学習モデルではなく、入力データと同時刻の出力の予測値を予測する学習モデルでは、そのような問題は生じない。なお、指標が閾値と同じ値になった場合には、指標が大きいと判別するように構成されてもよいし、指標が小さいと判別するように構成されてもよい。すなわち、大小関係は、閾値以上か否か、閾値以下か否かのどちらで判別してもよい。
【0068】
幾つかの実施形態では、評価部153は、第1指標が第1閾値以上で、第2指標が第2閾値より小さく、かつ学習モデルの予測誤差が基準値より小さいと評価した場合には、第1指標がより小さくなるように第1指標の算出式を変更するように構成される。算出式は、2以上の変数(例えば2以上の計測値)を含む。算出式の変更では、例えば、算出式における重みの変更、算出式における変数の増減(次元の変更)、算出式におけるドロップアウトの係数の増減等を行う。
【0069】
幾つかの実施形態では、評価部153は、第1指標が第1閾値以上で、第2指標が第2閾値より小さく、かつ学習モデルの予測誤差が基準値以上であると評価した場合には、第2指標がより大きくなるようにニューラルネットワークの構造を調整するように構成される。例えば、評価部153は、学習時のニューロンカバレッジが大きすぎる場合には、ニューロンの数(すなわち分母)を増やして学習時のニューロンカバレッジがより小さくなるように調整する。なお、学習時に発火したニューロンの数(すなわち分子)を減らすことで、学習時のニューロンカバレッジをより小さくするように調整してもよい。これにより第2指標が大きくなる。
【0070】
幾つかの実施形態では、評価部153は、第1指標が第1閾値より小さく、第2指標が第2閾値以上で、かつ学習モデルの予測誤差が基準値以上であると評価した場合には、第1指標がより大きくなるように第1指標の算出式を変更するように構成される。
【0071】
幾つかの実施形態では、評価部153は、第1指標が第1閾値より小さく、第2指標が第2閾値以上で、かつ学習モデルの予測誤差が基準値より小さいと評価した場合には、第2指標がより小さくなるようにニューラルネットワークの構造を調整するように構成される。例えば、評価部153は、学習時のニューロンカバレッジが小さい場合には、ニューロンの数(すなわち分母)を減らして学習時のニューロンカバレッジがより大きくなるように調整する。これにより第2指標が小さくなる。
【0072】
幾つかの実施形態では、評価部153は、第1指標が第1閾値以上で、第2指標が第2閾値以上である場合と、第1指標が第1閾値以上で、第2指標が第2閾値より小さく、かつ学習モデルの予測誤差が基準値以上であると評価した場合と、第1指標が第1閾値より小さく、第2指標が第2閾値以上で、かつ学習モデルの予測誤差が基準値以上であると評価した場合と、の何れか一つ以上の場合において再学習又は再学習を促す通知の出力を実行するように構成される。発生頻度が極端に少ないレアケース(すなわちノイズ)の場合もあり得るため、同様の実運用入力データが複数集まった場合に、評価部153がそのデータやそれに対応する正解値を使って再学習を実行してもよい。
【0073】
なお、評価部153は、評価のみを実行し、再学習を行うか否かの判断や再学習の実行は、ユーザが行うように構成されてもよい。すなわち、評価部153は、上記の処理のすべてを実行する構成に限られない。
【0074】
(処理の流れ)
以下、一実施形態に係る評価装置100が実行する処理の流れについて説明する。
図9は、一実施形態に係る評価装置100が実行する処理の一例を説明するためのフローチャートである。ここでは、学習モデルが既に学習入力データに基づいて学習した後の処理の例を説明する。
【0075】
評価装置100は、学習入力データと実運用入力データとのデータ空間上での違いを示す第1指標を取得する(ステップS1)。評価装置100は、ニューラルネットワークの学習モデルにおける学習入力データの入力時と実運用入力データの入力時とのニューロンの発火傾向の違いを示す第2指標を取得する(ステップS2)。評価装置100は、第1指標及び第2指標に基づいて、実運用入力データに対して学習モデルから出力される予測値の信頼性の評価を実行する(ステップS3)。
【0076】
ここで、評価装置100は、第1指標が第1閾値より小さいか否かを判別する(ステップS4)。第1指標が第1閾値より小さいと判別した場合(ステップS4;Yes)、評価装置100は、第2指標が第2閾値より小さいか否かを判別する(ステップS5)。第2指標が第2閾値より小さいと判別した場合(ステップS5;Yes)、評価装置100は、信頼性が高いと評価する(ステップS6)。
【0077】
第2指標が第2閾値以上であると判別した場合(ステップS5;No)、評価装置100は、学習モデルの予測誤差を評価する(ステップS7)。このとき、評価装置100は、信頼性が中又は不明と評価してもよい。次に、評価装置100は、第1処理を実行する(ステップS8)。
【0078】
第1処理において、評価装置100は、予測誤差が基準値より小さいと評価した場合には、第2指標がより小さくなるようにニューラルネットワークの構造を調整する。第1処理において、評価装置100は、予測誤差が基準値以上であると評価した場合には、第1指標がより大きくなるように第1指標の算出式を変更する。この場合、変更後に再学習を実行してもよい。
【0079】
第1指標が第1閾値以上であると判別した場合(ステップS4;No)、評価装置100は、第2指標が第2閾値より小さいか否かを判別する(ステップS9)。第2指標が第2閾値より小さいと判別した場合(ステップS9;Yes)、評価装置100は、学習モデルの予測誤差を評価する(ステップS10)。このとき、評価装置100は、信頼性が中又は不明と評価してもよい。次に、評価装置100は、第2処理を実行する(ステップS11)。
【0080】
第2処理において、評価装置100は、学習モデルの予測誤差が基準値より小さいと評価した場合には、第1指標がより小さくなるように第1指標の算出式を変更する。第2処理において、評価装置100は、学習モデルの予測誤差が基準値以上であると評価した場合には、第2指標がより大きくなるようにニューラルネットワークの構造を調整する。この場合、調整後に再学習を実行してもよい。
【0081】
第2指標が第2閾値以上であると判別した場合(ステップS9;No)、評価装置100は、信頼性が低いと評価する(ステップS12)。この場合、評価後に再学習を実行してもよい。
【0082】
評価装置100が実行する処理の流れは、
図9に示す例に限られない。例えば、予測誤差の評価には、正解値を得るまでの待機時間がかかる場合がある。そのため、予測誤差の評価、第1処理、第2処理等の処理を省略して、信頼性の評価(高い、中、低い等の判定)が終わった段階で処理が終了してもよい。
図9では、第1指標と第1閾値との比較(ステップS4)をしてから第2指標と第2閾値との比較(ステップS5、S9)が行われているが、順序を逆にしてもよい。ステップS1とステップS2の順序も逆にしてもよい。このように、処理の流れは、全体的に各種機能を実現できる範囲内において適宜変更可能である。また、評価装置100が実行する処理の一部を自動ではなく、手動で行うように変更されてもよい。
【0083】
(プラント制御支援システムの構成)
評価装置100の利用例としてプラント制御支援システム700について説明する。なお、評価装置100は、プラント400の制御支援ではなく、ガスタービンや蒸気タービンなどの燃料流量や弁開度の制御支援に使用されてもよい。プラント400は、化学プラントであってもよいし、他の種類のプラントであってもよい。すなわち、評価装置100は、学習モデルの予測値を使用して制御を行うシステムに適用可能である。
【0084】
図10は、一実施形態に係るプラント制御支援システム700の構成を概略的に示すブロック図である。プラント制御支援システム700は、プラント400の状態を予測するための学習モデルを含む学習装置200と、学習モデルの予測結果に応じてプラント400の制御装置500の設定パラメータ及び/又は運転目標値を調整するように構成されたパラメータ調整装置300と、を備える。制御装置500の運転目標値は運転目標値設定装置600によって設定される。学習装置200は、評価装置100の評価結果に応じて学習モデルの再学習を実行するように構成される。
【0085】
通常のプラント400の制御では、制御装置500に対してユーザがプラント400の状態を見て、パラメータ調整と運転目標値の設定とを行う。本実施形態では。パラメータ調整装置300及び運転目標値設定装置600は、このような手動設定を自動化する。学習装置200は、プラント400の状態を模擬する学習モデルを含み、入力データに対する予測値を出力するように構成される。学習装置200の学習モデルは、オフラインで得られた学習入力データに基づいて学習を行う。評価装置100は、実運用時に実運用入力データに基づいてこの学習モデルが出力する予測値の信頼性を評価する。
【0086】
評価装置100は、学習装置200又は過去の実績値を記憶するデータベース(不図示)から学習入力データや実運用入力データを取得してもよい。これにより、評価装置100は、第1指標を取得することができる。
【0087】
評価装置100は、学習装置200から学習モデルのニューラルネットワークの構造に関する情報又はニューロンの発火に関する情報を取得してもよい。これにより、評価装置100は、第2指標を取得することができる。
【0088】
評価装置100は、第1指標及び第2指標に基づいて評価を行い、その評価結果を学習装置200に送信してもよい。また、評価装置100は、再学習やニューロン構造の調整に関する指示を学習装置200に送信してもよい。学習装置200は、評価装置100から受信した情報に基づいて、パラメータ調整装置300と通信を行い、パラメータ調整装置300は、パラメータ調整と運転目標値に評価装置100から受信した情報を反映する。このような構成により、実運用入力データに対して学習モデルから出力される予測値の信頼性の評価の結果を制御の支援に利用することができる。
【0089】
本開示は上述した実施形態に限定されることはなく、上述した実施形態に変形を加えた形態や、複数の実施形態を適宜組み合わせた形態も含む。
【0090】
(まとめ)
上記各実施形態に記載の内容は、例えば以下のように把握される。
【0091】
(1)本開示に係る評価装置(100)は、
学習入力データと実運用入力データとのデータ空間上での違いを示す第1指標を取得する第1取得部(151)と、
ニューラルネットワークの学習モデルにおける前記学習入力データの入力時と前記実運用入力データの入力時とのニューロンの発火傾向の違いを示す第2指標を取得する第2取得部(152)と、
前記第1指標及び前記第2指標に基づいて、前記実運用入力データに対して前記学習モデルから出力される予測値の信頼性を評価する評価部(153)と、
を備える。
【0092】
上記構成によれば、データ空間上での違いを示す第1指標及びニューロンの発火傾向の違いを示す第2指標に基づいて、実運用入力データに対してニューラルネットワークの学習モデルから出力される予測値の信頼性を評価する。そのため、評価精度を向上させることができる。
【0093】
(2)幾つかの実施形態では、上記(1)に記載の構成において、
前記評価部(153)は、前記第1指標が第1閾値より小さく、かつ前記第2指標も第2閾値より小さい場合には、前記信頼性が高いと評価し、前記第1指標と前記第2指標との両方が大きい場合には、前記信頼性が低いと評価する。
【0094】
上記構成によれば、信頼性が高いか否かを容易に評価することができる。また、評価結果に基づいて、再学習の必要性を判断することも可能となる。
【0095】
なお、将来の予測値を出力する学習モデルから出力される予測値の信頼性を予測誤差(予測値と正解値との差分)に基づいて評価する場合、待機時間が生じる。例えば二週間後の予測値を得てから、その正解値を得るまでには二週間の待機時間が生じる。この点、上記構成によれば、正解値を取得しなくても信頼性を評価できるため、予測誤差の評価に比べて短時間で評価することができる。
【0096】
(3)幾つかの実施形態では、上記(1)又は(2)に記載の構成において、
前記評価部(153)は、前記第1指標が第1閾値より小さく前記第2指標が第2閾値以上である場合、又は前記第1指標が前記第1閾値以上で前記第2指標が前記第2閾値より小さい場合には、前記学習モデルの予測誤差を評価する。
【0097】
第1指標と第2指標とのいずれか一方のみが閾値より小さい場合、信頼性を判断できない場合がある。この点、上記構成によれば、そのような場合に予測誤差を評価するため、予測誤差の評価結果に基づく対応をすることが可能となる。例えば、予測誤差の評価結果に基づいて、信頼性を評価したり、第1指標と第2指標を用いた評価方法の見直しをしたりする等の対応が可能となる。
【0098】
(4)幾つかの実施形態では、上記(3)に記載の構成において、
前記評価部は、前記第1指標が前記第1閾値以上で、前記第2指標が前記第2閾値より小さく、かつ前記予測誤差が基準値より小さいと評価した場合には、前記第1指標がより小さくなるように前記第1指標の算出式を変更する。
【0099】
上記構成によれば、第1指標の算出式が変更される結果、予測誤差が小さい場合に、第1指標と第2指標の両方が閾値より小さくなりやすくすることができる。これにより、信頼性が高いか否かの判別が困難となるグレーゾーンを縮小することができる。
【0100】
(5)幾つかの実施形態では、上記(3)又は(4)に記載の構成において、
前記評価部(153)は、前記第1指標が前記第1閾値以上で、前記第2指標が前記第2閾値より小さく、かつ前記予測誤差が基準値以上であると評価した場合には、前記第2指標がより大きくなるように前記ニューラルネットワークの構造を調整する。
【0101】
上記構成によれば、ニューラルネットワークの構造が調整される結果、予測誤差が大きい場合に、第1指標と第2指標の両方が閾値以上になりやすくすることができる。これにより、信頼性が高いか否かの判別が困難となるグレーゾーンを縮小することができる。
【0102】
(6)幾つかの実施形態では、上記(3)乃至(5)の何れか一つに記載の構成において、
前記評価部(153)は、前記第1指標が前記第1閾値より小さく、前記第2指標が前記第2閾値以上で、かつ前記予測誤差が基準値以上であると評価した場合には、前記第1指標がより大きくなるように前記第1指標の算出式を変更する。
【0103】
上記構成によれば、第1指標の算出式が変更される結果、予測誤差が大きい場合に、第1指標と第2指標の両方が閾値以上になりやすくすることができる。これにより、信頼性が高いか否かの判別が困難となるグレーゾーンを縮小することができる。
【0104】
(7)幾つかの実施形態では、上記(3)乃至(6)の何れか一つに記載の構成において、
前記評価部(153)は、前記第1指標が前記第1閾値より小さく、前記第2指標が前記第2閾値以上で、かつ前記予測誤差が基準値より小さいと評価した場合には、前記第2指標がより小さくなるように前記ニューラルネットワークの構造を調整する。
【0105】
上記構成によれば、ニューラルネットワークの構造が調整される結果、予測誤差が小さい場合に、第1指標と第2指標の両方が閾値より小さくなりやすくすることができる。これにより、信頼性が高いか否かの判別が困難となるグレーゾーンを縮小することができる。
【0106】
(8)幾つかの実施形態では、上記(1)乃至(7)の何れか一つに記載の構成において、
前記評価部(153)は、
前記第1指標が第1閾値以上で、前記第2指標が第2閾値以上である場合と、
前記第1指標が前記第1閾値以上で、前記第2指標が前記第2閾値より小さく、かつ前記学習モデルの予測誤差が基準値以上であると評価した場合と、
前記第1指標が前記第1閾値より小さく、前記第2指標が前記第2閾値以上で、かつ前記予測誤差が前記基準値以上であると評価した場合と、
の何れか一つ以上の場合において再学習又は再学習を促す通知の出力を実行するように構成される。
【0107】
上記構成によれば、学習モデルの信頼度が低い場合に再学習又は再学習を促す通知の出力が実行されるため、学習モデルから出力される予測値の信頼度を確保することができる。
【0108】
(9)幾つかの実施形態では、上記(1)乃至(8)の何れか一つに記載の構成において、
前記第2取得部(152)は、前記ニューラルネットワークに含まれる複数の前記ニューロンの全体における発火度合を示すニューロンカバレッジに基づいて前記第2指標を算出するように構成される。
【0109】
上記構成によれば、他の算出方法に比べて簡易な処理で第2指標を算出することができる。
【0110】
(10)幾つかの実施形態では、上記(1)乃至(9)の何れか一つに記載の構成において、
前記第2取得部(152)は、前記ニューラルネットワークに含まれる複数の前記ニューロンのそれぞれにおける発火度合と、複数層からなる前記ニューラルネットワークのある層における前記ニューロンの前記発火度合と、又は複数の前記ニューロンの発火パターンの多様性の度合との何れか一以上に基づいて前記第2指標を算出するように構成される。
【0111】
上記構成によれば、ニューラルネットワークの学習モデルの構造に適した評価を実現することができる。
【0112】
(11)幾つかの実施形態では、上記(1)乃至(10)の何れか一つに記載の構成において、
前記第2取得部(152)は、複数の前記ニューロンの全体における発火度合を示すニューロンカバレッジの違いと、複数の前記ニューロンの発火パターンの違いと、に基づいて前記第2指標を算出するように構成される。
【0113】
上記構成によれば、学習時と実運用時のニューロンカバレッジの違いだけでなくニューロンの発火パターンの違いも第2指標に反映させるため、評価精度の向上を図ることができる。
【0114】
(12)幾つかの実施形態では、上記(1)乃至(11)の何れか一つに記載の構成において、
前記第2取得部(152)は、複数の前記ニューロンのそれぞれの発火頻度の違いに基づいて前記第2指標を算出するように構成される。
【0115】
上記構成によれば、学習時と実運用時のニューロンの発火頻度の違いも評価対象となるため、ニューロンの発火頻度の変化が大きくなることによる予測精度の低下が生じ得る場合に有利である。
【0116】
(13)幾つかの実施形態では、上記(1)乃至(12)の何れか一つに記載の構成において、
前記第1取得部(151)は、前記学習入力データと前記実運用入力データとの前記データ空間上でのユークリッド距離に基づいて前記第1指標を算出するように構成される。
【0117】
上記構成によれば、他の算出方法に比べて簡易な処理で第1指標を算出することができる。
【0118】
(14)幾つかの実施形態では、上記(1)乃至(13)の何れか一つに記載の構成において、
前記学習入力データと前記実運用入力データは、それぞれ複数種類の入力データを含み、
前記第1取得部(151)は、前記学習入力データ及び前記実運用入力データの各種類の前記入力データに重要度に基づく重み付けをしたうえで、前記第1指標を算出するように構成される。
【0119】
上記構成によれば、入力データの重要度を反映した第1指標を使用するため、評価精度を向上させることができる。また、入力データの種類が多い場合であっても一元的に評価できる点で有利である。
【0120】
(15)幾つかの実施形態では、上記(1)乃至(14)の何れか一つに記載の構成において、
前記第1取得部(151)は、ドロップアウト手法を用いて、前記学習入力データを入力した場合の出力値の分布を表し、前記分布において前記実運用入力データを入力した場合の分散値に基づいて、前記第1指標を算出するように構成される。
【0121】
上記構成によれば、出力値の分布を利用して算出した第1指標を使用するため、評価の偏りを抑えることができる。
【0122】
(16)幾つかの実施形態では、上記(1)乃至(14)の何れか一つに記載の構成において、
前記評価部(153)は、前記学習入力データの前記データ空間上の分布における中心値を決定し、前記中心値からのずれ又は分散値を前記第1指標の良否判定の第1閾値として設定し、前記信頼性を評価するように構成される。
【0123】
上記構成によれば、閾値を用いて第1指標の良否判定を行うため、第1指標の良否判定の処理を簡素化できる。
【0124】
(17)幾つかの実施形態では、上記(1)乃至(16)の何れか一つに記載の構成において、
前記評価部(153)は、前記学習入力データを入力した場合のニューロンカバレッジに応じた増加幅を前記第2指標の良否判定の第2閾値として、前記信頼性を評価するように構成される。
【0125】
上記構成によれば、閾値を用いて第2指標の良否判定を行うため、第2指標の良否判定の処理を簡素化できる。
【0126】
(18)本開示に係るプラント制御支援システム(700)は、
プラント(400)の状態を予測するための学習モデルを含む学習装置(200)と、
前記学習モデルの予測結果に応じて前記プラント(400)の制御装置(500)の設定パラメータ及び/又は運転目標値を調整するように構成されたパラメータ調整装置(300)と、
を備え、
前記学習装置(200)は、上記(1)乃至(17)の何れか一つに記載の評価装置(100)の評価結果に応じて前記学習モデルの再学習を実行するように構成される。
【0127】
上記構成によれば、評価装置(100)の評価結果に基づいて学習装置(200)が再学習を行う。その結果、学習モデルの予測結果に応じた設定パラメータ及び/又は運転目標値の調整を最適化することができる。
【0128】
(19)本開示に係る評価方法は、
学習入力データと実運用入力データとのデータ空間上での違いを示す第1指標を取得するステップと、
ニューラルネットワークの学習モデルにおける前記学習入力データの入力時と前記実運用入力データの入力時とのニューロンの発火傾向の違いを示す第2指標を取得するステップと、
前記第1指標及び前記第2指標に基づいて、前記実運用入力データに対して前記学習モデルから出力される予測値の信頼性を評価するステップと、
を含む。
【0129】
上記方法によれば、ニューラルネットワークの学習モデルから出力される予測値の信頼性を評価する場合の評価精度を向上させることができる。
【0130】
(20)本開示に係るプログラムは、
コンピュータに、
学習入力データと実運用入力データとのデータ空間上での違いを示す第1指標を取得する手順、
ニューラルネットワークの学習モデルにおける前記学習入力データの入力時と前記実運用入力データの入力時とのニューロンの発火傾向の違いを示す第2指標を取得する手順、
前記第1指標及び前記第2指標に基づいて、前記実運用入力データに対して前記学習モデルから出力される予測値の信頼性を評価する手順、
を実行させる。
【0131】
上記プログラムによれば、ニューラルネットワークの学習モデルから出力される予測値の信頼性を評価する場合の評価精度を向上させることができる。
【符号の説明】
【0132】
11 通信部
12 記憶部
13 入力部
14 出力部
15 制御部
16 バスライン
100 評価装置
151 第1取得部
152 第2取得部
153 評価部
200 学習装置
300 パラメータ調整装置
400 プラント
500 制御装置
600 運転目標値設定装置
700 プラント制御支援システム