(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-17
(45)【発行日】2022-11-28
(54)【発明の名称】機器の動作最適化のためのシステムおよび方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20221118BHJP
G06N 3/08 20060101ALI20221118BHJP
【FI】
G06N20/00
G06N3/08
(21)【出願番号】P 2021530219
(86)(22)【出願日】2019-11-28
(86)【国際出願番号】 IN2019050871
(87)【国際公開番号】W WO2020110149
(87)【国際公開日】2020-06-04
【審査請求日】2021-07-27
(31)【優先権主張番号】201821044941
(32)【優先日】2018-11-28
(33)【優先権主張国・地域又は機関】IN
(73)【特許権者】
【識別番号】512070816
【氏名又は名称】タタ・コンサルタンシー・サーヴィシズ・リミテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ヴィシュヌ・タンカサラ・ヴェパララ
(72)【発明者】
【氏名】ソロモン・プシュパラジ・マヌエラジ
(72)【発明者】
【氏名】アンキット・バンサル
(72)【発明者】
【氏名】パンカジ・マルホトラ
(72)【発明者】
【氏名】ラヴケシュ・ヴィグ
(72)【発明者】
【氏名】ゴータム・シュロフ
(72)【発明者】
【氏名】ヴェンカタラマナ・ルンカナ
(72)【発明者】
【氏名】シヴァクマール・スブラマニアン
(72)【発明者】
【氏名】アディティア・パリーク
(72)【発明者】
【氏名】ヴィシュヌ・スワループジ・マサンパリー
(72)【発明者】
【氏名】ニシット・ラジ
【審査官】武田 広太郎
(56)【参考文献】
【文献】米国特許出願公開第2006/0074501(US,A1)
【文献】特表2016-523402(JP,A)
【文献】米国特許出願公開第2018/0024509(US,A1)
【文献】特開2017-041253(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワークベースオプティマイザによって機器の動作を最適化する
ための方法であって、
少なくとも1つの機器インスタンス(j)に関連付けられた情報を、タイムスタンプのあらかじめ定義されたシーケンスにおける入力として受信するステップであって、前記少なくとも1つの機器インスタンス(j)に関連付けられた前記情報は、(i)複数の制御パラメータ(i
t)、(ii)外部入力パラメータ(e
t)、(iii)出力パラメータ(o
t)、および(iv)履歴運用データのうちの少なくとも1つに対応する、ステップと、
シミュレーションモデルトレーナー(202A)によって、関数(f
j)を取得するように、前記少なくとも1つの機器インスタンス(j)に関連付けられた前記情報を使って各機器インスタンス用の複数のシミュレーションモデルをトレーニングするステップであって、前記関数(f
j)は、前記機器インスタンス(j)のシミュレーションモデルのセットに対応する、ステップと、
シーケンスジェネレータ(204A)によって、前記外部入力パラメータ(e
t)の少なくとも1つのシーケンスを生成するステップと、
マルチヘッド入力ハンドラ(206A)によって、ベクトル(i
t)を取得するためにニューラルネットワーク(208A)へ入力として渡される固定次元ベクトルを取得するように前記外部入力パラメータ(e
t)を処理するステップと、
ドメイン制約ハンドラ(210A)によって、ドメイン制約値に基づいて、出力ベクトル(i
t)から、修正された(i
t)を生成するステップと、
マルチヘッド出力ハンドラ(212A)によって、(i)前記関数(f
j)、(ii)前記修正された(i
t)、(iii)前記外部入力パラメータ(e
t)、および(iv)報酬関数(R
j)に基づいて報酬(r
t)を計算するステップと、
前記外部入力パラメータの前記処理、
前記修正された(i
t
)の前記生成、および
第1の機器インスタンスに関連付けられたタイムスタンプの前記あらかじめ定義されたシーケンスの満了の後、一連の後続機器インスタンスについて
の前記報酬(r
t)
の前記計算
を、
反復して実施するステップと
を含むプロセッサ実装方法。
【請求項2】
前記マルチヘッド入力ハンドラ(206A)は各機器インスタンス用の処理ヘッドを備え、外部入力パラメータの数は、機器の異なるインスタンスによって異なる、請求項1に記載の方法。
【請求項3】
前記関数f
jは、(i)ガウス過程、または(ii)出力ベクトルi
tおよび外部入力パラメータe
tのベクトルの次元性が制約された混合ガウスモデルのうちの少なくとも1つ、ならびにそれらの組合せによって生成される、請求項1に記載の方法。
【請求項4】
前記外部入力パラメータの前記処理、
前記修正された(i
t
)の前記生成、および
時間(t+1)における制御入力パラメータ、すなわちi
t+1、のセットを取得するように
、前記報酬(r
t
)の前記計算を、
反復して実施するために、出力ベクトル(i
t)および報酬(r
t)を、時間(「t+1」)における外部入力パラメータ、すなわちe
t+1、のベクトルとともに前記ニューラルネットワーク(208A)に入力するステップをさらに含み、
i
tおよびe
tの次元性は、目標ドメインによって決定される、請求項1に記載の方法。
【請求項5】
前記ニューラルネットワーク(208A)を損失関数でトレーニングする
ステップは、前記報酬関数(R
j)の最大到達可能値に基づいて実施され、前記ニューラルネットワーク(208A)は、ドメイン制約に違反したことに対する複数のペナルティ値を使う追加損失関数を含めることによってトレーニングされる、請求項1に記載の方法。
【請求項6】
ニューラルネットワークベースオプティマイザによる、機器の動作最適化のためのシステム(100)であって、
命令を記憶するメモリ(102)と、
1つまたは複数の通信インターフェース(106)と、
前記1つまたは複数の通信インターフェース(106)を介して前記メモリ(102)に結合された1つまたは複数のハードウェアプロセッサ(104)とを備え、前記1つまたは複数のハードウェアプロセッサ(104)は、前記命令によって、
少なくとも1つの機器インスタンス(j)に関連付けられた情報を、タイムスタンプのあらかじめ定義されたシーケンスにおける入力として受信することであって、前記少なくとも1つの機器インスタンス(j)に関連付けられた前記情報は、(i)複数の制御パラメータ(i
t)、(ii)外部入力パラメータ(e
t)、(iii)出力パラメータ(o
t)、および(iv)履歴運用データのうちの少なくとも1つに対応する、受信することと、
関数(f
j)を取得するように、前記少なくとも1つの機器インスタンス(j)に関連付けられた前記情報を使って各機器インスタンス用の複数のシミュレーションモデルをトレーニングすることであって、前記関数(f
j)は、前記機器インスタンス(j)のシミュレーションモデルのセットに対応する、トレーニングすることと、
前記外部入力パラメータ(e
t)の少なくとも1つのシーケンスを生成することと、
出力ベクトル(i
t)を取得するためにニューラルネットワーク(208A)へ入力として渡される固定次元ベクトルを取得するように前記外部入力パラメータ(e
t)を処理することと、
ドメイン制約値に基づいて、出力ベクトル(i
t)から、修正された(i
t)を生成することと、
(i)前記関数(f
j)、(ii)前記修正された(i
t)、(iii)前記外部入力パラメータ(e
t)、および(iv)報酬関数(R
j)に基づいて報酬(r
t)を計算することと、
前記外部入力パラメータの前記処理、
前記修正された(i
t
)の前記生成、および
第1の機器インスタンスに関連付けられたタイムスタンプの前記あらかじめ定義されたシーケンスの満了の後、一連の後続機器インスタンスについて
の前記報酬(r
t)
の前記計算を反復して実施することと
を行うように構成される、システム(100)。
【請求項7】
マルチヘッド入力ハンドラ(206A)は各機器インスタンス用の処理ヘッドを備え、外部入力パラメータの数は、機器の異なるインスタンスによって異なる、請求項6に記載のシステム(100)。
【請求項8】
前記関数f
jは、(i)ガウス過程、または(ii)出力ベクトルi
tおよび外部入力パラメータe
tのベクトルの次元性が制約された混合ガウスモデルのうちの少なくとも1つ、ならびにそれらの組合せによって生成される、請求項6に記載のシステム(100)。
【請求項9】
前記1つまたは複数のハードウェアプロセッサ(104)は、前記命令によって、
前記外部入力パラメータの前記処理、
前記修正された(i
t
)の前記生成、および
時間(t+1)における制御入力パラメータ、すなわちi
t+1、のセットを取得するように、
前記報酬(r
t
)の前記計算を、
反復して実施するために、出力ベクトル(i
t)および報酬(r
t)を、時間(「t+1」)における外部入力パラメータ、すなわちe
t+1、のベクトルとともに前記ニューラルネットワーク(208A)に入力するようにさらに構成され、i
tおよびe
tの次元性は、目標ドメインによって決定される、請求項6に記載のシステム(100)。
【請求項10】
前記ニューラルネットワーク(208A)を損失関数でトレーニングす
るステップは、前記報酬関数(R
j)の最大到達可能値に基づいて実施され、前記ニューラルネットワーク(208A)は、ドメイン制約に違反したことに対する複数のペナルティ値を使う追加損失関数を含めることによってトレーニングされる、請求項6に記載のシステム(100)。
【請求項11】
1つまたは複数の命令を含む1つまたは複数の非一時的機械可読情報記憶媒体であって、前記命令は、1つまたは複数のハードウェアプロセッサによって実行されると、
少なくとも1つの機器インスタンス(j)に関連付けられた情報を、タイムスタンプのあらかじめ定義されたシーケンスにおける入力として受信することであって、前記少なくとも1つの機器インスタンス(j)に関連付けられた前記情報は、(i)複数の制御パラメータ(i
t)、(ii)外部入力パラメータ(e
t)、(iii)出力パラメータ(o
t)、および(iv)履歴運用データのうちの少なくとも1つに対応する、受信することと、
関数(f
j)を取得するように、前記少なくとも1つの機器インスタンス(j)に関連付けられた前記情報を使って各機器インスタンス用の複数のシミュレーションモデルをトレーニングすることであって、前記関数(f
j)は、前記機器インスタンス(j)のシミュレーションモデルのセットに対応する、トレーニングすることと、
前記外部入力パラメータ(e
t)の少なくとも1つのシーケンスを生成することと、
ベクトル(i
t)を取得するためにニューラルネットワーク(208A)へ入力として渡される固定次元ベクトルを取得するように前記外部入力パラメータ(e
t)を処理することと、
ドメイン制約値に基づいて、出力ベクトル(i
t)から、修正された(i
t)を生成することと、
(i)前記関数(f
j)、(ii)前記修正された(i
t)、(iii)前記外部入力パラメータ(e
t)、および(iv)報酬関数(R
j)に基づいて報酬(r
t)を計算することと、
前記外部入力パラメータの前記処理、
前記修正された(i
t
)の前記生成、および
第1の機器インスタンスに関連付けられたタイムスタンプの前記あらかじめ定義されたシーケンスの満了の後、一連の後続機器インスタンスについて
の前記報酬(r
t)の
前記計算を、
反復して実施することと
を引き起こす、1つまたは複数の非一時的機械可読情報記憶媒体。
【請求項12】
マルチヘッド入力ハンドラ(206A)は各機器インスタンス用の処理ヘッドを備え、外部入力パラメータの数は、機器の異なるインスタンスによって異なる、請求項11に記載の1つまたは複数の非一時的機械可読情報記憶媒体。
【請求項13】
前記関数f
jは、(i)ガウス過程、または(ii)出力ベクトルi
tおよび外部入力パラメータe
tのベクトルの次元性が制約された混合ガウスモデルのうちの少なくとも1つ、ならびにそれらの組合せによって生成される、請求項11に記載の1つまたは複数の非一時的機械可読情報記憶媒体。
【請求項14】
前記1つまたは複数のハードウェアプロセッサ(104)は、前記命令によって、
前記外部入力パラメータの前記処理、
前記修正された(i
t
)の前記生成、および
時間(t+1)における制御入力パラメータ、すなわちi
t+1、のセットを取得するように
、前記報酬
(r
t
)の前記計算を、
反復して実施するために、出力ベクトル(i
t)および報酬(r
t)を、時間(「t+1」)における外部入力パラメータ、すなわちe
t+1、のベクトルとともに前記ニューラルネットワーク(208A)に入力するようにさらに構成され、i
tおよびe
tの次元性は、目標ドメインによって決定される、請求項11に記載の1つまたは複数の非一時的機械可読情報記憶媒体。
【請求項15】
前記ニューラルネットワーク(208A)を損失関数でトレーニングする
ことは、前記報酬関数(R
j)の最大到達可能値に基づいて実施され、前記ニューラルネットワーク(208A)は、ドメイン制約に違反したことに対する複数のペナルティ値を使う追加損失関数を含めることによってトレーニングされる、請求項11に記載の1つまたは複数の非一時的機械可読情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照および優先権
本出願は、2019年11月28日に出願された国際出願第PCT/IN2019/050871号の優先権を主張するものであり、その出願は、2018年11月28日に出願されたインド特許出願第201821044941号の優先権を主張する。
【0002】
本明細書における開示は概して、動作最適化に関し、より詳細には、ニューラルネットワークベースオプティマイザによる、機器の動作最適化のためのシステムおよび方法に関する。
【背景技術】
【0003】
複雑な動的システムについてのいくつかの現実的な最適化問題が、可能な関数評価の数についての制約による一意の難題を課している。最適化関数は、単純な閉形式をもたないが、ドメイン上のどの任意の問合せポイントにおいても評価され(問い合わせられ)得る。ただし、実世界の複雑なプロセスの評価は高価であり、時間を消費し、実世界の関数評価として利用する間に最適化されなければならない。最も現実的な最適化問題は本質的に制約され、すなわち、入力パラメータの値について1つまたは複数の制約を有する。このシナリオでは、機器の(たとえば、発電所でのボイラー動作)最適動作効率のための1つまたは複数の制御入力パラメータを見つけることが難しい。
【0004】
人間による試行が、最適な入力パラメータを取得するために執り行われる。これらの実験的試行は、執り行うのにコストがかかり、時間を消費し、コストがかかる特定分野専門家および手動リソースを必要とする。複雑な機器(たとえば、発電所での)の高度に非線形であり動的な性質により、特に、複雑な動作のための優れたシミュレーションモデルが欠けていると、最適な制御入力パラメータを見つけるのが難しい。このせいで、現在の機械学習(ML)および最適化技法は非効果的である。また、完全に新しい機器タイプのケースでは、試行のどの履歴データが欠けていても、最適な入力パラメータを取得するのに必要とされるシミュレーションモデルを構築しにくくなる。別のシナリオでは、手元にある機器が、履歴データが利用可能な他の機器に類似している場合がある。そのようなケースでは、新たな機器に類似する機器セットについてトレーニングされたオプティマイザが、新たな機器に合わせて最適化するために直接使われる必要がある。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の実施形態は、従来のシステムにおける、本発明者によって認識される上述した技術的問題のうちの1つまたは複数に対する解決策として、技術的改善を提示する。たとえば、一態様では、ニューラルネットワークベースオプティマイザによって機器の動作を最適化するプロセッサ実装方法が提供される。プロセッサ実装方法は、少なくとも1つの機器インスタンス(j)に関連付けられた情報を、タイムスタンプのあらかじめ定義されたシーケンスにおける入力として受信するステップ、シミュレーションモデルトレーナーによって、関数(fj)を取得するように、少なくとも1つの機器インスタンス(j)に関連付けられた情報を使って各機器インスタンス用の複数のシミュレーションモデルをトレーニングするステップ、シーケンスジェネレータによって、外部入力パラメータ(et)の少なくとも1つのシーケンスを生成するステップ、マルチヘッド入力ハンドラによって、出力ベクトル(it)を取得するためにニューラルネットワークへ入力として渡される固定次元ベクトルを取得するように外部入力パラメータ(et)を処理するステップ、ドメイン制約ハンドラによって、ドメイン制約値に基づいて、ベクトル(it)から、修正された(it)を生成するステップ、マルチヘッド出力ハンドラによって、(i)関数(fj)、(ii)修正された(it)、(iii)外部入力パラメータ(et)、および(iv)報酬関数(Rj)に基づいて報酬(rt)を計算するステップ、ならびに第1の機器インスタンスに関連付けられたタイムスタンプのあらかじめ定義されたシーケンスの満了の後、一連の後続機器インスタンスについて、報酬(rt)を処理し、生成し、計算するステップを反復して実施するステップのうちの少なくとも1つを含む。ある実施形態では、少なくとも1つの機器インスタンス(j)に関連付けられた情報は、(i)複数の制御パラメータ(it)、(ii)外部入力パラメータ(et)、(iii)出力パラメータ(ot)、および(iv)履歴運用データのうちの少なくとも1つに対応する。ある実施形態では、関数(fj)は、機器インスタンス(j)のシミュレーションモデルのセットに対応する。
【0006】
ある実施形態では、マルチヘッド入力ハンドラは、各機器インスタンス用の処理ヘッドを含み得る。ある実施形態では、外部入力パラメータの数は、機器の異なるインスタンスによって異なり得る。ある実施形態では、関数fjは、(i)ガウス過程、または(ii)出力ベクトルitおよび外部入力パラメータetのベクトルの次元性が制約された混合ガウスモデルのうちの少なくとも1つ、ならびにそれらの組合せによって生成され得る。ある実施形態では、1つまたは複数のハードウェアプロセッサは、時間(t+1)における制御入力パラメータ、すなわちit+1、のセットを取得するように報酬を処理し、生成し、計算するステップを反復して実施するために、ベクトル(it)および報酬(rt)を、時間(「t+1」)における外部入力パラメータ、すなわちet+1、のベクトルとともにニューラルネットワークに入力するようにさらに構成され得る。ある実施形態では、itおよびetの次元性は、目標ドメインによって決定され得る。ある実施形態では、ニューラルネットワークを損失関数でトレーニングするステップは、報酬関数(Rj)の最大到達可能値に基づいて実施され得る。ある実施形態では、ニューラルネットワークは、ドメイン制約に違反したことに対する複数のペナルティ値を使う追加損失関数を含めることによってトレーニングされ得る。
【0007】
別の態様では、ニューラルネットワークベースオプティマイザによる、機器の動作最適化のためのシステムが提供される。システムは、命令を記憶するメモリと、1つまたは複数の通信インターフェースと、1つまたは複数の通信インターフェースを介してメモリに結合された1つまたは複数のハードウェアプロセッサとを備え、1つまたは複数のハードウェアプロセッサは、命令によって、少なくとも1つの機器インスタンス(j)に関連付けられた情報を、タイムスタンプのあらかじめ定義されたシーケンスにおける入力として受信することと、関数(fj)を取得するように、少なくとも1つの機器インスタンス(j)に関連付けられた情報を使って各機器インスタンス用の複数のシミュレーションモデルをトレーニングすることと、外部入力パラメータ(et)の少なくとも1つのシーケンスを生成することと、ベクトル(it)を取得するためにニューラルネットワークへ入力として渡される固定次元ベクトルを取得するように外部入力パラメータ(et)を処理することと、ドメイン制約値に基づいて、ベクトル(it)から、修正された(it)を生成することと、(i)関数(fj)、(ii)修正された(it)、(iii)外部入力パラメータ(et)、および(iv)報酬関数(Rj)に基づいて報酬(rt)を計算することと、第1の機器インスタンスに関連付けられたタイムスタンプのあらかじめ定義されたシーケンスの満了の後、一連の後続機器インスタンスについて、報酬(rt)を処理し、生成し、計算するステップを反復して実施することとを行うように構成される。ある実施形態では、少なくとも1つの機器インスタンス(j)に関連付けられた情報は、(i)複数の制御パラメータ(it)、(ii)外部入力パラメータ(et)、(iii)出力パラメータ(ot)、および(iv)履歴運用データのうちの少なくとも1つに対応する。ある実施形態では、関数(fj)は、機器インスタンス(j)のシミュレーションモデルのセットに対応する。
【0008】
ある実施形態では、マルチヘッド入力ハンドラは、各機器インスタンス用の処理ヘッドを含み得る。ある実施形態では、外部入力パラメータの数は、機器の異なるインスタンスによって異なり得る。ある実施形態では、関数fjは、(i)ガウス過程、または(ii)出力ベクトルitおよび外部入力パラメータetのベクトルの次元性が制約された混合ガウスモデルのうちの少なくとも1つ、ならびにそれらの組合せによって生成され得る。ある実施形態では、1つまたは複数のハードウェアプロセッサは、時間(t+1)における制御入力パラメータ、すなわちit+1、のセットを取得するように報酬を処理し、生成し、計算するステップを反復して実施するために、出力ベクトル(it)および報酬(rt)を、時間(「t+1」)における外部入力パラメータ、すなわちet+1、のベクトルとともにニューラルネットワークに入力するようにさらに構成され得る。ある実施形態では、itおよびetの次元性は、目標ドメインによって決定され得る。ある実施形態では、ニューラルネットワークを損失関数でトレーニングするステップは、報酬関数(Rj)の最大到達可能値に基づいて実施され得る。ある実施形態では、ニューラルネットワークは、ドメイン制約に違反したことに対する複数のペナルティ値を使う追加損失関数を含めることによってトレーニングされ得る。
【0009】
さらに別の態様では、1つまたは複数のハードウェアプロセッサによって実行されると、少なくとも1つの機器インスタンス(j)に関連付けられた情報を、タイムスタンプのあらかじめ定義されたシーケンスにおける入力として受信すること、関数(fj)を取得するように、少なくとも1つの機器インスタンス(j)に関連付けられた情報を使って各機器インスタンス用の複数のシミュレーションモデルをトレーニングすること、外部入力パラメータ(et)の少なくとも1つのシーケンスを生成すること、出力ベクトル(it)を取得するためにニューラルネットワークへ入力として渡される固定次元ベクトルを取得するように外部入力パラメータ(et)を処理すること、ドメイン制約値に基づいて、ベクトル(it)から、修正された(it)を生成すること、(i)関数(fj)、(ii)修正された(it)、(iii)外部入力パラメータ(et)、および(iv)報酬関数(Rj)に基づいて報酬(rt)を計算すること、ならびに第1の機器インスタンスに関連付けられたタイムスタンプのあらかじめ定義されたシーケンスの満了の後、一連の後続機器インスタンスについて、報酬(rt)を処理し、生成し、計算するステップを反復して実施することのうちの少なくとも1つを引き起こす1つまたは複数の命令を含む1つまたは複数の非一時的機械可読情報記憶媒体が提供される。ある実施形態では、少なくとも1つの機器インスタンス(j)に関連付けられた情報は、(i)複数の制御パラメータ(it)、(ii)外部入力パラメータ(et)、(iii)出力パラメータ(ot)、および(iv)履歴運用データのうちの少なくとも1つに対応する。ある実施形態では、関数(fj)は、機器インスタンス(j)のシミュレーションモデルのセットに対応する。
【0010】
ある実施形態では、マルチヘッド入力ハンドラは、各機器インスタンス用の処理ヘッドを含み得る。ある実施形態では、外部入力パラメータの数は、機器の異なるインスタンスによって異なり得る。ある実施形態では、関数fjは、(i)ガウス過程、または(ii)出力ベクトルitおよび外部入力パラメータetのベクトルの次元性が制約された混合ガウスモデルのうちの少なくとも1つ、ならびにそれらの組合せによって生成され得る。ある実施形態では、1つまたは複数のハードウェアプロセッサは、時間(t+1)における制御入力パラメータ、すなわちit+1、のセットを取得するように報酬を処理し、生成し、計算するステップを反復して実施するために、出力ベクトル(it)および報酬(rt)を、時間(「t+1」)における外部入力パラメータ、すなわちet+1、のベクトルとともにニューラルネットワークに入力するようにさらに構成され得る。ある実施形態では、itおよびetの次元性は、目標ドメインによって決定され得る。ある実施形態では、ニューラルネットワークを損失関数でトレーニングするステップは、報酬関数(Rj)の最大到達可能値に基づいて実施され得る。ある実施形態では、ニューラルネットワークは、ドメイン制約に違反したことに対する複数のペナルティ値を使う追加損失関数を含めることによってトレーニングされ得る。
【0011】
上記の概説と以下の詳細な説明は両方とも、例示的であり説明のために過ぎず、主張されるように、本発明の限定ではないことを理解されたい。
【0012】
添付の図面は、本開示に組み込まれるとともにその一部をなし、例示的な実施形態を示し、記述と一緒に、開示する原理を説明するのに役立つ。
【図面の簡単な説明】
【0013】
【
図1】本開示の実施形態による、ニューラルネットワークベースオプティマイザを使うことによる、機器のための動作最適化システムのブロック図である。
【
図2A】本開示の実施形態による、ニューラルネットワークベースオプティマイザを使うことによる、機器のための動作最適化システムの例示的なブロック図である。
【
図2B】本開示の実施形態による、ニューラルネットワークベースオプティマイザを使うことによる、機器のための動作最適化システムの例示的なブロック図である。
【
図3】本開示の実施形態による、RNN-Optドメイン制約における計算フローを示す例示的なブロック図である。
【
図4A】本開示の実施形態による、
図1、
図2Aおよび
図2Bのシステムを使う、ニューラルネットワークベースオプティマイザを使うことによって機器の動作を最適化する方法を示す例示的な流れ図である。
【
図4B】本開示の実施形態による、
図1、
図2Aおよび
図2Bのシステムを使う、ニューラルネットワークベースオプティマイザを使うことによって機器の動作を最適化する方法を示す例示的な流れ図である。
【
図5A】本開示の実施形態による、ベンチマーク関数のためのRNN-Opt対従来の最適化アルゴリズムの最適化による結果の例示的なグラフィカル表現を示す図である。
【
図5B】本開示の実施形態による、ベンチマーク関数のためのRNN-Opt対従来の最適化アルゴリズムの最適化による結果の例示的なグラフィカル表現を示す図である。
【
図6】本開示の実施形態による、RNN-Optにおける増分正規化の効果を示すリグレットプロットとしての結果の例示的なグラフィカル表現を示す図である。
【
図7】本開示の実施形態による、RNN-Opt-domain制約とRNN-Opt-Pを比較するリグレットプロットとしての結果の例示的なグラフィカル表現を示す図である。
【
図8】本開示の実施形態による、ニューラルネットワークベースオプティマイザを使うことによる、機器のための動作最適化システムの要約結果をもつ例示的なテーブルビューである。
【発明を実施するための形態】
【0014】
例示的な実施形態が、添付の図面を参照して記載される。図では、参照番号の最も左の数字は、その参照番号が最初に現れる図を識別する。好都合な限り、同じまたは同様の部分を指すために図面全体を通して同じ参照番号が使用される。開示される原理の例および特徴がここで記載されるが、修正形態、適応形態、および他の実装形態が、開示される実施形態の範囲から逸脱することなく可能である。
【0015】
ここで図面、より具体的には
図1~
図8を参照すると、同様の参照符号が、図面を通して一貫して、対応する特徴を示し、好ましい実施形態が示され、これらの実施形態は、以下の例示的なシステムおよび/または方法のコンテキストにおいて記載される。
【0016】
図1は、本開示の実施形態による、ニューラルネットワークベースオプティマイザを使うことによる、プロセスおよび機器のための動作最適化システム100のブロック図を示す。ある実施形態では、システム100は、1つまたは複数のプロセッサ104と、通信インターフェースデバイスまたは入力/出力(I/O)インターフェース106と、1つまたは複数のプロセッサ104に動作可能に結合された1つまたは複数のデータ記憶デバイスまたはメモリ102とを含む。メモリ102は、データベース108を備える。ハードウェアプロセッサである1つまたは複数のプロセッサ104は、1つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理ユニット、状態機械、論理回路要素、および/または動作命令に基づいて信号を操作するどのデバイスとして実装されてもよい。他の能力の中でも、プロセッサは、メモリに記憶されたコンピュータ可読命令をフェッチし、実行するように構成される。ある実施形態では、システム100は、ラップトップコンピュータ、ノートブック、ハンドヘルドデバイス、ワークステーション、メインフレームコンピュータ、サーバ、ネットワーククラウドなどのような、様々なコンピューティングシステムにおいて実装され得る。
【0017】
I/Oインターフェースデバイス106は、様々なソフトウェアおよびハードウェアインターフェース、たとえば、ウェブインターフェース、グラフィカルユーザインターフェースなどを含むことができ、ワイヤードネットワーク、たとえば、LAN、ケーブルなど、ならびにWLAN、セルラー、または衛星などのワイヤレスネットワークを含む、非常に様々なネットワークN/Wおよびプロトコルタイプにおける多様な通信を容易にすることができる。ある実施形態では、I/Oインターフェースデバイスは、いくつかのデバイスを互いに、または別のサーバに接続するための1つまたは複数のポートを含み得る。
【0018】
メモリ102は、たとえば、スタティックランダムアクセスメモリ(SRAM)およびダイナミックランダムアクセスメモリ(DRAM)などの揮発性メモリ、ならびに/または読出し専用メモリ(ROM)、消去可能プログラマブルROM、フラッシュメモリ、ハードディスク、光ディスク、および磁気テープなどの不揮発性メモリを含む、当該分野において知られているどのコンピュータ可読媒体を含んでもよい。
【0019】
データベース108は、1つまたは複数のセンサーから取得される複数のパラメータを含むがそれらに限定されない情報を記憶することができ、パラメータは、エンティティ(たとえば、ユーザ、機械、機器など)に固有である。ある実施形態では、機器は、工業用ボイラー、エンジン、ヘルスケアデバイス、化学反応/プロセスなどであってよい。パラメータは、ユーザおよび/または機械のいずれかに接続されたセンサーを通してキャプチャされたセンサーデータを含み得る。さらに、データベース108は、本明細書に記載する方法論に固有の、(たとえば、各段階において)システム100にフィードされた入力および/またはシステムによって生成された出力に関する情報を記憶する。より具体的には、データベース108は、提案される方法論の各ステップにおいて処理される情報を記憶する。
【0020】
図2Aおよび
図2Bは、本開示の実施形態による、ニューラルネットワークベースオプティマイザを使うことによる、機器のための動作最適化システム200の例示的なブロック図である。
図2Aを参照すると、動作最適化システム200は、シミュレーションモデルトレーナー202A、シーケンスジェネレータ204A、マルチヘッド入力ハンドラ206A、ニューラルネットワーク208A、ドメイン制約ハンドラ210A、およびマルチヘッド出力ハンドラ212Aを備える。ある実施形態では、トレーニング段階中のどの特定の時間においても、1つまたは複数の機器インスタンス(たとえば、第jの)に関連付けられた情報が、入力として受信される。ある実施形態では、少なくとも1つの機器インスタンス(j)に関連付けられた情報は、(i)複数の制御パラメータ(i
t)、(ii)外部入力パラメータ(e
t)、(iii)出力パラメータ(o
t)、および(iv)履歴運用データのうちの少なくとも1つに対応する。ある実施形態では、ニューラルネットワークベースオプティマイザをトレーニングするために、機器の複数のインスタンスからの履歴データが使われる。たとえば、第jの機器インスタンスのデータが選ばれる。
【0021】
第jの機器インスタンスに関連付けられた情報は、関数(fj)を取得するように、各機器インスタンス用のシミュレーションモデルトレーナー202Aによって複数のシミュレーションモデルをトレーニングするのに使われる。ある実施形態では、関数(fj)は、機器インスタンス(j)のシミュレーションモデルのセットに対応する。ある実施形態では、ニューラルネットワークベースオプティマイザの事前トレーニングのために、多数の関数(fj)が、ガウス過程またはitおよびetの次元性が制約された混合ガウスモデル、ならびにそれらの組合せにより生成され得る。ニューラルネットワークベースオプティマイザを手元のドメインに、およびニューラルネットワークベースオプティマイザの微調整をドメインに適応させるために、機器またはプロセスからの複数のインスタンスからの履歴データが使われてよい。たとえば、第jの機器インスタンスのデータが選ばれる。
【0022】
たとえば、ニューラルネットワークは、長短期記憶(LSTM)ベースのニューラルネットワークまたは因果的接続をもつ時間畳み込みニューラルネットワークなどの回帰型ニューラルネットワーク(RNN)であってよい。ある実施形態では、トレーニングフェーズ中、知られている大域的最適解をもつ微分可能な非凸関数の多様なセットが、RNNオプティマイザをトレーニングするために、合成により生成される。RNNオプティマイザは、前の問合せおよび機能性応答の探索空間提供シーケンスを探査するために、次の問合せを予測する。
【0023】
関数fjへの「t」回の反復(問合せ)の後のリグレットropt-maxi<triを判断するために、ropt=fj(iopt)によって与えられる、fjのroptがわかることについて検討する。たとえば、リグレットベースの損失関数は、
【0024】
【0025】
であり、ここで、ReLU(x)=max(x,0)である。リグレットは、xのランダム初期化のせいで初期反復中は高いことが期待されるが、割引係数0<γ≦1により指数関数的に増大する重要性をリグレット項に与えることによって、Tに接近して低いことが所望される。
【0026】
ある実施形態では、fjがトレーニング中にとり得る、またはfbが干渉中にとり得るどの範囲の値も扱って、rtが、
【0027】
【0028】
となるような
【0029】
【0030】
で置き換えられるようなトレーニングの間に増分正規化が検討され、ここで、
【0031】
【0032】
である。
【0033】
ある実施形態では、シミュレーションモデルは、自己正規化ニューラルネットワーク、長短期記憶ネットワーク(LSTM)、フィードフォワードニューラルネットワークなどのニューラルネットワークに基づいて、条件付きガウス過程、回帰モデル(たとえば、直線回帰モデルとして)、または深層回帰モデルであってよい。
【0034】
シーケンスジェネレータ204Aは、外部入力パラメータ(et)の1つまたは複数のシーケンスを生成するように構成される。ある実施形態では、外部入力パラメータ(et)は、あらかじめ定義された瞬間に、機器インスタンス(j)の履歴データからサンプリングされ得る。マルチヘッド入力ハンドラ206Aは、外部入力パラメータベクトル(et)を処理して固定次元ベクトルを取得するように構成され、固定次元ベクトルは、制御パラメータitを取得するためにニューラルネットワーク208Aに入力される。
【0035】
ある実施形態では、マルチヘッド入力ハンドラ206Aは複数の処理ヘッド、すなわち機器インスタンスごとに1つを含むが、それは、外部入力パラメータの数が、機器の異なるインスタンスによって変わり得るからである。ある実施形態では、ニューラルネットワークの入力次元は固定されなければならないので、外部入力パラメータ(et)は、ニューラルネットワーク208Aに入力する前に固定次元ベクトルまで低減される。第jの機器インスタンス用の処理ヘッドが使われる。ある実施形態では、マルチヘッド入力ハンドラ206Aの固定次元出力、すなわちit-1およびrt-1は、制御パラメータitを取得するためにニューラルネットワーク208Aに入力される。制御パラメータitは、ドメイン制約ハンドラ210Aの中を通される。ある実施形態では、取得された制御パラメータitの中のいくつかの値が、ドメインによる規定の範囲に収まらない場合、制御パラメータitは、修正されたitを取得するために、さらなる処理の前に正しく修正される。
【0036】
ある実施形態では、制御パラメータitを取得した後、所定のドメイン制約によるチェックが、制御パラメータitに対して実施される。たとえば、制御パラメータitがドメイン制約に違反する場合、制御パラメータitは、シミュレーションモデル(トレーニング/微調整中)の中も物理的機器(テスト中)の中も通されない。式2において後述するように、制御パラメータitについてのドメイン外値向けのペナルティを示す、ニューラルネットワークベースオプティマイザへの追加入力が含まれる。また、時間経過に伴ってペナルティ値を使う損失関数が、ニューラルネットワークベースオプティマイザのトレーニング/微調整手順にさらに含まれる。したがって、ニューラルネットワークベースオプティマイザはさらに、式3において後述するように、テスト中のitについてのドメイン外提案の数を最小にしようとする。
【0037】
図3を参照すると、
図3は、本開示の実施形態による、RNN-Optドメイン制約における計算フローを示す例示的なブロック図である。ここでf
jは、最適化されるべき関数であり、f
pはペナルティp
tを計算するための関数である。さらに、p
t=0の場合、f
jの実際の値、すなわちr
tがRNNに渡され、そうでない場合、r
tはr
t-1に設定される。
【0038】
たとえば、ペナルティ関数による明示的フィードバックpt、すなわちpt=fp(it)を、提案された問合せitがCドメイン制約のいずれかに違反する程度をキャプチャするRNNに入力するRNN-Optの強化について検討する。
【0039】
【0040】
さらに、pt>0のときは常に、すなわち、ドメイン制約のうちの1つまたは複数が、提案された問合せについて違反されるとき、fjからrtを実際に得るのではなく、rtがrt-1に設定される。
【0041】
トレーニング中、以下の式(3)でのように、ニューラルネットワークベースオプティマイザが、ドメイン制約のうちの1つまたは複数を満足しない問合せを提案した場合、ニューラルネットワークベースオプティマイザにペナルティを科す追加ドメイン制約損失LDが検討される。
【0042】
【0043】
全体的損失が次いで、以下の式(4)でのように与えられる。
L=LR+λLD
【0044】
ある実施形態では、fjを最適化するのとは別に、ニューラルネットワークベースオプティマイザはまた、fpを最小にするように同時にトレーニングされる。
【0045】
修正されたitは、etとともに、rtを取得するためにマルチヘッド出力ハンドラ212Aに渡される。ある実施形態では、マルチヘッド出力ハンドラ212Aは、複数の処理ヘッド、すなわち機器インスタンスごとに1つを備える。第jの機器インスタンス用の処理ヘッドについて検討する。ある実施形態では、各処理ヘッドは、2つの成分、すなわち、(i)シミュレーションモデルのセット(fj)、および(ii)報酬関数(Rj)を含み、両方とも機器インスタンスに固有である。ある実施形態では、報酬関数(Rj)は、otを使って報酬rtを計算するのに使われる。
【0046】
ある実施形態では、制御パラメータitの中の値が、ドメイン制約を満足するようにクリッピングされる。別の実施形態では、ドメイン制約を満足する制御パラメータitのみが、マルチヘッド出力ハンドラ212Aに渡される。
【0047】
ある実施形態では、itおよびrtは次いで、時間「t+1」における制御入力パラメータ、すなわちit+1、のセットを取得するために、時間「t+1」における外部入力パラメータ、すなわちet+1、のベクトルとともに、ニューラルネットワークベースオプティマイザの中へフィードバックされる。ある実施形態では、ドメイン用の、事前トレーニングされたオプティマイザを微調整するために選ばれた機器インスタンスは、オプティマイザがインスタンスすべてについてトレーニングされるように、ラウンドロビン方式で定期的に(トレーニングの何回かの一定の反復の後で)変更される。一実施形態では、ニューラルネットワークベースオプティマイザをトレーニングするために使われる損失関数は、リグレットベースの損失関数(式1によって与えられる)であってよい。さらに、ドメイン制約のために、ドメイン制約に違反したことに対するペナルティ値を使う追加損失関数の取り扱いが、ニューラルネットワークベースオプティマイザ(式3によって与えられる)をトレーニングするために含められ得る。ある実施形態では、第(N+1)の機器インスタンスについて、ニューラルネットワークベースオプティマイザは、対応する履歴データ、条件付きシミュレーションモデルfN+1および対応する報酬関数RN+1を使って微調整され得る。
【0048】
図2Bを参照して、ある実施形態において、テスト用に、トレーニングされたニューラルネットワークベースオプティマイザについて検討する。関数f
jは、実際の機器インスタンスで置き換えられる。たとえば、どの時間「t」においても、i
t-1、r
t-1およびe
tが、制御パラメータi
tを取得するためにニューラルネットワーク204Bに入力される。ある実施形態では、制御パラメータi
tは次いで、ドメイン制約ハンドラ206Bによって修正される。一実施形態では、ペナルティ項がオプティマイザに入力されてよく、ドメイン制約に違反する制御パラメータi
tの値も、機器インスタンスの中を通されなくてよく、異なるやり方で取り扱われてよい。修正されたi
tおよびe
tは、実際の機器208Bに一緒に入力され、出力パラメータ、すなわちo
tが、収集され、報酬r
tが計算される。ある実施形態では、i
t、r
tは、e
t+1とともに、次いで、i
t+1を取得するためにニューラルネットワーク204Bに入力される。このプロセスは、報酬、出力パラメータまたはそれらの組合せに関して満足できる結果が取得されるまで続けられる。
【0049】
例示的な実施形態では、一度のフライトの間の航空機エンジンの動作を最適化するシナリオを検討することによって、ニューラルネットワークベースオプティマイザの適用例を示す。
制御入力パラメータ(it:3次元)について検討する:
a)エンジン速度:エンジンの回転速度-許容範囲:5000~10000RPM、
b)燃料空気比:燃焼前の燃料と混合された空気の比-許容範囲:0.05~0.20、
c)バイパス比:ファンに入る空気と、圧縮器に入る空気の比-許容範囲:0.25~0.45。
対応する出力変数(ot:2次元)について検討する:
a)平均航空機速度:900~1000kmph(理想的には950)、
b)消費される燃料:可能な限り低い。
対応する外部入力パラメータ変数(et:2次元)について検討する:
a)エンジンの吸気口における周囲温度、
b)エンジンの吸気口における周囲圧力。
【0050】
ニューラルネットワークベースオプティマイザは、otによって定義される固有基準を満たすようにetによって与えられた外部条件下で、itのために最適化することを学習するように構成される。制御変数についての許容範囲は、ドメイン制約を定義するのに使われ、ペナルティ関数は、ニューラルネットワークベースオプティマイザがitについての値を提案するときの制約の違反のケースにおけるペナルティ値を取得するのに使われる。
【0051】
データが、it、etおよびotの中の変数についての50個の記録された値からなるように、各々が50回のフライトのために作動されている2つの航空機エンジンE1およびE2についての履歴データを検討する。このデータを使って、シミュレーションモデルが、itおよびetを使ってotの値を予測するE1およびE2について学習される。
【0052】
また、報酬関数R1およびR2は、それぞれE1およびE2についての出力変数を使って定義され得る。シミュレーションモデルは、報酬関数と一緒に、マルチヘッド出力ハンドラを形成する。シーケンスジェネレータは、etの異なるシーケンスを生成するのに使われ得る。マルチヘッド入力ハンドラは、外部変数をニューラルネットワークの入力にマップするのに使われる。
【0053】
図4は、本開示の実施形態による、
図1、
図2Aおよび
図2Bのシステムを使う、ニューラルネットワークベースオプティマイザを使うことによって機器の動作を最適化する方法を示す例示的な流れ図である。ある実施形態では、システム100は、1つもしくは複数のデータ記憶デバイス、または1つもしくは複数のハードウェアプロセッサ104に動作可能に結合されたメモリ102を備え、1つまたは複数のプロセッサ104による方法のステップの実行のための命令を記憶するように構成される。示される流れ図は、以下の説明/記述により、より良く理解される。本開示の方法のステップについて、
図1、
図2Aおよび
図2Bに示したシステムの構成要素を参照してここで説明する。
【0054】
ステップ402において、タイムスタンプのあらかじめ定義されたシーケンスにおける入力としての、少なくとも1つの機器インスタンス(j)に関連付けられた情報が受信される。ある実施形態では、少なくとも1つの機器インスタンス(j)に関連付けられた情報は、(i)複数の制御パラメータ(it)、(ii)外部入力パラメータ(et)、(iii)出力パラメータ(ot)、および(iv)履歴運用データのうちの少なくとも1つに対応する。ステップ404において、各機器インスタンス用の複数のシミュレーションモデルは、関数(fj)を取得するように、少なくとも1つの機器インスタンス(j)に関連付けられた情報を使ってシミュレーションモデルトレーナー202Aによってトレーニングされる。ある実施形態では、関数(fj)は、機器インスタンス(j)のシミュレーションモデルのセットに対応する。ステップ406において、外部入力パラメータ(et)の少なくとも1つのシーケンスが、シーケンスジェネレータ204Aによって生成される。ステップ408において、外部入力パラメータ(et)は、出力ベクトル(it)を取得するためにニューラルネットワーク208Aへ入力として渡される固定次元ベクトルを取得するように、マルチヘッド入力ハンドラ206Aによって処理される。ステップ410において、ドメイン制約値に基づく、出力ベクトル(it)からの修正された(it)が、ドメイン制約ハンドラ210Aによって生成される。ステップ412において、報酬(rt)が、マルチヘッド出力ハンドラ212Aによって、(i)関数(fj)、(ii)修正された(it)、(iii)外部入力パラメータ(et)、および(iv)報酬関数(Rj)に基づいて計算される。ステップ414において、報酬(rt)を処理し、生成し、計算するステップが、第1の機器インスタンスに関連付けられたタイムスタンプのあらかじめ定義されたシーケンスの満了の後、一連の後続機器インスタンスについて反復して実施される。
【0055】
ある実施形態では、マルチヘッド入力ハンドラは、各機器インスタンス用の処理ヘッドを含む。ある実施形態では、外部入力パラメータの数は、機器の異なるインスタンスによって異なる。ある実施形態では、関数fjは、(i)ガウス過程、または(ii)ベクトルitおよび外部入力パラメータetのベクトルの次元性が制約された混合ガウスモデルのうちの少なくとも1つ、ならびにそれらの組合せによって生成される。ある実施形態では、1つまたは複数のハードウェアプロセッサは、時間(t+1)における制御入力パラメータ、すなわちit+1、のセットを取得するように報酬を処理し、生成し、計算するステップを反復して実施するために、ベクトル(it)および報酬(rt)を、時間(「t+1」)における外部入力パラメータ、すなわちet+1、のベクトルとともにニューラルネットワークに入力するようにさらに構成される。ある実施形態では、itおよびetの次元性は、目標ドメインによって決定される。ある実施形態では、ニューラルネットワークを損失関数でトレーニングするステップは、報酬関数(Rj)の最大到達可能値に基づいて実施される。ある実施形態では、ニューラルネットワークは、ドメイン制約に違反したことに対する複数のペナルティ値を使う追加損失関数を含めることによってトレーニングされる。
【0056】
実験結果:
たとえば、「t」回の反復の後、すなわち、「t」回の問合せを提案した後に、どのオプティマイザの性能も測定するために、ropt-maxi≦triによって与えられるリグレットが使われる。リグレットのより低い値が、優れたオプティマイザ性能を示す。
【0057】
図5Aおよび
図5Bは、本開示の実施形態による、d=2およびd=6に対するベンチマーク関数のためのRNN-Opt対従来の最適化アルゴリズムの最適化による結果の例示的なグラフィカル表現を示す。RNN-Optは、CMA-ESおよびNelder-Meadなど、従来の最適化アルゴリズムと比較して、ベースラインとして少なくとも良好である間に検討されるほとんどの関数に対して検討されるベースラインすべてをしのぐ。
【0058】
図6は、本開示の実施形態による、RNN-Optにおける増分正規化の効果を示すリグレットプロットとしての結果の例示的なグラフィカル表現を示す。多様な値範囲で関数を最適化するためのトレーニングおよび推論中の増分正規化を検討する。たとえば、RNN-Opt-Basicは、テストフェーズ中にのみ増分正規化を使うが、RNN-Optは、トレーニングならびにテストフェーズ中に入力の増分正規化を使う。
【0059】
図7は、本開示の実施形態による、RNN-Opt-domain制約とRNN-Opt-Pを比較するリグレットプロットとしての結果の例示的なグラフィカル表現を示す。推論時中に些細な変化のある(トレーニング手順における変更はない)RNN-Optを検討し、ここで、
【0060】
【0061】
を入力としてRNNに渡すのではなく、
【0062】
【0063】
を、RNN-Opt-Pと呼ばれるペナルティフィードバックをキャプチャするために渡す。RNN-Opt-domain制約が、ペナルティptを明示的に最小にするように明示的にトレーニングされる間、RNN-Opt-Pは、推論時中にのみptを最小にするソフト制約下でrtを最大にしようとする要件をキャプチャする。ドメイン制約のあるRNN-Opt、すなわち、RNN-Opt-DCは、明示的ペナルティフィードバックを効果的に使うことが可能である。
【0064】
図8は、本開示の実施形態による、ニューラルネットワークベースオプティマイザを使うことによる、機器のための動作最適化システムの要約結果をもつ例示的なテーブルビューである。このテーブルは、1つまたは複数のモード、すなわち機械学習&ドメインベースの手法および本手法自動化ニューラルネットワークベースオプティマイザを使うことによって取得された結果の要約を与える。8.4としての報酬をもつ機械学習&ドメインベースの手法結果が、36としての行われる試行の数において取得される。反対に、主張される手法を用いると、すなわち、ニューラルネットワークベースオプティマイザを用いると、16.4としての報酬をもつ結果が、33としての試行の数において取得される。
【0065】
ある実施形態では、ニューラルネットワークオプティマイザの目的は、報酬rtが最大にされ(もしくは最小にされ)、または全体的に試行の数が低減されるような、制御パラメータ、すなわちit、のベクトルを、どの試行「t」においても出力することである。ニューラルネットワークをオプティマイザとしてトレーニングし、次いで、目標ドメインに適応するための方法が提案される。さらに、オプティマイザを、目標ドメインの特定のインスタンスに適応させることが提案される。あるケースでは、ニューラルネットワークベースオプティマイザは、多数の非凸関数における最適化問題を解決するように、メタ学習によりトレーニングされる。
【0066】
ニューラルネットワークは、etによって記される外部入力パラメータのベクトルとともに、時間「t-1」からの制御パラメータベクトルit-1および報酬rt-1を入力として検討し、ここで、itおよびetの次元性は、目標ドメインによって決定される。報酬は、機器の出力パラメータベクトル、すなわちotの関数(Rjによって記される)として算出される。関数fjは、入力itおよびetとともに、otを計算する。
it=NN(it-1,rt-1,et)
ot=fj(it,et)
rt=Rj(ot)
ここでj=1,2,...,Nであり、Nは、トレーニングに利用可能な機器インスタンスの数である。
【0067】
itによって与えられるパラメータは、制御され得る機器への入力であってよい。パラメータによってとられる値は、ドメイン知識に基づいて制約されてもよい。etの中のパラメータは、外部または非制御可能入力、たとえば炭質、周囲温度などである。関数fjはガウス過程から生成することができ、ガウス過程は、いくつかのケースでは、観察された履歴データを条件とし得る。他のケースでは、関数fjは、ディープニューラルネットワークによる履歴データについてトレーニングされた回帰モデル、直線回帰モデルなどであってよい。関数fjは、トレーニング中に、第jの機器インスタンスのシミュレーションモデルによって近似され、テスト中に、実際の物理的機器で置き換えられる。
【0068】
本明細書における本開示の実施形態は、入力パラメータ値を取得するのに必要とされる試行の数という未解決の問題に対処する。実施形態はしたがって、履歴センサーデータおよび前の最適化試行を使うことによって、最適制御入力パラメータ値を取得するための自動化手法を提供する。その上、本明細書における実施形態は、最適制御入力パラメータ値を取得するのに必要とされる試行の数を大幅に削減し、そのような試行を執り行うのにかかる時間および伴うコストを削減し得る解決策をさらに提供する。その上、本明細書における実施形態はさらに、トレーニングされると、新たな機器の最適パラメータを取得するために容易に微調整され、使われ得るという意味において汎用であるオプティマイザを取得することができる。本開示の実施形態は、他のドメインへの使用のためにも拡張されてよい。たとえば、履歴データが、プロセス/機器のためのシミュレーションモデルを構築するのに使うことができる場合、本方法は、そのようなプロセスを最適化するのに使うことができる。
【0069】
オプティマイザは、多数の機器上の最適制御入力パラメータを同時に取得するようにトレーニングされる。本開示の実施形態は、機器におけるいくつかの外部パラメータが同じである必要はないという意味において包括的である。さらに、ニューラルネットワークベースオプティマイザが取得されると、この手法は、対象となっている新たな機器上でより良好に実施するように、最適化アルゴリズムを容易に微調整できるようにする。本開示の実施形態は、オプティマイザをトレーニングするために使われるシミュレーションモデルを学習するのに、機器からのセンサーデータを活用するデータ駆動手法である。さらに、履歴試行が、シーケンス生成モジュールを介して新たな試行シーケンスを取得するのに活用される。
【0070】
本開示の実施形態は、たとえば、機器上にインストールされた様々なセンサーを介して、機器の環境的動作条件の推定を提示する外部入力パラメータを活用する。時間とともに変わり得る外部入力パラメータが与えられると、制御入力パラメータについての最適値が、ニューラルネットワークベースオプティマイザによって推定される。これらの値は次いで、技師によって実際の機器上で試され、出力パラメータによる報酬が取得される。この報酬および直近の外部入力パラメータは次いで、ニューラルネットワークベースオプティマイザによって、制御入力パラメータについての最適値の次のセットを推奨するのに使われる。
【0071】
本開示の実施形態は、様々なセンサーを通してキャプチャされた機器運用データを、シミュレーションモデルを取得するのに活用し、次いで、これらのモデルを、同じ機器の様々なモデル(たとえば異なるボイラータイプ)に、または機器タイプにさえも(たとえば、ボイラーおよびエンジンに)通用し得るデータ駆動最適化アルゴリズムを学習するのに使う。
【0072】
ニューラルネットワークは、動作条件を推定するのに有用な固有機器インスタンスに依存して不定の数の外部パラメータを入力できるようにするマルチヘッド入力ハンドラを介して入力を受信する。同様に、ニューラルネットワーク出力は、固有機器インスタンスシミュレーションモデルを使えるようにするマルチヘッド出力ハンドラによって処理される。コアニューラルネットワークベースオプティマイザは、入力および出力ヘッドを変更することによって、不定の数の外部パラメータで同じ機器の様々なインスタンスについて同時にトレーニングされる間、同じままである。
【0073】
本開示の実施形態は、履歴センサーデータから取得された様々なシミュレーションモデルを、ニューラルネットワークオプティマイザのオフライントレーニング中に報酬を推定するのに活用する。これらのシミュレーションモデルは、ニューラルネットワーク、直線回帰モデル、MARS、段階的2次方法などを使って、機械学習および履歴センサーデータからの統計モデルにより学習され得る。
【0074】
本開示の実施形態は、ニューラルネットワークベースオプティマイザをトレーニングするために使われる各機器インスタンス向けの外部入力パラメータのシーケンスを生成することによって、試行のシーケンスをさらにシミュレートする。ニューラルネットワークベースオプティマイザをトレーニングするために使われる損失関数は、試行にわたる累積報酬に基づく。したがって、本手法は、強化学習設定における最適ポリシーを学習するものと見なすことができる。本開示の実施形態は、所与の数の問合せについて観察されるリグレットを最小にする損失関数を使ってRNNオプティマイザをトレーニングすることは、オプティマイザの性能尺度に、より酷似していると仮定する。本開示の実施形態は、入力としてRNNオプティマイザに渡す前に観察された1つまたは複数の応答値を使って、関数からの出力を動的に正規化する増分正規化を提案する。本開示の実施形態は、ドメイン制約に違反する問合せを提案する間にRNNオプティマイザに追加フィードバックを与えることによって、入力パラメータにおける制約のセットの問題を克服する。
【0075】
テスト時に、シミュレーションモデルは実際の機器で置き換えられてよく、実際の報酬は、機器制御入力パラメータを、現在の外部入力パラメータに基づいて、すでにトレーニングされたニューラルネットワークオプティマイザによって与えられたものに設定することによって計算され得る。報酬は次いで、出力パラメータおよび報酬において所望の挙動を伴う制御入力パラメータの最適値を最終的に取得するように、次の制御入力パラメータ推奨などを取得するために、ニューラルネットワークに入力し戻されてよい。
【0076】
本明細書は、どの当業者も、実施形態を行い、使うことを可能にするために、本明細書における主題について記載する。主題実施形態の範囲は、請求項によって定義され、当業者が思いつく他の修正を含み得る。そのような他の修正は、請求項の文言と違わない同様の要素を有する場合、または請求項の文言とのわずかな違いで等価な要素を含む場合、請求項の範囲内であることを意図している。
【0077】
保護の範囲は、そのようなプログラムまで、およびその中のメッセージを有するコンピュータ可読手段に加えて拡張されることを理解されたく、そのようなコンピュータ可読記憶手段は、プログラムがサーバもしくはモバイルデバイスまたは任意の適切なプログラム可能デバイス上で稼動するとき、方法の1つまたは複数のステップの実装のためのプログラムコード手段を包含する。ハードウェアデバイスは、たとえば、サーバもしくはパーソナルコンピュータなど、またはそれらの任意の組合せのような、任意の種類のコンピュータを含む、プログラムされ得る任意の種類のデバイスであってもよい。デバイスは、たとえば、特定用途向け集積回路(ASIC)、フィールドプログラム可能ゲートアレイ(FPGA)のような、たとえば、ハードウェア手段であってもよい手段、もしくはハードウェアとソフトウェア手段、たとえばASICとFPGA、または少なくとも1つのマイクロプロセッサと、ソフトウェア処理構成要素をその中にもつ少なくとも1つのメモリの組合せも含み得る。したがって、手段は、ハードウェア手段とソフトウェア手段の両方を含み得る。本明細書に記載する方法実施形態は、ハードウェアおよびソフトウェアで実装されてもよい。デバイスは、ソフトウェア手段も含み得る。代替として、実施形態は、たとえば複数のCPUを使って、異なるハードウェアデバイス上で実装され得る。
【0078】
本明細書における実施形態は、ハードウェアおよびソフトウェア要素を備え得る。ソフトウェアで実装される実施形態は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、それらに限定されない。本明細書に記載する様々な構成要素によって実施される機能は、他の構成要素または他の構成要素の組合せで実装されてよい。本記述の目的のために、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによる使用のための、またはそれらと関連するプログラムを備え、記憶し、通信し、伝搬し、またはトランスポートすることができる、どの装置であってもよい。
【0079】
図示されるステップは、示した例示的な実施形態を説明するために並べられており、進行中の技術的発展は、特定の機能が実施されるやり方を変更することが期待されよう。これらの例は、本明細書において、限定ではなく説明のために提示される。さらに、機能構築ブロックの境界は、説明の都合上、本明細書において任意に定義されている。指定された機能およびそれらの関係が適切に実施される限り、代替境界が定義されてよい。代替物(本明細書に記載したものの等価物、拡張、改変、逸脱などを含む)が、本明細書に包含される教示に基づいて当業者には明らかであろう。そのような代替物は、開示される実施形態の範囲内である。また、「備える」、「有する」、「包含する」、および「含む」という単語、ならびに他の同様の形は、意味が等価であり、これらの単語のうちの任意の1つに続く1つの項目または複数の項目は、そのような1つの項目もしくは複数の項目の網羅的列挙であること、または列挙された1つの項目もしくは複数の項目のみに限定されることを意味していないという点で、無制限であることを意図している。本明細書において、および添付の請求項において使用する限り、単数形「a」、「an」、および「the」は、文脈が明確に別様に指示しない限り、複数形の参照を含むことにも留意されたい。
【0080】
さらに、1つまたは複数のコンピュータ可読記憶媒体は、本開示に準拠する実施形態を実装する際に使用され得る。コンピュータ可読記憶媒体とは、プロセッサによって可読な情報またはデータが記憶され得るどのタイプの物理的メモリも指す。したがって、コンピュータ可読記憶媒体は、本明細書で説明した実施形態に準拠するステップまたは段階をプロセッサに実施させるための命令を含む、1つまたは複数のプロセッサによる実行のための命令を記憶することができる。「コンピュータ可読媒体」という用語は、有形項目を含み、搬送波および過渡信号を除外する、すなわち、非一時的であるように理解されるべきである。例は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、CD ROM、DVD、フラッシュドライブ、ディスク、およびどの他の知られている物理的記憶媒体も含む。
【0081】
本開示および例は、例示的と見なされることのみを意図するものであり、開示される実施形態の真の範囲は、添付の請求項によって示される。
【符号の説明】
【0082】
100 動作最適化システム、システム
102 データ記憶デバイス、メモリ
104 プロセッサ、ハードウェアプロセッサ
106 通信インターフェースデバイス、入力/出力(I/O)インターフェース、I/Oインターフェースデバイス
108 データベース
200 動作最適化システム
202A シミュレーションモデルトレーナー
204A シーケンスジェネレータ
204B ニューラルネットワーク
206A マルチヘッド入力ハンドラ
206B ドメイン制約ハンドラ
208A ニューラルネットワーク
210A ドメイン制約ハンドラ
212A マルチヘッド出力ハンドラ