IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

2023-176898ニューラルネットワークの計算装置及び計算方法
<>
  • -ニューラルネットワークの計算装置及び計算方法 図1
  • -ニューラルネットワークの計算装置及び計算方法 図2
  • -ニューラルネットワークの計算装置及び計算方法 図3
  • -ニューラルネットワークの計算装置及び計算方法 図4
  • -ニューラルネットワークの計算装置及び計算方法 図5A
  • -ニューラルネットワークの計算装置及び計算方法 図5B
  • -ニューラルネットワークの計算装置及び計算方法 図5C
  • -ニューラルネットワークの計算装置及び計算方法 図6
  • -ニューラルネットワークの計算装置及び計算方法 図7
  • -ニューラルネットワークの計算装置及び計算方法 図8
  • -ニューラルネットワークの計算装置及び計算方法 図9
  • -ニューラルネットワークの計算装置及び計算方法 図10
  • -ニューラルネットワークの計算装置及び計算方法 図11
  • -ニューラルネットワークの計算装置及び計算方法 図12
  • -ニューラルネットワークの計算装置及び計算方法 図13
  • -ニューラルネットワークの計算装置及び計算方法 図14
  • -ニューラルネットワークの計算装置及び計算方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023176898
(43)【公開日】2023-12-13
(54)【発明の名称】ニューラルネットワークの計算装置及び計算方法
(51)【国際特許分類】
   G05B 23/02 20060101AFI20231206BHJP
【FI】
G05B23/02 G
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022089466
(22)【出願日】2022-06-01
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】平野 真琴
(72)【発明者】
【氏名】徳田 勇也
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA01
3C223AA11
3C223BA01
3C223BB17
3C223CC01
3C223EB01
3C223FF22
3C223FF26
3C223GG01
(57)【要約】
【課題】モデリングの対象に対して物理則に基づいた数式を用いてモデリングができるニューラルネットワークの計算装置を提供する。
【解決手段】本発明による計算装置1は、第1と第2のセンサ31が設置された機器3に接続されており、第1のセンサ31の検出値を入力する構造最適化部16と、ニューラルネットワーク(NN)を用いて、第1のセンサ31の検出値と、第2のセンサ31の検出値の予測値との関係を表す数式である予測式を導出する構造数式変換部14とを備える。NNは、ノードの出力値を底とし、ノードに繋がるエッジに設定された重み係数を指数部とする、べき乗を含む数式で表される値を持つノードを含む。構造最適化部16は、第1のセンサ31の検出値から、NNの構造と重み係数を算出する。構造数式変換部14は、構造最適化部16が算出したNNの構造と重み係数を用いて、予測式としてべき乗を含む項を持つ数式を導出する。
【選択図】図1
【特許請求の範囲】
【請求項1】
第1のセンサと第2のセンサが設置された機器に接続されており、
前記第1のセンサの検出値を入力する構造最適化部と、
ニューラルネットワークを用いて、前記第1のセンサの前記検出値と、前記第2のセンサの検出値の予測値との関係を表す数式である予測式を導出する構造数式変換部と、
を備え、
前記ニューラルネットワークは、ノードの出力値を底とし、前記ノードに繋がるエッジに設定された重み係数を指数部とする、べき乗を含む数式で表される値を持つノードを含み、
前記構造最適化部は、前記第1のセンサの前記検出値から、前記ニューラルネットワークの構造と前記重み係数を算出し、
前記構造数式変換部は、前記構造最適化部が算出した前記ニューラルネットワークの構造と前記重み係数を用いて、前記予測式として前記べき乗を含む項を持つ数式を導出する、
ことを特徴とする、ニューラルネットワークの計算装置。
【請求項2】
前記ニューラルネットワークは、入力層、中間層、及び出力層を備え、
前記入力層のノードは、前記第1のセンサの前記検出値を入力して出力値として出力し、
前記中間層のノードは、前記入力層のノードの前記出力値を入力値として入力し、前記入力値を底とし、前記入力層の前記ノードと前記中間層の前記ノードとを繋ぐエッジに設定された重み係数を指数部とする、前記べき乗を含む数式で表される値を持ち、
前記出力層のノードは、前記予測式で計算された値を出力する、
請求項1に記載のニューラルネットワークの計算装置。
【請求項3】
前記中間層の前記ノードは、前記べき乗の和を計算する前記ノードと、前記べき乗の積を計算する前記ノードとを有する、
請求項2に記載のニューラルネットワークの計算装置。
【請求項4】
前記ニューラルネットワークの学習には、誤差逆伝播処理が用いられ、
前記構造最適化部は、誤差逆伝播処理で用いられる数式から得られた数式を用いて前記重み係数を算出する、
請求項1に記載のニューラルネットワークの計算装置。
【請求項5】
ユーザーに入力された、前記予測式の項数の上限値、前記重み係数の初期値の範囲、及びノード間のエッジの有無についての条件を記憶する記憶部を備える、
請求項1に記載のニューラルネットワークの計算装置。
【請求項6】
前記構造最適化部は、ベイズ最適化を用いて、前記記憶部が記憶する前記予測式の項数の上限値を満足するように、各ノード間のエッジの有無を決定する、
請求項5に記載のニューラルネットワークの計算装置。
【請求項7】
前記構造最適化部は、前記重み係数の算出において、前記重み係数が収束するまで前記重み係数を更新し、
前記構造数式変換部は、前記構造最適化部が前記重み係数を更新するごとに前記予測式を導出する、
請求項1に記載のニューラルネットワークの計算装置。
【請求項8】
第1のセンサと第2のセンサが設置された機器に接続された計算装置に実行され、
前記計算装置が、前記第1のセンサの検出値を入力する構造最適化工程と、
前記計算装置が、ニューラルネットワークを用いて、前記第1のセンサの前記検出値と、前記第2のセンサの検出値の予測値との関係を表す数式である予測式を導出する構造数式変換工程と、
を有し、
前記ニューラルネットワークは、ノードの出力値を底とし、前記ノードに繋がるエッジに設定された重み係数を指数部とする、べき乗を含む数式で表される値を持つノードを含み、
前記構造最適化工程では、前記計算装置が、前記第1のセンサの前記検出値から、前記ニューラルネットワークの構造と前記重み係数を算出し、
前記構造数式変換工程では、前記計算装置が、前記構造最適化工程で算出した前記ニューラルネットワークの構造と前記重み係数を用いて、前記予測式として前記べき乗を含む項を持つ数式を導出する、
ことを特徴とする、ニューラルネットワークの計算方法。
【請求項9】
前記ニューラルネットワークは、入力層、中間層、及び出力層を備え、
前記入力層のノードは、前記第1のセンサの前記検出値を入力して出力値として出力し、
前記中間層のノードは、前記入力層のノードの前記出力値を入力値として入力し、前記入力値を底とし、前記入力層の前記ノードと前記中間層の前記ノードとを繋ぐエッジに設定された重み係数を指数部とする、前記べき乗を含む数式で表される値を持ち、
前記出力層のノードは、前記予測式で計算された値を出力する、
請求項8に記載のニューラルネットワークの計算方法。
【請求項10】
前記中間層の前記ノードは、前記べき乗の和を計算する前記ノードと、前記べき乗の積を計算する前記ノードとを有する、
請求項9に記載のニューラルネットワークの計算方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プラントや産業機器などに対し、ニューラルネットワークを用いてモデリングをする計算装置と計算方法に関する。
【背景技術】
【0002】
プラントや産業機器などでは、それらをモデリングすることにより制御や診断が行われることがある。プラントや産業機器などをモデリングする際には、それらが持つ特性を基にした物理則に準じた形でのモデリングが多く行われている。しかし、物理モデリングは、作業工数が多い上に、その精度が作業者の専門知識に大きく依拠する。このため、物理モデリングを代替する手段として、ニューラルネットワークなどの数理モデルを用いたモデリング方法がある。この方法を用いると、十分な量のデータが用意できれば自動でモデリングを行える上に、高精度な予測結果を算出することが期待できる。
【0003】
しかし、ニューラルネットワークは、物理モデリングと異なり、算出した予測結果に対する説明性と解釈性が乏しく、予測結果が得られた理由を理解しやすく説明するのが難しいため、予測に係る処理がブラックボックス化してしまっている。このため、説明責任が求められる、プラントや産業機器などを扱う産業分野において、ニューラルネットワークを導入する際のボトルネックとなっている。
【0004】
このような背景から、一般技術者にも理解が容易な解釈性の高いニューラルネットワークが望まれている。
【0005】
ニューラルネットワークは、1つまたは複数のノードで構成された層を複数有し、異なる層のノードがエッジで接続されている。一般的なニューラルネットワークでは、各ノードにおいて、活性化関数と呼ばれる非線形関数を用いて、入力に対する変換を行う。また、各層に定義されたノードは、次層に定義された全てのノードに対してエッジで接続されている。これらの特徴から、ニューラルネットワークが表現する数式は、複雑な非線形関数となる。この点が、ニューラルネットワークがブラックボックス化している主な原因である。
【0006】
従来のニューラルネットワークの例は、特許文献1に開示されている。特許文献1に開示されたニューラルネットワークでは、従来のニューラルネットワークが持つ非線形で複雑な数式を簡素化しており、ユーザーの理解が容易な数式でモデリングすることが可能である。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2002-42106号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1に開示された技術などの従来のニューラルネットワークでは、ニューラルネットワークがブラックボックス化しているという課題の解決には至っていない。例えば、特許文献1に開示されたニューラルネットワークでは、数式を簡素化してユーザーの理解を容易にしているが、出力値を表す数式はあくまでも近似式であり、必ずしも物理則に準じたモデリングが行われていない。このため、特許文献1でのニューラルネットワークでは、モデリングの対象の背景にある物理則との整合性をとることが困難である。
【0009】
本発明の目的は、モデリングの対象に対して物理則に基づいた数式を用いてモデリングができるニューラルネットワークの計算装置と計算方法を提供することである。
【課題を解決するための手段】
【0010】
本発明による、ニューラルネットワークの計算装置は、第1のセンサと第2のセンサが設置された機器に接続されており、前記第1のセンサの検出値を入力する構造最適化部と、ニューラルネットワークを用いて、前記第1のセンサの前記検出値と、前記第2のセンサの検出値の予測値との関係を表す数式である予測式を導出する構造数式変換部とを備える。前記ニューラルネットワークは、ノードの出力値を底とし、前記ノードに繋がるエッジに設定された重み係数を指数部とする、べき乗を含む数式で表される値を持つノードを含む。前記構造最適化部は、前記第1のセンサの前記検出値から、前記ニューラルネットワークの構造と前記重み係数を算出する。前記構造数式変換部は、前記構造最適化部が算出した前記ニューラルネットワークの構造と前記重み係数を用いて、前記予測式として前記べき乗を含む項を持つ数式を導出する。
【0011】
本発明による、ニューラルネットワークの計算方法は、第1のセンサと第2のセンサが設置された機器に接続された計算装置に実行され、前記計算装置が、前記第1のセンサの検出値を入力する構造最適化工程と、前記計算装置が、ニューラルネットワークを用いて、前記第1のセンサの前記検出値と、前記第2のセンサの検出値の予測値との関係を表す数式である予測式を導出する構造数式変換工程とを有する。前記ニューラルネットワークは、ノードの出力値を底とし、前記ノードに繋がるエッジに設定された重み係数を指数部とする、べき乗を含む数式で表される値を持つノードを含む。前記構造最適化工程では、前記計算装置が、前記第1のセンサの前記検出値から、前記ニューラルネットワークの構造と前記重み係数を算出する。前記構造数式変換工程では、前記計算装置が、前記構造最適化工程で算出した前記ニューラルネットワークの構造と前記重み係数を用いて、前記予測式として前記べき乗を含む項を持つ数式を導出する。
【発明の効果】
【0012】
本発明によると、モデリングの対象に対して物理則に基づいた数式を用いてモデリングができるニューラルネットワークの計算装置と計算方法を提供することができる。
【図面の簡単な説明】
【0013】
図1】本発明の実施例1による、ニューラルネットワークの計算装置の構成を示す図。
図2】計算装置が数式(予測式)の導出に用いるニューラルネットワークの構造を表した概略図。
図3】計算装置が行う処理の流れを示すフロー図。
図4】構造制約条件記憶部に記憶されている一部のデータ(入出力信号に関する制約条件)の構成例を示す図。
図5A】構造制約条件記憶部に記憶されている一部のデータ(中間層で和の計算を担うノードのエッジの有無についての制約条件)の構成例を示す図。
図5B】構造制約条件記憶部に記憶されている一部のデータ(中間層で積の計算を担うノードのエッジの有無についての制約条件)の構成例を示す図。
図5C】構造制約条件記憶部に記憶されている一部のデータ(中間層のノードと出力層のノードとを繋ぐエッジの有無についての制約条件)の構成例を示す図。
図6】構造最適化条件記憶部に記憶されている構造最適化条件の構成例を示す図。
図7】センサデータ格納部に格納されているセンサデータの構成例を示す図。
図8】NN構造最適化部が図3のS6で行う処理のフロー図。
図9】解析結果格納部に格納されているデータの構成例を示す図。
図10】ユーザーがニューラルネットワークの入出力信号に関する制約条件を設定する画面の例。
図11】ユーザーが各ノード間のエッジの有無についての制約条件を設定する画面の例。
図12】ユーザーが構造最適化条件を設定する画面の例。
図13】実施例1において、計算装置が導出した数式(予測式)を出力する画面の例。
図14】本発明の実施例2において、計算装置が数式(予測式)の導出に用いるニューラルネットワークの構造を表した概略図。
図15】実施例2において、計算装置が導出した数式(予測式)を出力する画面の例。
【発明を実施するための形態】
【0014】
本発明によるニューラルネットワークの計算装置と計算方法では、プラントや産業機器などのモデリングの対象に対し、物理則に基づいた数式を用いて入出力の関係性をモデリングできる。このため、ユーザーは、本発明により得られたニューラルネットワークが、モデリングの対象の物理特性と合致しているかを確認することができ、ニューラルネットワークが算出した予測結果に対する説明性と解釈性を向上させることができる。
【0015】
以下、本発明の実施例によるニューラルネットワークの計算装置と計算方法について、図面を参照して説明する。なお、本明細書で用いる図面において、同一のまたは対応する構成要素には同一の符号を付け、これらの構成要素については繰り返しの説明を省略する場合がある。
【実施例0016】
本発明の実施例1による、ニューラルネットワークの計算装置と計算方法について説明する。本実施例による計算装置は、プラントや産業機器などの機器をモデリングの対象とし、この機器に設置されたセンサが検出した値(センサの検出値)のデータを用い、ニューラルネットワークにより、センサの検出値と、機器に設置された他のセンサの検出値の予測値(他のセンサの予測検出値)との関係を表す数式を導出する。モデリングの対象の機器は、この数式によりモデリングされる。本実施例による計算方法は、本実施例による計算装置に実行される、ニューラルネットワークの計算方法である。
【0017】
以下の説明では、ニューラルネットワークを「NN」と表記することもある。
【0018】
図1は、本実施例による、ニューラルネットワークの計算装置の構成を示す図である。計算装置1は、モデリングの対象の機器3を制御する制御システム4を介して、機器3に接続されている。
【0019】
機器3は、計算装置1が導出した数式によりモデリングされる。機器3には、複数のセンサ31が設置されている。
【0020】
制御システム4は、制御装置41とセンサデータ格納部42を備える。制御装置41は、機器3に備え付けられたセンサ31のデータ(例えば、センサ31の検出値)を入力し、機器3の制御信号を出力するための制御ロジックを実装した装置である。センサデータ格納部42は、記憶装置で構成されており、制御装置41が入力したセンサ31のデータ(センサデータ)を格納する。
【0021】
計算装置1は、コンピュータで構成されており、CPUなどの演算処理装置とメモリなどの記憶装置を備え、本実施例による計算方法を実行する。計算装置1は、入出力装置2と機器3に接続されており、機能的な構成要素として、入出力制御部11、構造制約条件記憶部12、NN構造制約設定部15、構造最適化条件記憶部13、NN構造最適化部16、解析結果格納部17、及び構造数式変換部14を備える。
【0022】
計算装置1は、複数のセンサ31が設置された機器3のデータを入力する。計算装置1は、機器3に設置されたセンサ31のデータ(センサデータ)としてセンサ31の検出値を入力し、センサ31の検出値と他のセンサ31の検出値の予測値(他のセンサ31の予測検出値)との関係を表す数式を導出する。他のセンサ31とは、機器3に設置されており、センサデータとして検出値を入力したセンサ31と異なるセンサ31である。
【0023】
入出力装置2は、ユーザーが計算装置1に情報を入力するための入力装置であるとともに、計算装置1が計算したデータやユーザーが入力した情報を表示する画面を備える出力装置である。
【0024】
以下、計算装置1の構成要素について簡単に説明し、詳細な説明は後述する。
【0025】
入出力制御部11は、入出力装置2を用いてユーザーが入力した情報を入力する処理と、入出力装置2にデータや情報を表示するための処理を行う。
【0026】
構造制約条件記憶部12は、記憶装置で構成されており、ユーザーが入出力装置2を用いて入力した、NNの入出力信号に関する制約条件と各ノード間のエッジの有無についての制約条件を記憶する。
【0027】
NN構造制約設定部15は、入出力信号設定部151とエッジ制約設定部152を備え、計算に使用するNNの構造についての制約条件を設定する処理を行う。入出力信号設定部151は、構造制約条件記憶部12に記憶されているNNの入出力信号に関する制約条件を入力し、この制約条件をNN計算時の制約条件として設定する。エッジ制約設定部152は、構造制約条件記憶部12に記憶されている各ノード間のエッジの有無についての制約条件を入力し、この制約条件をNNの構造を決定する際の制約条件として設定する。
【0028】
構造最適化条件記憶部13は、記憶装置で構成されており、入出力装置2を用いてユーザーが入力した構造最適化条件を記憶する。構造最適化条件は、例えば、計算装置1が求める数式の項数の上限値、NNの重み係数の初期値の範囲、及び試行するNNの構造の数である。
【0029】
NN構造最適化部16は、構造最適化条件記憶部13から構造最適化条件を入力するとともに、センサデータ格納部42から機器3のセンサデータを入力し、NN構造制約設定部15が設定した制約条件を用いて、NNの構造と重み係数を算出する処理を行う。NN構造最適化部16は、重み係数の算出において、後述するように、重み係数が収束するまで重み係数を更新する。
【0030】
解析結果格納部17は、記憶装置で構成されており、NN構造最適化部16が算出したNNの構造(例えば、各ノード間のエッジの有無)と重み係数の値を格納する。解析結果格納部17は、NN構造最適化部16による重み係数の算出において重み係数の値が収束するごとに、NNの構造と重み係数の値を格納する。また、解析結果格納部17は、重み係数の値が収束する途中で得られた(すなわち、重み係数の値が収束していないときの)NNの構造と重み係数を格納することもできる。
【0031】
構造数式変換部14は、解析結果格納部17が格納したNNの構造と重み係数の値を用いて、入力信号と出力信号の関係を表す数式、すなわち、センサ31の検出値と他のセンサ31の予測検出値との関係を表す数式(予測式)を導出する。構造数式変換部14は、NN構造最適化部16が重み係数を更新するごとに予測式を導出する。すなわち、構造数式変換部14は、重み係数が収束したときの重み係数の値を用いて予測式を導出するだけでなく、重み係数が収束していないときの重み係数の値を用いて予測式を導出することもできる。
【0032】
計算装置1は、以上のような構成要素を備え、NNが表現する数式(予測式)、すなわち、機器3をモデリングし、センサ31の検出値と他のセンサ31の予測検出値との関係を表す予測式を導出することができる。
【0033】
ここで、計算装置1が数式(予測式)の導出に用いるNNの構成を説明する。
【0034】
図2は、計算装置1が数式(予測式)の導出に用いるNNの構造を表した概略図である。NNは、入力層、中間層、及び出力層の3層を備える。NNを構成する要素として、線で表されている部分をエッジ、丸で表されている部分をノードと呼ぶ。図2に示す例では、入力層は、添え字jで示されるn個のノードを有し(j=1~n)、中間層は、添え字iで示される(m+k)個のノードを有し(i=1~(m+k))、出力層は、1個のノードを有する。
【0035】
なお、図2において、太い線で表されているエッジは、本実施例でのNNが持つエッジであり、細い線で表されているエッジは、本実施例でのNNが持たないエッジである。本実施例でのNNは、層の間で一部のノードだけがエッジで接続されており、太い線で表されているエッジだけを持つ構造を有する。従来のNNは、図2の太い線で表されているエッジと細い線で表されているエッジを有し、層の間で全てのノードがエッジで接続されているという構造を有する。本実施例でのNNは、従来のNNにおいて細い線で表されているエッジが削除された構造を有すると考えることができる。
【0036】
入力層にあるノードjには、n個の入力信号の値xj(j=1~n)が入力値として設定される。入力信号は、センサ31の検出値である。そして、入力層にあるノードjは、xjを出力値として出力する。
【0037】
次に、入力層から中間層への計算を説明する。各エッジには、重み係数w(j,i)が割り当てられている。jとiは、エッジの両端に位置するノードjとノードiを示す。すなわち、w(j,i)は、入力層にあるノードjと中間層にあるノードiを接続するエッジに設定された重み係数を表す。各エッジでは、入力層にあるノードの出力xj(J=1~n)を底とし、重み係数w(j,i)を指数部とする、べき乗を計算する。
【0038】
中間層では、各エッジで計算された値を入力し、これらの和hまたは積zを計算する。数式で表すと以下になる。
【0039】
【数1】
【0040】
【数2】
【0041】
δは、各ノード間のエッジが繋がれていない場合は0、繋がれている場合は1を出力する関数である。本実施例では、エッジ制約設定部152(図1)が設定した、各ノード間のエッジの有無についての制約条件に従い、層の間で全てのノードがエッジで接続されているのではなく、一部のノードだけがエッジで接続されている。
【0042】
中間層にあるノードiは、入力層にあるノードjの出力値xjを入力値とし入力し、この入力値xjを底とし、ノードjとノードiとを繋ぐエッジに設定された重み係数wを指数部とする、べき乗を含む数式で表される値を持つ。そして、中間層にあるノードiは、式(1)と式(2)で表されるように、このべき乗の和hを計算するノードと、このべき乗の積zを計算するノードとを有する。図2に示す例では、中間層のノードのうち、前半のm個(i=1~m)のノードiは、式(1)で和hを計算し、後半のk個(i=(m+1)~(m+k))のノードiは、式(2)で積zを計算する。和hを計算するノードの数mと積zを計算するノードの数kは、任意に定めることができ、数式を表すのに十分な数を設定しておく。
【0043】
次に、中間層から出力層への計算を説明する。出力層には、1個のノードしか存在しない。中間層にあるノードiと出力層にあるノードを繋ぐエッジに設定された重み係数を、w’jで示す。出力層のノードは、出力値yを出力する。出力値yは、NNが表現する数式(予測式)で計算された値である。
【0044】
以上に説明した構造をもつNNが表現する数式(予測式)は、式(3)の形式、すなわち、べき乗を含む項の線形和を有する形式で表される。
【0045】
【数3】
【0046】
式(3)では、中間層のノードiについて和hだけでなく積zについても計算することで、出力値yを求める。積zについても計算することで、より正確に物理則に基づく数式を得ることができる。
【0047】
本実施例による計算装置1が使用するNNと従来の一般的なNNの違いは、主に以下の3点である。
【0048】
第1点は、式(1)~(3)に示すように、NNの入力値xjを底とし、重み係数w(j,i)を指数部とする、べき乗計算をして出力値yを求める点である。物理則は、一般に、べき乗の項を含む数式で表されることが多い。本実施例では、NNが表現する数式を、入力値を底とし重み係数を指数部とする、べき乗の項を含む数式で表すことで、物理則に基づいた数式を用いたモデリングが可能である。
【0049】
第2点は、式(2)に示すように、中間層のノードで、各エッジで計算された値(べき乗計算の値)を入力とした積zを計算する点である。上述したように、和hだけを計算するのではなく積zについても計算することで、より正確に物理則に基づく数式を得ることができる。
【0050】
第3点は、層の間で一部のノードだけがエッジで接続されており、全てのノードにエッジが繋がっているわけではない点である。エッジがどのノードに繋がっているか、すなわち層の間でノードがどのノードに接続されているかというNNの構造は、式(1)~(3)のδで決定される。NNの構造として、各層のノードを繋ぐエッジの数が増えると、NNが表現する数式も複雑化する。従って、エッジを減らすことで、数式を簡素化することができる。本実施例では、層の間でノードが一部のノードだけに対して接続されているので、エッジを減らしてNNが表現する数式を簡素化し、物理則との整合性をとるのを容易にすることができる。
【0051】
本実施例による計算装置1は、以上のような特徴を備え、式(3)に示したような物理特性を表す数式(物理式)を予測式として表現することができる。このため、本実施例による計算装置1では、NNの出力値(センサ31の予測検出値)が得られた理由をユーザーが容易に理解することができ、出力値に対する説明性と解釈性を向上させることができる。
【0052】
図3は、計算装置1が行う処理の流れを示すフロー図である。図3を用いて、上記で説明したNNを用いて数式を導出する計算装置1の処理の流れを説明する。
【0053】
S1で、ユーザーが入出力装置2を用いて、数式を導出するための計算の実行を計算装置1に命令すると、NN構造制約設定部15は、入出力制御部11を通してこの計算の実行命令を取得する。
【0054】
S2で、NN構造制約設定部15の入出力信号設定部151は、NNの入出力信号に関する制約条件を構造制約条件記憶部12から入力し、入力した制約条件をNN計算時の制約条件として設定する。
【0055】
図4は、構造制約条件記憶部12に記憶されている一部のデータの構成例を示す図である。図4には、一例として、構造制約条件記憶部12に記憶されているデータのうち、NNの入出力信号に関する制約条件を示している。この制約条件は、使用する入力信号と出力信号のそれぞれが、どのセンサ31の信号であるかを、センサ31の名前で特定する。図4に示した例では、NNにより、入力信号であるセンサA~Dなどの検出値(実測値)から、出力信号であるセンサZの予測検出値を算出する、という制約条件を示している。入力信号は、複数のセンサの信号であり、出力信号は、1つのセンサの信号とする。これは、図2に示したNNの入力層と出力層のノードに対応する。
【0056】
NNの入出力信号に関する制約条件のデータは、ユーザーが事前に入出力装置2を用いて設定し、構造制約条件記憶部12に記憶されている。
【0057】
図3の説明に戻る。
【0058】
S3で、NN構造制約設定部15のエッジ制約設定部152は、各ノード間のエッジの有無についての制約条件を構造制約条件記憶部12から入力し、入力した制約条件をNNの構造を決定する際の制約条件として設定する。
【0059】
図5A~5Cは、構造制約条件記憶部12に記憶されている一部のデータの構成例を示す図である。図5A~5Cには、一例として、構造制約条件記憶部12に記憶されているデータのうち、各ノード間のエッジの有無についての制約条件(NNの構造を決定する際の制約条件)を示している。図5A~5Cにおいて、表中の記号「×」は、ノード間でエッジが存在しないことを示している。記号「×」が付されていないノード間には、エッジが存在する。
【0060】
図5A図5Bは、入力層のノードと中間層のノードとを繋ぐエッジが、どのノード間で存在し、どのノード間で存在しないかという、各ノード間のエッジの有無についての制約条件の例を示す。図5Aには、式(1)で示した和hの計算を担うノード、すなわち図2に示した中間層のノードi(i=1~m)に関するノードを示している。図5Bには、式(2)で示した積zの計算を担うノード、すなわち図2に示した中間層のノードi(i=(m+1)~(m+k))に関するノードを示している。
【0061】
図5Cは、中間層のノードと出力層のノードとを繋ぐエッジが、どのノード間で存在し、どのノード間で存在しないかという、各ノード間のエッジの有無についての制約条件の例を示す。
【0062】
各ノード間のエッジの有無についての制約条件のデータは、ユーザーが事前に入出力装置2を用いて設定し、構造制約条件記憶部12に記憶されている。ユーザーは、例えばセンサ31が検出する信号に応じて、この制約条件を設定することができる。上述したように、従来のNNでは、層の間で全てのノードがエッジで接続されている。この制約条件は、本実施例でのNNにおいて、物理則との整合性をとるのを容易にするために、従来のNNから削除するエッジを定める条件である。
【0063】
図3の説明に戻る。
【0064】
S4で、NN構造最適化部16は、構造最適化条件を構造最適化条件記憶部13から入力する。構造最適化条件は、ユーザーが予め設定した、NNの学習条件である。
【0065】
図6は、構造最適化条件記憶部13に記憶されている構造最適化条件の構成例を示す図である。図6には、構造最適化条件として、数式項数の上限値、重み係数の初期値範囲、及び試行するNN構造の数を示している。
【0066】
数式項数の上限値は、計算装置1が導出する数式(予測式)の項数の上限値を表す。
【0067】
重み係数の初期値範囲は、NNの学習処理(重み係数wの収束計算)の際に設定する、重み係数wの初期値の範囲を表す。NN構造最適化部16は、後述する学習処理において、この重み係数の初期値範囲に従って、重み係数wの初期値を設定する。
【0068】
試行するNN構造の数は、計算装置1が数式を導出する回数を表す。NN構造最適化部16は、後述するように、各ノード間のエッジの有無のパターンを変えて(すなわち、NNの構造を変えて)数式を導出する。このパターンを変えて数式を導出する回数が、試行するNN構造の数で定められる。
【0069】
図3の説明に戻る。
【0070】
S5で、NN構造最適化部16は、構造制約条件記憶部12に記憶された入力信号について、時系列データをセンサデータ格納部42から入力することで、機器3のセンサデータを入力する。
【0071】
図7は、センサデータ格納部42に格納されているセンサデータの構成例を示す図である。センサデータ格納部42には、NNの入力信号となる、それぞれのセンサ31の検出値が、時系列の形式で格納されている。
【0072】
図3の説明に戻る。
【0073】
S6で、NN構造最適化部16は、学習処理によって、NNの構造を決定し、決定したNNの構造に対応する重み係数wを算出することで、入力信号と出力信号の関係を表す最適なNNを決定する。NNの学習には、例えば、誤差逆伝播処理を用いる。以下、図8を用いて、S6で行う処理の詳細を説明する。
【0074】
図8は、NN構造最適化部16が図3のS6で行う処理のフロー図である。本実施例による計算装置1におけるNNの学習処理、すなわち数式を導出する処理は、図8に示すように、二重のループで構成されたフローである。
【0075】
外側のループ(S11~S16)は、NNの構造、すなわち各ノード間のエッジの有無を決定する処理である。この処理では、構造制約条件記憶部12に記憶されている、各ノード間のエッジの有無についての制約条件(図5A~5C)において存在すると指定されたエッジについて、エッジを存在させないか存在させるか(すなわち、エッジを削除するか否か)を決定する。NN構造最適化部16が、各ノード間のエッジの有無のパターン(すなわち、NN構造)を変える回数は、構造最適化条件である試行するNN構造の数(図6)に従う。
【0076】
内側のループ(S14~S15)は、外側のループで決定されたNNの構造に対して、重み係数wを決定する処理である。この重み係数wの収束判定条件は、NNが出力するセンサ31の予測検出値とこのセンサ31の検出値(実測値)との差(loss)の変化率が、閾値以下となることである。この閾値は、ユーザーが予め任意に定めることができる。
【0077】
NN構造最適化部16が最終的に決定するNNの構造と重み係数wは、lossが最小となる条件で得られたものである。
【0078】
以下、図8のフローに沿って、NN構造最適化部16がNNの構造を決定して重み係数wを算出する処理について説明する。
【0079】
S11で、NN構造最適化部16は、今までに試行したNN構造の数(すなわち、計算装置1が数式を導出した回数)が、構造最適化条件としてユーザーに設定された試行するNN構造の数より小さいかを判断する。今までに試行したNN構造の数が、ユーザーに設定された試行するNN構造の数より小さい間は、S12~S16の処理を行う。
【0080】
S12で、NN構造最適化部16は、ベイズ最適化を用いて、構造最適化条件としてユーザーに設定された数式項数の上限値を満足するように、NNの構造(すなわち、各ノード間のエッジの有無)を決定する。NN構造最適化部16は、ユーザーが指定して構造制約条件記憶部12が記憶している、各ノード間のエッジの有無についての制約条件において存在するとされたエッジについて、これらのエッジを存在させるか否か(削除しないかするか)を決定する。ベイズ最適化とは、統計的な手法を用いて効率よく解を探索するための処理方法である。本実施例では、探索解であるNNの構造と、その評価値であるlossとの関係を用いて、各ノード間のエッジの有無のパターンを変えて(すなわち、NNの構造を変えて)統計的に探索範囲を決定することにより、最適化処理の効率化を図る。
【0081】
NN構造最適化部16は、設定された数式項数の上限値を満足するように各ノード間のエッジの有無を決定することで、NNから削除するエッジを定めることができる。すなわち、数を減らすためにNNから削除するエッジは、各ノード間のエッジの有無についての制約条件(構造制約条件記憶部12)としてユーザーが指定することができるとともに、NN構造最適化部16が求めることができる。
【0082】
各ノード間のエッジの有無と最終的に導出する数式の項数との関係は、中間層と出力層の間のエッジの数に依存する。図2に示した中間層のノードiのうち、前半のm個(i=1~m)のノードiについては、入力値の和hを計算するので、数式の項数は、出力層に繋がった中間層のノードと入力層のノードとを繋ぐエッジの総数となる。後半のk個(i=(m+1)~(m+k))のノードiについては、入力値の積zを計算するので、数式の項数は、出力層に繋がった中間層のノードの数となる。
【0083】
以上のようにNNの構造が決まれば、導出される数式の項数も一意に決まる。この性質を利用して、NN構造最適化部16は、ベイズ最適化により、設定された数式項数の上限値を満足するように、NNの構造(各ノード間のエッジの有無)を決定する。
【0084】
S13で、NN構造最適化部16は、S12で決定されたNN構造に対し、各エッジに割り付けられている重み係数wの初期値を設定する。この初期値は、任意の値に設定することができるが、前記したように、構造最適化条件としてユーザーに設定された重み係数の初期値範囲に従う値である。
【0085】
次に、NN構造最適化部16は、NNの学習処理、すなわち重み係数wの収束計算を行う。この収束計算は、後述する式(4)~(7)を用いて、重み係数wを更新する処理(S15)と、lossの変化率に基づいて収束判定を行う処理(S14)で構成される。
【0086】
以下に、S15の重み係数wを更新する処理の詳細を説明する。重み係数wを更新するのに用いられる式は、式(4)~(7)の4つある。これは、出力層と中間層のノードの組と中間層と入力層のノードの組という2組に対し、中間層の和hを計算するノードi(i=1~m)と積zを計算するノードi(i=(m+1)~(m+k))という2種類のノードがあるので、これらの組み合わせに応じて式が4つある。式(4)~(7)と後述する式(8)~(9)では、矢印の右側にあるwに更新前のwを代入し、矢印の右側にある式で得られた値を更新後のw(矢印の左側にあるw)とすることを示している。
【0087】
出力層と中間層のノードの組におけるノードi(i=1~m)に繋がるエッジでは、重み係数wを更新するための式として、式(4)を用いる。前記したように、wは重み係数、hは式(1)で示した中間層のノードi(i=1~m)の出力値、lossはNNが出力するセンサ31の予測検出値とこのセンサ31の検出値(実測値)との差である。ηは、学習率と呼ばれる任意の定数であり、値が例えば0.001と固定されている。
【0088】
【数4】
【0089】
出力層と中間層のノードの組におけるノードi(i=(m+1)~(m+k))に繋がるエッジでは、重み係数wを更新するための式として、式(5)を用いる。前記したように、zは式(2)で示した中間層のノードi(i=(m+1)~(m+k))の出力値である。
【0090】
【数5】
【0091】
中間層と入力層のノードの組におけるノードi(i=1~m)に繋がるエッジでは、重み係数wを更新するための式として、式(6)を用いる。前記したように、xは、入力層にあるノードj(j=1~n)の出力値である。
【0092】
【数6】
【0093】
中間層と入力層のノードの組におけるノードi(i=(m+1)~(m+k))に繋がるエッジでは、重み係数wを更新するための式として、式(7)を用いる。
【0094】
【数7】
【0095】
NN構造最適化部16は、以上に示した式(4)~(7)を用いて重み係数wの更新を繰り返し、最終的な重み係数wの値を決定する。
【0096】
式(6)、(7)は、入力層にあるノードの出力値x、すなわちセンサ31の検出値が負の場合には使えない。そこで、式(6)の代わりに式(8)を用いてもよく、式(7)の代わりに式(9)を用いてもよい。式(8)、(9)は、センサ31の検出値が負の場合にも対応できる。
【0097】
【数8】
【0098】
【数9】
【0099】
以上の数式(4)~(9)は、NNが学習に用いる誤差逆伝播処理で用いられる数式から導くことができるので、詳細な説明を省略する。
【0100】
NN構造最適化部16は、S15で重み係数wを更新したら、S14で重み係数wの値が収束したかを判定する。
【0101】
S14で、NN構造最適化部16は、前記したように、NNが出力するセンサ31の予測検出値とこのセンサ31の検出値(実測値)との差(loss)の変化率が、閾値以下であるかを判断する。lossの変化率とは、重み係数wを更新したときの、更新前後でのlossの変化率のことである。NN構造最適化部16は、lossの変化率が閾値以下であれば、重み係数wの値が収束したと判断し、S16の処理を実行する。
【0102】
S16で、NN構造最適化部16は、これまでに決定したNNの構造について得られたlossに対し、lossが最小のときのNNの構造のデータと重み係数wを記憶する。NN構造最適化部16は、lossが最小となるNNの構造を最適な構造だと判断し、このときのNNの構造のデータと重み係数wを記憶する。また、NN構造最適化部16は、重み係数wの値が収束したときに得られた最終的なNNの構造のデータと重み係数wだけでなく、収束途中で得られたNNの構造のデータと重み係数wも記憶する。
【0103】
図8を用いて説明した以上の処理が、図3のS6で行う処理である。
【0104】
図3の説明に戻る。
【0105】
S7で、NN構造最適化部16は、S6の処理で得られたNNの構造(各ノード間のエッジの有無)のデータと重み係数wを解析結果格納部17に格納する。
【0106】
図9は、解析結果格納部17に格納されているデータの構成例を示す図である。解析結果格納部17には、重み係数wの値が収束したときと収束していないときに得られた、NNの構造のデータと重み係数wの値が格納される。図9において、表中に記入されている数値は、各エッジに対応する重み係数wを表しており、表中の記号「×」は、ノード間でエッジが存在しないことを示している。
【0107】
図3の説明に戻る。
【0108】
S8で、構造数式変換部14は、解析結果格納部17が格納したNNの構造のデータと重み係数wの値を用いて、式(3)に従い、入力信号と出力信号の関係を表す数式、すなわち、センサ31の検出値と他のセンサ31の予測検出値との関係を表す数式(予測式)を導出する。式(3)には、式(1)と(2)に示されるように、hとzにべき乗の項が含まれている。このため、計算装置1は、式(3)により、物理則に基づいた数式を用いたモデリングが可能である。
【0109】
なお、構造数式変換部14は、NN構造最適化部16が重み係数を更新するごとに予測式を導出する。すなわち、構造数式変換部14は、重み係数が収束したときの重み係数の値を用いて予測式を導出するだけでなく、重み係数が収束していないときの重み係数の値を用いて、予測式を導出することもできる。
【0110】
以上が、計算装置1が行う処理の流れについての説明である。
【0111】
次に、ユーザーが計算装置1を使うときに、入出力装置2が表示する画面の例を説明する。入出力装置2は、計算装置1からの命令により、以下のような画面を表示する。
【0112】
図10は、ユーザーがNNの入出力信号に関する制約条件を設定する画面の例である。NNの入出力信号に関する制約条件は、構造制約条件記憶部12に記憶され、使用する入力信号と出力信号のそれぞれが、どのセンサ31の信号であるかを、センサ31の名前で特定する条件である。
【0113】
ユーザーは、使用出力値の項目101で、出力信号がどのセンサ31の信号であるかを指定する。例えば、計算装置1は、入出力装置2の画面に、機器3に設置されたセンサ31の一覧を表示し、ユーザーは、この一覧の中から出力に指定するセンサ31を1つ選択する。また、ユーザーは、使用入力値の項目102で、入力信号がどのセンサ31の信号であるかを指定する。入力信号については、ユーザーは、複数のセンサ31を選択する。図10に示すように、選択されたセンサ31は、色が変わって表示される。
【0114】
図11は、ユーザーが各ノード間のエッジの有無についての制約条件を設定する画面の例である。各ノード間のエッジの有無についての制約条件は、構造制約条件記憶部12に記憶され、NNから削除されるエッジを指定する条件である。
【0115】
ユーザーは、入力層のノードと中間層のノードとを繋ぐエッジについての項目201、202で、これらのエッジに対してエッジの有無を指定する。項目201は、和hの計算を担うノードに関するエッジについての項目である。項目202は、積zの計算を担うノードに関するエッジについての項目である。また、ユーザーは、中間層のノードと出力層のノードとを繋ぐエッジについての項目203で、これらのエッジに対してエッジの有無を指定する。図11において、表中のチェックマークは、削除するエッジが指定されたことを示している。チェックマークの付け外しは、例えば、ユーザーがマウスカーソルで表をクリックすることで行うことができる。
【0116】
図12は、ユーザーが構造最適化条件を設定する画面の例である。構造最適化条件は、構造最適化条件記憶部13に記憶され、数式項数の上限値、重み係数の初期値範囲、及び試行するNN構造の数を含む。
【0117】
ユーザーは、数式項数の上限値の項目301で、計算装置1が導出する数式の項数の上限値を指定する。ユーザーは、重み係数の初期値範囲の項目302で、NNの学習処理(重み係数wの収束計算)の際に設定する、重み係数wの初期値の範囲を指定する。ユーザーは、試行するNN構造の数の項目303で、計算装置1が、各ノード間のエッジの有無のパターンを変えて数式を導出する回数(パターンの数)を指定する。
【0118】
図13は、計算装置1が導出した数式(予測式)を出力する画面の例である。項目401は、ユーザーがNNの入出力信号に関する制約条件で指定したセンサ31の信号値(検出値)を表示する。項目402は、NNの重み係数wの収束計算が終了したときに導出された数式(予測式)を表示する。この数式は、計算装置1が行った処理フローの全体を通して、lossが最小のときの数式である。項目403は、重み係数wの収束計算の途中で導出された数式を、収束計算の繰り返しごとに表示する。
【0119】
項目403で、収束計算の途中で導出された数式、すなわち、重み係数が収束していないときの重み係数の値を用いて導出された数式を表示するのは、lossが最小のときの数式が必ずしも最適とは限らないからである。以下に、この現象の詳細を説明する。
【0120】
NNなどのモデリングには、一般的に過学習という問題がある。過学習とは、学習用に与えられたデータに過剰にフィッティングしたモデルが作られた結果、それ以外のデータに対する誤差が大きくなる現象をいう。このため、予測誤差(例えば、本実施例ではloss)が最小だが、得られた数式は、過学習が原因で物理則に準じていない場合もあり得る。
【0121】
本実施例による計算装置1では、予測誤差の小さいNNを得ることよりも、モデリングの対象の背景にある物理則に準じた数式を導出することを重視する。このため、本実施例による計算装置1では、収束計算の途中の過程で導出された数式、すなわちlossが最小でないときの数式も併せて表示することにより、過学習による問題の解決を図ることができる。
【0122】
以上に述べたように、本実施例によれば、プラントや設備機器などの機器3に設置されたセンサ31の検出値と他のセンサ31の予測検出値との関係性を、物理則に基づいた数式としてモデリングできる。これにより、ユーザーは、モデリングされたNNが対象の機器3の物理特性と合致しているかを容易に確認することができ、NNが算出した予測結果に対する説明性と解釈性を向上させることができる。
【実施例0123】
本発明の実施例2による、ニューラルネットワーク(NN)の計算装置及び計算方法について説明する。実施例1と実施例2との相違点は、NNが表現できる数式(予測式)にある。実施例1では、式(3)に示すように、べき乗を含む項の線形和を有する形式の数式を導出するが、実施例2では、線形和のべき乗を有する形式の数式を導出する。
【0124】
以下では、実施例2について、実施例1との相違点を主に説明する。相違点は、NNの構造、NNの計算処理と学習処理、及び計算装置1の計算結果を出力する画面である。
【0125】
初めに、NNの構造について、実施例2の実施例1との相違点を説明する。
【0126】
図14は、本実施例において、計算装置1が数式(予測式)の導出に用いるNNの構造を表した概略図である。本実施例でのNNの構造は、実施例1でのNNの構造(図2)と比べて、入力層から中間層におけるエッジ部が担う計算処理と、中間層から出力層におけるエッジ部が担う計算処理とが入れ替わっている点で相違する。
【0127】
まず、入力層から中間層への計算を説明する。各エッジには、重み係数w(j,i)が割り当てられている。jとiは、エッジの両端に位置するノードjとノードiを示す。すなわち、w(j,i)は、入力層にあるノードjと中間層にあるノードiを接続するエッジに設定された重み係数を表す。各エッジでは、入力層にあるノードの出力xj(J=1~n)と重み係数w(j,i)の積を計算する。
【0128】
中間層では、各エッジで計算された値を入力とし、これらの和hまたは積zを計算する。数式で表すと以下になる。
【0129】
【数10】
【0130】
【数11】
【0131】
δは、各ノード間のエッジが繋がれていない場合は0、繋がれている場合は1を出力する関数である。本実施例では、実施例1と同様に、層の間で全てのノードがエッジで接続されているのではなく、一部のノードだけがエッジで接続されている。
【0132】
図14に示す例では、中間層のノードのうち、前半のm個(i=1~m)のノードiは、式(10)で和hを計算し、後半のk個(i=(m+1)~(m+k))のノードiは、式(11)で積zを計算する。和hを計算するノードの数mと積zを計算するノードの数kは、任意に定めることができ、数式を表すのに十分な数を設定しておく。
【0133】
次に、中間層から出力層への計算を説明する。出力層には、1個のノードしか存在しない。中間層にあるノードiと出力層にあるノードを繋ぐエッジに設定された重み係数を、w’jで示す。出力層のノードは、出力値yを出力する。各エッジでは、中間層にあるノードの出力hi(i=1~m)とzi(i=(m+1)~(m+k))を底とし、重み係数w’jを指数部とする、べき乗を計算する。
【0134】
以上に説明した構造をもつNNが表現する数式(予測式)は、式(12)の形式、すなわち、線形和のべき乗を有する形式で表される。
【0135】
【数12】
【0136】
次に、NNの計算処理と学習処理について、実施例2の実施例1との相違点を説明する。相違点は、重み係数wの収束計算に用いる数式である。実施例2では、後述する式(13)~(18)を用いて、重み係数wを更新する。
【0137】
以下に、重み係数wを更新する処理(実施例1での図8のS15に相当)の詳細を説明する。重み係数wを更新するのに用いられる式は、式(13)~(16)の4つある。式が4つあるのは、実施例1で説明したのと同様の理由による。
【0138】
出力層と中間層のノードの組におけるノードi(i=1~m)に繋がるエッジでは、重み係数wを更新するための式として、式(13)を用いる。前記したように、wは重み係数、hは式(10)で示した中間層のノードi(i=1~m)の出力値、lossはNNが出力するセンサ31の予測検出値とこのセンサ31の検出値(実測値)との差である。ηは、学習率である。
【0139】
【数13】
【0140】
出力層と中間層のノードの組におけるノードi(i=(m+1)~(m+k))に繋がるエッジでは、重み係数wを更新するための式として、式(14)を用いる。前記したように、zは式(11)で示した中間層のノードi(i=(m+1)~(m+k))の出力値である。
【0141】
【数14】
【0142】
中間層と入力層のノードの組におけるノードi(i=1~m)に繋がるエッジでは、重み係数wを更新するための式として、式(15)を用いる。xは、入力層にあるノードj(j=1~n)の出力値である。
【0143】
【数15】
【0144】
中間層と入力層のノードの組におけるノードi(i=(m+1)~(m+k))に繋がるエッジでは、重み係数wを更新するための式として、式(16)を用いる。
【0145】
【数16】
【0146】
式(13)の代わりに式(17)を用いてもよく、式(14)の代わりに式(18)を用いてもよい。式(17)、(18)は、中間層ノードの出力値hまたはzが負の場合にも対応できる。
【0147】
【数17】
【0148】
【数18】
【0149】
次に、計算装置1の計算結果を出力する画面について、実施例2の実施例1との相違点を説明する。
【0150】
図15は、本実施例において、計算装置1が導出した数式(予測式)を出力する画面の例である。項目502は、NNの重み係数wの収束計算が終了したときに導出された数式(予測式)を表示する。項目503は、重み係数wの収束計算の途中で導出された数式を、収束計算の繰り返しごとに表示する。
【0151】
項目502と項目503に表示される数式の形式は、実施例1で項目402と項目403(図13)に表示される数式の形式と、それぞれ相違する。実施例2では、線形和のべき乗を有する形式で数式が表示される。
【0152】
以上に述べたように、本実施例では、実施例1で表現できない形式の数式、すなわち、線形和のべき乗を有する形式の数式を導出することができる。このため、本実施例でも、プラントや設備機器などの機器3に設置されたセンサ31の検出値と他のセンサ31の予測検出値との関係性を、物理則に基づいた数式としてモデリングできる。これにより、ユーザーは、モデリングされたNNが対象の機器3の物理特性と合致しているかを容易に確認することができ、NNが算出した予測結果に対する説明性と解釈性を向上させることができる。
【0153】
なお、本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。例えば、上記の実施例は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明は、必ずしも説明した全ての構成を備える態様に限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能である。また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、削除したり、他の構成を追加・置換したりすることが可能である。
【符号の説明】
【0154】
1…計算装置、2…入出力装置、3…機器、4…制御システム、11…入出力制御部、12…構造制約条件記憶部、13…構造最適化条件記憶部、14…構造数式変換部、15…NN構造制約設定部、16…NN構造最適化部、17…解析結果格納部、31…センサ、41…制御装置、42…センサデータ格納部、101…使用出力値の項目、102…使用入力値の項目、151…入出力信号設定部、152…エッジ制約設定部、201、202…入力層と中間層を繋ぐエッジについての項目、203…中間層と出力層を繋ぐエッジについての項目、301…数式項数の上限の項目、302…重み係数の初期値範囲の項目、303…試行するNN構造の数の項目、401…センサの信号値を表示する項目、402…導出された数式を表示する項目、403…収束計算の途中で導出された数式を表示する項目、502…導出された数式を表示する項目、503…収束計算の途中で導出された数式を表示する項目。
図1
図2
図3
図4
図5A
図5B
図5C
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15