(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-23
(45)【発行日】2023-08-31
(54)【発明の名称】モデル学習装置、制御装置、モデル学習方法、および、コンピュータプログラム
(51)【国際特許分類】
G05B 13/02 20060101AFI20230824BHJP
G06N 99/00 20190101ALI20230824BHJP
G06N 3/08 20230101ALI20230824BHJP
F02D 45/00 20060101ALI20230824BHJP
【FI】
G05B13/02 L
G06N99/00 180
G06N3/08
F02D45/00 370
(21)【出願番号】P 2020173380
(22)【出願日】2020-10-14
【審査請求日】2022-05-11
(73)【特許権者】
【識別番号】000003609
【氏名又は名称】株式会社豊田中央研究所
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100160691
【氏名又は名称】田邊 淳也
(74)【代理人】
【識別番号】100227732
【氏名又は名称】小澤 祥二
(72)【発明者】
【氏名】森安 竜大
(72)【発明者】
【氏名】池田 太郎
(72)【発明者】
【氏名】竹内 幹人
【審査官】田中 友章
(56)【参考文献】
【文献】特開2008-250665(JP,A)
【文献】独国特許出願公開第102018203137(DE,A1)
【文献】独国特許出願公開第102020108243(DE,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 13/02
G06N 99/00
G06N 3/08
F02D 45/00
(57)【特許請求の範囲】
【請求項1】
システムに入力される入力変数vと、前記システムから出力される出力変数yとの関係を表すモデルを学習するモデル学習装置であって、
前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを記憶するモデル記憶部と、
前記モデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習部と、
を備え、
前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式である、
モデル学習装置。
【請求項2】
請求項1に記載のモデル学習装置であって、
前記モデルは、式(1)によって定義され、
【数1】
上記式において、
等号の左辺は、前記出力変数yを表すn(nは整数)次元ベクトルの時間微分であり、
等号の右辺のうち、
前記入力変数vは、m(mは整数)次元ベクトルであり、
外生入力dは、前記出力変数yの変化に影響を与える制御不可能な入力を示すp(pは整数)次元ベクトルであり、
前記写像Ψは、前記入力変数vと前記外生入力dを入力としてm次元のベクトルを返す関数であり、
前記写像Φは、前記出力変数yと前記外生入力dを入力としてn次元のベクトルを返す関数であり、
関数A’、関数B’、関数c’のそれぞれは、前記外生入力dを入力として、n×n行列、n×m行列、n次元ベクトルのそれぞれを返す関数である、
モデル学習装置。
【請求項3】
請求項2に記載のモデル学習装置であって、
前記式(1)において、前記写像Ψを内部変数uと定義し、前記写像Φを内部変数xと定義すると、
前記学習部は、式(2)~式(4)によって定義される前記状態方程式を学習する、
モデル学習装置。
【数2】
【数3】
【数4】
【請求項4】
請求項3に記載のモデル学習装置であって、
前記写像Ψは、式(5)~式(8)によって定義され、
【数5】
【数6】
【数7】
【数8】
前記写像Φは、式(9)~式(12)によって定義され、
【数9】
【数10】
【数11】
【数12】
iは、多層ニューラルネットワークにおける層の番号であり、L
Ψ、L
Φのそれぞれは、多層ニューラルネットワークの層数であり、W
Ψ、W
Φのそれぞれは重みであり、b
Ψ、b
Φはバイアスであり、ψ
Ψ、φ
Φのそれぞれは、活性化関数であり、入力と同次元の出力を返す任意の全単射な写像である、
モデル学習装置。
【請求項5】
請求項1から請求項4のいずれか一項に記載のモデル学習装置であって、
前記学習部は、
前記モデルに対して、前記入出力データセットのうちの前記入力変数データのセットを与えて出力を推定し、
推定された出力と、前記入出力データセットのうちの前記出力変数データのセットと、の一致度を評価し、
評価の結果に応じて前記モデルの学習パラメータを更新することで、前記状態方程式を学習する、
モデル学習装置。
【請求項6】
請求項3に記載のモデル学習装置であって、
前記学習部は、前記式(2)~式(4)を、離散時刻kの時間ステップで離散化した式(13)~式(15)に示す状態方程式を学習する、
モデル学習装置。
【数13】
【数14】
【数15】
【請求項7】
システムを制御する制御装置であって、
請求項6に記載のモデル学習装置と、
前記学習部が学習した前記状態方程式を用いて、前記出力変数yの目標値に対応する前記入力変数vの目標値を決定する決定部と、を備え、
前記決定部は、前記学習部が学習した式(13)~式(15)に示す状態方程式を用いた最適制御問題を解くことで前記入力変数vの目標値を決定する、
制御装置。
【請求項8】
システムに入力される入力変数vと、前記システムから出力される出力変数yとの関係を表すモデルを学習するモデル学習方法であって、
前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを取得する工程と、
前記モデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する工程と、
を備え、
前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式である、モデル学習方法。
【請求項9】
システムに入力される入力変数vと、前記システムから出力される出力変数yとの関係を表すモデルの学習を情報処理装置に実行させるコンピュータプログラムであって、
前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを取得する機能と、
前記モデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する機能と、を前記情報処理装置に実行させ、
前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式である、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル学習装置、制御装置、モデル学習方法、および、コンピュータプログラムに関する。
【背景技術】
【0002】
従来から、システムを制御するための入力と、この入力に対するシステムからの出力との関係を表すモデルを学習するモデル学習装置が知られている。例えば、特許文献1には、システムの将来の状態を予測し制御するモデル予測制御に用いられるモデルを、機械学習によって学習するモデル学習装置が記載されている。非特許文献1には、特殊なモデルを用いたモデル予測制御によって、システムの出力を最大化させる技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】“Optimal Control Via Neural Metworks: A Convex Approach"、[online]、Yize Chen、 Yuanyuan Shi、 Baosen Zhang、[令和2年9月28日検索]、インターネット(URL:https://arxiv.org/abs/1805.1183)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述したような先行技術によっても、モデル学習装置において、システムを安定的に制御しつつ出力の目標値に対する追従性を向上させる入力を決定することができる制御装置を構築可能なモデルを学習する技術については、なお改善の余地があった。モデルを用いるモデル予測制御では、システムの制御周期ごとに、最適制御問題(OCP)と呼ばれる一種の最適化問題を解く。この最適制御問題では、モデルからシステムの将来の状態やシステムにおける出力変化を予測できることを利用して、システムの状態や出力変化が最も望ましい挙動となるように、最適な入力の時系列を求める。具体的には、設計者が任意に設定する目的関数を最小化するような入力の時系列を求める最適化(最小化)問題として解くことになる。
【0006】
特許文献1の技術では、機械学習を用いて学習されたモデルは、非線形性が強いため、最適制御問題は、非凸最適化問題となりやすい。このため、解の一意性を保証することができない。また、設定される初期条件によっては、入力に不規則なばらつきが発生するおそれがあり、信頼性を担保することが困難である。また、非特許文献1の技術では、特殊なモデルを用いて制御装置を構築することで、ある出力や状態そのものを最大化ないし最小化するための入力を決定することができるものの、出力の目標値を与えて、それに追従させる場合、出力の偏差を最小化することができる入力を一意に決定することは困難である。したがって、出力の目標値に追従させる制御では不安定になりやすい。
【0007】
本発明は、上述した課題を解決するためになされたものであり、システムにおける入力と出力との関係を表すモデルを学習するモデル学習装置において、システムを安定的に制御しつつ出力の目標値に対する追従性を向上させる入力を決定することができるモデルを学習する技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上述の課題を解決するためになされたものであり、以下の形態として実現できる。
【0009】
(1)本発明の一形態によれば、システムに入力される入力変数vと、前記システムから出力される出力変数yとの関係を表すモデルを学習するモデル学習装置が提供される。このモデル学習装置は、前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを記憶するモデル記憶部と、前記モデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習部と、を備え、前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式である。
【0010】
この構成によれば、モデルは、システムに入力される入力変数vを入力とする全単射な写像Ψと、システムから出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式である。このような状態方程式は、写像Ψ、Φのそれぞれを内部変数とすることで、線形化することができるため、非線形な構造をしているモデルを用いた制御問題においても、解が一意であることを保証することができる。これにより、システムに入力される入力変数vの最適値を1つに決めることができるため、システムを制御する制御装置にこのモデル学習装置を適用した場合、入力変数vの最適値を用いて、システムを安定的に制御しつつ、システムからの出力の目標値に対する追従性を向上することができる。したがって、システムを安定的に制御しつつ出力の目標値に対する追従性を向上させる入力を決定することができる制御装置を構築可能なモデルを学習することができる。
【0011】
(2)上記形態のモデル学習装置において、前記モデルは、式(1)によって定義されてもよい。
【数16】
上記式において、等号の左辺は、前記出力変数yを表すn(nは整数)次元ベクトルの時間微分であり、等号の右辺のうち、前記入力変数vは、m(mは整数)次元ベクトルであり、外生入力dは、前記出力変数yの変化に影響を与える制御不可能な入力を示すp(pは整数)次元ベクトルであり、前記写像Ψは、前記入力変数vと前記外生入力dを入力としてm次元のベクトルを返す関数であり、前記写像Φは、前記出力変数yと前記外生入力dを入力としてn次元のベクトルを返す関数であり、関数A’、関数B’、関数c’のそれぞれは、前記外生入力dを入力として、n×n行列、n×m行列、n次元ベクトルのそれぞれを返す関数である。この構成によれば、写像Ψ、Φのそれぞれは、入力変数v、出力変数yを入力とする全単射な写像であるため、例えば、関数F、Gを用いて、F
-1=Ψ、G
-1=Φとするように、式(1)を形式的に書き換えることが可能である。また、式(1)のモデルに含まれる写像Ψ、Φのそれぞれには、出力変数yの変化に影響を与える制御不可能な入力である外生入力dが含まれている。さらに、式(1)のモデルでは、外生入力dを入力とする関数A’(d)と関数B’(d)とのそれぞれが写像Ψ、Φのそれぞれの係数となっている。また、式(1)のモデルには、外生入力dを入力とする関数c’(d)と、外生入力dの時間微分の項と、が含まれている。これらによって、式(1)のモデルは、出力変数yの変化に影響を与える制御不可能な外生入力dによる影響も考慮した状態方程式となるため、このモデルを用いることで、システムの将来の状態を高精度に予測することができる。したがって、システムを高精度に制御することができるモデルを学習することができる。
【0012】
(3)上記形態のモデル学習装置において、前記式(1)において、前記写像Ψを内部変数uと定義し、前記写像Φを内部変数xと定義すると、前記学習部は、式(2)~式(4)によって定義される前記状態方程式を学習してもよい。
【数17】
【数18】
【数19】
この構成によれば、式(1)の状態方程式において、写像Ψを内部変数uと定義し、写像Φを内部変数xと定義することで、式(1)の状態方程式を線形化することができる。これにより、式(1)に示す状態方程式は、それを用いた最適制御問題の解が一意となることを保証することができる。したがって、システムを安定的に制御しつつ出力の目標値に対する追従性を向上させる入力を決定することができる制御装置を構築可能なモデルを学習することができる。
【0013】
(4)上記形態のモデル学習装置において、前記写像Ψは、式(5)~式(8)によって定義されてもよい。
【数20】
【数21】
【数22】
【数23】
また、前記写像Φは、式(9)~式(12)によって定義されてもよい。
【数24】
【数25】
【数26】
【数27】
式(5)~式(12)において、iは、多層ニューラルネットワークにおける層の番号であり、L
Ψ、L
Φのそれぞれは、多層ニューラルネットワークの層数であり、W
Ψ、W
Φのそれぞれは重みであり、b
Ψ、b
Φはバイアスであり、ψ
Ψ、φ
Φのそれぞれは、活性化関数であって、入力と同次元の出力を返す任意の全単射な写像である。この構成によれば、写像Ψ、Φのそれぞれは、多層ニューラルネットワークを用いて定義されている。これにより、モデルを用いて計算される入力変数vに対する出力変数yが実際のシステムの出力に近づくように、多層ニューラルネットワークの各層における重みW
Ψ、W
Φやバイアスb
Ψ、b
Φを調整することで、実際のシステムの出力を高精度に予測するモデルを学習することができる。したがって、出力の目標値に対する追従性をさらに向上させる入力を決定することができる制御装置を構築可能なモデルを学習することができる。
【0014】
(5)上記形態のモデル学習装置において、前記学習部は、前記モデルに対して、前記入出力データセットのうちの前記入力変数データのセットを与えて出力を推定し、推定された出力と、前記入出力データセットのうちの前記出力変数データのセットと、の一致度を評価し、評価の結果に応じて前記モデルの学習パラメータ、例えば、式(5)~式(12)に含まれる重みWΨ、WΦやバイアスbΨ、bΦを更新することで、前記状態方程式を学習してもよい。この構成によれば、学習部は、入出力データセットのうちの入力変数データセットを用いて推定された出力と、出力変数データセットとの一致度を評価する。学習部は、この一致度の評価に応じて、モデルについての学習パラメータを更新し、状態方程式を学習する。すなわち、学習部は、予め準備された入出力データセットを教師データとした学習手法に沿って、非線形の状態方程式を学習することができる。これにより、実際のシステムに沿ったモデルを学習することができるため、システムをさらに安定的に制御しつつ、システムからの出力の目標値に対する追従性がさらに向上された制御装置を構築可能なモデルを学習することができる。
【0015】
(6)上記形態のモデル学習装置において、前記学習部は、前記式(2)~式(4)を、離散時刻kの時間ステップで離散化した式(13)~式(15)に示す状態方程式を学習してもよい。
【数28】
【数29】
【数30】
この構成によれば、学習部は、式(2)~式(4)に示す状態方程式を、離散時刻kの時間ステップで離散化した式(13)~式(15)に示す状態方程式を学習する。これにより、内部変数x、uの数を有限とすることができるため、モデルの学習に要する時間を短くすることができる。したがって、システムを安定的に制御しつつ出力の目標値に対する追従性を向上させる入力を決定することができる制御装置を構築可能なモデルを比較的短時間で学習することができる。
【0016】
(7)本発明の別の形態によれば、システムを制御する制御装置が提供される。この制御装置は、上記(6)に記載のモデル学習装置と、前記学習部が学習した前記状態方程式を用いて、前記出力変数yの目標値に対応する前記入力変数vの目標値を決定する決定部と、を備え、前記決定部は、前記学習部が学習した式(13)~式(15)に示す状態方程式を用いた最適制御問題を解くことで前記入力変数vの目標値を決定してもよい。この構成によれば、決定部は、学習部が学習した式(13)~式(15)に示す状態方程式を用いて、最適制御問題を解くことで入力変数vの目標値を決定する。このとき、式(15)が線形モデルであることを利用することで、式(13)~式(15)を用いた最適制御問題を凸最適化問題とすることができる。これにより、システムに入力される入力変数vの最適値を1つに決めることができるため、制御装置は、システムを安定的に制御しつつ、システムからの出力の目標値に対する追従性を向上することができる。
【0017】
(8)本発明のさらに別の形態によれば、システムに入力される入力変数vと、前記システムから出力される出力変数yとの関係を表すモデルを学習するモデル学習方法が提供される。このモデル学習方法は、前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを取得する工程と、前記モデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する工程と、を備え、前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式である。この構成によれば、モデルを取得する工程において取得するモデルは、システムに入力される入力変数vを入力とする全単射な写像Ψと、システムから出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式である。このような状態方程式は、写像Ψ、Φのそれぞれを内部変数とすることで、線形化することができるため、非線形な構造をしているモデルを用いた制御問題においても、解が一意であることを保証することができる。これにより、システムに入力される入力変数vの最適値を1つに決めることができるため、システムを制御する制御装置にこのモデル学習方法を適用した場合、入力変数vの最適値を用いて、システムを安定的に制御しつつ、システムからの出力の目標値に対する追従性を向上することができる。したがって、システムを安定的に制御しつつ出力の目標値に対する追従性を向上させる入力を決定することができる制御装置を構築可能なモデルを学習することができる。
【0018】
(9)本発明のさらに別の形態によれば、システムに入力される入力変数vと、前記システムから出力される出力変数yとの関係を表すモデルの学習を情報処理装置に実行させるコンピュータプログラムが提供される。このコンピュータプログラムは、前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを取得する機能と、前記モデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する機能と、を前記情報処理装置に実行させ、前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式である。この構成によれば、コンピュータプログラムでは、モデルを取得する機能において取得するモデルは、システムに入力される入力変数vを入力とする全単射な写像Ψと、システムから出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式である。このような状態方程式は、写像Ψ、Φのそれぞれを内部変数とすることで、線形化することができるため、非線形な構造をしているモデルを用いた制御問題においても、解が一意であることを保証することができる。これにより、システムに入力される入力変数vの最適値を1つに決めることができるため、システムを制御する制御装置の情報処理装置にこのコンピュータプログラムを適用した場合、入力変数vの最適値を用いて、システムを安定的に制御しつつ、システムからの出力の目標値に対する追従性を向上することができる。したがって、情報処理装置は、システムを安定的に制御しつつ出力の目標値に対する追従性を向上させる入力を決定することができる制御装置を構築可能なモデルを学習することができる。
【0019】
なお、本発明は、種々の態様で実現することが可能であり、例えば、非線形システムのモデルを学習する装置および方法、学習により得られたモデルを用いて状態を推定する装置および方法、これらの装置が含まれるシステム、これらの装置およびシステムにおいて実行されるコンピュータプログラム、そのコンピュータプログラムを配布するためのサーバ装置、そのコンピュータプログラムを記憶した一時的でない記憶媒体等の形態で実現することができる。
【図面の簡単な説明】
【0020】
【
図1】第1実施形態のモデル学習装置の構成を示す模式図である。
【
図2】第1実施形態のモデル学習方法のフローチャートである。
【
図3】第2実施形態の制御装置の構成を示す模式図である。
【
図4】第2実施形態の予測制御方法のフローチャートである。
【
図5】凸関数と非凸関数の一例を説明する模式図である。
【
図6】モデル学習装置における計算結果を説明する第1の模式図である。
【
図7】2つのモデル学習装置における計算結果を説明する第2の模式図である。
【発明を実施するための形態】
【0021】
<第1実施形態>
図1は、第1実施形態のモデル学習装置100の構成を示す模式図である。本実施形態のモデル学習装置100は、非線形システムのモデルを学習する装置である。ここで、「非線形システム」とは、任意の制御対象物(システム)に対する入出力パラメータの関係性が一次式では表せない、または、近似できない性質を持つシステムを意味する。また、本実施形態では「モデル」として、非線形の状態方程式を例示する。すなわち、モデル学習装置100は、任意のシステムの状態を、該システムから出力される出力変数yとみなすことで、システムに入力される入力変数vによって制御された結果、システムの出力変数yを予測する非線形の状態方程式を学習する。なお、「状態方程式」とは、「y・(t)=f(y(t)、・・・)」のように、現時刻tにおける出力変数y(t)によって、それ自身の出力変数y・(t)を決定する方程式を意味する。以降、表記の便宜上、任意の変数zの時間微分を「z・」と記載する。
【0022】
システムは、例えば、内燃機関、ハイブリッド機関、パワートレインなどが含まれる。内燃機関、ハイブリッド機関、パワートレインなどの駆動機関をシステムとした場合、モデル学習装置100により学習されるモデルは、システムの駆動に関する種々のパラメータ、例えば、制御対象部のアクチュエータの操作量、制御対象部に対する外乱、制御対象部の状態、制御対象部の出力、制御対象部の出力目標値などの関係を表す非線形の状態方程式となる。
【0023】
モデル学習装置100は、例えば、パーソナルコンピュータ(PC:Personal Computer)であり、CPU110と、記憶部120と、ROM/RAM130と、通信部140と、入出力部150と、を備えている。モデル学習装置100の各部は、バスにより相互に接続されている。
【0024】
CPU110は、制御部111と、学習部112と、を備えている。制御部111は、ROM130に格納されているコンピュータプログラムをRAM130に展開して実行することにより、モデル学習装置100の各部を制御する。学習部112は、任意のシステム(非線形システム)の状態を表す出力変数yを予測するための非線形の状態方程式を学習する。学習部112の機能の詳細は、後述する。
【0025】
記憶部120は、ハードディスク、フラッシュメモリ、メモリカードなどで構成される記憶媒体である。記憶部120は、モデル記憶部121と、データセット記憶部122と、を有している。モデル記憶部121は、学習部112による状態方程式の学習のために用いられるモデルを予め記憶している。本実施形態では、モデル記憶部121に記憶されたモデルは、入力変数vを入力とする全単射な写像Ψと、出力変数yを入力とする全単射な写像Φと、を含む状態方程式であって、式(1)により定義される。ここで、「全単射」とは、集合Aの写像の結果が集合Bであるとした場合に、AとBの各要素が必ず一対一の対応関係を持つことを意味する。これは、例えば、関数fが全単射である場合、一意の逆関数f-1が存在することと同義である。
【0026】
【数31】
上記式において、等号の左辺は、出力変数yを表すn(nは整数)次元ベクトルの時間微分であり、等号の右辺のうち、入力変数vは、m(mは整数)次元ベクトルであり、外生入力dは、出力変数yの変化に影響を与える制御不可能な入力を示すp(pは整数)次元ベクトルであり、写像Ψは、入力変数vと外生入力dを入力としてm次元のベクトルを返す関数であり、写像Φは、出力変数yと外生入力dを入力としてn次元のベクトルを返す関数であり、関数A’、関数B’、関数c’のそれぞれは、外生入力dを入力として、n×n行列、n×m行列、n次元ベクトルのそれぞれを返す関数である。
【0027】
データセット記憶部122は、式(1)で表されるモデルに対する入力変数データと出力変数データの組を複数含んでいる入出力データセットを予め記憶している。この入力変数データと出力変数データの組は、システムに対する実験や計算により予め求められている。入出力データセットは、学習部112による状態方程式の学習のために用いられる教師データとして用いられる。以降、入出力データセットのうち、複数の入力変数データをまとめて「入力変数データセット」とも呼び、複数の出力変数データをまとめて「出力変数データセット」とも呼ぶ。
【0028】
通信部140は、モデル学習装置100と他の装置との間における、通信インターフェースを介した通信を制御する。他の装置としては、例えば、システムを制御する制御装置や、他の情報処理装置、および、データセット記憶部122から入出力データセットを取得するための計測器などが挙げられる。入出力部150は、モデル学習装置100と、利用者との間の情報の入出力に使用される種々のインターフェースである。入出力部150としては、例えば、入力部としてのタッチパネル、キーボード、マウス、操作ボタン、マイクや、出力部としてのタッチパネル、モニタ、スピーカー、LED(Light Emitting Diode)インジケータなどが挙げられる。
【0029】
図2は、第1実施形態のモデル学習方法のフローチャートである。モデル学習装置100におけるモデル学習方法は、例えば、所定のアプリケーションの起動などの利用者からの要求などによって実行される。本実施形態では、式(1)に示す状態方程式において、出力変数y、入力変数v、システムにおける外生入力d、出力変数yの時間微分y・、および、外生入力dの時間微分d・を含む既知の入出力データセットを用いて、式(16)に示す関数Fの関数形を学習(推定)する。ここで、出力変数yは、n次元ベクトルであり、入力変数vは、m次元ベクトルであり、外生入力dは、p次元ベクトルである。
【数32】
【0030】
最初に、学習部112は、モデル記憶部121に記憶されているモデルを取得する(ステップS11)。具体的には、学習部112は、関数Fを学習するためのモデルを式(1)に示す状態方程式と想定する。学習部112は、式(1)に示す状態方程式において、各変数の値をゼロまたはランダムな値とすることで、各変数を初期化する。
【数33】
【0031】
本実施形態では、学習部112は、式(1)に含まれる写像Ψを式(2)で示す内部変数uと定義し、式(1)に含まれる写像Φを式(3)で示す内部変数xと定義する。これにより、学習部112は、式(1)を内部変数u、xで示した式(4)の状態方程式を学習することとなる。式(1)の状態方程式に含まれる写像Φ、Ψのそれぞれを内部変数x、uのそれぞれで定義する効果は、後述する。
【数34】
【数35】
【数36】
【0032】
さらに、本実施形態では、学習部112は、多層ニューラルネットワークの考え方を用いて、写像Ψについての式(5)~式(8)を定義する。
【数37】
【数38】
【数39】
【数40】
【0033】
また、本実施形態では、学習部112は、写像Ψについての式(5)~式(8)と同様に、多層ニューラルネットワークの考え方を用いて、写像Φについての式(9)~式(12)を定義する。
【数41】
【数42】
【数43】
【数44】
ここで、iは、多層ニューラルネットワークにおける層の番号であり、L
Ψ、L
Φのそれぞれは、多層ニューラルネットワークの層数であり、W
Ψ、W
Φのそれぞれは重みであり、b
Ψ、b
Φはバイアスであり、ψ
Ψ、φ
Φのそれぞれは、活性化関数であり、入力と同次元の出力を返す任意の全単射な写像である。重みW
Ψ、W
Φ、バイアスb
Ψ、b
Φ、活性関数、ψ
Ψ、φ
Φのそれぞれは、多層ニューラルネットワークの層ごとに設定されてもよい。
【0034】
次に、学習部112は、データセット記憶部122から、出力変数y、入力変数v、外生入力d、出力変数yの時間微分y・、外生入力dの時間微分d・についての入出力データセット[y、v、d、y・、d・]を取得する(ステップS12)。本実施形態では、入出力データセット[y、v、d、y・、d・]の各データは、j組(jは自然数、j=1~N)含まれている。取得した入出力データセットのうち、[yj、vj、dj、d・j]は、入力変数データセットに相当し、[y・j]は、出力変数データセットに相当する。
【0035】
次に、学習部112は、モデルに入力データセットを与えて出力を推定する(ステップS13)。具体的には、学習部112は、ステップS11で取得し初期化した式(1)の状態方程式に対して、ステップS12で取得した入力変数データセット[y
j、v
j、d
j、d・
j]を与える。これにより、出力変数y・jの推定値(式(17)の左辺)を得ることができる。なお、(∂Φ/∂y)
-1は、出力変数yおよび外生入力dの関数であるため、出力変数y
jおよび外生入力d
jを代入することで評価可能である。また、式(17)の右辺の(∂Φ/∂d)は、入力変数vおよび外生入力dの関数であるため、入力変数v
jおよび外生入力d
jを代入することで評価可能である。
【数45】
【0036】
次に、学習部112は、推定された出力と出力変数データセットとの一致度を評価する(ステップS14)。具体的には、学習部112は、ステップS13で得られた出力変数y・
jの推定値と、ステップS12で取得した出力変数データセット[y・
j]との一致度を評価する。学習部112は、例えば、式(18)に示す二乗平均誤差(MSE:Mean Square Error)を一致度の指標として用いることができる。MSEの場合、等号の左辺Jの値が小さければ小さいほど、一致度が高い。なお、学習部112は、二乗平均誤差の代わりに、例えば、絶対平均誤差率や、交差エントロピーなどの指標を用いて、一致度を評価してもよい。
【数46】
【0037】
次に、学習部112は、一致度が十分であるか否かを判定する(ステップS15)。例えば、式(18)のMSEを用いる場合、学習部112は、Jの値が所定値以下である場合に、一致度が十分であると判定できる。なお、学習部112は、Jの値の変化率が所定値以下である場合に、一致度が十分であると判定してもよい。所定値は任意に決定できる。
【0038】
一致度が十分でない場合(ステップS15:NO)、学習部112は、ステップS16に進み、ステップS11で定義した式(1)のモデルにおける、例えば、式(1)に含まれる関数A’、関数B’、関数c’、式(5)~式(12)に含まれる重みWΨ、WΦやバイアスbΨ、bΦなどの学習パラメータを更新する。学習部112は、例えば、バックプロパゲーションにより各学習パラメータに対するJの勾配を評価し、各種の勾配法に基づいて、各学習パラメータを更新してもよい。その後、学習部112は、ステップS13に進み、出力の推定および評価を繰り返す。
【0039】
一致度が十分である場合(ステップS15:YES)、学習部112は、処理を終了する。この際、学習部112は、学習した関数Fについて、入出力部150に出力してもよく、記憶部120に記憶してもよく、通信部140を介して他の装置に送信してもよい。
【0040】
本実施形態のモデル学習装置100がシステムの操作量を制御する制御装置と組み合わされている場合、モデル学習装置100は、学習部112において学習した関数Fを制御装置に出力する。制御装置では、出力された関数Fを用いて、システムの現在時刻の出力から、将来の出力を制御するための入力を計算する。制御装置は、計算された入力をシステムに出力し、システムを制御する。
【0041】
次に、
図2で説明したモデル学習方法で学習されるモデル(状態方程式)において、解の一意性を保証できる理由について説明する。一般に、過渡的な現象を再現できる動的なモデルをニューラルネットワーク(機械学習)で構築する場合、当該モデルが安定である、言い換えれば、発散しない、保証はない。しかし、上述した式(1)に示した状態方程式を、出力変数yを写像Φによって変換した内部変数xを用いることで等価変換した式(4)は、内部変数xについて線形な微分方程式を含んでいる。このとき、入力変数vを写像Ψを用いて変換した内部変数uも同様に、微分方程式の線形項となる
。写像Φ、Ψのそれぞれは、全単射な写像であるため、一意の逆関数が存在する。すなわち、内部変数xと出力変数y、および、入力変数vと内部変数uのそれぞれは、相互に変換が可能であることから、線形化された式(4)を解くことで、非線形の式(1)の解を求めることができる。したがって、モデル学習装置100を備える制御装置は、
図2で説明したモデル学習方法で学習されるモデルを用いて、システムを安定的に制御しつつ、システムからの出力の目標値に対する追従性を向上することができる。
【0042】
以上説明した、本実施形態のモデル学習装置100によれば、モデルは、システムに入力される入力変数vを入力とする全単射な写像Ψと、システムから出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式である。このような状態方程式は、写像Ψ、Φのそれぞれを内部変数とすることで、線形化することができるため、非線形な構造をしているモデルを用いた制御問題においても、解が一意であることを保証することができる。これにより、システムに入力される入力変数vの最適値を1つに決めることができるため、システムを制御する制御装置にこのモデル学習装置100を適用した場合、入力変数vの最適値を用いて、システムを安定的に制御しつつ、システムからの出力の目標値に対する追従性を向上することができる。したがって、システムを安定的に制御しつつ出力の目標値に対する追従性を向上させる入力を決定することができるモデルを学習することができる。
【0043】
また、一般的に、機械学習を用いて学習されたモデルは、比較的非線形性が強いため、このモデルを用いて予測される出力を何らかの目標に適切に追従させる最適制御問題は、非凸最適化問題になりやすい。このため、その問題を解く際の初期条件によって、得られる解が大きく変化してしまう可能性があり、入力のばたつきなどの信頼性問題に繋がるため、最適解を得ることが非常に難しい。本実施形態のモデル学習装置100は、解が一意であることを保証することができるため、システムの出力(状態)の目標値に追従させる制御問題に対応する最適制御問題を、凸最適化問題とすることができる。これにより、解が、初期条件によらず最適な一意となることが保証されるため、システムを安定的に制御しつつ、システムからの出力の目標値に対する追従性を向上することができる。
【0044】
また、本実施形態のモデル学習装置100によれば、式(1)のモデルに含まれる写像Ψ、Φのそれぞれには、出力変数yの変化に影響を与える制御不可能な入力である外生入力dが含まれている。また、式(1)のモデルでは、外生入力dを入力とする関数A’(d)と関数B’(d)とのそれぞれが写像Ψ、Φのそれぞれの係数となっている。さらに、式(1)のモデルには、外生入力dを入力とする関数c’(d)と、外生入力dの時間微分の項と、が含まれている。これらによって、式(1)のモデルは、出力変数yの変化に影響を与える制御不可能な外生入力dによる影響も考慮した状態方程式となるため、このモデルを用いることで、システムの将来の状態を高精度に予測することができる。したがって、システムを高精度に制御することができる制御装置を構築可能なモデルを学習することができる。
【0045】
また、本実施形態のモデル学習装置100によれば、式(1)の状態方程式において、写像Ψを内部変数uと定義し、写像Φを内部変数xと定義することで、式(4)に示すように、状態方程式を線形化することができる。これにより、式(1)に示す状態方程式において、解が一意であることを保証することができる。したがって、システムを安定的に制御しつつ出力の目標値に対する追従性を向上させる入力を決定することができる制御装置を構築可能なモデルを学習することができる。
【0046】
また、本実施形態のモデル学習装置100によれば、写像Ψ、Φのそれぞれは、多層ニューラルネットワークを用いて定義されている(式(5)~式(12))。これにより、多層ニューラルネットワークの各層における重みWΨ、WΦやバイアスbΨ、bΦを調整することで、モデルを用いて計算される入力変数vの入力によるシステムの出力を実際の値に近づけることができる。したがって、出力の目標値に対する追従性をさらに向上させる入力を決定することができる制御装置を構築可能なモデルを学習することができる。
【0047】
また、本実施形態のモデル学習装置100によれば、学習部112は、入出力データセットのうちの入力変数データセットを用いて推定された出力と、出力変数データセットとの一致度を評価する。学習部112は、この一致度の評価に応じて、モデルについての学習パラメータを更新し、状態方程式を学習する。すなわち、学習部112は、予め準備された入出力データセットを教師データとした学習手法に沿って、非線形の状態方程式を学習することができる。これにより、実際のシステムに沿ったモデルを学習することができるため、システムをさらに安定的に制御しつつ、システムからの出力の目標値に対する追従性をさらに向上させる制御装置を構築可能なモデルを学習することができる。
【0048】
また、本実施形態のモデル学習方法によれば、モデルを取得するステップS11において取得するモデルは、システムに入力される入力変数vを入力とする全単射な写像Ψと、システムから出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式である。このような状態方程式は、写像Ψ、Φのそれぞれを内部変数u、xとすることで、線形化することができるため、非線形な構造をしているモデルを用いた制御問題においても、解が一意であることを保証することができる。これにより、システムに入力される入力変数vの最適値を1つに決めることができるため、システムを制御する制御装置にこのモデル学習方法を適用した場合、入力変数vの最適値を用いて、システムを安定的に制御しつつ、システムからの出力の目標値に対する追従性を向上することができる。したがって、システムを安定的に制御しつつ出力の目標値に対する追従性を向上させる入力を決定することができる制御装置を構築可能なモデルを学習することができる。
【0049】
<第2実施形態>
図3は、第2実施形態の制御装置200の構成を示す模式図である。第2実施形態の制御装置200は、学習部212と決定部213を有するCPU210を備える。
【0050】
制御装置200は、車載ECU(Electronic Control Unit)として実現され得る。本実施形態の制御装置200は、システム300の制御のために用いることができる。システム300とは、第1実施形態と同様に、例えば、内燃機関、ハイブリッド機関、パワートレインなどである。なお、制御装置200は、例えば、パーソナルコンピュータであって、システム300の分析のために用いてもよい。
【0051】
制御装置200は、CPU210と、記憶部120と、ROM/RAM130と、通信部140と、入出力部150と、を備えている。制御装置200の各部は、バスにより相互に接続されている。なお、制御装置200の機能部のうちの少なくとも一部は、ASIC(Application Specification Integrated Circuit)により実現されてもよい。
【0052】
CPU210は、制御部111と、学習部212と、決定部213と、を備えている。制御部111は、第1実施形態の制御部111と同様に、ROM130に格納されているコンピュータプログラムをRAM130に展開して実行することにより、制御装置200の各部を制御する。学習部212は、後述する予測制御方法において、システム300の状態を表す出力変数yを予測するための非線形の状態方程式を学習する。決定部213は、学習部212が学習した状態方程式を用いて、出力変数yの目標値に対応する入力変数vの目標値を決定する。
【0053】
図4は、第2実施形態の予測制御方法のフローチャートである。システム300の予測制御方法は、例えば、所定のアプリケーションの起動などの利用者からの要求などによって実行される。
【0054】
最初に、学習部212は、モデル、目的関数、および、制約関数を取得する(ステップS21)。具体的には、学習部212は、モデル記憶部121に記憶されている非線形の状態方程式を読み込むとともに、システム300を最適に制御するための目的関数Jと、制約関数Gとを読み込む。本実施形態では、学習部212は、式(2)~式(4)を、離散時刻kにおいて所定の時間ステップΔtで離散化した式(13)~式(15)に示す状態方程式を読み込む。
【数47】
【数48】
【数49】
式(15)に含まれるA(d
k)、B(d
k)、C(d
k)のそれぞれは、例えば、式(2)~式(4)の関数A’(d)、関数B’(d)、および、関数c’(d)を用いて、以下の式(19)~式(21)としてもよい。
【数50】
【数51】
【数52】
【0055】
次に、学習部212は、現在時刻の最適制御問題のパラメータを決定する(ステップS22)。具体的には、学習部212は、現在時刻を時刻kとして、システム300の各所に事前に設けられているセンサなどから取得された出力変数yk、制御入力vk-1、外生入力dk、および、目標値yktを読み込む。学習部212は、式(13)~式(15)を用いて、内部変数xk、内部変数xkの目標値xkt、および、内部変数uk-1を計算する。
【0056】
次に、決定部213は、最適化の初期入力時系列を読み込む(ステップS23)。具体的には、決定部213は、離散時刻kを起点として、時刻kf=k+N(Nは所定の自然数)までの入力時系列uk、・・・ukfの初期値を決定する。
【0057】
次に、決定部213は、最適制御問題を解く(ステップS24)。具体的には、決定部213は、式(22)、(23)に示す最適制御問題を解く。
【数53】
【数54】
xκ(κ=k、・・・k
f+1)は、式(15)に従う。gは、x
k、・・・x
kf+1、u
k-1、・・・u
kfに対して凸となる任意のスカラー関数である。制約関数Gは、x
k、・・・x
kf+1、u
k-1、・・・u
kfに対して凸となる任意のベクトル関数である。Qは、n×nの正定値対称行列であり、目標値x
ktは、離散時刻kにおけるxの目標値であり、離散時刻kにおける出力変数yの目標値y
ktからx
kt=Φ(y
kt、d
k)によって変換されたものである。
【0058】
式(22)および式(23)に示す最適制御問題では、目的関数Jを最小化するuκ(κ=k、・・・k
f)の時系列を求める。このとき、式(22)に含まれる式(24)を小さくするため、目標値に素早く追従するようなuκ(κ=k、・・・k
f)でなければならない。そのため、式(24)を含む目的関数Jを最小化するuκ(κ=k、・・・k
f)の解は、目標値に素早く追従させる制御を実現するものとなっている。
【数55】
【0059】
スカラー関数gは、副次的な機能を持たせるために自由に設定できる。例えば、次のように設定してもよい。
【数56】
R、Sのそれぞれは、m×mの正定値対称行列である。式(25)に含まれる式(26)は、内部変数uが0に近いほど小さくなり、式(25)に含まれる式(27)は、内部変数uの時間的な変化が小さいほど小さくなる。これにより、目的関数Jを最小化する解は、内部変数uをできるだけ0に近づけ、かつ、内部変数uをできるだけ変化させないものとなる。
【数57】
【数58】
【0060】
ベクトル関数である制約関数Gには、所望の制約条件を設定できる。例えば、次のように設定してもよい。
【数59】
式(28)は、以下の式(29)に示す上下限制約を表す。
【数60】
決定部213は、以上の問題を解いて、内部変数u
kを求めれば、そこから式(13)を用いて、入力変数v
kの目標値を決定することができる。
【0061】
図5は、凸関数と非凸関数の一例を説明する模式図である。ここで、凸関数とは、任意の0<t<1、および、任意のx、yに対して、以下の式(30)が成り立つ関数のことを言う。
【数61】
直感的には、
図5(a)に示すような形の関数が凸関数であり、
図5(b)に示すような形の関数が、非凸関数である。凸関数の場合、最適値(
図5(a)では最小値L0)を、一意に決定することができる。しかしながら、非凸関数の場合、
図5(b)に示すように、局所的に最小値となる値が複数(
図5(b)の場合、値L1、L2、L3、L4、L5、L6)存在するため、最適値が決定されるとは限らない。
【0062】
ステップS24では、ステップS22で決定した条件において、ステップS23の初期値を用いて、式(22)、(23)の最適制御問題を解く。この問題は、たとえば逐次二次計画法などの数理計画法を用いて解くことができる。
【0063】
次に、得られた解をシステム300への入力として反映する(ステップS25)。具体的には、制御部111は、ステップS24で得られるuk、・・・ukfの最適解と、式(13)のΨを用いて、vk、・・・vkfに変換し、このうちのvkを実際の制御入力vkとする。
【0064】
次に、制御部111は、制御を終了するか否かを判定する(ステップS26)。具体的には、制御部111は、制御を終了する外部信号の受信の状態に応じて制御を終了するか否かを判定する。制御部111が外部信号を受信している場合、予測した制御入力vkを外部に出力し、今回の制御処理を終了する。出力は、入出力部150に対して行ってもよく、記憶部120に記憶させてもよく、通信部140を介して他の装置、例えば、呼び出し元のECUなどに送信してもよい。制御部111が外部信号を受信しない場合、ステップS27に進む。
【0065】
ステップS26において制御部111が外部信号を受信しない場合、制御部111は、時刻を進める(ステップS27)。制御部111は、時刻を進め、ステップS22に戻る。その後、ステップS22からステップS25を繰り返し、ステップS26において、制御部111が制御を終了する外部信号を受信しているか否かを判定する。
【0066】
図6は、モデル学習装置100における計算結果を説明する第1の模式図である。ここで、第1実施形態のモデル学習装置100を用いて、仮想のシステムの出力から入力の予測処理を行った計算結果を説明する。
図6は、今回の計算結果において、仮想のシステムにおける複数の出力の時間変化を示したものである。
図6には、4種類の出力(「出力1」、「出力2」、「出力3」、「出力4」)の時間変化が実線OP1、OP2、OP3、OP4で示されている。4種類の出力のうち、出力1、出力2、および、出力3は、異なる種類の出力を示しており、それぞれの出力において、目標値が設定されている(出力1、出力2、および、出力3の点線Do1、Do2、Do3参照)。また、出力4においては、上限制約が点線Do4で示されている。
【0067】
図7は、2つのモデル学習装置における計算結果を説明する第2の模式図である。
図7には、
図6で示す4種類の出力が仮想のシステムから出力されるための入力を計算した結果が示されている。
図7には、本実施形態のモデル学習装置を用いて計算された3種類の入力(「入力1」、「入力2」、「入力3」)の時間変化を、一点鎖線で囲んだ内側に示している。また、
図7には、比較例のモデル学習装置を用いて計算された3種類の入力の時間変化を、二点鎖線で囲んだ内側に示している。比較例のモデル学習装置では、本実施形態のモデル学習装置のように、モデルとして、入力変数および出力変数を入力とする写像に、全単射な写像が用いられていない。
【0068】
図7に示す入力1~入力3は、
図6で示した4種類の出力に対して、複数の異なる初期条件で計算された結果である。比較例のモデル学習装置では、初期条件が異なることで、入力1~入力3の値がそれぞれ変動し、例えば、入力2だけを見ても安定せず、ばらついている。このため、比較例の予測処理では、出力1~出力4を実現するための入力を1つに決定することが難しい。一方、本実施形態のモデル学習装置では、初期条件が異なっていても、入力1~入力3の値がばらつくことがない。すなわち、入力を1つに決定することができるため、入力が安定する。
【0069】
以上説明した、本実施形態の制御装置200によれば、学習部212が取得するモデルは、システム300に入力される入力変数vを入力とする全単射な写像Ψと、システム300から出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式である。このような状態方程式は、写像Ψ、Φのそれぞれを内部変数とすることで、線形化することができるため、非線形な構造をしているモデルを用いた制御問題においても、解が一意であることを保証することができる。これにより、システム300を安定的に制御しつつ出力の目標値に対する追従性を向上させる入力を決定することができる制御装置を構築可能なモデルを学習することができる。
【0070】
また、本実施形態の制御装置200によれば、学習部212は、式(2)~式(4)に示す状態方程式を、離散時刻kの時間ステップで離散化した式(13)~式(15)として学習する。これにより、内部変数x、uの数を有限とすることができるため、モデルの学習に要する時間を短くすることができる。したがって、システム300を安定的に制御しつつ出力の目標値に対する追従性を向上させる入力を決定することができる制御装置を構築可能なモデルを比較的短時間で学習することができる。
【0071】
また、本実施形態の制御装置200によれば、決定部213は、学習部212が学習した式(13)~式(15)に示す状態方程式を用いて、式(22)および式(23)に示す最適制御問題を解くことで入力変数vを決定する。これにより、最適制御問題は、線形モデルに対する制御問題となり、式(13)~式(15)を用いた最適制御問題を凸最適化問題とすることができる。したがって、システム300に入力される入力変数vの最適値を1つに決めることができるため、制御装置は、システム300を安定的に制御しつつ、システム300からの出力の目標値に対する追従性を向上することができる。
【0072】
<本実施形態の変形例>
本発明は上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。また、上記実施形態において、ハードウェアによって実現されるとした構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されるとした構成の一部をハードウェアに置き換えるようにしてもよい。
【0073】
[変形例1]
上記実施形態では、モデル学習装置、または、モデル学習装置を備える制御装置の構成の一例を示した。しかしながら、モデル学習装置および制御装置の構成は、種々の変形が可能であり、これらの構成に限定されない。例えば、モデル学習装置および制御装置の少なくとも一方は、ネットワーク上に配置された複数の情報処理装置(サーバ装置や、車載ECU等を含む)が協働することによって構成されてもよい。
【0074】
[変形例2]
上記実施形態では、モデル学習方法(
図2参照)、および、予測制御方法(
図4参照)の手順の一例を示した。しかしながら、これらの方法は、種々の変形が可能であり、これらの手順に限定されない。例えば、一部のステップを省略してもよく、説明しない他のステップを追加してもよい。また、一部のステップの実行順序を変更してもよい。
【0075】
[変形例3]
第1実施形態において、状態方程式を式(1)と定義し、式(1)に含まれる写像Ψ、Φのそれぞれを式(2)、(3)で示す内部変数u、xのそれぞれで定義した。しかしながら、写像Ψ、Φのそれぞれの定義は、あくまで一例であり、これらは、任意の形に定義してよい。このとき、内部変数とともに、出力変数yの変化に影響を与える制御不可能な外生入力dを入力とする写像とすることで、システムの将来の状態を高精度に予測することができるモデルとすることができる。
【0076】
[変形例4]
第1実施形態では、モデル学習方法(
図2参照)のステップS14において、学習部112は、一致度を用いてモデルを学習するとした。このとき、学習部112は、一致度に加えて、制約条件を満たしているか否かを判断してもよい。例えば、式(1)の状態方程式に含まれる関数A’(d)、関数B’(d)、関数c’(d)のそれぞれに制約条件を設定してもよい。
【0077】
[変形例5]
第1実施形態では、写像Ψ、写像Φ、関数A’(d)、関数B’(d)、および、関数c’(d)は、外生入力dが入力されることで出力されるとした。しかしながら、写像Ψ、写像Φ、関数A’(d)、関数B’(d)、および、関数c’(d)は、外生入力dに依存して出力が変化しなくてもよい。
【0078】
[変形例6]
第2実施形態では、学習部212は、式(2)~式(4)を離散化した式(13)~式(15)に変換した状態方程式を用いて、最適制御問題を解くとした。しかしながら、学習部212は、状態方程式を離散化せずに、最適制御問題を解いてもよい。式(13)~式(15)に変換した状態方程式を用いて最適制御問題を解くことで、内部変数x、uの数を有限とすることができるため、モデルの学習に要する時間を比較的短くすることができる。
【0079】
以上、実施形態、変形例に基づき本態様について説明してきたが、上記した態様の実施の形態は、本態様の理解を容易にするためのものであり、本態様を限定するものではない。本態様は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本態様にはその等価物が含まれる。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することができる。
【符号の説明】
【0080】
100…モデル学習装置
110,210…CPU
111…制御部
112,212…学習部
120…記憶部
121…モデル記憶部
122…データセット記憶部
130…ROM/RAM
140…通信部
150…入出力部
200…制御装置
213…決定部
300…システム