(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-06-22
(54)【発明の名称】産業的なおよび/または技術的なプロセスモデルの評価および/または適合化
(51)【国際特許分類】
G06N 20/00 20190101AFI20220615BHJP
G06N 3/08 20060101ALI20220615BHJP
G05B 23/02 20060101ALI20220615BHJP
【FI】
G06N20/00
G06N3/08
G05B23/02 Z
【審査請求】未請求
【予備審査請求】有
(21)【出願番号】P 2021561792
(86)(22)【出願日】2020-04-03
(85)【翻訳文提出日】2021-10-25
(86)【国際出願番号】 SE2020050351
(87)【国際公開番号】W WO2020214075
(87)【国際公開日】2020-10-22
(32)【優先日】2019-04-18
(33)【優先権主張国・地域又は機関】SE
(81)【指定国・地域】
(71)【出願人】
【識別番号】521453161
【氏名又は名称】カレヨ、インダストリアル、インテリジェンス、アクチボラグ
【氏名又は名称原語表記】CALEJO INDUSTRIAL INTELLIGENCE AB
(74)【代理人】
【識別番号】100091487
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100137523
【氏名又は名称】出口 智也
(72)【発明者】
【氏名】レオナルド、コバリ、ヨハルド
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA06
3C223AA11
3C223AA15
3C223BA03
3C223CC02
3C223DD03
3C223EB01
3C223FF22
3C223FF26
3C223GG01
3C223HH01
(57)【要約】
産業的なおよび/または技術的なプロセスに関連した1つまたは複数の技術モデルを評価および/または適合化するための、方法、および対応するシステム、ならびにコンピュータプログラム、が提供される。方法は、少なくとも1つの物理的サブモデルと、少なくとも1つのニューラルネットワークサブモデルと、を含む産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルを、このパラメータ化モデルに関する1つまたは複数のパラメータを含めて、取得すること(S1)を含む。方法は、パラメータ化モデルに基づいて、微分方程式系を生成すること(S2)と、この微分方程式系に基づいて、産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートすること(S3)と、をさらに含む。方法は、また、産業的なおよび/または技術的なプロセスをシミュレートする際に、微分方程式系に対して逆モード自動微分を適用することにより、産業的なおよび/または技術的なプロセスのモデルの評価を表す推定値を生成すること(S4)を含む。
【特許請求の範囲】
【請求項1】
システム(20;30;100)であって、
-1つまたは複数のプロセッサ(110)と、
-少なくとも1つの物理的サブモデルと、産業的なおよび/または技術的なプロセスを少なくとも部分的にモデル化するための普遍関数近似器として使用される少なくとも1つのニューラルネットワークサブモデルと、を含む前記産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルを、前記完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する1つまたは複数のモデルパラメータを含めて、格納するように構成されたメモリ(120)と、
-前記1つまたは複数のプロセッサ(110)によって、前記完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに基づいてならびに対応する微分方程式系に基づいて、前記産業的なおよび/または技術的なプロセスをシミュレートするように構成されたシミュレータと、
-前記1つまたは複数のプロセッサ(110)によって、前記産業的なおよび/または技術的なプロセスをシミュレートする際に前記微分方程式系に対して逆モード自動微分を適用することにより、前記産業的なおよび/または技術的なプロセスの前記モデルの評価を表す評価推定値を生成するように構成された、評価器と、
-前記1つまたは複数のプロセッサ(110)によって、前記評価推定値を受領するように構成されるとともに、前記産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する少なくとも1つのモデルパラメータを、勾配降下手順または勾配上昇手順に基づいて更新するように構成された、適合化モジュールと、を含む、システム(20;30;100)。
【請求項2】
前記メモリ(120)は、前記産業的なおよび/または技術的なプロセスを監視している1つまたは複数のデータ収集システムに由来する1つまたは複数の時系列パラメータなどの技術的センサデータを格納するように構成され、前記評価器は、前記技術的センサデータに少なくとも部分的に基づいて前記評価推定値を生成するように構成されている、請求項1に記載のシステム。
【請求項3】
前記システム(20;30;100)は、前記シミュレータの一部として、
-前記1つまたは複数のプロセッサ(110)によって、前記パラメータ化プロセスモデルを受領するように構成されるとともに、前記微分方程式系を作成するように構成されたコンパイラと、
-前記1つまたは複数のプロセッサ(110)によって、前記微分方程式系を受領するように構成されるとともに、前記産業的なおよび/または技術的なプロセスを経時的にシミュレートするように構成された1つまたは複数の微分方程式ソルバーと、をさらに含む、請求項1または2に記載のシステム。
【請求項4】
前記1つまたは複数の微分方程式ソルバーは、前記1つまたは複数のプロセッサ(110)によって、前記産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートするように構成され、前記評価器は、前記1つまたは複数のプロセッサ(110)によって、モデル適合化モジュールに対して出力するための少なくとも1つの損失関数に関して、前記1つまたは複数の微分方程式ソルバーから導出された1つまたは複数の状態に関連した勾配の推定値を生成するように構成されている、請求項3に記載のシステム。
【請求項5】
前記少なくとも1つの損失関数は、前記産業的なおよび/または技術的なプロセスをモデル化する際の前記シミュレーションの誤差を表している、請求項4に記載のシステム。
【請求項6】
前記少なくとも1つの損失関数は、i)前記モデルベースでシミュレートされた前記産業的なおよび/または技術的なプロセスと、ii)前記1つまたは複数のデータ収集システムからの前記技術的センサデータに少なくとも部分的に基づいた前記産業的なおよび/または技術的なプロセスに関する実世界での表現と、の間の誤差を表している、請求項5に記載のシステム。
【請求項7】
前記適合化モジュールは、
-前記1つまたは複数のプロセッサ(110)によって、前記メモリから1つまたは複数のモデルパラメータを受領するように構成され、また、前記評価器から前記評価推定値を受領するように構成され、また、1つまたは複数のモデルパラメータを勾配降下手順または勾配上昇手順に基づいて更新するように構成され、さらに、前記更新されたパラメータをメモリへと格納するように構成された最適化器を含む、請求項1に記載のシステム。
【請求項8】
前記最適化器は、前記1つまたは複数のプロセッサ(110)によって、前記評価器から前記勾配推定値を受領するように構成され、さらに、1つまたは複数のモデルパラメータを、前記産業的なおよび/または技術的なプロセスをモデル化する際の前記シミュレーションの前記誤差をエンコードする損失関数上における勾配降下を使用して、更新するように構成されている、請求項7に記載のシステム。
【請求項9】
前記メモリ(120)は、また、前記産業的なおよび/または技術的なプロセスの少なくとも一部を制御する制御システム(15)によって実行される制御プロセスをモデル化するための完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルを、前記パラメータ化制御モデルに関する1つまたは複数のパラメータを含めて、格納するように構成され、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルは、前記更新されたモデルパラメータによって最適化される際に、前記産業的なおよび/または技術的なプロセスの前記完全にまたは部分的に非因果的なモジュール式パラメータ化モデルの少なくとも一部に対しての相互作用のために規定され、前記制御プロセスは、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化され、
前記システムは、
-前記1つまたは複数のプロセッサ(110)によって、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに基づいてならびに対応する微分方程式系に基づいて前記制御プロセスをシミュレートするように構成された制御シミュレータと、
-前記1つまたは複数のプロセッサ(110)によって、前記産業的なおよび/または技術的なプロセスを制御するための前記制御システムに関しての、前記制御モデルの状態の制御目的関数として規定される制御目的を評価するように構成された制御目的モジュールと、
-前記1つまたは複数のプロセッサ(110)によって、前記制御プロセスをシミュレートする前記微分方程式セットに対する逆モード自動微分を使用して、1つまたは複数の制御パラメータに対する前記制御シミュレーション上における前記制御目的の勾配を推定するように構成された制御逆モード自動微分推定器と、
-前記1つまたは複数のプロセッサ(110)によって、前記制御逆モード自動微分推定器からの前記勾配と、1つまたは複数の制御パラメータと、を受領するように構成され、また、前記制御パラメータを勾配降下または勾配上昇に基づいて更新するように構成され、さらに、前記改良された制御パラメータを前記メモリ(120)に対して格納するように構成された制御最適化器と、をさらに含む、請求項7または8に記載のシステム。
【請求項10】
前記制御パラメータを使用して前記産業的なおよび/または技術的なプロセスを制御する制御システム(15)を、さらに含む、請求項9に記載のシステム。
【請求項11】
前記制御システム(15)によって制御されつつ前記産業的なおよび/または技術的なプロセスを実行するための産業的なおよび/または技術的なシステム(10)を、さらに含む、請求項10に記載のシステム。
【請求項12】
産業的なおよび/または技術的なプロセスに関連した1つまたは複数の技術モデルを評価および/または適合化するように構成されたシステム(20;30;100)であって、
前記システム(20;30;100)は、前記産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルを、前記完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する1つまたは複数のモデルパラメータを含めて、取得するように構成され、前記完全にまたは部分的に非因果的なモジュール式パラメータ化モデルは、前記産業的なおよび/または技術的なプロセスが、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化されるようにして、規定され、
前記システム(20;30;100)は、前記完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに基づいてならびに対応する微分方程式系に基づいて、前記産業的なおよび/または技術的なプロセスをシミュレートするように構成され、
前記システム(20;30;100)は、前記微分方程式系に対して逆モード自動微分を適用することにより、前記産業的なおよび/または技術的なプロセスの前記プロセスモデルの評価を表す推定値を生成するように構成され、
前記システム(20;30;100)は、前記産業的なおよび/または技術的なプロセスの前記完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する少なくとも1つのモデルパラメータを、前記生成された評価推定値に基づいて、ならびに勾配降下手順または勾配上昇手順に基づいて、更新するように構成され、さらに、前記新たなパラメータをメモリへと格納するように構成されている、システム(20;30;100)。
【請求項13】
前記システム(20;30;100)は、1つまたは複数の時点での前記産業的なおよび/または技術的なプロセスの1つまたは複数の状態を表す技術的センサデータを取得するように構成され、前記システム(20;30;100)は、前記技術的センサデータに少なくとも部分的に基づいて前記評価推定値を生成するように構成され、
前記システム(20;30;100)は、前記産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートするように構成され、前記システム(20;30;100)は、i)前記モデルベースでシミュレートされた前記産業的なおよび/または技術的なプロセスと、ii)前記技術的センサデータに少なくとも部分的に基づいた前記産業的なおよび/または技術的なプロセスに関する実世界での表現と、の間の誤差を表す少なくとも1つの損失関数に関して、1つまたは複数のシミュレートされた状態に関連した勾配の推定値を生成するように構成されている、請求項12に記載のシステム。
【請求項14】
前記システム(20;30;100)は、また、前記産業的なおよび/または技術的なプロセスの少なくとも一部を制御する制御システム(15)によって実行される制御プロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルを、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに関する1つまたは複数のパラメータを含めて、取得するように構成され、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルは、前記更新されたモデルパラメータによって最適化される際に、前記産業的なおよび/または技術的なプロセスの前記パラメータ化モデルの少なくとも一部に対しての相互作用のために規定され、前記制御プロセスは、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化され、
前記システム(20;30;100)は、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに基づいてならびに対応する微分方程式系に基づいて、前記制御システムによって実行される前記制御プロセスをシミュレートするように構成され、
前記システム(20;30;100)は、前記微分方程式系に対して逆モード自動微分を適用することにより、制御モデル評価推定値を生成するように構成され、
前記システム(20;30;100)は、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに関する少なくとも1つのパラメータを、前記制御モデル評価推定値に基づいて更新するように、構成されている、請求項12または13に記載のシステム。
【請求項15】
前記システム(20;30;100)は、前記産業的なおよび/または技術的なプロセスを制御するための基礎として使用するために、前記制御モデルの前記パラメータの少なくとも一部を前記制御システム(15)に対して転送するように構成されている、請求項14に記載のシステム。
【請求項16】
前記システム(20;30;100)は、処理回路(110)と、メモリ(120)と、を含み、前記メモリ(120)は、命令を含み、前記命令は、前記処理回路(110)によって実行された時には、前記処理回路(110)に、前記産業的なおよび/または技術的なプロセスに関連した前記1つまたは複数の技術モデルを、評価および/または適合化させる、請求項12~15のいずれか一項に記載のシステム。
【請求項17】
技術的なおよび/または産業的なシステム(10)のための制御システム(15)であって、
前記制御システム(15)は、請求項12~16のいずれか一項に記載のシステム(20;30;100)を含む、および/または、請求項12~16のいずれか一項に記載のシステム(20;30;100)と相互作用する、制御システム(15)。
【請求項18】
産業的なおよび/または技術的なシステム(10)であって、
請求項12~16のいずれか一項に記載のシステム(20;30;100)を含む、および/または、請求項17に記載の制御システム(15)を含む、産業的なおよび/または技術的なシステム(10)。
【請求項19】
産業的なおよび/または技術的なプロセスに関連した1つまたは複数の技術モデルを評価および/または適合化するために、1つまたは複数のプロセッサによって実行される方法であって、
-少なくとも1つの物理的サブモデルと、前記産業的なおよび/または技術的なプロセスを少なくとも部分的にモデル化するための普遍関数近似器として使用される少なくとも1つのニューラルネットワークサブモデルと、を含む前記産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルを、前記完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する1つまたは複数のパラメータを含めて、取得すること(S1)と、
-前記完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに基づいて、微分方程式系を生成すること(S2)と、
-前記微分方程式系に基づいて、前記産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートすること(S3)と、
-前記産業的なおよび/または技術的なプロセスをシミュレートする際に、前記微分方程式系に対して逆モード自動微分を適用することにより、前記産業的なおよび/または技術的なプロセスの前記モデルの評価を表す推定値を生成すること(S4)と、
-前記産業的なおよび/または技術的なプロセスの前記完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する少なくとも1つのモデルパラメータを、勾配降下手順または勾配上昇手順を使用して、前記評価推定値に基づいて、更新すること(S5)と、を含む、方法。
【請求項20】
前記推定値は、前記産業的なおよび/または技術的なプロセスに由来する技術的センサデータに少なくとも部分的に基づいて生成される、請求項19に記載の方法。
【請求項21】
前記逆モード自動微分を適用することにより前記推定値を生成する前記ステップは、前記逆モード自動微分を使用して前記シミュレートされた状態に基づく損失関数上において勾配推定値を生成するステップを含む、請求項19または20に記載の方法。
【請求項22】
-前記更新された1つまたは複数のモデルパラメータによって最適化された前記産業的なおよび/または技術的なプロセスの前記モデルの少なくとも一部に基づくならびに前記産業的なおよび/または技術的なプロセスのためのパラメータ化制御システムに基づく、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルと、前記産業的なおよび/または技術的なプロセスの制御の目的をエンコードする前記制御モデルの状態に関する制御目的関数と、前記制御モデルのパラメータと、を受領することと、
-1つまたは複数の微分方程式ソルバーを使用して、前記制御モデルの状態を生成することと、
-逆モード自動微分を使用して、前記制御モデルの前記パラメータに対して前記制御目的関数上において勾配推定値を生成することと、
-前記制御モデルの前記パラメータの1つまたは複数を、前記勾配推定値上において勾配降下または勾配上昇を使用して更新することと、をさらに含む、請求項19に記載の方法。
【請求項23】
前記制御モデルの前記更新されたパラメータは、メモリ内へと格納される、あるいは、前記パラメータ化制御システムは、前記制御モデルの前記更新されたパラメータに従って構成される、請求項22に記載の方法。
【請求項24】
前記方法は、産業用の製造や加工や包装、自動車および輸送、鉱業、パルプ、インフラストラクチャ、エネルギおよび電力、通信、情報技術、オーディオ/ビデオ、ライフサイエンス、石油、ガス、水処理、衛生、および航空宇宙産業、のうちの少なくとも1つのための産業的なおよび/または技術的なシステムの少なくとも一部に関して、モデル化および/または制御のために適用される、請求項19~23のいずれか一項に記載の方法。
【請求項25】
コンピュータプログラム(125;135)であって、
前記コンピュータプログラムは、命令を含み、前記命令は、少なくとも1つのプロセッサ(110)によって実行された時には、前記少なくとも1つのプロセッサ(110)に、
産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルを取得することであり、ここで、前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルを、前記産業的なおよび/または技術的なプロセスが、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化されるようにして、規定されるものとすることと、
前記完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに基づいてならびに対応する微分方程式系に基づいて、前記産業的なおよび/または技術的なプロセスをシミュレートすることと、
前記微分方程式系に対して逆モード自動微分を適用することにより、前記産業的なおよび/または技術的なプロセスの前記モデルの評価を表す推定値を生成することと、
前記産業的なおよび/または技術的なプロセスの前記パラメータ化プロセスモデルに関する少なくとも1つのパラメータを、前記生成された評価推定値に基づいて、勾配降下手順または勾配上昇手順を使用して、更新することと、を実行させる、コンピュータプログラム(125;135)。
【請求項26】
コンピュータプログラム(125;135)であって、
前記コンピュータプログラムは、命令を含み、前記命令は、少なくとも1つのプロセッサ(110)によって実行された時には、前記少なくとも1つのプロセッサ(110)に、
産業的なおよび/または技術的なプロセスの少なくとも一部を制御する制御システムによって実行される制御プロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルを、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに関する1つまたは複数のパラメータを含めて、取得することであり、ここで、前記制御プロセスを、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化されるものとすることと、
前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに基づいてならびに対応する微分方程式系に基づいて、前記制御システムによって実行される前記制御プロセスをシミュレートすることと、
前記微分方程式系に対して逆モード自動微分を適用することにより、制御モデル評価推定値を生成することと、
前記パラメータ化制御モデルに関する少なくとも1つのパラメータを、前記制御モデル評価推定値に基づいて、勾配降下手順または勾配上昇手順を使用して、更新することと、を実行させる、コンピュータプログラム(125;135)。
【請求項27】
コンピュータプログラム製品であって、
請求項25または26に記載のコンピュータプログラム(125;135)を格納した非一過性コンピュータ可読媒体(120;130)を含む、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的に、産業的なおよび/または技術的なプロセスおよびプロセス制御に関し、より具体的には、産業的な/技術的なモデル化、および/または、モデル/制御パラメータの最適化、の技術分野に関する。
【背景技術】
【0002】
産業的なおよび/または技術的なプロセス制御は、通常、産業的なおよび/または技術的なシステムに対して結合されたセンサから技術データを収集することと、この技術データを、何らかの技術的知識へと精緻化すること(モデル化)と、その知識を使用することにより、産業的なおよび/または技術的なプロセスに関する効率的な動作を引き起こす制御信号を生成することと、を含む。
【0003】
これらの目的のために、ほとんどの産業は、データと相互作用し得る知識モデルの作成を支援する何らかの種類のモデル化ソフトウェアを採用している。これらのモデルは、一般に、産業特有のオブジェクト指向モデル化言語でエンコードされている。いくつかの場合には、モデルは、理論から導出された物理方程式に基づいており、他の場合には、モデルは、回帰分析などの統計的手法に基づいており、さらに他の場合には、モデルは、生物学的進化を模倣する自然淘汰プロセスに基づいて、制約のある最適化問題と制約のない最適化問題との両方を解くために使用され得る、いわゆる遺伝的最適化アルゴリズムに基づいている。
【0004】
このようなモデルにおける知識の再利用を高めるために、シミュレーションの詳細および処理順序が物理モデルから明確に分離された、ModelicaまたはModiaなどの、非因果的で宣言的なモデル化言語を採用する傾向がある。このようなモデル化システムが、ますます複雑化しているため、これらの非因果的で宣言的なモデル化言語は、典型的には、汎用フレームワークまたはソフトウェアとして実装され、ソルバー設定および/またはモデルライブラリを通して様々な産業に適合化することができる。これらの新たなモデル化言語は、モデル化プロセスにおける人間の労働力をはるかに効率的に再利用することで、モデル化の取り組みを拡大することができる。
【0005】
同時に、割高な手作業でのモデル化時間の必要性を低減するために、および/または、未知の振る舞いを有したモデル化システムの必要性を低減するために、ニューラルネットワークおよび他の同様の普遍関数近似器などの人工知能(AI)手法を使用してシステムをモデル化することが要望されている。これらのシステムは、一般に、バックプロパゲーションなどの計算効率の高いアルゴリズムを利用し得る特別なソフトウェアで記述された、因果関係が規定されたブラックボックスである。このようなブラックボックス手法の欠点は、モジュール化されていないことのために、また、解釈が困難であることのために、さらに、すべてのステップでの強制的な因果関係のために、再利用の可能性がほとんどない傾向があることである。加えて、個々の普遍関数近似器トレーニングの標準的なスタンドアロン勾配降下アプローチは、他の部分の修正が各構成要素の最適値を移動させ得ることのために、同時に最適化されている他のシステム内に統合されている場合には、非効率となる。
【0006】
動作をデジタル化する産業界の傾向と、改良されたモデル化言語を使用してより複雑なモデルを作成する可能性とは、モデル化システムが、現在の計算システムおよび方法では解決し得ない新たな規模のデータに直面していることを意味する。
【発明の概要】
【0007】
一般的な目的は、産業的なおよび/または技術的なプロセスの1つまたは複数の技術モデルに関する効率的な評価および/または適合化を提供することであり、ならびに/もしくは、産業的なおよび/または技術的なプロセスの改良された制御を提供することである。
【0008】
特に、産業的プロセスモデルに対して適用するためのより正確でより効率的なコンピュータ支援方法を提供することが望ましいものであり得るとともに、これらを使用することにより、産業的プロセスの改良された制御を作成することが望ましいものであり得る。
【0009】
特定の目的は、普遍関数近似器を含有した非因果的で宣言的なモデル上におけるセンサベースの誤差勾配に関して計算効率の高い計算を提供することである。
【0010】
別の目的は、産業的プロセスの分析および/または制御において使用するために、普遍関数近似器内に暗黙的にエンコードされた知識に関して、効率的な自動収集と、効率的な再利用と、効率的な操作と、を実行することである。
【0011】
別の目的は、プロセスに対する人間の理解と普遍的関数近似モデルとの間の効率的な相互作用を可能とするモデル化システムを適合化および/または最適化することである。
【0012】
さらに別の目的は、センサデータの計算効率の高い使用を提供することにより、人間が解釈可能な半教師付き強化学習を通して、最適にパラメータ化された制御システムおよび/またはポリシーを提供することである。
【0013】
さらに別の目的は、半教師付き学習の使用を通して、産業的なおよび/または技術的なプロセスの制御に関して、データ効率の高いかつ計算効率の高い強化学習ベースの最適化を提供することである。
【0014】
さらに別の目的は、産業的なおよび/または技術的なプロセスの効率的な制御を提供することである。
【0015】
これらの目的および他の目的は、本明細書において規定される実施形態によって満たされる。
【0016】
ある意味で、勾配、正確なモデルパラメータ、パラメータ化された制御、最適化された産業的プロセス、および/または産業的プロセスのモデルを、計算効率の高い態様で作成するために、普遍関数近似器を使用して非因果的で宣言的なモデルを解釈するとともに1つまたは2つの段階でデータを提供するシステムを提供することが望ましい。
【0017】
また、提供されたパラメータ化モデルを非因果的で宣言的なモデル化言語で使用して、勾配、正確なモデルパラメータ、パラメータ化された制御、制御信号、および/または最適化された産業的プロセス、を作成するための方法を提供することが望ましいものであり得る。
【0018】
第1態様によれば、システムが提供され、このシステムは、
-1つまたは複数のプロセッサと、
-少なくとも1つの物理的サブモデルと、産業的なおよび/または技術的なプロセスを少なくとも部分的にモデル化するための普遍関数近似器として使用される少なくとも1つのニューラルネットワークサブモデルと、を含む産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルを、この完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する1つまたは複数のモデルパラメータを含めて、格納するように構成されたメモリと、
-1つまたは複数のプロセッサによって、完全にまたは部分的に非因果的なモジュール式パラメータ化(プロセス)モデルに基づいてならびに対応する微分方程式系に基づいて、産業的なおよび/または技術的なプロセスをシミュレートするように構成されたシミュレータと、
-1つまたは複数のプロセッサによって、産業的なおよび/または技術的なプロセスをシミュレートする際に微分方程式系に対して逆モード自動微分を適用することにより、産業的なおよび/または技術的なプロセスのモデルの評価を表す評価推定値を生成するように構成された、評価器と、
-1つまたは複数のプロセッサ(110)によって、評価推定値を受領するように構成されるとともに、産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する少なくとも1つのモデルパラメータを、勾配降下手順または勾配上昇手順に基づいて更新するように構成された、適合化モジュールと、を含む。
【0019】
例えば、評価器は、産業的なおよび/または技術的なプロセスを監視している1つまたは複数のデータ収集システムに由来する1つまたは複数の時系列パラメータなどの技術的センサデータに少なくとも部分的に基づいて評価推定値を生成するように構成されてもよい。
【0020】
例として、システムは、シミュレータの一部として、
-1つまたは複数のプロセッサによって、パラメータ化プロセスモデルを受領するように構成されるとともに、微分方程式系を作成するように構成されたコンパイラと、
-1つまたは複数のプロセッサによって、微分方程式系を受領するように構成されるとともに、産業的なおよび/または技術的なプロセスを経時的にシミュレートするように構成された1つまたは複数の微分方程式ソルバーと、をさらに含んでもよい。
【0021】
このような例では、メモリは、また、産業的なおよび/または技術的なプロセスの少なくとも一部を制御する制御システムによって実行される制御プロセスをモデル化するための完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルを、このパラメータ化制御モデルに関する1つまたは複数のパラメータを含めて、格納するように構成されてもよい。その場合、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルは、更新されたモデルパラメータによって最適化される際に、産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルの少なくとも一部に対しての相互作用のために規定されてもよい。制御プロセスは、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化される。システムは、
-1つまたは複数のプロセッサによって、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに基づいてならびに対応する微分方程式系に基づいて制御プロセスをシミュレートするように構成された制御シミュレータと、
-1つまたは複数のプロセッサによって、産業的なおよび/または技術的なプロセスを制御するための制御システムに関しての、制御モデルの状態の制御目的関数として規定される制御目的を評価するように構成された制御目的モジュールと、
-1つまたは複数のプロセッサによって、制御プロセスをシミュレートする微分方程式セットに対する逆モード自動微分を使用して、1つまたは複数の制御パラメータに対する制御シミュレーション上における制御目的の勾配を推定するように構成された制御逆モード自動微分推定器と、
-1つまたは複数のプロセッサによって、制御逆モード自動微分推定器からの勾配と、1つまたは複数の制御パラメータと、を受領するように構成され、また、制御パラメータを勾配降下または勾配上昇に基づいて更新するように構成され、さらに、改良された制御パラメータをメモリに対して格納するように構成された制御最適化器と、をさらに含んでもよい。
【0022】
第2態様によれば、産業的なおよび/または技術的なプロセスに関連した1つまたは複数の技術モデルを評価および/または適合化するように構成されたシステムが提供される。システムは、産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化(プロセス)モデルを、この完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する1つまたは複数のモデルパラメータを含めて、取得するように構成され、完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルは、産業的なおよび/または技術的なプロセスが、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化されるようにして、規定されている。システムは、また、完全にまたは部分的に非因果的なモジュール式パラメータ化(プロセス)モデルに基づいてならびに対応する微分方程式系に基づいて、産業的なおよび/または技術的なプロセスをシミュレートするように構成されている。さらに、システムは、微分方程式系に対して逆モード自動微分を適用することにより、産業的なおよび/または技術的なプロセスのプロセスモデルの評価を表す推定値を生成するように構成されている。システムは、また、産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する少なくとも1つのモデルパラメータを、生成された評価推定値に基づいて、ならびに勾配降下手順または勾配上昇手順に基づいて、更新するように構成され、さらに、新たなパラメータをメモリへと格納するように構成されている。
【0023】
例として、システムは、1つまたは複数の時点での産業的なおよび/または技術的なプロセスの1つまたは複数の状態を表す技術的センサデータを取得するように構成されてもよく、システムは、技術的センサデータに少なくとも部分的に基づいて評価推定値を生成するように構成されてもよい。さらに、システムは、産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートするように構成されてもよく、システムは、i)モデルベースでシミュレートされた産業的なおよび/または技術的なプロセスと、ii)技術的センサデータに少なくとも部分的に基づいた産業的なおよび/または技術的なプロセスに関する実世界での表現と、の間の誤差を表す少なくとも1つの損失関数に関して、1つまたは複数のシミュレートされた状態に関連した勾配の推定値を生成するように構成されてもよい。
【0024】
そのような場合、モデルパラメータが更新された時には、システムは、また、産業的なおよび/または技術的なプロセスの少なくとも一部を制御する制御システムによって実行される制御プロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルを、この完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに関する1つまたは複数のパラメータを含めて、取得するように構成されてもよい。その場合、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルは、更新されたモデルパラメータによって最適化される際に、産業的なおよび/または技術的なプロセスのパラメータ化モデルの少なくとも一部に対しての相互作用のために規定されてもよい。制御プロセスは、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化される。したがって、システムは、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに基づいてならびに対応する微分方程式系に基づいて、制御システムによって実行される制御プロセスをシミュレートするように構成され、また、微分方程式系に対して逆モード自動微分を適用することにより、制御モデル評価推定値を生成するように構成され、さらに、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに関する少なくとも1つのパラメータを、制御モデル評価推定値に基づいて更新するように、構成されている。
【0025】
例として、システムは、産業的なおよび/または技術的なプロセスを制御するための基礎として使用するために、制御モデルのパラメータの少なくとも一部を制御システムに対して転送するように構成されてもよい。
【0026】
第3態様によれば、技術的なおよび/または産業的なシステムのための制御システムが提供され、この制御システムは、第2態様によるまたはそのサブ態様によるシステムを含む、および/または、そのようなシステムと相互作用する。
【0027】
第4態様によれば、第2態様によるまたはそのサブ態様によるシステムを含む、および/または、第3態様による制御システムを含む、産業的なおよび/または技術的なシステムが提供される。
【0028】
第5態様によれば、産業的なおよび/または技術的なプロセスに関連した1つまたは複数の技術モデルを評価および/または適合化するために、1つまたは複数のプロセッサによって実行される方法が提供される。基本的に、方法は、
-少なくとも1つの物理的サブモデルと、産業的なおよび/または技術的なプロセスを少なくとも部分的にモデル化するための普遍関数近似器として使用される少なくとも1つのニューラルネットワークサブモデルと、を含む産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルを、この完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する1つまたは複数のパラメータを含めて、取得することと、
-完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに基づいて、微分方程式系を生成することと、
-微分方程式系に基づいて、産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートすることと、
-産業的なおよび/または技術的なプロセスをシミュレートする際に、微分方程式系に対して逆モード自動微分を適用することにより、産業的なおよび/または技術的なプロセスのモデルの評価を表す推定値を生成することと、
-産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する少なくとも1つのモデルパラメータを、勾配降下手順または勾配上昇手順を使用して、評価推定値に基づいて、更新することと、を含む。
【0029】
好ましくは、推定値は、産業的なおよび/または技術的なプロセスに由来する技術的センサデータに少なくとも部分的に基づいて生成されてもよい。
【0030】
例として、逆モード自動微分を適用することにより推定値を生成するステップは、逆モード自動微分を使用してシミュレートされた状態に基づく損失関数上において勾配推定値を生成するステップを含む。
【0031】
任意選択的に、方法は、
-更新された1つまたは複数のモデルパラメータによって最適化された産業的なおよび/または技術的なプロセスのモデルの少なくとも一部に基づくならびに産業的なおよび/または技術的なプロセスのためのパラメータ化制御システムに基づく、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルと、産業的なおよび/または技術的なプロセスの制御の目的をエンコードする制御モデルの状態に関する制御目的関数と、制御モデルのパラメータと、を受領することと、
-1つまたは複数の微分方程式ソルバーを使用して、制御モデルの状態を生成することと、
-逆モード自動微分を使用して、制御モデルのパラメータに対して制御目的関数上において勾配推定値を生成することと、
-制御モデルの(制御モデル)パラメータの1つまたは複数を、勾配推定値上において勾配降下または勾配上昇を使用して更新することと、をさらに含んでもよい。
【0032】
例として、制御モデルパラメータとも称される、制御モデルの更新されたパラメータは、その後、メモリ内へと格納されてもよい、あるいは、パラメータ化制御システムは、制御モデルの更新されたパラメータに従って構成されてもよい。
【0033】
例えば、更新された制御モデルパラメータは、ひいては、産業的なおよび/または技術的なプロセスを制御するために適用されてもよい。
【0034】
第6態様によれば、コンピュータプログラムが提供され、このコンピュータプログラムは、命令を含み、これら命令は、少なくとも1つのプロセッサによって実行された時には、少なくとも1つのプロセッサに、
産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルを取得することであり、ここで、完全にまたは部分的に非因果的なモジュール式パラメータ化(プロセス)モデルを、産業的なおよび/または技術的なプロセスが、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化されるようにして、規定されるものとすることと、
完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルに基づいてならびに対応する微分方程式系に基づいて、産業的なおよび/または技術的なプロセスをシミュレートすることと、
微分方程式系に対して逆モード自動微分を適用することにより、産業的なおよび/または技術的なプロセスのモデルの評価を表す推定値を生成することと、
産業的なおよび/または技術的なプロセスのパラメータ化プロセスモデルに関する少なくとも1つのパラメータを、生成された評価推定値に基づいて、勾配降下手順または勾配上昇手順を使用して、更新することと、を実行させる。
【0035】
第7態様によれば、コンピュータプログラムが提供され、このコンピュータプログラムは、命令を含み、これら命令は、少なくとも1つのプロセッサによって実行された時には、少なくとも1つのプロセッサに、
産業的なおよび/または技術的なプロセスの少なくとも一部を制御する制御システムによって実行される制御プロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルを、この完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに関する1つまたは複数のパラメータを含めて、取得することであり、ここで、制御モデルを、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化されるものとすることと、
完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに基づいてならびに対応する微分方程式系に基づいて、制御システムによって実行される制御プロセスをシミュレートすることと、
微分方程式系に対して逆モード自動微分を適用することにより、制御モデル評価推定値を生成することと、
パラメータ化制御モデルに関する少なくとも1つのパラメータを、制御モデル評価推定値に基づいて、勾配降下手順または勾配上昇手順を使用して、更新することと、を実行させる。
【0036】
第8態様によれば、コンピュータプログラム製品が提供され、このコンピュータプログラム製品は、第6態様または第7態様によるコンピュータプログラムを格納した非一過性コンピュータ可読媒体を含む。
【0037】
このようにして、産業的なおよび/または技術的なプロセスの1つまたは複数の技術モデルの効率的な評価および/または適合化を提供することができる。
【0038】
プロセスモデルの適切な評価により、モデルを適合化することができ、関連する制御モデルと組み合わせた時には、パラメータ化制御システムも、また、評価して最適化することができる。
【0039】
また、産業的なおよび/または技術的なプロセスモデルに対して適用するためのより効率的な計算手順を提供することができ、これらを使用することにより、産業的なおよび/または技術的なプロセスの改良された制御をもたらすことができる。
【0040】
また、普遍関数近似器の標準的初期化およびその後の適合化を通して、全体的な物理モデルにおける産業的なおよび/または技術的なプロセスの構成要素に関して効率的な自動モデル化を提供し得るものとされてもよい。共同モデルのそのような最適化は、個別的に適合化される分離された適合化プロセスどうしの間の干渉を回避する統一された適合化によって、より効率的なものとなる。
【0041】
加えて、より効率的な半教師付き強化学習を実行し得るものとされてもよく、モデルのフレキシブルさによるデータ再利用のために高いデータ効率と、教師なしプロセス学習によるデータラベリングの必要性の低減と、自動微分によるモデルロジックの再利用のために探索的強化学習法と比較してより高い計算効率と、を達成し得るものとされてもよい。
【0042】
本発明は、あらゆる種類の産業的なおよび技術的なプロセスに対して一般的に適用可能であり、それらプロセスに関する例は、詳細な説明内に記載されている。
【0043】
本発明によって提供される他の利点は、本発明の実施形態に関する以下の説明を読むことで理解されるであろう。
【0044】
本発明は、その更なる目的および利点とともに、添付図面と併せて以下の説明を参照することにより、最良に理解され得る。
【図面の簡単な説明】
【0045】
【
図1】
図1は、例示的な実施形態による、産業的なおよび/または技術的なシステムと、対応するモデルと、に関する一例を示す概略図である。
【
図2】
図2は、一実施形態による、産業的なおよび/または技術的なプロセスに関連したモデルの評価のためのシステムに関する一例を示す概略的なシステム概要である。
【
図3】
図3は、一実施形態による、産業的なおよび/または技術的なプロセスに関連したモデルの評価および/または適合化のためのシステムに関する一例を示す概略的なシステム概要である。
【
図4】
図4は、一実施形態による、産業的なおよび/または技術的なプロセスと、対応する制御システムと、に関連したモデルの評価および/または適合化のためのシステムに関する別の例を示す概略的なシステム概要であり、ここでは、産業的なおよび/または技術的なプロセスのモデルと、対応する制御モデルと、に関する統合された実装が例示されている。
【
図5】
図5は、一実施形態による、産業的なおよび/または技術的なプロセスと、対応する制御システムと、に関連したモデルの評価および/または適合化のためのシステムに関するさらに別の例を示す概略的なシステム概要であり、ここでは、産業的なおよび/または技術的なプロセスのモデルと、対応する制御モデルと、に関する並列化された実装が例示されている。
【
図6】
図6は、一実施形態による、産業的なおよび/または技術的なプロセスに関連したモデルの評価のためのシステムに関する特定の例を示す概略的なシステム概要である。
【
図7】
図7は、一実施形態による、産業的なおよび/または技術的なプロセスに関連したモデルの評価および/または適合化のためのシステムに関する特定の例を示す概略的なシステム概要である。
【
図8】
図8は、一実施形態による、産業的なおよび/または技術的なプロセスに関連した1つまたは複数の技術モデルを評価および/または適合化するための方法に関する一例を示す概略的なフロー図である。
【
図9】
図9は、産業的なおよび/または技術的なプロセスに関連したモデルの評価および/または適合化のための、プロセッサとメモリとを実装したシステムに関する別の特定の例を示す概略図である。
【
図10】
図10は、産業的なおよび/または技術的なプロセスの制御モデル/システムに関連したモデルの評価および/または適合化のための、プロセッサとメモリとを実装したシステムに関する別の特定の例を示す概略図である。
【
図11】
図11は、一実施形態による、コンピュータ実装に関する一例を示す概略図である。
【発明を実施するための形態】
【0046】
図面全体を通して、同様の構成要素または対応する構成要素には、同じ参照番号が使用されている。
【0047】
本提案の技術をより良好に理解するために、簡単なシステム概要およびいくつかの例示的な実施形態の紹介から開始し、特定の例示的な実施形態に関するより詳細な説明へと、さらに、いくつかの有用な技術用語の説明へと、続くことが有用であり得る。
【0048】
はじめに、
図1は、例示的な一実施形態による、産業的なおよび/または技術的なシステムと、対応するモデルと、に関する一例を示す概略図である。産業的なおよび/または技術的なシステム10などの物理的な実世界のシステムは、1つまたは複数の物理的サブシステムを使用して、産業的なおよび/または技術的なプロセスを実行するように構成されてもよい。1つまたは複数のモデルパラメータを含んでいる、対応するパラメータ化モデルは、産業的なおよび/または技術的なシステムに関しての制御された動作および振る舞いによってあるいは時には制御されていない動作および振る舞いによって規定された産業的なおよび/または技術的なプロセスをモデル化するために、構築されて規定されてもよい。
【0049】
この特定の説明文では、産業的なおよび/または技術的なプロセスのパラメータ化モデルは、少なくとも1つの物理的サブモデルまたは物理的サブシステムと、少なくとも1つの人工ニューラルネットワーク(ANN)サブモデルまたは人工ニューラルネットワーク(ANN)サブシステムと、を含む。好ましくは、パラメータ化モデルは、産業的なおよび/または技術的なプロセスに関しての、完全にまたは部分的に非因果的なモジュール式のパラメータ化モデル、すなわち、非因果的なモジュール式のパラメータ化プロセスモデル、である。ニューラルネットワークサブモデルは、産業的なおよび/または技術的なプロセスを少なくとも部分的にモデル化するための普遍関数近似器として使用されてもよい。
【0050】
完全にまたは部分的に非因果的なモジュール式パラメータ化モデルとは、産業的なおよび/または技術的なプロセスの非因果的なモデル化に適用される用語であり、これは、そのような制御プロセスはそれ自体が技術的プロセスであることを念頭に置けば、産業的なおよび/または技術的なプロセスを制御するための制御プロセスのモデル化を、追加的にまたは代替的に、含んでもよい。
【0051】
産業的なおよび/または技術的なプロセスをモデル化する場合には、モデルは、時に、プロセスモデルと称されてもよい。産業的なおよび/または技術的なプロセスを制御するための制御プロセスをモデル化する場合には、モデルは、時に、制御モデルと称されてもよい。いくつかの実施形態では、プロセスモデルと制御モデルとの両方が存在してもよく、互いに相互作用してもよい。
【0052】
モデルのパラメータは、一般的な産業的なおよび/または技術的なプロセスを参照する場合には、一般にモデルパラメータと称され、制御プロセスをモデル化するための制御モデルを参照する場合には、制御パラメータと称される、あるいは場合によっては制御モデルパラメータ、と称される。
【0053】
図2~
図7の概略図を参照して例示するように、また、
図11のプロセッサとメモリとをベースとした実装を参照して例示するように、本提案の技術に関するいくつかの重要な特徴点が、上述したように産業的なおよび/または技術的なプロセスに関してのパラメータ化モデルを取得することと、パラメータ化モデルに基づいておよび対応する微分方程式系に基づいて、産業的なおよび/または技術的なプロセスをシミュレートすることと、微分方程式系に対して逆モード自動微分を適用することと、産業的なおよび/または技術的なプロセスに関するプロセスモデルの評価を表す推定値を生成することと、を含むことを、理解することができる。
【0054】
本提案の技術は、実装に際して、例えば、コンパイラ技術および微分方程式ソルバーを使用してもよい。
【0055】
方法および手順、ならびに対応するシステムは、評価推定値に基づいてモデルパラメータを更新するように拡張されてもよく、また、対応するパラメータ化制御システムのための1つまたは複数の制御モデルを組み込んでもよく、さらに、1つまたは複数の制御モデルを適合化または最適化することにより、更新された制御パラメータが生成されてもよく、ひいては、産業的なおよび/または技術的なプロセスの全体に関する制御および/または動作を向上させることができる。
【0056】
図2は、一実施形態による、産業的なおよび/または技術的なプロセスに関連したモデルの評価のためのシステムに関する一例を示す概略的なシステム概要である。上部には、産業的なおよび/または技術的なプロセスを実行するための産業的なおよび/または技術的なシステム10が図示されており、
図2の下部には、モデルの評価のための対応するシステム20が図示されている。
【0057】
例えば、産業的なおよび/または技術的なシステム10は、産業用の製造や加工や包装、自動車および輸送、鉱業、パルプ、インフラストラクチャ、エネルギおよび電力、通信、情報技術、オーディオ/ビデオ、ライフサイエンス、石油、ガス、水処理、衛生、および/または航空宇宙産業、などの産業内における任意のシステムであってもよい。
【0058】
産業的なおよび/または技術的なシステム10は、生産ラインまたはその一部、産業用ロボット、バルブ、ポンプ、発電機、電力供給網、車両、エンジン、発電所設備、電子部品、コンピュータベースのシステム、オーディオモジュールおよび/またはビデオモジュール、基地局、ルータ、サーバ、冷却設備および/または加熱設備、等などの1つまたは複数の物理的サブシステムを含む。
【0059】
産業的なおよび/または技術的なシステム、ならびにその機能および動作限界、に関する知識に基づいて、対応する産業的なおよび/または技術的なプロセスのモデルを規定および/または取得してもよい。本発明者らの場合には、産業的なおよび/または技術的なプロセスは、
図1を参照して上述したように、人工ニューラルネットワーク(ANN)サブモデルまたは人工ニューラルネットワーク(ANN)サブシステムによって少なくとも部分的にモデル化される。したがって、産業的なおよび/または技術的なプロセスのパラメータ化モデルは、より詳細に後述するように、少なくとも1つの物理的サブモデルと、少なくとも1つのニューラルネットワークサブモデルと、を含む。
【0060】
次に、産業的なおよび/または技術的なプロセスは、生成されたパラメータ化モデルに基づいて、シミュレータによってシミュレートされる。例えば、コンパイラおよび/またはインタープリタは、モデルに関する情報を処理することにより、微分方程式系を生成してもよく、その後、シミュレーションは、1つまたは複数の微分方程式ソルバーによって処理される際に、この微分方程式系に基づくものであってもよい。
【0061】
その後、産業的なおよび/または技術的なプロセスに関するシミュレーションのうちの選択された結果が、逆モード自動微分に基づき、モデル評価器において、産業的なおよび/または技術的なシステム10に由来する対応する技術的センサデータと「比較」されてもよく、これにより、産業的なおよび/または技術的なプロセスのモデルの評価を表す推定値が生成される。
【0062】
図3は、一実施形態による産業的なおよび/または技術的なプロセスに関連したモデルの評価および/または適合化のためのシステムに関する一例を示す概略的なシステム概要である。
【0063】
この特定の例では、モデルの評価および/または適合化のためのシステム20;30が提供される。この文脈では、システムは、評価推定値を受領するように構成され、さらに、産業的なおよび/または技術的なプロセスのパラメータ化モデルに関する少なくとも1つのモデルパラメータを更新するように構成された、モデル適合化器をさらに含む。例えば、これは、任意選択的に、適切な条件が満たされるまでモデル適合化器からシミュレータへのフィードバックを伴う反復プロセス(
図3における破線での円形表示を参照されたい)で実行されてもよく、適切な条件が満たされた時点で、1つまたは複数のモデルパラメータが最終的に更新される。
【0064】
例として、モデル適合化器は、後に例示されるように、勾配ベースの最適化器として実装されてもよい。
【0065】
図4は、一実施形態による、産業的なおよび/または技術的なプロセスと、対応する制御システムと、に関連したモデルの評価および/または適合化のためのシステムに関する別の例を示す概略的なシステム概要であり、ここでは、産業的なおよび/または技術的なプロセスのモデルと、対応する制御モデルと、に関する統合された実装が例示されている。
【0066】
産業的なおよび/または技術的なシステム10は、ここでは、産業的なおよび/または技術的なシステム10の少なくとも一部を制御するように構成された制御システム15に対して接続されている。
【0067】
この例では、産業的なおよび/または技術的なプロセスのモデルは、制御システム15のパラメータ化バージョンに対応する制御モデルに対して、組み合わされるまたは統合される。この場合、全体的な統合モデルは、産業的なおよび/または技術的なシステム10上における制御システム15の動作を含む産業的なおよび/または技術的なプロセスをシミュレートするための基礎として使用され、統合モデルは、上述したのと同様の態様で、評価されて適合化される。このようにして、統合されたモデルを評価および/または適合化することができ、よって、パラメータ化プロセスモデルおよびパラメータ化制御モデルの両方に関する1つまたは複数のパラメータを更新する可能性が提供され、これにより、産業的なおよび/または技術的なプロセスに関する改良された制御が可能とされる。
【0068】
図5は、一実施形態による、産業的なおよび/または技術的なプロセスと、対応する制御システムと、に関連したモデルの評価および/または適合化のためのシステムに関するさらに別の例を示す概略的なシステム概要であり、ここでは、産業的なおよび/または技術的なプロセスのモデルと、対応する制御モデルと、に関する並列化された実装が例示されている。
【0069】
この特定の例では、制御モデルを評価および/または適合化するために、並列ブランチが作成される。モデルの評価および/または適合化のための第1ブランチが、プロセスモデルに対して指定され、第2の並列ブランチが、制御モデルに対して指定される。更新されたプロセスモデルに関する情報は、制御モデルの構築および/または適合化のために転送されてもよい。例として、制御モデル評価器は、逆モード自動微分推定器を使用して制御目的に基づいて動作してもよく、モデル適合化器は、勾配ベースの手順を使用した制御最適化器であってもよい。
【0070】
更新された制御モデルは、最終的には、実世界の制御システム15の動作に影響を与えてもよく、ひいては、産業的なおよび/または技術的なシステム10に対して、ならびに、産業的なおよび/または技術的なシステムによって実行されるプロセスに対して、影響を与えてもよい。このようにして、改良されたプロセス制御が達成される。
【0071】
図6は、一実施形態による、産業的なおよび/または技術的なプロセスに関連したモデルの評価のためのシステムに関する特定の例を示す概略的なシステム概要である。この例は、
図2におけるより一般的な例に対応しているものの、ここでは、パラメータ化モデルを受領して、対応する微分方程式系を生成するための、コンパイラなどのモデルインタープリタと、微分方程式系を受領して、産業的なおよび/または技術的なプロセスをシミュレートするための1つまたは複数の微分方程式ソルバーと、が例示されている。
【0072】
図7は、一実施形態による、産業的なおよび/または技術的なプロセスに関連したモデルの評価および/または適合化のためのシステムに関する特定の例を示す概略的なシステム概要である。この例は、
図3におけるより一般的な例に対応しているものの、ここでは、パラメータ化モデルを受領して、対応する微分方程式系を生成するための、コンパイラなどのモデルインタープリタと、微分方程式系を受領して、産業的なおよび/または技術的なプロセスをシミュレートするための1つまたは複数の微分方程式ソルバーと、が例示されている。また、モデル適合化器は、ここでは、勾配ベースの最適化器として例示されており、勾配降下手順または勾配上昇手順に基づいて動作してもよい。
【0073】
第1態様によれば、本提案の技術は、
-1つまたは複数のプロセッサ110と、
-少なくとも1つの物理的サブモデルと、産業的なおよび/または技術的なプロセスを少なくとも部分的にモデル化するための普遍関数近似器として使用される少なくとも1つのニューラルネットワークサブモデルと、を含む産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルを、この完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する1つまたは複数のモデルパラメータを含めて、格納するように構成されたメモリ120と、
-1つまたは複数のプロセッサ110によって、完全にまたは部分的に非因果的なモジュール式パラメータ化(プロセス)モデルに基づいてならびに対応する微分方程式系に基づいて、産業的なおよび/または技術的なプロセスをシミュレートするように構成されたシミュレータと、
-1つまたは複数のプロセッサ110によって、産業的なおよび/または技術的なプロセスをシミュレートする際に微分方程式系に対して逆モード自動微分を適用することにより、産業的なおよび/または技術的なプロセスのモデルの評価を表す評価推定値を生成するように構成された、評価器と、
-1つまたは複数のプロセッサ110によって、評価推定値を受領するように構成されるとともに、産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する少なくとも1つのモデルパラメータを、勾配降下手順または勾配上昇手順に基づいて更新するように構成された、適合化モジュールと、を含む、システム20;30;100を提供する。
【0074】
例示的な参照は、
図11のいずれかについて行い得るものの、
図2~
図10のいずれかについて行うこともできる。
【0075】
例えば、メモリ120は、産業的なおよび/または技術的なプロセスを監視している1つまたは複数のデータ収集システムに由来する1つまたは複数の時系列パラメータなどの技術的センサデータを格納するように構成されてもよく、評価器は、技術的センサデータに少なくとも部分的に基づいて評価推定値を生成するように構成されてもよい。
【0076】
特定の例では、システム20;30;100は、シミュレータの一部として、
-1つまたは複数のプロセッサ110によって、パラメータ化プロセスモデルを受領するように構成されるとともに、微分方程式系を作成するように構成されたコンパイラと、
-1つまたは複数のプロセッサ110によって、微分方程式系を受領するように構成されるとともに、産業的なおよび/または技術的なプロセスを経時的にシミュレートするように構成された1つまたは複数の微分方程式ソルバーと、をさらに含む。
【0077】
例として、1つまたは複数の微分方程式ソルバーは、1つまたは複数のプロセッサ110によって、産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートするように構成されてもよく、評価器は、1つまたは複数のプロセッサ110によって、モデル適合化モジュールに対して出力するための少なくとも1つの損失関数に関して、1つまたは複数の微分方程式ソルバーから導出された1つまたは複数の状態に関連した勾配の推定値を生成するように構成されてもよい。
【0078】
このようにして、適合化モジュール(モデル適合化器)は、産業的なおよび/または技術的なプロセスのパラメータ化モデルに関する少なくとも1つのモデルパラメータを更新することが可能とされる。
【0079】
例えば、少なくとも1つの損失関数は、産業的なおよび/または技術的なプロセスをモデル化する際のシミュレーションの誤差を表してもよい。
【0080】
より具体的には、少なくとも1つの損失関数は、例えば、i)モデルベースでシミュレートされた産業的なおよび/または技術的なプロセスと、ii)1つまたは複数のデータ収集システムからの技術的センサデータに少なくとも部分的に基づいた産業的なおよび/または技術的なプロセスに関する実世界での表現と、の間の誤差を表してもよい。
【0081】
例として、適合化モジュールは、1つまたは複数のプロセッサ110によって、メモリから1つまたは複数のモデルパラメータを受領するように構成され、また、評価器から評価推定値を受領するように構成され、また、1つまたは複数のモデルパラメータを勾配降下手順または勾配上昇手順に基づいて更新するように構成され、さらに、更新されたパラメータをメモリへと格納するように構成された、最適化器を含んでもよい。
【0082】
例えば、最適化器は、1つまたは複数のプロセッサ110によって、評価器から勾配推定値を受領するように構成されてもよく、さらに、1つまたは複数のモデルパラメータを、産業的なおよび/または技術的なプロセスをモデル化する際のシミュレーションの誤差をエンコードする損失関数上における勾配降下を使用して、更新するように構成されてもよい。
【0083】
そのような例では、メモリ120は、また、産業的なおよび/または技術的なプロセスの少なくとも一部を制御する制御システム15によって実行される制御プロセスをモデル化するための完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルを、このパラメータ化制御モデルに関する1つまたは複数のパラメータを含めて、格納するように構成されてもよい。完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルは、更新されたモデルパラメータによって最適化される際に、産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルの少なくとも一部に対しての相互作用のために規定されてもよい。制御プロセスは、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化される。システムは、
-1つまたは複数のプロセッサ110によって、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに基づいてならびに対応する微分方程式系に基づいて制御プロセスをシミュレートするように構成された制御シミュレータと、
-1つまたは複数のプロセッサ110によって、産業的なおよび/または技術的なプロセスを制御するための制御システムに関しての、制御モデルの状態の制御目的関数として規定される制御目的を評価するように構成された制御目的モジュールと、
-1つまたは複数のプロセッサ110によって、制御プロセスをシミュレートする微分方程式セットに対する逆モード自動微分を使用して、1つまたは複数の制御パラメータに対する制御シミュレーション上における制御目的の勾配を推定するように構成された制御逆モード自動微分推定器と、
-1つまたは複数のプロセッサ110によって、制御逆モード自動微分推定器からの勾配と、1つまたは複数の制御パラメータと、を受領するように構成され、また、制御パラメータを勾配降下または勾配上昇に基づいて更新するように構成され、さらに、改良された制御パラメータをメモリ120に対して格納するように構成された制御最適化器と、をさらに含んでもよい。
【0084】
これらのモジュールおよび/または構成要素は、例えば、それぞれ
図4および
図5に図示されているように、プロセスモデルのためのシミュレータおよび/または評価器および/または適合化器内に統合されてもよく、あるいは、並列的に実装されてもよい。
【0085】
例として、システムは、制御パラメータを使用して産業的なおよび/または技術的なプロセスを制御する制御システム15を、さらに含んでもよい。
【0086】
例えば、システムの全体は、制御システム15によって制御されつつ産業的なおよび/または技術的なプロセスを実行するための産業的なおよび/または技術的なシステム10を、さらに含んでもよい。
【0087】
第2態様によれば、産業的なおよび/または技術的なプロセスに関連した1つまたは複数の技術モデルを評価および/または適合化するように構成されたシステム20;30;100が提供される。システム20;30;100は、産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化(プロセス)モデルを、この完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する1つまたは複数のモデルパラメータを含めて、取得するように構成され、完全にまたは部分的に非因果的なモジュール式パラメータ化(プロセス)モデルは、産業的なおよび/または技術的なプロセスが、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化されるようにして、規定されている。システム20;30;100は、また、取得したパラメータ化プロセスモデルに基づいてならびに対応する微分方程式系に基づいて、産業的なおよび/または技術的なプロセスをシミュレートするように構成されている。さらに、システム20;30;100は、微分方程式系に対して逆モード自動微分を適用することにより、産業的なおよび/または技術的なプロセスのプロセスモデルの評価を表す推定値を生成するように構成されている。
【0088】
システム20;30;100は、さらに、産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する少なくとも1つのモデルパラメータを、生成された評価推定値に基づいて、ならびに勾配降下手順または勾配上昇手順に基づいて、更新するように構成され、さらに、新たなパラメータをメモリへと格納するように構成されている。
【0089】
例として、システム20;30;100は、1つまたは複数の時点での産業的なおよび/または技術的なプロセスの1つまたは複数の状態を表す技術的センサデータを取得するように構成されてもよく、システム20;30;100は、技術的センサデータに少なくとも部分的に基づいて評価推定値を生成するように構成されてもよい。さらに、システム20;30;100は、産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートするように構成されてもよく、システム20;30;100は、i)モデルベースでシミュレートされた産業的なおよび/または技術的なプロセスと、ii)技術的センサデータに少なくとも部分的に基づいた産業的なおよび/または技術的なプロセスに関する実世界での表現と、の間の誤差を表す少なくとも1つの損失関数に関して、1つまたは複数のシミュレートされた状態に関連した勾配の推定値を生成するように構成されてもよい。
【0090】
任意選択的に、システム20;30;100は、また、産業的なおよび/または技術的なプロセスの少なくとも一部を制御する制御システム(15)によって実行される制御プロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルを、この完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに関する1つまたは複数のパラメータを含めて、取得するように構成されてもよい。完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルは、更新されたモデルパラメータによって最適化される際に、産業的なおよび/または技術的なプロセスのパラメータ化モデルの少なくとも一部に対しての相互作用のために規定される。制御プロセスは、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化される。システム20;30;100は、したがって、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに基づいてならびに対応する微分方程式系に基づいて、制御システムによって実行される制御プロセスをシミュレートするように構成されている。そして、システム20;30;100は、微分方程式系に対して逆モード自動微分を適用することにより、制御モデル評価推定値を生成するように構成されてもよく、システム20;30;100は、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに関する少なくとも1つのパラメータを、制御モデル評価推定値に基づいて更新するように、さらに構成されてもよい。
【0091】
好ましくは、システム20;30;100は、産業的なおよび/または技術的なプロセスを制御するための基礎として使用するために、制御モデルのパラメータの少なくとも一部を制御システム15に対して転送するように構成されてもよい。
【0092】
特定の例では、システム20;30;100は、1つまたは複数のプロセッサ110などの処理回路と、メモリ120と、を含み、メモリ120は、命令を含み、これらの命令は、処理回路110によって実行された時には、処理回路110に、産業的なおよび/または技術的なプロセスに関連した1つまたは複数の技術モデルを、評価および/または適合化させる。
【0093】
第3態様によれば、技術的なおよび/または産業的なシステム10のための制御システム15が提供され、制御システム15は、上記の第2態様によるまたはそのサブ態様によるシステム20;30;100を含む、および/または、そのようなシステムと相互作用する。
【0094】
第4態様によれば、上記の第2態様によるまたはそのサブ態様によるシステム20;30;100を含む、および/または、第3態様による制御システム15を含む、産業的なおよび/または技術的なシステム10が提供される。
【0095】
図8は、一実施形態による、産業的なおよび/または技術的なプロセスに関連した1つまたは複数の技術モデルを評価および/または適合化するための、1つまたは複数のプロセッサによって実行される方法に関する一例を示す概略的なフロー図である。
【0096】
基本的に、方法は、
S1:少なくとも1つの物理的サブモデルと、産業的なおよび/または技術的なプロセスを少なくとも部分的にモデル化するための普遍関数近似器として使用される少なくとも1つのニューラルネットワークサブモデルと、を含む産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルを、この完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する1つまたは複数のパラメータを含めて、取得することと、
S2:完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに基づいて、微分方程式系を生成することと、
S3:微分方程式系に基づいて、産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートすることと、
S4:産業的なおよび/または技術的なプロセスをシミュレートする際に、微分方程式系に対して逆モード自動微分を適用することにより、産業的なおよび/または技術的なプロセスのモデルの評価を表す推定値を生成することと、
S5:産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化モデルに関する少なくとも1つのモデルパラメータを、勾配降下手順または勾配上昇手順を使用して、評価推定値に基づいて、更新することと、を含む。
【0097】
好ましくは、推定値は、産業的なおよび/または技術的なプロセスに由来する技術的センサデータに少なくとも部分的に基づいて生成されてもよい。
【0098】
例として、逆モード自動微分を適用することにより推定値を生成するステップは、逆モード自動微分を使用してシミュレートされた状態に基づく損失関数上において勾配推定値を生成するステップを含む。
【0099】
任意選択的に、方法は、
-更新された1つまたは複数のモデルパラメータによって最適化された産業的なおよび/または技術的なプロセスのモデルの少なくとも一部に基づくならびに産業的なおよび/または技術的なプロセスのためのパラメータ化制御システムに基づく、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルと、産業的なおよび/または技術的なプロセスの制御の目的をエンコードする制御モデルの状態に関する制御目的関数と、制御モデルのパラメータと、を受領することと、
-1つまたは複数の微分方程式ソルバーを使用して、制御モデルの状態を生成することと、
-逆モード自動微分を使用して、制御モデルのパラメータに対して制御目的関数上において勾配推定値を生成することと、
-制御モデルのパラメータの1つまたは複数を、勾配推定値上において勾配降下または勾配上昇を使用して更新することと、をさらに含んでもよい。
【0100】
例として、制御モデルの更新されたパラメータを、その後、メモリ内へと格納してもよい、あるいは、パラメータ化制御システムを、制御モデルの更新されたパラメータに従って構成してもよい。
【0101】
例えば、更新された制御モデルパラメータは、ひいては、産業的なおよび/または技術的なプロセスを制御するために適用されてもよい。
【0102】
より良好な理解のために、本提案の技術について、いくつかの有用な技術用語とともに、様々な非限定的な例を参照して説明する。宣言的で非因果的なモデルとは、様々な方程式を通して産業的プロセスを記述するモデルであって、どの変数が入力でどの変数が出力であるかをすべての場合に指定しないモデルである。これは、モデル内の方程式の少なくともいくつかが、逆となり得ることを意味する、例えば、同じ効率モデルのポンプが、水流からのエネルギ消費量の計算と、エネルギ消費量からの水流の計算と、の両方に使用され得ることを意味する。
【0103】
モデルの特定の変数は、また、ソルバーの段階でセンサデータまたは他のデータから開始されてもよい、例えば、ポンプに対しての測定された電力入力を使用することにより、この入力が与えられた場合に、その流量の振る舞いがシミュレートされる。このようなデータは、また、コンパイラの段階でモデル内へと直接的に導入されてもよく、その場合、モデルの一部と見なされてもよい。また、モデルをコンパイルし、ソルバーの段階でそれらを導入することもできる、および/または、ソルバーをコンピュータ可読フォーマットへとコンパイルし、結果として得られるプログラムに対してパラメータを提供することも可能である。
【0104】
時間ダイナミクスおよび/または初期値を計算するために、モデルとソルバーとの間でモデル化を分割することにより、ソフトウェアおよび/またはハードウェアが複雑化するという代償を払ったとしても、これらのモデルタイプで記述される構成要素を、従来のオブジェクト指向モデルと比較して、はるかに大きな程度で再利用することができる。
【0105】
モデルは、物理的モデル化に基づくいくつかの構成要素を有してもよい。例として、そのような構成要素は、空間内の体積変化に基づいて、他で定義されたパイプに対して接続した場合に温度を推定するための単純な圧力方程式であり得る。別の例では、機械的動力の印加によって、タービンを加速させることができる。これらの方程式は、一般に、人間の専門家によって理解可能なものであり、解釈および分析に関して豊富な可能性を提供する。多くの現象には、既知の簡単な記述がなく、そのような場合、このモデルタイプが不適切となり得る。
【0106】
モデルは、例えば1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークとして設計されたいくつかの構成要素を有してもよい。これらは、非因果的なモデル化言語での1つまたは複数の方程式として実装される、および/または、別のアルゴリズム言語で記述される、および/または、コンピュータ可読バイナリフォーマットで提供される、および/または、インターフェースを介して外部ソフトウェアに対して接続される。ニューラルネットワーク構成要素は、典型的には、解釈不可能な「ブラックボックス」モデルと見なされ、多くの場合、対応する物理モデルと比較して、はるかに多数のパラメータを有している。充分なデータが与えられれば、実質的にあらゆる可能なプロセスをモデル化することができる。
【0107】
宣言型で非因果的なモデル言語で記述されたモデルは、一般に、いくつかのステップでコンパイルおよび/または解釈される。特に、これらは、通常、モデルの単純化、微分方程式ソルバーが使用するフォーマットへのデータおよび方程式の変換、変数の初期化、および、時系列を作成するためにソルバーに対して初期値を適用すること、などのステップを含む。
【0108】
1つの可能なモデル構成要素は、ニューラルネットワークなどのモジュール式普遍関数近似器である。このタイプのシステムは、正常に動作する任意の非線形関数を模倣する能力のために、および、パラメータ化された最適化でトレーニングすることにより、合理的な時間的複雑さでそのようなソリューションへと到達する能力のために、人気を集めている。
【0109】
センサデータが提示された時には、多くの場合、計算された変数とセンサによって検出された変数との間に、モデルと、モデル化された実際のプロセスと、の間の差異に起因し得る差異が検出される。このような場合、多くの産業では、入力値および出力値が測定され得る場合には、モデル内に回帰分析構成要素を作成するために、Excelなどの数学的ソフトウェア内でそれら入力値および出力値を使ってパラメータを選択する単純な回帰モデルを使用することにより、モデルを改良することが一般的な手法である。別の一般的なアプローチは、遺伝的最適化または有限差分推定法を使用することにより、モデルパラメータを改良することである。これらの手法は、一般に遅く、大規模なモデルへの拡張性に乏しい。
【0110】
制御システムは、一般に、手動でコード化されるけれども、例外が存在する。小さな次元のパラメータ化制御ポリシーを最適化するための通常の手法は、遺伝的最適化または有限差分法を使用することであるけれども、これらは、より大きな問題へとスケーリングした時に、計算特性が不充分である。さらに別の通常のシステムは、シンプレックス法などの単純なシステムに適した最適化アルゴリズムを適用できるよう、モデル化を、線形モデルなどの単純な近似モデルに限定することである。これは、水力発電の最適化および他の用途において、通常的である。
【0111】
本発明者による慎重な分析の結果、普遍関数近似器と組み合わせた新世代の宣言的で非因果的なモデルで可能な大規模モデル化が直面する計算上の課題を、モデルの全体的な解釈/コンパイルプロセスにおいて特別に設計された微分方程式ソルバー内に実装され得る逆モード自動微分と称される技術を使用することによって解決し得ることが、判明した。これらの種類の自動微分強化された解釈/コンパイルシステムおよび/または方法は、同時に数百万のパラメータに実行可能なスケーリング特性を可能とする。これを使用することにより、制御目的関数および/またはモデル化誤差関数の導関数を計算し得るとともに、勾配降下/勾配上昇ベースの方法を使用して、モデルおよび/または制御パラメータを最適化することができる。
【0112】
よって、特定の例によれば、競合する手法と比較してより少ない計算リソースを使用して、非因果的で宣言的な言語で、1つまたは複数の導関数、1つまたは複数のモデルパラメータ、および/または1つまたは複数の制御パラメータ、を計算し得るシステムが提供される。
【0113】
ニューラルネットワークは、モデルの複雑さを増大させるに際して容易にパラメータ化される態様であることのために、また、このパラメータが増加する際に大規模なクラスの共通関数のいずれかへと収束する能力のために、人気のあるいくつかの周知の機械学習システム/方法の1つである。ここでは、ニューラルネットワークを使用して、ニューラルネットワークと理論的にほぼ同等であることが証明されている関連するサポートベクターマシンを参照する。
【0114】
一般に、通常は人工ニューラルネットワークとも称されるニューラルネットワークは、脳を構成する生物学的ニューラルネットワークによって漠然と着想されたコンピューティングシステムと見なすことができる。ニューラルネットワーク自体は、アルゴリズムではなく、むしろ、多くの異なる機械学習アルゴリズムどうしが連携して複雑なデータ入力を処理するフレームワークである。ある意味で、このようなシステムは、一般にタスク固有のルールでプログラムされることなく、例を検討することによってタスクを実行することを「学習」する。ニューラルネットワークは、人工ニューロンと称される、接続されたユニットまたはノードの集合体をベースとしたものであってもよく、人工ニューロンは、生物学的脳内のニューロンを大まかにモデル化している。各接続は、生物学的脳内のシナプスのように、ある人工ニューロンから別の人工ニューロンへと、信号を伝達することができる。信号を受領した人工ニューロンは、その信号を処理して、接続されている追加的な人工ニューロンに対して信号伝達することができる。通常的な実装では、2つの人工ニューロンどうしの間の接続箇所における信号は、実数で表すことができ、各人工ニューロンの出力は、その入力の合計の何らかの非線形関数によって計算されてもよい。人工ニューロンどうしの間の接続箇所は、「エッジ」と称される。人工ニューロンおよびエッジは、典型的には、学習の進行につれて調整される重みを有している。重みは、接続箇所での信号の強度を増減させる。人工ニューロンは、しきい値を有してもよく、これにより、集合した信号がそのしきい値を超えた場合にのみ、信号が送出される。典型的には、人工ニューロンは、複数の層へと集約される。異なる層は、入力に対して異なる種類の変換を実行してもよい。信号は、おそらく複数回にわたって層を通過した後に、最初の層(入力層)から最後の層(出力層)へと、移動する。例えば、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、および階層型ニューラルネットワーク、などの、より進化した多くの異なるタイプのニューラルネットワークが、時間とともに開発されてきている。
【0115】
宣言的で非因果的なモデルは、典型的には、何らかの宣言的で非因果的な言語で記述されたモデルであるけれども、任意のプログラミング言語および/または同等のコンピュータ可読エンコードで記述された同等の機能内に格納されてもよい。適合したモデル化言語の例は、特に、ModelicaおよびModiaを含む。これらの宣言的で非因果的なモデルは、構成要素を再利用し得るよう、必然的にモジュール化される。宣言型で非因果的なモデルは、アルゴリズムではなく、変数どうしの間の方程式を規定するとともに、一般に、コンパイル時に、ソルバーによって、および/または実行時に、計算の方向を決定する。一般に、そのような言語は、また、方向性が指定されたサブ構成要素を支持する、すなわち、方程式の代わりにアルゴリズムを含めることを支持する。これは、命令型プログラムなどの、因果的および/または命令型サブモデルを、より大きな非因果的モデル内に含め得ることを意味する。このようなサブ構成要素は、また、コンパイルされたコンピュータ可読形式で、あるいは、別個の勾配推定ソリューションを有した異なる言語で、ソルバーの外部に配置することもできる。これらの場合、必要な勾配通信は、ソルバーに対してインターフェースを介して確立されたサブ構成要素との間で、確立することができる。
【0116】
特定のアルゴリズムは、ソルバーによって選択された因果関係に応じて選択されてもよく、これにより、アルゴリズム的記述しか利用できない非因果的システムをモデル化することができる。
【0117】
宣言的で非因果的なモデルのインタープリタおよび/またはコンパイラは、典型的には、メモリからモデルを受領するまたは読み取るシステムである。このシステムは、一連の変換を通してエンコードされた方程式およびアルゴリズムを、微分方程式ソルバー内で直接的に適用するのに適したフォーマットへと、変換する。文脈に応じて、微分方程式ソルバーは、多くの場合、モデル化言語全体のコンパイラおよび/またはインタープリタの一部と見なされる。これは、典型的には、コンパイラが微分方程式ソルバーに対して結果を送信することで、プログラムコードまたはシミュレーション出力を、人手を介さずに直接的に生成する場合である。ここでは、明確にするために、コンパイラを使用することにより、微分方程式ソルバーの前のプロセスを参照するけれども、全体的なコンパイル/解釈プロセスには、また、ソルバーのステップも含まれ得る。
【0118】
ソルバーまたはシミュレータとも称される微分方程式ソルバーは、適合化されたデータフォーマットで一連の方程式および初期値を受領するとともに、モデル化されたシステムの状態を記述した時系列を出力する。このようなソルバーの一例は、CVODEである。経時的な微分方程式のソリューションが、おそらく最も通常的な使用であるけれども、本発明をそのような問題に限定するものではない。微分方程式ソルバーを使用することにより、時間要素および/または時間依存性を有していない一連の方程式系を解くことができ、また、微分不可能なシステムおよび/またはサブシステムを、解くこともできる。1つの特定の例は、変化率を積分することによって、現在の時間から次の時間ステップを明示的に計算することなくシミュレートするサブモデルである。微分方程式ソルバーは、適切にバランスのとれた方程式系に依存しており、この方程式系は、必要であれば、コンパイルステップの時点で外部ソースからデータが提供されていれば、そのコンパイルステップの後に確立することができる。これは、通常、コンパイラが適切な計算方向を確立し得るよう、ソルバーの前にどの変数が規定されるかをコンパイラが認識していることに依存する。
【0119】
本明細書で使用された際には、自動微分という表現は、典型的には、人間による計算も自動シンボリック評価も必要とすることなく効率的に導関数を計算するために、プログラムコードに対して直接的に適用される一連の手順を指す。自動微分システムは、典型的には、プログラムコードを入力し、いくつかの導関数も計算するプログラムコードを出力する。厳密に言えば、自動微分とは、効率的に導関数を計算する一連の方法およびシステムを指し、原理的には、大きな変更を加えることなく、一般的なプログラムコードからなる任意の大規模セットに対して適用することができる。しかしながら、自動微分は、また、例えば深層学習フレームワークのように、そのような自動微分方法の適用のためにコードが特に適合されているシステムおよび/または方法も指す。
【0120】
自動微分の1つのタイプは、逆モード微分である。ここでは、逆モード微分を使用することにより、純粋な逆モードの微分と、混合モードタイプの微分と、の両方を説明し、混合モードタイプの微分では、微分プロセスのいくつかのサブ構成要素が、他のコンピュータで実装された微分方法によって実行される、例えば順方向微分によっておよび/またはシンボリック微分によって実行される、および/または、混合モードタイプの微分では、逆モード自動微分が、より大きなシンボリック微分内に含まれている。逆モードでは、グラフ、テープ、または同様のもの、を使用することにより、順方向ステップとして知られている、通常の実行時におよび/またはコンパイル時に実行された計算が記述される。その後、このグラフやテープや同様のものを使用することにより、おおよそ逆の順序で計算が行われ、これにより、1つまたは複数のパラメータに関する1つまたは複数の値について導関数が計算される。グラフやテープや同様のものは、順方向ステップの処理中に動的に開発することができる、および/または、コンパイル時に静的なグラフやテープや同様のものへと明示的に事前計算することができる、および/または、逆モード用のプログラムコードを作成するためにコンパイル時に使用することができる。
【0121】
逆モード自動微分技術は、結果的に得られる微分方程式をコンパイラが供給する供給先をなす微分方程式ソルバーに対して、適用することができる。その後、微分方程式ソルバーの出力は、任意のモデルパラメータに関して、導出することができる。微分方程式ソルバーは、微分可能とするために、決定境界の軟化、および/または、再パラメータ化トリックによる確率変数の分離、および/または、トレーニング中に調整され得る温度または同様のパラメータによっておそらく制御されるような、離散イベントを交差させるためのノイズの導入、などの、若干の修正が必要であるかもしれない。
【0122】
誤差関数または損失関数は、典型的には、いくつかのデータに関して本発明者らのモデルの誤差がどの程度大きいかを記述する。これは、通常、シミュレートされた値と測定された値との間の差異に関しての、少なくともいくつかの近傍での、単調増加関数として規定される。これらの測定値は、生のセンサ入力とすることも、また、値の関連性および/または正確性を増大させるために何らかの関数で前処理されたセンサ値とすることも、できる。測定値は、ある意味で方程式系を過剰決定のものとし、これにより、計算値と測定値とが、比較可能なものとされる。
【0123】
損失関数は、センサからの1つまたは複数のデータと、微分方程式ソルバーの1つまたは複数の対応する出力と、の間の差異を記述するために、構築することができる。微分方程式ソルバー上で逆モード自動微分を使用することにより、1つまたは複数のパラメータに関するこの損失関数の勾配を、最適化器で使用するための計算におけるパラメータ数によって、計算効率と有利な拡張可能性とを有しつつ計算することができる。
【0124】
損失関数は、その勾配に対応する信号を計算して出力する別個の実体として使用することができる、あるいは、自動微分によって取り扱い得る適切なモデル化または他のコンピュータ言語フォーマットでエンコードすることができる。代替的には、それは、モデル自体の変数であり、この場合、損失関数は、モデル内のどの状態が損失関数に対応するかについての暗黙的なまたは明示的な識別に過ぎない。これらのテーマおよび同様のテーマには、当業者には自明であるような多数の他の些細なバリエーションが存在する。
【0125】
最適化器は、典型的には、勾配推定を行い、また、パラメータ空間内で勾配ステップを計算し、さらに、勾配降下戦略または勾配上昇戦略に従って新たな改良パラメータを作成する、システムである。最適化器は、通常、更新どうしの間に、減衰するステップサイズおよび/または運動量などの、永続的な変数を有している。多くの周知のそのような最適化器は、収束が保証されている。最適化器の1つまたは複数のステップの後には、改良されたパラメータセットが得られることとなり、このパラメータセットは、任意選択的にメモリへと格納することができる。例えば、最適化器は、また、単一の勾配更新を実行する前に、1つまたは複数のソースから勾配推定値を収集することもできる。基礎となる分布上における勾配を推定するために、確率的シミュレーションを並列化することは、そのような例の1つである。パラメータ更新は、オリジナルの非因果的なモデル内で実行することができる、あるいは、コンパイルプロセスの後段で任意の中間モデルフォーマット内の対応する変数に関して実行することができる。最適化器の反復どうしの間におけるパラメータ更新は、他のコンパイルプロセスからのオーバーヘッドを最小化するために、ソルバーの直前に実行されるかもしれない。最適化器のそのような動作では、最適化器は、ソルバーに対して直接的にパラメータリストを供給するとともに、また、逆モード自動微分において静的コンパイルを使用することもでき、これにより、さらに計算オーバーヘッドを最小化することができる。しかしながら、他の場合には、これは適切ではないかもしれない、例えば、パラメータ値がこれは適切ではないかもしれないシミュレーション処理ステップに対して影響を与える場合(すなわち、それらのステップで使用される値とは対照的に、実行される処理ステップのリスト)には、および/または、シミュレーション処理ステップが部分的に確率的である場合には、これは適切ではないかもしれない。
【0126】
センサデータを使用して制御システムを最適化することは、複雑なタスクであり、人間と人工知能ベースの構成要素とが相互に通信して、測定された実際のシステムとは異なる状況を記述する知識および能力を再利用することによって、多大なメリットが得られる。これは、上述した方法および/またはシステムに従ってモジュールを最適化することによって説明されるモジュール式で部分的に物理的なシミュレーションによって、実現することができる。その後、これらのモジュールは、必要に応じて削除および/または再構成されることができ、新たな物理的モジュールおよび/または人工知能(AI)モジュールを、モデル内へと導入することができる。その後、新たに修正されたモデルは、新たな実在のまたは仮想の物理システムを記述し得るとともに、新たなシステムに特有の新たなセンサデータを収集する必要なく、このモジュール性を通してエンコードされて内部に蓄積された知識を、再利用することができる。望ましいシステムのパラメータのうちの、システムの機能に影響を与える1つまたは複数のパラメータは、制御パラメータとして指定される。
【0127】
制御目的とは、いくつかの産業的プロセスおよび/または産業的プロセスモデルの完全なまたは部分的な状態を記述する時系列または瞬時値を取り込むことができ、産業的プロセスの制御の成功度合いを自動的に推定し得るシステムと見なすことができる。成功度合いの推定は、通常、スカラー値でエンコードされ、より大きなスカラー値が望ましいものとされる。このような制御目的の設計は、通常、ビジネスの目的、環境的な目的、および物理的な目的に準拠するように、行われる。本発明者らは、適切に設計されたそのような制御目的またはその出力を、本発明者らのシステムおよび/または方法に対する入力として、使用する。
【0128】
制御最適化器は、典型的には、パラメータ化された制御アルゴリズムを改良しようとするシステムである。次に、最適化器からのオリジナルの最適化されたモジュールを使用することにより、および/または、上記のようなモジュールから再構成された新たなモジュールを使用することにより、新たな制御システムを作成することができる。このような課題は、従来的には、遺伝的最適化および/または強化学習を使用して最適化されていたが、いずれも大規模な課題に関しては、計算が困難である。本発明者らは、それに代えて、上述したプロセスを適用することにより、逆モード自動微分を使用して微分方程式をコンパイルして解くことができ、これにより、計算効率の高い態様で勾配推定値を生成することができる。ここでは、自動微分を使用することにより、本発明者らの制御パラメータに関して制御目的の勾配を計算し、制御最適化器に対してそれを伝達する。
【0129】
制御最適化器は、本発明者らの制御モデルが供給された際に微分方程式ソルバーに対して適用される自動微分から勾配推定値を受領する。勾配推定値を使用した適切な勾配ベースの最適化戦略が、1つまたは複数のステップで適用される。制御目的の大きな値が産業的プロセスの望ましい動作を意味するという通常的な枠組みの場合、勾配上昇スキームが適用される。制御最適化器による最適化の後には、制御最適化器は、最終的なパラメータを出力し、それらパラメータをメモリへと格納する。制御最適化器に関する設計上の考慮事項は、最適化器を設計する際に必要な考慮事項と同様である。
【0130】
最適化された制御パラメータは、任意選択的に、シミュレーションにおいて使用することができ、これにより、制御ポリシーを評価することができる、および/または、そのように最適化された制御ポリシーを使用して産業的なおよび/または技術的なプロセスを評価することができる。その後、制御パラメータは、制御のソフトウェアおよび/またはハードウェア実装内に実装されることができ、適切な産業的なおよび/または技術的なプロセス内にインストールされ得る。代替的には、制御シミュレーションにおいて最適化された制御ポリシーによって作成された1つまたは複数の信号を使用することにより、実際の産業的なおよび/または技術的なプロセスを直接的に制御することができる。
【0131】
図9は、産業的なおよび/または技術的なプロセスに関連したモデルの評価および/または適合化のための、プロセッサとメモリとを実装したシステムに関する別の特定の例を示す概略図である。これは、プロセッサとメモリとをベースとした実装の一例を表しており、コンパイラと、微分方程式ソルバーと、逆モード自動微分推定器と、最適化器とが、プロセッサ110によって実行され、モデルパラメータが、メモリ120内に格納されて更新される。
【0132】
以下では、システムに対する可能な入力データの例と、サブモジュールの動作の例と、を含めて、産業的なおよび/または技術的な用途に関する1つまたは複数の非限定的な例が提示される。
【0133】
特定の例では、タービンに対して結合された発電機のModelica詳細モデルが、コンパイラに対する入力として与えられる。発電機モデルは、大部分が物理方程式に基づいているものの、いくつかの内部抵抗に対する温度および水分の影響を近似するニューラルネットワークモデルを含んでいる。経時的な電気的パワー出力は、未知の機械的パワー入力に依存するモデルにおいては未知数と見なされ、その逆もまた同様である。オペレータは、センサデータから入力パワーおよび出力パワーの測定値を得ている。オペレータは、コンパイラを使用することにより、モデルをModiaに変換するとともに、このモデルを、Juliaベースの微分方程式ソルバーに対する入力に適した既知のJuliaプログラミング言語での変数および微分方程式のセットへと、変換する。これにより、パワー入力が与えられた場合にパワー出力をシミュレートし得るいわゆるJulia関数が作成される(コンパイラに命令すれば、その逆もまた可能である)。次に、オペレータは、この関数に対して自動微分を適用することにより、解かれた時には導関数を計算し得る関数も生成する新たな関数を作成する。この新たな関数が、本発明者らの微分方程式ソルバーであり、効率的なマシンコードへとコンパイルされる。その後、オペレータは、微分方程式ソルバーに対して機械的パワー入力データを供給し、これにより、出力データを生成して、生成された出力を、センサデータから収集されたパワー出力と比較する。この勾配推定値は、逆モード自動微分方程式推定器に対して供給され、モデル内の各パラメータに関して、勾配推定値が生成される。この勾配推定値は、最適化器に対して送信され、最適化器は、パラメータを読み取り、損失を低減する目的で、ニューラルネットワークサブモデル上のいくつかのパラメータと、一般的な物理的発電機モデル内のいくつかのパラメータと、に関して、小さな勾配降下/勾配上昇ベースの更新を実行する。このプロセスは、損失が充分に低減されるまで、そして、モデルの入出力ペアが、センサから収集されたデータとより良好に対応するまで、繰り返される。
【0134】
図10は、産業的なおよび/または技術的なプロセスの制御モデル/システムに関連したモデルの評価および/または適合化のための、プロセッサとメモリとを実装したシステムに関する別の特定の例を示す概略図である。これは、プロセッサとメモリとをベースとした実装の一例を表しており、コンパイラと、微分方程式ソルバーと、逆モード自動微分推定器と、最適化器とが、プロセッサ110によって実行され、いわゆる値推定パラメータが、メモリ120内に格納されて更新される。
【0135】
以下では、システムに対する任意選択的な入力データの例と、サブモジュールの動作の例と、を含めて、産業的なおよび/または技術的な用途に関する更なる非限定的な例が提示される。
【0136】
更なる例では、地元の水道会社が、自治体の廃水ポンプと貯水池システムとに関するModiaモデルを設計するとともに、地理情報システムに対するプラグインソフトウェアを使用することにより、一連の微分方程式を、C++コードと、このC++コードに対して機能モックアップインターフェース(FMI)を介してインターフェースする事前コンパイルされた実行可能なバイナリファイルと、の混合物として作成する。ポンプモデル内のいくつかの配管システムは、トレーニング済みニューラルネットワークを使用して、抽象化されている。その会社は、モデルが貯水池の水位を非常に高い位置に維持することを罰するとともにモデルが電気代に比例した値となることを罰するという制御目的を規定し、この制御目的をModelicaモデル内に変数として含む。制御目的変数は、過去のすべてのコストと、シミュレートされた時間内の高水位と、を合計するように設計されている。ニューラルネットワークの物理的な実装は、ソフトウェアでシミュレートされる。モデルは、C++コードおよびバイナリフォーマットへのリンクを有したPythonで実装されたソルバーでありかつ1時間ごとの電力価格を供給し得るソルバー内にコンパイルされる。微分方程式ソルバーは、別のコンパイラによって自動的に読み込まれ、この別のコンパイラは、Python、C++、および、実行可能なバイナリ機械可読コードフォーマット、からなる対応混合物を生成するとともに、シミュレーションの状態を取得し、さらに、部分的な逆モード自動微分推定器を生成するいわゆる静的逆モード微分で、制御目的に関して関心のある2つの指定された制御パラメータに関する勾配を計算する。電力価格が提供されていない場合には、ソルバーは、何らかの一定価格を仮定する。シミュレートされた状態は、事前コンパイルされた部分的な逆モード自動微分推定器に対して供給され、勾配が生成される。最適化器は、この勾配推定値が供給されて、勾配降下戦略/勾配上昇戦略を使用することにより、制御パラメータを調整する。制御パラメータは、再び微分方程式ソルバーに対して供給され、微分方程式ソルバーは、制御パラメータが、制御目的に対しての局所的最適値へとほぼ到達するまで、数回の繰り返しにわたって、部分的な逆モード自動微分推定器に対して状態を送信する(繰り返しの間には、コードは、静的に維持される)。これら制御パラメータは、ディスクへと格納され、モデルによってモデル化された物理システムにおけるこれら制御パラメータに関する最適な設定として、顧客に対して転送/販売される。
【0137】
別の例では、一連の水力発電所および貯水池を、モデル化することができる。そのような例では、貯水量-高さ曲線およびタービン効率曲線を、ニューラルネットワークによってモデル化することができ、高さ、非常出口、および配管を、本質的に物理的なものとすることができる。豊富なデータは、ニューラルネットワークを好ましいモデルとするかもしれないけれども、緊急時のシナリオは、めったに発生せず、利用可能なデータが少ない場合と比較して、物理的な予備知識および仮定を使用してモデル化する方が、より良好であるかもしれない。これら物理システムのパラメータは、いくつかの追加的なデータが利用可能である時には、ここで説明した方法論を使用して最適化することができる、あるいは、将来的には、ニューラルネットワークモデルへと、全体的に置き換えられるかもしれない。その後、モデルの全体あるいはモデルの任意の部分を、逆モード自動微分と利用可能なデータとを使用して、トレーニングすることができる。さらに、本発明者らの例では、水力発電所および貯水池のモデルが確立された後には、本発明者らは、パラメータ化制御システムを設定することができ、このパラメータ化制御システムは、貯水池の水位と次の数日間の電力先物価格とを入力として取得するとともに、各発電所での推奨される現在の生産レベルを出力し、これにより、水力発電所を最大効率で運転するのと同時に、運転限界の違反の程度に応じた罰則係数のおかげで、貯水池を運転限界内に維持する。モデルは、リスク管理のためのモンテカルロタイプのシミュレーションを生成するために、確率的なタイプのものであることが好ましい。このモデルは、貯水池に対しての、過去のまたはシミュレートされた、外部からの水流入量によってトレーニングすることができ、シミュレーションは、別個のデータセットから作成された統計的分布とすることができる。その後、制御システムをトレーニングすることにより、各瞬間においてまたは短期間において発電量を最適に設定することができ、これにより、ポリシーの最適化における先々の効用を考慮しながら、時間的に最も効率的な動作を生成することができる。結果として得られた制御システムは、異なる乱数シードを使用してモデル内で繰り返し的にシミュレートすることができ、これにより、人間のオペレータに対して、おおよその信頼区間を表示することができる。命令は、また、プラントを自律的に直接操作するために、監視制御およびデータ取得(SCADA)システムに対して直接的に送信されることもでき、これは、小規模な水力発電所において特に有効であり得る。
【0138】
代替的に、上記の例では、より伝統的な非確率的シミュレーションを考慮することができ、各瞬間の生産レベルを、独立したパラメータとして設定することができる。その場合、数日間にわたるまたは数週間にわたる時系列の状態が生成され、利益を最大化するために、各時間ステップにおいて生産レベルを最適化することができる。このようないくつかの生産計画を、グリッドサーチで初期化し、最適でない極小値を避けるために、それぞれを最適化することができる。
【0139】
別の例では、自動車メーカーが、エンジン内への動的燃料噴射戦略を最適化したい場合がある。エンジンは、多数の未知のパラメータで物理的にモデル化される。空気圧-抵抗依存性は、既知の物理的原理によってモデル化することが困難であり、代わりに、ニューラルネットワークが挿入される。確率的な燃料噴射戦略が、一連の物理的テストにおいてエンジンのパラメータを探索するために、使用される。エンジンの動力出力と排気とは、物理的に測定し得るけれども、それ以外の場合、テストエンジニアは、運転中のエンジンの内部にアクセスすることができない。燃料噴射入力と動力出力とのペアを使用することにより、逆モード自動微分を使用してモデル全体をトレーニングすることができ、ニューラルネットワークも含めて、測定対象を説明することとなる最適の物理パラメータを見出すことができる。ニューラルネットワークに関して、ニューラルネットワークのパラメータを個別にトレーニングするために使用され得るの入出力ペアを測定する能力は有していないにしても、本発明に従って使用される自動微分プロセスは、エンジンモデル全体がこれらパラメータにどのように依存しているかを推測し、物理的パラメータと同じようにニューラルネットワークを最適化することができる。センサデータに対してモデルが最適化された後に、燃料噴射を制御する一連の単純なパラメータ化された論理ゲートは、逆モード自動微分を使用して、モデル化されて最適化され、これにより、燃料使用量が最小化されるとともに、特定の動力での特定の排気ガスが最小化される。その後、論理ゲートパラメータを使用することにより、自動車エンジンの対応する物理的コントローラが作成される。
【0140】
さらに別の例では、通信事業者または通信サービスプロバイダは、そのパケットスイッチ通信ネットワークの運用を最適化したいと考えている。請負業者は、個々のパケットをモデル化する離散イベントモデルと、平均伝送速度のフローベースモデルと、の組合せに基づいて、ハイブリッド物理モデルを開発する。このモデルは、Modelicaで実装され、通信事業者に対して送信される。通信事業者は、自社のデータベースを使用してモデルを最適化し、それに基づいて運用を調整することとした。同社は、ニューラルネットワークを追加し、時間単位で、週単位で、および季節単位で、通信確率と負荷をモデル化する。ニューラルネットワークモデルは、その運用から収集された実際の通信データを使用して精緻化され、適切なModia Juliaパッケージ内のモデルのソルバー上で逆モード自動微分を使用して、損失を削減する。
【0141】
さらに、この例では、通信事業者は、ネットワーク容量の新たな拡張を評価したいと考えている。同社は、対応する接続をモデル内に追加し、平均伝送速度と最小合計パケット損失と平均遅延との線形結合であるモデル損失を低減するという制御目的を規定する。同社は、1年間というシミュレーション時間にわたってこれをシミュレートし、ソルバーに対して逆モード自動微分を適用することにより、伝送制御プロトコル(TCP)の様々なパラメータに関して制御目的の導関数を求め、最適化器を使用してTCPチューニングを実行する。その後、そのようなTCPチューニング済みネットワークの全体的な性能が、結果として得られるモデルで推定される。同社は、このモデル化された性能を現在の性能と比較することにより、ネットワーク容量を拡張するかどうかおよび/またはネットワーク容量をどのように拡張するかについて、決定する。拡張を実行する決定がなされた場合には、TCPチューニングからのパラメータを、ネットワークで使用されているTCPパラメータに対して直接的に適用することができる。
【0142】
以上のように、本提案の技術は、一般に、所与の動作限界および/または動作条件を有した物理的環境下で動作するあらゆる産業的なおよび/または技術的なシステムに対して、適用可能である。
【0143】
例えば、本提案の技術は、産業用の製造や加工や包装、自動車および輸送、鉱業、パルプ、インフラストラクチャ、エネルギおよび電力、通信、情報技術、オーディオ/ビデオ、ライフサイエンス、石油、ガス、水処理、衛生、および航空宇宙産業、のうちの少なくとも1つのための産業的なおよび/または技術的なシステムの少なくとも一部に関して、改良されて適合化されたモデル化および/または制御のために適用されてもよい。
【0144】
上述した方法および装置が、様々な態様で組み合わせたり再構成されたりし得ること、また、方法が、1つまたは複数の適切にプログラムまたは構成されたデジタル信号プロセッサおよび他の公知の電子回路(例えば、特殊な機能を実行するために相互接続された複数の離散的な論理ゲート、あるいは、特定用途向け集積回路)によって、実行され得ることは、理解されよう。
【0145】
本発明の多くの態様は、例えば、プログラム可能なコンピュータシステムの構成要素によって実行可能な一連のアクションの観点から説明される。
【0146】
上述したステップ、機能、手順、および/またはブロックは、汎用電子回路および特定用途向け回路の両方を含む、離散的回路技術または集積回路技術などの任意の従来技術を使用して、ハードウェアで実装することができる。
【0147】
代替的に、上述したステップ、機能、手順、および/またはブロック、の少なくとも一部は、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、および/または、フィールドプログラマブルゲートアレイ(FPGA)デバイスやプログラマブルロジックコントローラ(PLC)デバイスなどの任意の適切なプログラマブルロジックデバイス、などの適切なコンピュータまたは処理デバイスによって実行するためのソフトウェアで実装されてもよい。
【0148】
また、本発明が実装される任意のデバイスの一般的な処理能力を再利用することが可能とされてもよいことは、理解されるべきである。また、例えば、既存のソフトウェアを再プログラムすることによって、あるいは、新たなソフトウェア構成要素を追加することによって、既存のソフトウェアを再利用することが可能とされてもよい。
【0149】
また、ハードウェアとソフトウェアとの組合せに基づくソリューションを提供することが可能とされてもよい。実際のハードウェアとソフトウェアとの分割は、処理速度、実装コスト、および他の要件、を含む多くの要因に基づいて、システム設計者が決定することができる。
【0150】
図11は、一実施形態によるコンピュータ-実装100の一例を示す概略図である。この特定の例では、上述したステップ、機能、手順、モジュール、および/またはブロック、の少なくとも一部は、コンピュータプログラム125;135内に実装されており、このプログラムは、1つまたは複数のプロセッサ110を含む処理回路による実行のために、メモリ120内へとロードされる。1つまたは複数のプロセッサ110とメモリ120とは、通常のソフトウェア実行を可能にするために互いに相互接続されている。また、任意選択的な入力/出力デバイス140が、1つまたは複数の入力パラメータおよび/または結果として得られる1つまたは複数の出力パラメータなどの関連データの入力および/または出力を可能にするために、1つまたは複数のプロセッサ110および/またはメモリ120に対して、相互接続されてもよい。
【0151】
「プロセッサ」という用語は、特定の処理タスクや決定タスクやまたは計算タスクを実行するために、プログラムコードまたはコンピュータプログラム命令を実行し得る任意のシステムまたはデバイスとして、一般的な意味で解釈されるべきである。
【0152】
よって、1つまたは複数のプロセッサ110を含む処理回路は、コンピュータプログラム125を実行する時には、本明細書に記載されているような明確に規定された処理タスクを実行するように構成されている。
【0153】
特定の例では、コンピュータプログラム125;135が提供され、このコンピュータプログラムは、命令を含み、これら命令は、少なくとも1つのプロセッサ110によって実行された時には、少なくとも1つのプロセッサ110に、
産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルを取得することであり、ここで、完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルを、産業的なおよび/または技術的なプロセスが、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化されるようにして、規定されるものとすることと、
完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルに基づいてならびに対応する微分方程式系に基づいて、産業的なおよび/または技術的なプロセスをシミュレートすることと、
微分方程式系に対して逆モード自動微分を適用することにより、産業的なおよび/または技術的なプロセスのモデルの評価を表す推定値を生成することと、
産業的なおよび/または技術的なプロセスのパラメータ化プロセスモデルに関する少なくとも1つのパラメータを、生成された評価推定値に基づいて、勾配降下手順または勾配上昇手順を使用して、更新することと、を実行させる。
【0154】
別の例では、コンピュータプログラム125;135が提供され、このコンピュータプログラムは、命令を含み、これら命令は、少なくとも1つのプロセッサ110によって実行された時には、少なくとも1つのプロセッサ110に、
産業的なおよび/または技術的なプロセスの少なくとも一部を制御する制御システムによって実行される制御プロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルを、この完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに関する1つまたは複数のパラメータを含めて、取得することであり、ここで、制御プロセスを、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化されるものとすることと、
完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに基づいてならびに対応する微分方程式系に基づいて、制御システムによって実行される制御プロセスをシミュレートすることと、
微分方程式系に対して逆モード自動微分を適用することにより、制御モデル評価推定値を生成することと、
パラメータ化制御モデルに関する少なくとも1つのパラメータを、制御モデル評価推定値に基づいて、勾配降下手順または勾配上昇手順を使用して、更新することと、を実行させる。
【0155】
処理回路は、上述したステップ、機能、手順、および/またはブロック、を実行することのみに特化される必要はなく、他のタスクを実行してもよい。
【0156】
その上、本発明は、追加的に、コンピュータベースのシステム、プロセッサを含有したシステム、または、媒体から命令を取得してそれら命令を実行し得る他のシステム、などの命令実行システムや装置やまたはデバイスによって使用するための、あるいはそれらに関連して使用するための、適切な命令セットを内部に格納した任意の形態のコンピュータ可読記憶媒体内において完全に具現化されていると考えることができる。
【0157】
ソフトウェアは、コンピュータプログラム製品として実現されてもよく、コンピュータプログラム製品は、通常、例えば、CD、DVD、USBメモリ、ハードドライブ、または他の従来的なメモリデバイス、などの非一過性コンピュータ可読媒体に搭載される。よって、ソフトウェアは、プロセッサによる実行のために、コンピュータまたは同等の処理システムの動作メモリ内へとロードされてもよい。コンピュータ/プロセッサは、上述したステップ、機能、手順、および/またはブロック、を実行することのみに特化される必要はなく、他のソフトウェアタスクを実行してもよい。
【0158】
本明細書において提示した1つまたは複数のフロー図は、1つまたは複数のプロセッサによって実行される時には、1つまたは複数のコンピュータフロー図と見なされてもよい。対応する装置は、汎用モジュールのグループとして規定されてもよく、プロセッサによって実行される各ステップは、汎用モジュールに対応する。この場合、汎用モジュールは、プロセッサ上で実行されるコンピュータプログラムとして実装される。
【0159】
よって、メモリ内に常駐するコンピュータプログラムは、プロセッサによって実行された時には、本明細書において説明するステップおよび/またはタスクの少なくとも一部を実行するように構成された適切な汎用モジュールとして編成されてもよい。
【0160】
代替的に、主にハードウェアモジュールによって、あるいはこれに代えてハードウェアによって、関連するモジュールどうしの間の適切な相互接続を有した1つまたは複数のモジュールを実現することができる。具体的な例は、1つまたは複数の適切に構成されたデジタル信号プロセッサ、および他の公知の電子回路を含み、例えば、特殊な機能を実行するために相互接続された複数の離散的な論理ゲート、および/または、上述した特定用途向け集積回路(ASICs)、を含む。使用可能なハードウェアの他の例は、入力/出力(I/O)回路、および/または、信号を送受信するための回路、を含む。ソフトウェア対ハードウェアの範囲は、純粋に実装の選択である。
【0161】
リソースがネットワークを介して遠隔地に対してサービスとして供給されるコンピューティングサービス(ハードウェアおよび/またはソフトウェア)を提供することが、ますます一般的となってきている。例として、これは、本明細書において説明する機能が、1つまたは複数の別個の物理ノードまたはサーバへと、分散または再配置され得ることを意味している。機能は、1つまたは複数の別個の物理ノード内へとすなわちいわゆるクラウド内へと配置され得る1つまたは複数の共同動作する物理マシンおよび/または仮想マシンへと、再配置または分散させてもよい。これは、時にはクラウドコンピューティングとも称され、これは、ネットワーク、サーバ、ストレージ、アプリケーション、ならびに、一般的なサービスまたはカスタマイズされたサービス、などの構成可能なコンピューティングリソースのプールに対しての、ユビキタスオンデマンドネットワークアクセスを可能とするためのモデルである。
【0162】
上述した実施形態は、本発明のいくつかの例示的な例として理解されるべきである。当業者であれば、本発明の範囲から逸脱することなく、実施形態に対して、様々な修正や組合せや変更を行い得ることは、理解されよう。特に、異なる実施形態における異なる部分的ソリューションは、技術的に可能であれば、他の構成において組み合わせることができる。
【手続補正書】
【提出日】2021-12-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
産業的なおよび/または技術的なプロセスを実行するために構成された、産業的なおよび/または技術的なシステムの制御を可能にするための、システム(20;30;100)であって、
前記システムは、
-1つまたは複数のプロセッサ(110)と、
-少なくとも1つの物理的サブモデルと、前記産業的なおよび/または技術的なプロセスを少なくとも部分的にモデル化するための普遍関数近似器として使用される少なくとも1つのニューラルネットワークサブモデルと、を含む、パラメータ化制御モデルとも称される、前記産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルを、前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルに関する1つまたは複数のプロセスモデルパラメータを含めて、格納するとともに、前記産業的なおよび/または技術的なプロセスを監視している1つまたは複数のデータ収集システムに由来する1つまたは複数の時系列パラメータを含む技術的センサデータを格納するように構成されたメモリ(120)と、
-前記1つまたは複数のプロセッサ(110)によって、前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルに基づいてならびに対応する微分方程式系に基づいて、前記産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートするように構成されたシミュレータと、
-前記1つまたは複数のプロセッサ(110)によって、前記産業的なおよび/または技術的なプロセスをシミュレートする際に前記微分方程式系に対して逆モード自動微分を適用することにより、前記産業的なおよび/または技術的なプロセスの前記パラメータ化プロセスモデルの評価を表す評価推定値を生成するように構成された、評価器であって、前記技術的センサデータに少なくとも部分的に基づいて前記評価推定値を生成するようにさらに構成されている評価器と、
-前記1つまたは複数のプロセッサ(110)によって、前記評価推定値を受領するように構成されるとともに、前記産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルに関する少なくとも1つのプロセスモデルパラメータを、勾配降下手順または勾配上昇手順に基づいて更新するように構成され、且つ、前記産業的なおよび/または技術的なプロセスの動作を制御する制御信号を生成するときに使用するために、前記更新されたプロセスモデルパラメータを伝達するように構成された、適合化モジュールと、を含む、システム(20;30;100)。
【請求項2】
前記システム(20;30;100)は、前記シミュレータの一部として、
-前記1つまたは複数のプロセッサ(110)によって、前記パラメータ化プロセスモデルを受領するように構成されるとともに、前記微分方程式系を作成するように構成されたコンパイラと、
-前記1つまたは複数のプロセッサ(110)によって、前記微分方程式系を受領するように構成されるとともに、前記産業的なおよび/または技術的なプロセスを経時的にシミュレートするように構成された1つまたは複数の微分方程式ソルバーと、をさらに含む、請求項1に記載のシステム。
【請求項3】
前記1つまたは複数の微分方程式ソルバーは、前記1つまたは複数のプロセッサ(110)によって、前記産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートするように構成され、前記評価器は、前記1つまたは複数のプロセッサ(110)によって、モデル適合化モジュールに対して出力するための少なくとも1つの損失関数に関して、前記1つまたは複数の微分方程式ソルバーから導出された1つまたは複数の状態に関連した勾配の推定値を生成するように構成されている、請求項2に記載のシステム。
【請求項4】
前記少なくとも1つの損失関数は、前記産業的なおよび/または技術的なプロセスをモデル化する際の前記シミュレーションの誤差を表している、請求項3に記載のシステム。
【請求項5】
前記少なくとも1つの損失関数は、i)前記モデルベースでシミュレートされた前記産業的なおよび/または技術的なプロセスと、ii)前記1つまたは複数のデータ収集システムからの前記技術的センサデータに少なくとも部分的に基づいた前記産業的なおよび/または技術的なプロセスに関する実世界での表現と、の間の誤差を表している、請求項4に記載のシステム。
【請求項6】
前記適合化モジュールは、
-前記1つまたは複数のプロセッサ(110)によって、前記メモリから1つまたは複数のプロセスモデルパラメータを受領するように構成され、また、前記評価器から前記評価推定値を受領するように構成され、また、1つまたは複数のプロセスモデルパラメータを勾配降下手順または勾配上昇手順に基づいて更新するように構成され、さらに、前記更新されたプロセスモデルパラメータをメモリへと格納するように構成された最適化器を含む、請求項1に記載のシステム。
【請求項7】
前記最適化器は、前記1つまたは複数のプロセッサ(110)によって、前記評価器から前記勾配推定値を受領するように構成され、さらに、1つまたは複数のプロセスモデルパラメータを、前記産業的なおよび/または技術的なプロセスをモデル化する際の前記シミュレーションの前記誤差をエンコードする損失関数上における勾配降下を使用して、更新するように構成されている、請求項6に記載のシステム。
【請求項8】
前記メモリ(120)は、また、前記産業的なおよび/または技術的なプロセスの少なくとも一部を制御する制御システム(15)によって実行される制御プロセスをモデル化するための、パラメータ化制御モデルとも称される、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルを、前記パラメータ化制御モデルに関する1つまたは複数の制御パラメータを含めて、格納するように構成され、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルは、少なくとも1つの前記更新されたプロセスモデルパラメータによって最適化される際に、前記産業的なおよび/または技術的なプロセスの前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルの少なくとも一部に対しての相互作用のために規定され、前記制御プロセスは、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化され、
前記システムは、
-前記1つまたは複数のプロセッサ(110)によって、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに基づいてならびに対応する微分方程式系に基づいて前記制御プロセスをシミュレートするように構成された制御シミュレータと、
-前記1つまたは複数のプロセッサ(110)によって、前記産業的なおよび/または技術的なプロセスを制御するための前記制御システムに関しての、前記パラメータ化制御モデルの状態の制御目的関数として規定される制御目的を評価するように構成された制御目的モジュールと、
-前記1つまたは複数のプロセッサ(110)によって、前記制御プロセスをシミュレートする前記微分方程式セットに対する逆モード自動微分を使用して、1つまたは複数の制御パラメータに対する前記制御シミュレーション上における前記制御目的の勾配を推定するように構成された制御逆モード自動微分推定器と、
-前記1つまたは複数のプロセッサ(110)によって、前記制御逆モード自動微分推定器からの前記勾配と、1つまたは複数の制御パラメータと、を受領するように構成され、また、前記制御パラメータを勾配降下または勾配上昇に基づいて更新するように構成され、さらに、前記更新された制御パラメータを前記メモリ(120)に対して格納するように構成された制御最適化器と、をさらに含む、請求項6に記載のシステム。
【請求項9】
前記制御パラメータを使用して前記産業的なおよび/または技術的なプロセスを制御する制御システム(15)を、さらに含む、請求項8に記載のシステム。
【請求項10】
産業的なおよび/または技術的なシステムにより実行される産業的なおよび/または技術的なプロセスに関連した少なくとも1つの技術モデルを評価および/または適合化するように構成されたシステム(20;30;100)であって、
前記システム(20;30;100)は、パラメータ化制御モデルとも称される、前記産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルである前記少なくとも1つの技術モデルを、前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルに関する1つまたは複数のプロセスモデルパラメータを含めて、取得するように構成され、前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルは、前記産業的なおよび/または技術的なプロセスが、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化されるようにして、規定され、
前記システム(20;30;100)は、1つまたは複数の時点での前記産業的なおよび/または技術的なプロセスの1つまたは複数の状態を表す技術的センサデータを取得するように構成され、
前記システム(20;30;100)は、前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルに基づいてならびに対応する微分方程式系に基づいて、前記産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートするように構成され、
前記システム(20;30;100)は、前記微分方程式系に対して逆モード自動微分を適用することにより、前記産業的なおよび/または技術的なプロセスの前記パラメータ化プロセスモデルの評価を表す推定値を生成するように構成され、前記システム(20;30;100)は、前記技術的センサデータに少なくとも部分的に基づいて前記評価推定値を生成するように構成され、
前記産業的なおよび/または技術的なプロセスの動作を制御する制御信号を生成するときに使用するために、前記システム(20;30;100)は、前記産業的なおよび/または技術的なプロセスの前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルに関する少なくとも1つのプロセスモデルパラメータを、前記生成された評価推定値に基づいて、ならびに勾配降下手順または勾配上昇手順に基づいて、更新するように構成され、さらに、前記新たなパラメータをメモリへと格納するように構成されている、システム(20;30;100)。
【請求項11】
前記システム(20;30;100)は、前記システム(20;30;100)は、i)前記モデルベースでシミュレートされた前記産業的なおよび/または技術的なプロセスと、ii)前記技術的センサデータに少なくとも部分的に基づいた前記産業的なおよび/または技術的なプロセスに関する実世界での表現と、の間の誤差を表す少なくとも1つの損失関数に関して、1つまたは複数のシミュレートされた状態に関連した勾配の推定値を生成するように構成されている、請求項10に記載のシステム。
【請求項12】
前記システム(20;30;100)は、また、前記産業的なおよび/または技術的なプロセスの少なくとも一部を制御する制御システム(15)によって実行される制御プロセスの、パラメータ化制御モデルとも称される、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルを、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに関する1つまたは複数の制御パラメータを含めて、取得するように構成され、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルは、少なくとも1つの前記更新されたプロセスモデルパラメータによって最適化される際に、前記産業的なおよび/または技術的なプロセスの前記パラメータ化プロセスモデルの少なくとも一部に対しての相互作用のために規定され、前記制御プロセスは、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化され、
前記システム(20;30;100)は、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに基づいてならびに対応する微分方程式系に基づいて、前記制御システムによって実行される前記制御プロセスをシミュレートするように構成され、
前記システム(20;30;100)は、前記微分方程式系に対して逆モード自動微分を適用することにより、前記パラメータ化制御モデルの評価推定値を生成するように構成され、
前記システム(20;30;100)は、前記完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルに関する少なくとも1つの制御パラメータを、前記パラメータ化制御モデルの前記評価推定値に基づいて更新するように、構成されている、請求項10に記載のシステム。
【請求項13】
前記システム(20;30;100)は、前記産業的なおよび/または技術的なプロセスを制御するための基礎として使用するために、前記パラメータ化制御モデルの前記制御パラメータの少なくとも一部を前記制御システム(15)に対して転送するように構成されている、請求項12に記載のシステム。
【請求項14】
前記システム(20;30;100)は、処理回路(110)と、メモリ(120)と、を含み、前記メモリ(120)は、命令を含み、前記命令は、前記処理回路(110)によって実行された時には、前記処理回路(110)に、前記産業的なおよび/または技術的なプロセスに関連した前記少なくとも1つの技術モデルを、評価および/または適合化させる、請求項10に記載のシステム。
【請求項15】
技術的なおよび/または産業的なシステム(10)のための制御システム(15)であって、
前記制御システム(15)は、請求項10に記載のシステム(20;30;100)を含む、および/または、請求項10に記載のシステム(20;30;100)と相互作用する、制御システム(15)。
【請求項16】
産業的なおよび/または技術的なシステムにより実行される産業的なおよび/または技術的なプロセスに関連した少なくとも1つの技術モデルを評価および/または適合化するために、1つまたは複数のプロセッサによって実行される方法であって、
-少なくとも1つの物理的サブモデルと、前記産業的なおよび/または技術的なプロセスを少なくとも部分的にモデル化するための普遍関数近似器として使用される少なくとも1つのニューラルネットワークサブモデルと、を含む、パラメータ化制御モデルとも称される、前記産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルである前記少なくとも1つの技術的なモデルを、前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルに関する1つまたは複数の制御パラメータを含めて、メモリから、取得するとともに、前記産業的なおよび/または技術的なプロセスに由来する技術的センサデータを取得すること(S1)と、
-前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルに基づいて、微分方程式系を生成すること(S2)と、
-前記微分方程式系に基づいて、前記産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にシミュレートすること(S3)と、
-前記産業的なおよび/または技術的なプロセスをシミュレートする際に、前記微分方程式系に対して逆モード自動微分を適用することにより、前記産業的なおよび/または技術的なプロセスの前記パラメータ化プロセスモデルの評価を表す推定値を生成すること(S4)であって、前記推定値は、前記産業的なおよび/または技術的なプロセスに由来する技術的センサデータに少なくとも部分的に基づいて生成されることと、
-前記産業的なおよび/または技術的なプロセスの動作を制御する制御信号を生成するときに使用するために、前記産業的なおよび/または技術的なプロセスの前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルに関する少なくとも1つのプロセスモデルパラメータを、勾配降下手順または勾配上昇手順を使用して、前記評価推定値に基づいて、更新すること(S5)と、を含む、方法。
【請求項17】
前記逆モード自動微分を適用することにより前記推定値を生成する前記ステップは、前記逆モード自動微分を使用して前記シミュレートされた状態に基づく損失関数上において勾配推定値を生成するステップを含む、請求項16に記載の方法。
【請求項18】
-前記更新されたプロセスモデルパラメータによって最適化された前記産業的なおよび/または技術的な前記パラメータ化プロセスモデルの少なくとも一部に基づくならびに前記産業的なおよび/または技術的なプロセスのためのパラメータ化制御システムに基づく、パラメータ化制御モデルとも称される、完全にまたは部分的に非因果的なモジュール式パラメータ化制御モデルと、前記産業的なおよび/または技術的なプロセスの制御の目的をエンコードする前記パラメータ化制御モデルの状態に関する制御目的関数と、前記パラメータ化制御モデルのパラメータと、を受領することと、
-1つまたは複数の微分方程式ソルバーを使用して、前記パラメータ化制御モデルの状態を生成することと、
-逆モード自動微分を使用して、前記パラメータ化制御モデルの前記パラメータに対して前記制御目的関数上において勾配推定値を生成することと、
-前記パラメータ化制御モデルの前記制御パラメータの1つまたは複数を、前記勾配推定値上において勾配降下または勾配上昇を使用して更新することと、をさらに含む、請求項16に記載の方法。
【請求項19】
前記方法は、産業用の製造や加工や包装、自動車および輸送、鉱業、パルプ、インフラストラクチャ、エネルギおよび電力、通信、情報技術、オーディオ/ビデオ、ライフサイエンス、石油、ガス、水処理、衛生、および航空宇宙産業、のうちの少なくとも1つのための産業的なおよび/または技術的なシステムの少なくとも一部に関して、モデル化および/または制御のために適用される、請求項16に記載の方法。
【請求項20】
コンピュータプログラム(125;135)を格納した非一時的なコンピュータ可読媒体(120; 130)を含むコンピュータプログラム製品であって、
前記コンピュータプログラムは、命令を含み、前記命令は、少なくとも1つのプロセッサ(110)によって実行された時には、前記少なくとも1つのプロセッサ(110)に、
産業的なおよび/または技術的なシステムにより実行され、パラメータ化制御モデルとも称される、産業的なおよび/または技術的なプロセスの完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルを、取得することであり、ここで、前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルを、前記産業的なおよび/または技術的なプロセスが、1つまたは複数の普遍関数近似器として使用される1つまたは複数のニューラルネットワークによって少なくとも部分的にモデル化されるようにして、規定されるものとすることととともに、前記産業的なおよび/または技術的なプロセスに由来する技術的センサデータを取得することと、
前記完全にまたは部分的に非因果的なモジュール式パラメータ化プロセスモデルに基づいてならびに対応する微分方程式系に基づいて、前記産業的なおよび/または技術的なプロセスの1つまたは複数の状態に関するダイナミクスを経時的にプロセスをシミュレートすることと、
前記微分方程式系に対して逆モード自動微分を適用することにより、前記産業的なおよび/または技術的なプロセスの前記パラメータ化プロセスモデルの評価を表す推定値を生成することであって、前記推定値は、前記技術的センサデータに少なくとも部分的に基づいて生成されることと、
前記産業的なおよび/または技術的なプロセスの動作を制御する制御信号を生成するときに使用するために、前記産業的なおよび/または技術的なプロセスの前記パラメータ化プロセスモデルに関する少なくとも1つのプロセスモデルパラメータを、前記生成された評価推定値に基づいて、勾配降下手順または勾配上昇手順を使用して、更新することと、
を実行させる、コンピュータプログラム(125;135)。
【国際調査報告】