(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024160826
(43)【公開日】2024-11-15
(54)【発明の名称】モデル学習装置、制御装置、モデル学習方法、および、コンピュータプログラム
(51)【国際特許分類】
G05B 13/02 20060101AFI20241108BHJP
【FI】
G05B13/02 L
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023076233
(22)【出願日】2023-05-02
(71)【出願人】
【識別番号】000003609
【氏名又は名称】株式会社豊田中央研究所
(71)【出願人】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100160691
【弁理士】
【氏名又は名称】田邊 淳也
(74)【代理人】
【識別番号】100227732
【弁理士】
【氏名又は名称】小澤 祥二
(72)【発明者】
【氏名】森安 竜大
(72)【発明者】
【氏名】島 遼太朗
(72)【発明者】
【氏名】楠 昌幸
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GA14
5H004GB01
5H004KC27
5H004KD62
(57)【要約】
【課題】 システムにおける入力と出力との関係を表すモデルを学習するモデル学習装置において、システムを安定的に制御可能なモデルを学習することができる技術を提供する。
【解決手段】 モデル学習装置は、入力変数vを用いて出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを記憶するモデル記憶部と、モデル記憶部に記憶されているモデルと、モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて状態方程式を学習する学習部と、を備え、モデルは、入力変数vを入力とする全単射な写像Ψと、出力変数yを入力とする全単射な写像Φと、を含む状態方程式であり、写像Ψは、入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、写像Φは、出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
システムに入力される入力変数v(ベクトル)と、前記システムから出力される出力変数y(ベクトル)との関係を表すモデルを学習するモデル学習装置であって、
前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを記憶するモデル記憶部と、
前記モデル記憶部に記憶されているモデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習部と、
を備え、
前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式であり、
前記写像Ψは、前記入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、
前記写像Φは、前記出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となる、
モデル学習装置。
【請求項2】
請求項1に記載のモデル学習装置であって、
前記モデルは、式(1)によって定義され、
前記写像Ψは、多層ニューラルネットワークを表す式(2)~式(4)によって定義され、
前記写像Φは、多層ニューラルネットワークを表す式(5)~式(7)によって定義される、
モデル学習装置。
【数1】
上記式(1)において、
等号の左辺は、前記出力変数yを表すn(nは整数)次元ベクトルの時間微分であり、
等号の右辺のうち、
前記入力変数vは、前記出力変数yの変化に影響を与える制御可能な入力を示すn次元ベクトルであり、
外生入力dは、前記出力変数yの変化に影響を与える制御不可能な入力を示すp(pは整数)次元ベクトルであり、
前記写像Ψは、前記入力変数vと前記外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、前記入力変数vについて全単射な写像であり、
前記写像Φは、前記出力変数yと前記外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、前記出力変数yについて全単射な写像であり、
関数Aは、前記外生入力dを入力として、n×n行列を返す関数であり、
【数2】
【数3】
【数4】
上記式(2)~式(4)において、
添え字iは、多層ニューラルネットワークにおける層の番号を表し、
添え字L
Ψは、多層ニューラルネットワークの層数を表し、
重みW
Ψは、多層ニューラルネットワークにおける前記入力変数vの入力次元をn次元とする場合、n×n行列で表され、
バイアスb
Ψは、多層ニューラルネットワークにおける前記入力変数vの入力次元をn次元とする場合、n次元ベクトルで表され、
活性化関数ψは、第一引数である、W
Ψ
(i)(d)y
(i-1)+b
Ψ
(i)(d)、または、b
Ψ
(i)(d)について同相写像となるものであり、
【数5】
【数6】
【数7】
上記式(5)~式(7)において、
添え字iは、多層ニューラルネットワークにおける層の番号を表し、
添え字L
Φは、多層ニューラルネットワークの層数を表し、
重みW
Φは、多層ニューラルネットワークにおける前記出力変数yの入力次元をn次元とする場合、n×n行列で表され、
バイアスb
Φは、多層ニューラルネットワークにおける前記出力変数yの入力次元をn次元とする場合、n次元ベクトルで表され、
活性化関数φは、第一引数である、W
Φ
(i)(d)y
(i-1)+b
Φ
(i)(d)、または、b
Φ
(i)(d)について同相写像となるものである。
【請求項3】
請求項1に記載のモデル学習装置であって、
前記モデルは、式(1)によって定義され、
前記写像Ψは、中間層が式(9)および式(10)の少なくとも一方によって表される多層ニューラルネットワークを表す式(8)~式(11)によって定義され、
前記写像Φは、中間層が式(13)および式(14)の少なくとも一方によって表される多層ニューラルネットワークを表す式(12)~式(15)によって定義される、
モデル学習装置。
【数8】
上記式(1)において、
等号の左辺は、前記出力変数yを表すn(nは整数)次元ベクトルの時間微分であり、
等号の右辺のうち、
前記入力変数vは、前記出力変数yの変化に影響を与える制御可能な入力を示すn次元ベクトルであり、
外生入力dは、前記出力変数yの変化に影響を与える制御不可能な入力を示すp(pは整数)次元ベクトルであり、
前記写像Ψは、前記入力変数vと前記外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、前記入力変数vについて全単射な写像であり、
前記写像Φは、前記出力変数yと前記外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、前記出力変数yについて全単射な写像であり、
関数Aは、前記外生入力dを入力として、n×n行列を返す関数であり、
【数9】
【数10】
【数11】
【数12】
上記式(8)~式(11)において、
添え字iは、多層ニューラルネットワークにおける層の番号を表し、
添え字L
Ψは、多層ニューラルネットワークの層数を表し、
前記入力変数vをn
a(n
aは整数)次元の入力変数v
aとn
b(n
bは整数)次元の入力変数v
bとに分割した場合、
重みW
Ψaは、n
a×n
a次元行列であり、
バイアスb
Ψaは、n
a次元ベクトルであり、
重みW
Ψbは、n
a×n
b次元行列であり、
バイアスb
Ψbは、n
b次元ベクトルであり、
活性化関数ψは、第一引数である、W
Ψa
(i)(d)v
a
(i-1)+b
Ψa
(i)、b
Ψa
(i)、または、W
Ψb
(i)(d)v
b
(i-1)+b
Ψb
(i)について同相写像となるものであり、
関数f
Ψ+は、任意の正値関数(正の値を返す関数)であり、
関数f
Ψは、任意の関数であり、
【数13】
【数14】
【数15】
【数16】
上記式(12)~式(15)において、
添え字iは、多層ニューラルネットワークにおける層の番号を表し、
添え字L
Φは、多層ニューラルネットワークの層数を表し、
前記出力変数yをn
c(n
cは整数)次元の出力変数y
cとn
d(n
dは整数)次元の出力変数y
dとに分割した場合、
重みW
Φcは、n
c×n
c次元行列であり、
バイアスb
Φcは、n
c次元ベクトルであり、
重みW
Φdは、n
c×n
d次元行列であり、
バイアスb
Φdは、n
d次元ベクトルであり、
活性化関数φは、第一引数である、W
Φc
(i)(d)y
c
(i-1)+b
Φc
(i)、b
Φc
(i)、または、W
Φd
(i)(d)y
d
(i-1)+b
Φd
(i)について同相写像となるものであり、
関数f
Φ+は、任意の正値関数(正の値を返す関数)であり、
関数f
Φは、任意の関数である。
【請求項4】
請求項2または請求項3に記載のモデル学習装置であって、
前記学習部は、前記式(1)において、内部変数uを用いた式(16)で前記写像Ψを定義し、内部変数xを用いた式(17)で前記写像Φを定義することで、式(18)によって定義される前記状態方程式を学習する、
モデル学習装置。
【数17】
【数18】
【数19】
【請求項5】
請求項4に記載のモデル学習装置であって、
前記学習部は、式(16)を離散時刻kの時間ステップで離散化した式(19)とし、式(17)を離散時刻kの時間ステップで離散化した式(20)とすることで、式(18)を離散時刻kの時間ステップで離散化した式(21)に示す状態方程式を学習する、
モデル学習装置。
【数20】
【数21】
【数22】
上記式(21)において、関数A´は、前記関数Aと同次元の行列である。
【請求項6】
請求項2または請求項3に記載のモデル学習装置であって、
前記学習部は、
前記モデルに対して、前記入出力データセットのうちの前記入力変数データのセットを与えて出力を推定し、
推定された出力と、前記入出力データセットのうちの前記出力変数データのセットと、の一致度を評価し、
評価の結果に応じて前記モデルの学習パラメータを更新することで、前記状態方程式を学習する、
モデル学習装置。
【請求項7】
システムを制御する制御装置であって、
請求項1から請求項3のいずれか一項に記載のモデル学習装置と、
前記学習部が学習した前記状態方程式を用いて、前記出力変数yの目標値に対応する前記入力変数vの目標値を決定する決定部と、
前記決定部によって決定される前記入力変数vの目標値を入力することで前記システムを制御する制御部と、を備える、
制御装置。
【請求項8】
システムに入力される入力変数v(ベクトル)と、前記システムから出力される出力変数y(ベクトル)との関係を表すモデルをモデル学習装置によって学習するモデル学習方法であって、
前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを取得する取得工程と、
前記取得工程において取得した前記モデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習工程と、
を備え、
前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式であり、
前記写像Ψは、前記入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、
前記写像Φは、前記出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となる、
モデル学習方法。
【請求項9】
システムに入力される入力変数v(ベクトル)と、前記システムから出力される出力変数y(ベクトル)との関係を表すモデルの学習を情報処理装置に実行させるコンピュータプログラムであって、
前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを取得する取得機能と、
前記取得機能によって取得する前記モデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習す
る学習機能と、を前記情報処理装置に実行させ、
前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式であり、
前記写像Ψは、前記入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、
前記写像Φは、前記出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル学習装置、制御装置、モデル学習方法、および、コンピュータプログラムに関する。
【背景技術】
【0002】
従来から、システムを制御するための入力と、この入力に対するシステムからの出力との関係を表すモデルを学習するモデル学習装置が知られている。例えば、特許文献1には、出力が所定の領域内におさまるように、入力を変換する全単射な写像を含むモデルを学習する技術が開示されている。特許文献2には、入出力を変換する2つの全単射な写像と線形の動的方程式とを含むモデルを学習するモデル学習装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-016709号公報
【特許文献2】特開2021-189934号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述したような先行技術によっても、モデル学習装置において、システムを安定的に制御可能なモデルを学習する技術については、なお改善の余地があった。例えば、特許文献1と特許文献2とのいずれにも、モデル学習装置が学習するモデルに含まれる全単射な写像が、入力成分が0であったときに対応する出力成分の値が0となることは、記載されていない。このため、特許文献1に記載のモデル学習装置によって学習されるモデル、および、特許文献2に記載のモデル学習装置によって学習されるモデルでは、入力成分が0になっても対応する出力成分が0とならないおそれがある。このようなモデルを用いてシステムを制御すると、システムが不安定になるおそれがある。
【0005】
本発明は、上述した課題を解決するためになされたものであり、システムにおける入力と出力との関係を表すモデルを学習するモデル学習装置において、システムを安定的に制御可能なモデルを学習することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上述の課題を解決するためになされたものであり、以下の形態として実現できる。
【0007】
(1)本発明の一形態によれば、システムに入力される入力変数v(ベクトル)と、前記システムから出力される出力変数y(ベクトル)との関係を表すモデルを学習するモデル学習装置が提供される。このモデル学習装置は、前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを記憶するモデル記憶部と、前記モデル記憶部に記憶されているモデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習部と、を備え、前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式であり、前記写像Ψは、前記入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、前記写像Φは、前記出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となる。
【0008】
この構成によれば、モデルは、システムに入力される入力変数vを入力とする全単射な写像Ψと、システムから出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式である。このような状態方程式は、写像Ψ,Φのそれぞれを内部変数とすることで、線形化することができるため、非線形な構造をしているモデルであっても、出力の目標を達成する最適な入力を求める最適制御問題の解が一意であることを保証することができる。また、写像Ψは、入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、写像Φは、出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となる。これにより、写像Ψ,Φのそれぞれを含む状態方程式は、特定の入力成分が0となったときに、対応する出力成分が0となることが保証される。したがって、モデル学習装置は、システムを安定的に制御可能なモデルを学習することができる。
【0009】
(2)上記形態のモデル学習装置において、前記モデルは、式(1)によって定義され、前記写像Ψは、多層ニューラルネットワークを表す式(2)~式(4)によって定義され、前記写像Φは、多層ニューラルネットワークを表す式(5)~式(7)によって定義されてもよい。
【数23】
上記式(1)において、等号の左辺は、前記出力変数yを表すn(nは整数)次元ベクトルの時間微分であり、等号の右辺のうち、前記入力変数vは、前記出力変数yの変化に影響を与える制御可能な入力を示すn次元ベクトルであり、外生入力dは、前記出力変数yの変化に影響を与える制御不可能な入力を示すp(pは整数)次元ベクトルであり、前記写像Ψは、前記入力変数vと前記外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、前記入力変数vについて全単射な写像であり、前記写像Φは、前記出力変数yと前記外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、前記出力変数yについて全単射な写像であり、関数Aは、前記外生入力dを入力として、n×n行列を返す関数である。
【数24】
【数25】
【数26】
上記式(2)~式(4)において、添え字iは、多層ニューラルネットワークにおける層の番号を表し、添え字L
Ψは、多層ニューラルネットワークの層数を表し、重みW
Ψは、多層ニューラルネットワークにおける前記入力変数vの入力次元をn次元とする場合、n×n行列で表され、バイアスb
Ψは、多層ニューラルネットワークにおける前記入力変数vの入力次元をn次元とする場合、n次元ベクトルで表され、活性化関数ψは、第一引数である、W
Ψ
(i)(d)y
(i-1)+b
Ψ
(i)(d)、または、b
Ψ
(i)(d)について同相写像となるものである。
【数27】
【数28】
【数29】
上記式(5)~式(7)において、添え字iは、多層ニューラルネットワークにおける層の番号を表し、添え字L
Φは、多層ニューラルネットワークの層数を表し、重みW
Φは、多層ニューラルネットワークにおける前記出力変数yの入力次元をn次元とする場合、n×n行列で表され、バイアスb
Φは、多層ニューラルネットワークにおける前記出力変数yの入力次元をn次元とする場合、n次元ベクトルで表され、活性化関数φは、第一引数である、W
Φ
(i)(d)y
(i-1)+b
Φ
(i)(d)、または、b
Φ
(i)(d)について同相写像となるものである。この構成によれば、式(1)のモデルに含まれる写像Ψ、Φのそれぞれには、出力変数yの変化に影響を与える制御不可能な入力である外生入力dが含まれている。これにより、式(1)のモデルは、制御不可能な外生入力dによる影響も考慮した状態方程式となるため、このようなモデルを用いることで、システムの将来の状態を高精度に予測することができる。また、式(2)~式(4)によって定義される多層ニューラルネットワークによって表される写像Ψは、多層ニューラルネットワークの中間層を表す式(3)において、入力変数v
(i-1)が0になると、入力変数v
(i)も0となる。すなわち、写像Ψの出力も0となる。また、式(5)~式(7)によって定義される多層ニューラルネットワークによって表される写像Φは、多層ニューラルネットワークの中間層を表す式(6)において、出力変数y
(i-1)が0になると、出力変数y
(i)も0となる。すなわち、写像Φの出力も0となる。式(1)のモデルは、式(2)~式(4)によって表される写像Ψと、式(5)~式(7)によって表される写像Φとを含むため、特定の入力変数が0となったときに、対応する出力変数が0となることが保証される。したがって、モデル学習装置は、システムを安定的に制御可能なモデルを学習することができる。
【0010】
(3)上記形態のモデル学習装置において、前記モデルは、式(1)によって定義され、前記写像Ψは、中間層が式(9)および式(10)の少なくとも一方によって表される多層ニューラルネットワークを表す式(8)~式(11)によって定義され、前記写像Φは、中間層が式(13)および式(14)の少なくとも一方によって表される多層ニューラルネットワークを表す式(12)~式(15)によって定義されてもよい。
【数30】
上記式(1)において、等号の左辺は、前記出力変数yを表すn(nは整数)次元ベクトルの時間微分であり、等号の右辺のうち、前記入力変数vは、前記出力変数yの変化に影響を与える制御可能な入力を示すn次元ベクトルであり、外生入力dは、前記出力変数yの変化に影響を与える制御不可能な入力を示すp(pは整数)次元ベクトルであり、前記写像Ψは、前記入力変数vと前記外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、前記入力変数vについて全単射な写像であり、前記写像Φは、前記出力変数yと前記外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、前記出力変数yについて全単射な写像であり、関数Aは、前記外生入力dを入力として、n×
n行列を返す関数である。
【数31】
【数32】
【数33】
【数34】
上記式(8)~式(11)において、添え字iは、多層ニューラルネットワークにおける層の番号を表し、添え字L
Ψは、多層ニューラルネットワークの層数を表し、前記入力変数vをn
a(n
aは整数)次元の入力変数v
aとn
b(n
bは整数)次元の入力変数v
bとに分割した場合、重みW
Ψaは、n
a×n
a次元行列であり、バイアスb
Ψaは、n
a次元ベクトルであり、重みW
Ψbは、n
a×n
b次元行列であり、バイアスb
Ψbは、n
b次元ベクトルであり、活性化関数ψは、第一引数である、W
Ψa
(i)(d)v
a
(i-1)+b
Ψa
(i)、b
Ψa
(i)、または、W
Ψb
(i)(d)v
b
(i-1)+b
Ψb
(i)について同相写像となるものであり、関数f
Ψ+は、任意の正値関数(正の値を返す関数)であり、関数f
Ψは、任意の関数である。
【数35】
【数36】
【数37】
【数38】
上記式(12)~式(15)において、添え字iは、多層ニューラルネットワークにおける層の番号を表し、添え字L
Φは、多層ニューラルネットワークの層数を表し、前記出力変数yをn
c(n
cは整数)次元の出力変数y
cとn
d(n
dは整数)次元の出力変数y
dとに分割した場合、重みW
Φcは、n
c×n
c次元行列であり、バイアスb
Φcは、n
c次元ベクトルであり、重みW
Φdは、n
c×n
d次元行列であり、バイアスb
Φdは、n
d次元ベクトルであり、活性化関数φは、第一引数である、W
Φc
(i)(d)y
c
(i-1)+b
Φc
(i)、b
Φc
(i)、または、W
Φd
(i)(d)y
d
(i-1)+b
Φd
(i)について同相写像となるものであり、関数f
Φ+は、任意の正値関数(正の値を返す関数)であり、関数f
Φは、任意の関数である。この構成によれば、モデル学習装置が学習する式(1)のモデルに含まれる写像Ψ、Φのそれぞれには、出力変数yの変化に影響を与える制御不可能な入力である外生入力dが含まれているため、式(1)のモデルを用いることで、システムの将来の状態を高精度に予測することができる。また、式(8)~式(11)によって定義される多層ニューラルネットワークによって表される写像Ψは、中間層が式(9)および式(10)の少なくとも一方によって表される。式(9)では、入力変数vの一部であるn
a次元の入力変数v
a
(i-1)が0になると、入力変数v
a
(i)も0となる。また、式(10)では、n
a次元の入力変数v
a
(i-1)、または、入力変数vの一部であるn
b次元の入力変数v
b
(i-1)が0になると、入力変数v
a
(i)も0となる。したがって、写像Ψの出力の一部も0となる。また、式(12)~式(15)によって定義される多層ニューラルネットワークによって表される写像Φは、中間層が式(13)および式(14)の少なくとも一方によって表される。式(13)では、出力変数yの一部であるn
c次元の出力変数y
c
(i-1)が0になると、出力変数y
c
(i)も0となる。また、式(14)では、n
c次元の出力変数y
c
(i-1)、または、出力変数yの一部であるn
d次元の出力変数y
d
(i-1)が0になると、出力変数y
d
(i)も0となる。したがって、写像Φの出力の一部も0となる。このように、式(1)のモデルは、式(8)~式(11)によって表される写像Ψと、式(12)~式(15)によって表される写像Φとを含むため、特定の入力成分が0となったときに、対応する出力成分が0となることが保証される。したがって、モデル学習装置は、システムを安定的に制御可能なモデルを学習することができる。
【0011】
(4)上記形態のモデル学習装置において、前記学習部は、前記式(1)において、内部変数uを用いた式(16)で前記写像Ψを定義し、内部変数xを用いた式(17)で前記写像Φを定義することで、式(18)によって定義される前記状態方程式を学習してもよい。
【数39】
【数40】
【数41】
この構成によれば、式(1)の状態方程式において、式(1)に示す状態方程式は、内部変数uを用いた式(16)で写像Ψを定義し、内部変数xを用いた式(17)で写像Φを定義することで線形化することができる。これにより、式(1)に示す状態方程式は、
解が一意となることを保証することができるため、モデル学習装置は、システムを安定的に制御可能なモデルを学習することができる。
【0012】
(5)上記形態のモデル学習装置において、前記学習部は、式(16)を離散時刻kの時間ステップで離散化した式(19)とし、式(17)を離散時刻kの時間ステップで離散化した式(20)とすることで、式(18)を離散時刻kの時間ステップで離散化した式(21)に示す状態方程式を学習してもよい。
【数42】
【数43】
【数44】
上記式(21)において、関数A´は、前記関数Aと同次元の行列である。この構成によれば、学習部は、式(16)~式(18)で表される状態方程式を、離散時刻kの時間ステップで離散化した式(19)~式(21)で表される状態方程式として学習する。これにより、内部変数x、uの数を有限とすることによって、モデルの学習に要する時間を短くすることができる。したがって、モデル学習装置は、システムを安定的に制御可能なモデルを比較的短時間で学習することができる。
【0013】
(6)上記形態のモデル学習装置において、前記学習部は、前記モデルに対して、前記入出力データセットのうちの前記入力変数データのセットを与えて出力を推定し、推定された出力と、前記入出力データセットのうちの前記出力変数データのセットと、の一致度を評価し、評価の結果に応じて前記モデルの学習パラメータを更新することで、前記状態方程式を学習してもよい。この構成によれば、学習部は、入出力データセットのうちの入力変数データセットを用いて推定された出力と、出力変数データセットとの一致度を評価する。学習部は、この一致度の評価に応じて、モデルについての学習パラメータを更新し、状態方程式を学習する。すなわち、学習部は、予め準備された入出力データセットを教師データとした学習手法に沿って、非線形の状態方程式を学習することができる。これにより、実際のシステムに沿ったモデルを学習することができるため、システムからの出力の目標値に対する追従性を向上することができる。したがって、モデル学習装置は、システムを安定的に制御可能であり、かつ、システムからの出力の目標値に対する追従性が高いモデルを学習することができる。
【0014】
(7)本発明の別の形態によれば、システムを制御する制御装置が提供される。この制御装置は、上記のモデル学習装置と、前記学習部が学習した前記状態方程式を用いて、前記出力変数yの目標値に対応する前記入力変数vの目標値を決定する決定部と、前記決定部によって決定される前記入力変数vの目標値を入力することで前記システムを制御する制御部と、を備える。この構成によれば、制御部は、特定の入力が0となったときに、対応する出力が0となることが保証されるモデルを用いて決定される入力変数vの目標値を入力することで、システムを制御する。これにより、制御装置は、システムを安定的に制御することができる。
【0015】
(8)本発明のさらに別の形態によれば、システムに入力される入力変数v(ベクトル)と、前記システムから出力される出力変数y(ベクトル)との関係を表すモデルを学習
するモデル学習方法が提供される。このモデル学習方法は、前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを取得する取得工程と、前記取得工程において取得した前記モデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習工程と、を備え、前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式であり、前記写像Ψは、前記入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、前記写像Φは、前記出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となる。この構成によれば、学習されるモデルは、システムに入力される入力変数vを入力とする全単射な写像Ψと、システムから出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式であるため、出力の目標を実現する最適な入力を求める最適制御問題の解が一意であることを保証することができる。また、写像Ψ,Φのいずれにおいても、特定の入力が0となったときに、対応する出力が0となることが保証されている。これにより、学習工程で学習されるモデルを用いることで、入力成分が0になると対応する出力成分が0となる。したがって、システムを安定的に制御可能なモデルを学習することができる。
【0016】
(9)本発明のさらに別の形態によれば、システムに入力される入力変数v(ベクトル)と、前記システムから出力される出力変数y(ベクトル)との関係を表すモデルの学習を情報処理装置に実行させるコンピュータプログラムが提供される。このコンピュータプログラムは、前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを取得する取得機能と、前記取得機能によって取得する前記モデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習機能と、を前記情報処理装置に実行させ、前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式であり、前記写像Ψは、前記入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、前記写像Φは、前記出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となる。この構成によれば、情報処理装置が学習するモデルは、システムに入力される入力変数vを入力とする全単射な写像Ψと、システムから出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式であるため、出力の目標を実現する最適な入力を求める最適制御問題の解が一意であることを保証することができる。また、写像Ψ,Φのいずれにおいても、特定の入力が0となったときに、対応する出力が0となることが保証されている。これにより、学習機能によって学習されるモデルを用いることで、入力成分が0になると対応する出力成分が0となる。したがって、システムを安定的に制御可能なモデルを学習することができる。
【0017】
なお、本発明は、種々の態様で実現することが可能であり、例えば、非線形システムのモデルを学習する装置および方法、学習により得られたモデルを用いて状態を推定する装置および方法、これらの装置が含まれるシステム、これらの装置およびシステムにおいて実行されるコンピュータプログラム、そのコンピュータプログラムを配布するためのサーバ装置、そのコンピュータプログラムを記憶した一時的でない記憶媒体等の形態で実現することができる。
【図面の簡単な説明】
【0018】
【
図1】第1実施形態のモデル学習装置の構成を示す模式図である。
【
図2】第1実施形態のモデル学習方法のフローチャートである。
【
図4】第1実施形態のモデルを用いた予測値と実測値とを比較する図である。
【
図5】比較例のモデルを用いた予測値と実測値とを比較する図である。
【
図6】第2実施形態のモデル学習装置の構成を示す模式図である。
【
図7】第3実施形態のモデル学習装置の構成を示す模式図である。
【
図8】第4実施形態の制御装置の構成を示す模式図である。
【発明を実施するための形態】
【0019】
<第1実施形態>
図1は、第1実施形態のモデル学習装置100の構成を示す模式図である。本実施形態のモデル学習装置100は、非線形システムのモデルを学習する装置である。ここで、「非線形システム」とは、任意の制御対象物(システム)に対する入出力パラメータの関係性が一次式では表せない、または、近似できない性質を持つシステムを意味する。また、本実施形態では「モデル」として、非線形の状態方程式を例示する。すなわち、モデル学習装置100は、任意のシステムの状態を、該システムから出力される出力変数yとみなすことで、システムに入力される入力変数vによって制御された結果、システムの出力変数yを予測する非線形の状態方程式を学習する。なお、「状態方程式」とは、「y・(t)=f(y(t)、・・・)」のように、現時刻tにおける出力変数y(t)によって、それ自身の出力変数y・(t)を決定する方程式を意味する。以降、表記の便宜上、任意の変数zの時間微分を「z・」と記載する。
【0020】
システムは、例えば、内燃機関、ハイブリッド機関、パワートレインなどの駆動機関、燃料電池、誘導電動機などが含まれる。内燃機関などの駆動機関をシステムとした場合、モデル学習装置100により学習されるモデルは、例えば、制御対象部のアクチュエータの操作量、制御対象部に対する外乱、制御対象部の状態、制御対象部の出力、制御対象部の出力目標値などの関係を表す非線形の状態方程式となる。より具体的には、モデル学習装置100は、車両に搭載された内燃機関をシステムとして想定する場合、モデル学習装置100は、入力変数vとしてのアクセルの開度、EGRバルブの開度などが入力されることで、内燃機関から出力される、内燃機関の出力値や二酸化炭素の排出量、炭化水素の排出量を出力変数yとして予測する状態方程式を学習する。
【0021】
車両に搭載された、内燃機関とモータとのハイブリッド機関をシステムとして想定する場合、モデル学習装置100は、入力変数vとしてのアクセルの開度、ブレーキ操作量、車両の加速度などが入力されることで、ハイブリッド機関から出力される、内燃機関の出力値、モータの出力値、バッテリの蓄電量や蓄電量の制限値を出力変数yとして予測する状態方程式を学習する。車両に搭載された内燃機関やハイブリッド機関をシステムとして想定する場合、走行によって変化する車両の走行状態(曲がっている状態か否か、坂道を上っている状態か否かなど)が初期条件となる。
【0022】
燃料電池をシステムとして想定する場合、モデル学習装置100は、入力変数vとしての供給燃料の量が入力されることで、発生電力を出力変数yとして予測する状態方程式を学習する。誘導電動機をシステムとして想定する場合、モデル学習装置100は、入力変数vとしての電源電圧が入力されることで、電動機の回転数を出力変数yとして予測する状態方程式を学習する。なお、本実施形態のモデル学習装置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と、を有している。
【0026】
モデル記憶部121は、学習部112による状態方程式の学習のために用いられるモデルを予め記憶している。本実施形態では、モデル記憶部121に記憶されたモデルは、入力変数vを入力とする全単射な写像Ψと、出力変数yを入力とする全単射な写像Φと、を含む状態方程式であって、式(1)により定義される。ここで、「全単射」とは、集合Aの写像の結果が集合Bであるとした場合に、AとBの各要素が必ず一対一の対応関係を持つことを意味する。これは、例えば、関数fが全単射である場合、一意の逆関数f
-1が存在することと同義である。
【数45】
上記式(1)において、等号の左辺は、出力変数yを表すn(nは整数)次元ベクトルの時間微分である。上記式(1)において、等号の右辺のうち、入力変数vは、出力変数yの変化に影響を与える制御可能な入力を示すn次元ベクトルであり、外生入力dは、出力変数yの変化に影響を与える制御不可能な入力を示すp(pは整数)次元ベクトルである。写像Ψは、入力変数vと外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、入力変数vについて全単射な写像である。写像Φは、出力変数yと外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、出力変数yについて全単射な写像である。関数Aは、外生入力dを入力として、n×n行列を返す関数である。
【0027】
本実施形態では、式(1)に含まれる全単射な写像Ψは、多層ニューラルネットワークを表す以下の式(2)~式(4)によって定義される。
【数46】
【数47】
【数48】
上記式(2)~式(4)において、添え字iは、多層ニューラルネットワークにおける層の番号を表し、添え字L
Ψは、多層ニューラルネットワークの層数を表す。重みW
Ψは、多層ニューラルネットワークにおける入力変数vの入力次元をn次元とする場合、n×n行列で表される。バイアスb
Ψは、多層ニューラルネットワークにおける入力変数vの入力次元をn次元とする場合、n次元ベクトルで表される。重みW
Ψ、および、バイアスb
Ψは、外生入力dの大きさに応じて変化してもよい。活性化関数ψは、第一引数である、W
Ψ
(i)(d)y
(i-1)+b
Ψ
(i)(d)、または、b
Ψ
(i)(d)について同相写像となるものである。活性化関数ψは、外生入力dの大きさに応じて変化してもよい。多層ニューラルネットワークの中間層を示す式(3)では、入力変数v(ベクトル)の全ての
要素が0であれば、式(2)は、0となる。重みW
Ψが対角行列である場合、入力変数vのj番目の要素が0であれば、写像Ψのj番目の要素も0となる。
【0028】
本実施形態では、式(1)に含まれる全単射な写像Φは、多層ニューラルネットワークを表す式(5)~式(7)によって定義される。
【数49】
【数50】
【数51】
上記式(5)~式(7)において、添え字iは、多層ニューラルネットワークにおける層の番号を表し、添え字L
Φは、多層ニューラルネットワークの層数を表す。重みW
Φは、多層ニューラルネットワークにおける出力変数yの入力次元をn次元とする場合、n×n行列で表される。バイアスb
Φは、多層ニューラルネットワークにおける出力変数yの入力次元をn次元とする場合、n次元ベクトルで表される。重みW
Φ、および、バイアスb
Φは、外生入力dの大きさに応じて変化してもよい。活性化関数φは、第一引数である、W
Φ
(i)(d)y
(i-1)+b
Φ
(i)(d)、または、b
Φ
(i)(d)について同相写像となるものである。活性化関数φは、外生入力dの大きさに応じて変化してもよい。多層ニューラルネットワークの中間層を示す式(6)では、出力変数y(ベクトル)の全ての要素が0であれば、式(6)は、0となる。重みW
Φが対角行列である場合、出力変数yのj番目の要素が0であれば、写像Φのj番目の要素も0となる。
【0029】
データセット記憶部122は、式(1)のモデルに対する入力変数データと出力変数データの組を複数含んでいる入出力データセットを予め記憶している。この入力変数データと出力変数データの組は、システムに対する実験や計算により予め求められている。入出力データセットは、学習部112による状態方程式の学習のために用いられる教師データとして用いられる。以降、入出力データセットのうち、複数の入力変数データをまとめて「入力変数データセット」とも呼び、複数の出力変数データをまとめて「出力変数データセット」とも呼ぶ。
【0030】
通信部140は、モデル学習装置100と他の装置との間における、通信インターフェースを介した通信を制御する。他の装置としては、例えば、システムを制御する制御装置や、他の情報処理装置、および、データセット記憶部122から入出力データセットを取得するための計測器などが挙げられる。入出力部150は、モデル学習装置100と、利用者との間の情報の入出力に使用される種々のインターフェースである。入出力部150としては、例えば、入力部としてのタッチパネル、キーボード、マウス、操作ボタン、マイクや、出力部としてのタッチパネル、モニタ、スピーカー、LED(Light Emitting Diode)インジケータなどが挙げられる。
【0031】
図2は、第1実施形態のモデル学習方法のフローチャートである。モデル学習装置100におけるモデル学習方法は、例えば、所定のアプリケーションの起動などの利用者からの要求などによって実行される。本実施形態では、式(1)に示す状態方程式において、出力変数y、入力変数v、システムにおける外生入力d、出力変数yの時間微分y・、および、外生入力dの時間微分d・を含む既知の入出力データセットを用いて、式(22)に示す関数Fの関数形を学習(推定)する。ここで、出力変数yは、n次元ベクトルであ
り、入力変数vは、n次元ベクトルであり、外生入力dは、p次元ベクトルである。
【数52】
【0032】
最初に、学習部112は、モデル記憶部121に記憶されているモデルを取得する(ステップS11)。具体的には、学習部112は、関数Fを学習するためのモデルを式(1)に示す状態方程式と想定する。学習部112は、式(1)に示す状態方程式において、各変数の値をゼロまたはランダムな値とすることで、各変数を初期化する。
【数53】
【0033】
本実施形態では、学習部112は、式(1)に含まれる写像Ψを式(16)で示す内部変数uと定義し、式(1)に含まれる写像Φを式(17)で示す内部変数xと定義する。これにより、学習部112は、式(1)を内部変数u、xで示した式(18)の状態方程式を学習することとなる。式(1)の状態方程式に含まれる写像Φ、Ψのそれぞれを内部変数x、uのそれぞれで定義する効果は、後述する。
【数54】
【数55】
【数56】
なお、式(17)を式(23)とし、式(18)を式(24)に置き換えてもよい。
【数57】
【数58】
【0034】
本実施形態では、学習部112は、式(16)~式(18)を、離散時刻kにおいて所定の時間ステップΔtで離散化した式(19)~式(21)に示す状態方程式を読み込む。
【数59】
【数60】
【数61】
上記式(21)において、関数A´は、関数Aと同次元の行列である。
【0035】
次に、学習部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]は、出力変数データセットに相当する。
【0036】
次に、学習部112は、モデルに入力データセットを与えて出力を推定する(ステップS13)。具体的には、学習部112は、ステップS11で取得し初期化した式(1)の状態方程式に対して、ステップS12で取得した入力変数データセット[y
j、v
j、d
j、d・
j]を与える。これにより、出力変数y・jの推定値(式(25)の左辺)を得ることができる。なお、(∂Φ/∂y)
-1は、出力変数yおよび外生入力dの関数であるため、出力変数y
jおよび外生入力d
jを代入することで評価可能である。また、式(17)の右辺の(∂Φ/∂d)は、入力変数vおよび外生入力dの関数であるため、入力変数v
jおよび外生入力d
jを代入することで評価可能である。
【数62】
【0037】
次に、学習部112は、推定された出力と出力変数データセットとの一致度を評価する(ステップS14)。具体的には、学習部112は、ステップS13で得られた出力変数y・
jの推定値と、ステップS12で取得した出力変数データセット[y・
j]との一致度を評価する。学習部112は、例えば、式(26)に示す二乗平均誤差(MSE:Mean Square Error)を一致度の指標として用いることができる。MSEの場合、等号の左辺Jの値が小さければ小さいほど、一致度が高い。なお、学習部112は、二乗平均誤差の代わりに、例えば、絶対平均誤差率や、交差エントロピーなどの指標を用いて、一致度を評価してもよい。
【数63】
【0038】
次に、学習部112は、一致度が十分であるか否かを判定する(ステップS15)。例えば、式(18)のMSEを用いる場合、学習部112は、Jの値が所定値以下である場合に、一致度が十分であると判定できる。なお、学習部112は、Jの値の変化率が所定値以下である場合に、一致度が十分であると判定してもよい。所定値は任意に決定できる。
【0039】
一致度が十分でない場合(ステップS15:NO)、学習部112は、ステップS16に進み、ステップS11で定義した式(1)のモデルにおける、例えば、式(1)に含まれる関数A、式(2)~式(7)に含まれる重みWΨ、WΦやバイアスbΨ、bΦなどの学習パラメータを更新する。学習部112は、例えば、バックプロパゲーションにより各学習パラメータに対するJの勾配を評価し、各種の勾配法に基づいて、各学習パラメータを更新してもよい。その後、学習部112は、ステップS13に進み、出力の推定および評価を繰り返す。
【0040】
一致度が十分である場合(ステップS15:YES)、学習部112は、処理を終了する。この際、学習部112は、学習した関数Fについて、入出力部150に出力してもよ
く、記憶部120に記憶してもよく、通信部140を介して他の装置に送信してもよい。
【0041】
本実施形態のモデル学習装置100がシステムの操作量を制御する制御装置と組み合わされている場合、モデル学習装置100は、学習部112において学習した関数Fを制御装置に出力する。制御装置では、出力された関数Fを用いて、システムの現在時刻の出力から、将来の出力を制御するための入力を計算する。制御装置は、計算された入力をシステムに出力し、システムを制御する。
【0042】
本実施形態のモデル学習装置100が学習するモデルでは、特定の入力成分が0になると対応する出力成分が0となることが保証されている。これにより、制御対象のシステムを安定的に制御することができる。ここで、本実施形態のモデル学習装置100によって学習されるモデルの一例として、内燃機関の吸排気系に関するモデルについて検討した結果を説明する。本検討では、入力変数vとして式(27)に示す項目と、出力変数yとして式(28)に示す項目とを用いた。
【数64】
【数65】
【0043】
図3は、入力変数の時間変化を示す図である。モデル学習装置100によって学習されたモデルにおける、EGRバルブ開度(入力変数)とEGR率(出力変数)との関係について具体的に説明する。
図3には、内燃機関におけるEGRバルブ開度の時間変化の一例を示している。
図3に示すEGRバルブ開度の時間変化では、時間t1から時間t2の間において、EGRバルブ開度が0となっている。
【0044】
図4は、本実施形態のモデル学習装置100によって学習されるモデルを用いた予測値と実測値とを比較する図である。
図4には、
図3に示すEGRバルブ開度の時間変化に対して、モデル学習装置100によって学習されるモデルを用いて予測したEGR率の時間変化を一点鎖線Pv1で示し、実際のEGR率の時間変化を実線Av1で示している。
図4に示すように、
図3に示すEGRバルブ開度が0となる時間t1から時間t2までの間において、モデルを用いて予測したEGR率も0となっている。このように、モデル学習装置100によって学習されるモデルでは、特定の入力変数v(v1:EGRバルブ開度)が0になると、対応する出力変数y(y1:EGR率)が0となる。
【0045】
図5は、比較例のモデル学習装置によって学習されるモデルを用いた予測値と実測値とを比較する図である。
図5には、
図3に示すEGRバルブ開度の時間変化に対して、比較例のモデル学習装置によって学習されるモデルを用いて予測したEGR率の時間変化を一点鎖線Pv0で示し、実際のEGR率の時間変化を実線Av1で示している。比較例のモデル学習装置が学習するモデルは、式(1)に示す状態方程式であるものの、写像Ψ,Φのそれぞれが、式(2)~式(4)、および、式(5)~式(7)のように定義されていない。
【0046】
図5に示すように、
図3に示すEGRバルブ開度が0となる時間t1から時間t2までの間において、比較例のモデル学習装置が学習するモデルを用いて予測したEGR率は、0になっていない。このように比較例のモデル学習装置によって学習されるモデルでは、入力変数vが0になったとき、出力変数yが0となる保証がない。このため、このようなモデルを用いてシステムを制御すると、特定の入力変数v(v1:EGRバルブ開度)が0になっても、対応する出力変数y(y1:EGR率)が0にならないため、システムの制御が不安定になるおそれがある。
【0047】
以上説明した、本実施形態のモデル学習装置100によれば、モデル学習装置100が学習するモデルは、システムに入力される入力変数vを入力とする全単射な写像Ψと、システムから出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式である。このような状態方程式は、写像Ψ,Φのそれぞれを内部変数とすることで、線形化することができるため、非線形な構造をしているモデルであっても、出力の目標値を達成する最適な入力を求める最適制御問題の解が一意であることを保証することができる。また、写像Ψは、入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、写像Φは、出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となる。これにより、特定の入力成分が0となったときに、対応する出力成分が0となることが保証されるため、モデルを用いたシステムの制御において意図しない制御となりにくくなる。したがって、モデル学習装置100は、システムを安定的に制御可能なモデルを学習することができる。すなわち、モデル学習装置100は、システムを安定的に制御する制御装置を構築可能なモデルを学習することができる
【0048】
また、本実施形態のモデル学習装置100によれば、式(1)のモデルに含まれる写像Ψ、Φのそれぞれには、出力変数yの変化に影響を与える制御不可能な入力である外生入力dが含まれている。これにより、式(1)のモデルは、このような外生入力dによる影響も考慮した状態方程式となるため、このモデルを用いることで、システムの将来の状態を高精度に予測することができる。また、式(2)~式(4)によって定義される多層ニューラルネットワークによって表される写像Ψは、多層ニューラルネットワークの中間層を表す式(3)において、入力変数v(i-1)が0になると、入力変数v(i)も0となる。すなわち、写像Ψの出力も0となる。また、式(5)~式(7)によって定義される多層ニューラルネットワークによって表される写像Φは、多層ニューラルネットワークの中間層を表す式(6)において、出力変数y(i-1)が0になると、出力変数y(i)も0となる。すなわち、写像Φの出力も0となる。このように、式(1)で表されるモデルは、式(2)~式(4)によって表される写像Ψと、式(5)~式(7)によって表される写像Φとを含むため、特定の入力が0となったときに、対応する出力が0となることが保証される。したがって、モデル学習装置100は、システムを安定的に制御可能なモデルを学習することができる。
【0049】
また、本実施形態のモデル学習装置100によれば、式(2)~式(4)で定義される多層ニューラルネットワークで表されている写像Ψは、中間層を示す式(3)では、入力変数v(ベクトル)の全ての要素が0であれば、式(2)は、0となる。重みWΨが対角行列である場合、入力変数vのj番目の要素が0であれば、写像Ψのj番目の要素も0となる。また、式(5)~式(7)で定義される多層ニューラルネットワークで表されている写像Φは、中間層を示す式(6)では、出力変数y(ベクトル)の全ての要素が0であれば、式(6)は、0となる。重みWΦが対角行列である場合、出力変数yのj番目の要素が0であれば、写像Φのj番目の要素も0となる。これらの性質により、式(1)で表されるモデルは、原点不変性を有する。ここで、「原点不変性」とは、式(1)に含まれる関数Aが安定行列であること、すなわち、すべての固有値の実部が負である場合、入力変数vの全ての要素を0で一定にしておけば、出力変数yは必ず全ての要素で0に収束する性質を指す。より詳細には、入力変数vが0であれば式(16)に含まれる内部変数u
が0であり、式(17)に含まれる内部変数xの時間微分x・が0となるのは内部変数xが0のときであることから、出力変数yは、0となる。このように、学習部112において学習されるモデルを用いることで、入力変数vが0になると対応する出力変数yが0となる。したがって、モデル学習装置100は、システムを安定的に制御可能なモデルを学習することができる。
【0050】
また、本実施形態のモデル学習装置100によれば、学習部112は、式(1)において、内部変数uを用いた式(16)で写像Ψを定義し、内部変数xを用いた式(17)で写像Φを定義することで、式(18)によって定義される状態方程式を学習する。これにより、式(18)に示すように、式(1)に示す状態方程式を線形化することができるため、式(1)に示す状態方程式は、出力の目標値を達成する最適な入力を求める最適制御問題の解が一意となることを保証することができる。したがって、モデル学習装置100は、システムを安定的に制御可能なモデルを学習することができる。
【0051】
また、本実施形態のモデル学習装置100によれば、学習部112は、式(16)を離散時刻kの時間ステップで離散化した式(19)とし、式(17)を離散時刻kの時間ステップで離散化した式(20)とすることで、式(18)を離散時刻kの時間ステップで離散化した式(21)に示す状態方程式を学習する。これにより、内部変数x、uの数を有限とすることにより、モデルの学習に要する時間を短くすることができる。したがって、モデル学習装置100は、システムを安定的に制御する制御装置を構築可能なモデルを比較的短時間で学習することができる。
【0052】
また、本実施形態のモデル学習装置100によれば、学習部112は、入出力データセットのうちの入力変数データセットを用いて推定された出力と、出力変数データセットとの一致度を評価する。学習部112は、この一致度の評価に応じて、モデルについての学習パラメータを更新し、状態方程式を学習する。すなわち、学習部112は、予め準備された入出力データセットを教師データとした学習手法に沿って、非線形の状態方程式を学習することができる。これにより、実際のシステムに沿ったモデルを学習することができる。したがって、モデル学習装置100は、システムを安定的に制御可能であり、かつ、システムからの出力の目標値に対する追従性が高いモデルを学習することができる。
【0053】
また、本実施形態のモデル学習方法によれば、学習されるモデルは、システムに入力される入力変数vを入力とする全単射な写像Ψと、システムから出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式であるため、出力の目標値を達成する最適な入力を求める最適制御問題の解が一意であることを保証することができる。また、写像Ψ,Φのいずれにおいても、特定の入力が0となったときに、対応する出力が0となることが保証されている。これにより、
図2に示すモデル学習方法によって学習されるモデルを用いることで、入力成分が0になると対応する出力成分が0となる。したがって、モデル学習装置100は、システムを安定的に制御可能なモデルを学習することができる。
【0054】
また、本実施形態のコンピュータプログラムによれば、導出されるモデルは、システムに入力される入力変数vを入力とする全単射な写像Ψと、システムから出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式であるため、解が一意であることを保証することができる。また、写像Ψ,Φのいずれにおいても、特定の入力が0となったときに、対応する出力が0となることが保証されている。これにより、CPU110によって学習されるモデルを用いることで、入力成分が0になると対応する出力成分が0となるなる。したがって、モデル学習装置100は、システムを安定的に制御可能なモデルを学習することができる。
【0055】
<第2実施形態>
図6は、第2実施形態のモデル学習装置200の構成を示す模式図である。第2実施形態のモデル学習装置200は、第1実施形態のモデル学習装置100(
図1)と比較すると、モデル記憶部に記憶されているモデルの構成が異なる。
【0056】
モデル学習装置200は、例えば、パーソナルコンピュータ(PC:Personal
Computer)であり、CPU110と、記憶部220と、ROM/RAM130と、通信部140と、入出力部150と、を備えている。モデル学習装置200の各部は、バスにより相互に接続されている。記憶部220は、ハードディスク、フラッシュメモリ、メモリカードなどで構成される記憶媒体である。記憶部220は、モデル記憶部221と、データセット記憶部122と、を有している。
【0057】
モデル記憶部221は、学習部112による状態方程式の学習のために用いられるモデルを予め記憶している。本実施形態では、モデル記憶部221に記憶されたモデルは、入力変数vを入力とする全単射な写像Ψと、出力変数yを入力とする全単射な写像Φと、を含む状態方程式であって、式(1)により定義される。
【数66】
【0058】
本実施形態では、式(1)に含まれる全単射な写像Ψは、中間層が式(9)および式(10)の少なくとも一方によって表される多層ニューラルネットワークを表す式(8)~式(11)によって定義される。
【数67】
【数68】
【数69】
【数70】
上記式(8)~式(11)において、添え字iは、多層ニューラルネットワークにおける層の番号を表し、添え字L
Ψは、多層ニューラルネットワークの層数を表す。入力変数vをn
a(n
aは整数)次元の入力変数v
aとn
b(n
bは整数)次元の入力変数v
bとに分割した場合、重みW
Ψaは、n
a×n
a次元行列であり、バイアスb
Ψaは、n
a次元ベクトルであり、重みW
Ψbは、n
a×n
b次元行列であり、バイアスb
Ψbは、n
b次元ベクトルである。活性化関数ψは、第一引数である、W
Ψa
(i)(d)v
a
(i-1)+b
Ψa
(i)、b
Ψa
(i)、または、W
Ψb
(i)(d)v
b
(i-1)+b
Ψb
(i)について同相写像となるものであり、関数f
Ψ+は、任意の正値関数(正の値を返す関数)であり、関数f
Ψは、任意の関数である。なお、重みW
Ψa、W
Ψb、および、バイアスb
Ψa、b
Ψbは、外生入力dの大きさに応じて変化してもよい。本実施形態では、写像Ψを定義する多層ニューラルネットワークの中間層は、式(9)と式(10)とを交互に用いる。
【0059】
本実施形態では、式(1)に含まれる全単射な写像Φは、中間層が式(13)および式(14)の少なくとも一方によって表される多層ニューラルネットワークを表す式(12)~式(15)によって定義される。
【数71】
【数72】
【数73】
【数74】
上記式(12)~式(15)において、添え字iは、多層ニューラルネットワークにおける層の番号を表し、添え字L
Φは、多層ニューラルネットワークの層数を表す。出力変数yをn
c(n
cは整数)次元の出力変数y
cとn
d(n
dは整数)次元の出力変数y
dとに分割した場合、重みW
Φcは、n
c×n
c次元行列であり、バイアスb
Φcは、n
c次元ベクトルであり、重みW
Φdは、n
c×n
d次元行列であり、バイアスb
Φdは、n
d次元ベクトルである。活性化関数φは、第一引数である、W
Φc
(i)(d)y
c
(i-1)+b
Φc
(i)、b
Φc
(i)、または、W
Φd
(i)(d)y
d
(i-1)+b
Φd
(i)について同相写像となるものであり、関数f
Φ+は、任意の正値関数(正の値を返す関数)であり、関数f
Φは、任意の関数である。重みW
Φc、W
Φd、および、バイアスb
Φc、b
Φdは、外生入力dの大きさに応じて変化してもよい。本実施形態では、写像Φを定義する多層ニューラルネットワークの中間層は、式(13)と式(14)とを交互に用いる。
【0060】
モデル学習装置200におけるモデル学習方法は、第1実施形態のモデル学習方法と同じ方法によって行われる。具体的には、最初に、学習部112は、モデル記憶部221に記憶されているモデルを取得する。本実施形態では、学習部112は、式(8)~式(11)によって定義される写像Ψと、式(12)~式(15)によって定義される写像Φとを含む、式(1)のモデルを取得する。その後、学習部112は、入出力データセットを取得し、モデルに入力データセットを与えて出力を推定する。学習部112は、推定された出力と出力変数データセットとの一致度を評価する。学習部112は、一致度が十分でない場合、出力の推定および評価を繰り返す。学習部112は、一致度が十分である場合、処理を終了する。
【0061】
以上説明した、本実施形態のモデル学習装置200によれば、モデル学習装置200が学習する式(1)のモデルに含まれる写像Ψ、Φのそれぞれには、出力変数yの変化に影響を与える制御不可能な入力である外生入力dが含まれているため、式(1)のモデルを用いることで、システムの将来の状態を高精度に予測することができる。また、式(8)~式(11)によって定義される多層ニューラルネットワークによって表される写像Ψは、中間層が式(9)および式(10)の少なくとも一方によって表される。式(9)では、入力変数vの一部であるna次元の入力変数va
(i-1)が0になると、入力変数va
(i)も0となる。また、式(10)では、na次元の入力変数va
(i-1)、または、入力変数vの一部であるnb次元の入力変数vb
(i-1)が0になると、入力変数va
(i)も0となる。したがって、写像Ψの出力の一部も0となる。また、式(12)~式(15)によって定義される多層ニューラルネットワークによって表される写像Φは、中間層が式(13)および式(14)の少なくとも一方によって表される。式(13)では、出力変数yの一部であるnc次元の出力変数yc
(i-1)が0になると、出力変数yc
(i)も0となる。また、式(14)では、nc次元の出力変数yc
(i-1)、または、出力変数yの一部であるnd次元の出力変数yd
(i-1)が0になると、出力変数yd
(i)も0となる。したがって、写像Φの出力の一部も0となる。このように、式(1)で表されるモデルは、式(8)~式(11)によって表される写像Ψと、式(12)~式(15)によって表される写像Φとを含むため、特定の入力が0となったときに、対応する出力が0となることが保証される。したがって、モデル学習装置200は、システムを安定的に制御可能なモデルを学習することができる。
【0062】
<第3実施形態>
図7は、第3実施形態のモデル学習装置300の構成を示す模式図である。第3実施形態のモデル学習装置300は、第1実施形態のモデル学習装置100(
図1)と比較すると、モデル記憶部に記憶されているモデルの構成が異なる。
【0063】
モデル学習装置300は、例えば、パーソナルコンピュータ(PC:Personal
Computer)であり、CPU110と、記憶部320と、ROM/RAM130と、通信部140と、入出力部150と、を備えている。モデル学習装置300の各部は、バスにより相互に接続されている。記憶部320は、ハードディスク、フラッシュメモリ、メモリカードなどで構成される記憶媒体である。記憶部320は、モデル記憶部321と、データセット記憶部122と、を有している。
【0064】
モデル記憶部321は、学習部112による状態方程式の学習のために用いられるモデルを予め記憶している。本実施形態では、モデル記憶部321に記憶されたモデルは、入力変数vを入力とする全単射な写像Ψと、出力変数yを入力とする全単射な写像Φと、を含む状態方程式であって、式(1)により定義される。
【数75】
【0065】
本実施形態では、式(1)に含まれる全単射な写像Ψは、多層ニューラルネットワークを表す以下の式(2)~式(4)によって定義される。
【数76】
【数77】
【数78】
【0066】
本実施形態では、式(1)に含まれる全単射な写像Φは、中間層が式(13)および式(14)の少なくとも一方によって表される多層ニューラルネットワークを表す式(12)~式(15)によって定義される。本実施形態では、写像Φを定義する多層ニューラルネットワークの中間層は、式(13)と式(14)とを交互に用いる。
【数79】
【数80】
【数81】
【数82】
【0067】
モデル学習装置300におけるモデル学習方法は、第1実施形態のモデル学習方法と同じ方法によって行われる。具体的には、最初に、学習部112は、モデル記憶部321に記憶されているモデルを取得する。本実施形態では、学習部112は、式(2)~式(4)によって定義される写像Ψと、式(12)~式(15)によって定義される写像Φとを含む、式(1)のモデルを取得する。その後、学習部112は、入出力データセットを取得し、モデルに入力データセットを与えて出力を推定する。学習部112は、推定された出力と出力変数データセットとの一致度を評価する。学習部112は、一致度が十分でない場合、出力の推定および評価を繰り返す。学習部112は、一致度が十分である場合、処理を終了する。
【0068】
以上説明した、本実施形態のモデル学習装置300によれば、式(1)のモデルに含まれる写像Ψ、Φのそれぞれには、出力変数yの変化に影響を与える制御不可能な入力である外生入力dが含まれている。これにより、式(1)のモデルは、出力変数yの変化に影響を与える制御不可能な外生入力dによる影響も考慮した状態方程式となるため、このモデルを用いることで、システムの将来の状態を高精度に予測することができる。したがって、システムを高精度に制御することができるモデルを学習することができる。また、式(2)~式(4)によって定義される多層ニューラルネットワークによって表される写像Ψは、中間層を表す式(3)において、入力変数v(i-1)が0になると、入力変数v(i)も
0となる。すなわち、写像Ψの出力も0となる。また、式(12)~式(15)によって定義される多層ニューラルネットワークによって表される写像Φは、中間層が式(13)および式(14)の少なくとも一方によって表される。式(13)では、出力変数yの一部であるnc次元の出力変数yc
(i-1)が0になると、出力変数yc
(i)も0となる。また、式(14)では、nc次元の出力変数yc
(i-1)、または、出力変数yの一部であるnd次元の出力変数yd
(i-1)が0になると、出力変数yd
(i)も0となる。したがって、写像Φの出力の一部も0となる。このように、式(1)で表されるモデルは、式(2)~式(4)によって表される写像Ψと、式(12)~式(15)によって表される写像Φとを含むため、特定の入力が0となったときに、対応する出力が0となることが保証される。したがって、モデル学習装置300は、システムを安定的に制御可能なモデルを学習することができる。
【0069】
また、本実施形態のモデル学習装置100によれば、写像Ψは、式(2)~式(4)で定義される多層ニューラルネットワークで表される。これにより、式(3)では、入力変数v(ベクトル)の全ての要素が0であれば、式(2)は、0となる。重みWΨが対角行列である場合、入力変数vのj番目の要素が0であれば、写像Ψのj番目の要素も0となる。写像Φは、式(12)~式(15)によって定義される多層ニューラルネットワークによって表される。これにより、例えば、nc次元の出力変数ycが0であれば、yc
(Lφ)も0となる。すなわち、写像Φ(y,d)の添え字cに対応する成分が0となる。これらの性質により、式(1)で表されるモデルは、部分空間不変性を有する。具体的には、写像Ψでは重みWΨが対角行列である場合では、入力変数v、内部変数u,x、および、出力変数yのそれぞれを、式(12)~式(15)に記載の添え字c,dに対応させて、例えば、nc次元の入力変数vcとnd次元の入力変数vdとに分割する。この場合、入力変数vcが0であるとき、内部変数ucも0となり、内部変数xの時間微分x・が0となるのは内部変数xが0のときであることから、内部変数xと内部変数uとは同値であり、xcも0となる。したがって、出力変数yaも0となる。このように、学習部112において学習されるモデルは、入力成分が0になると対応する出力成分が0となる。したがって、モデル学習装置300は、システムを安定的に制御可能なモデルを学習することができる。
【0070】
<第4実施形態>
図8は、第4実施形態の制御装置400の構成を示す模式図である。第4実施形態の制御装置400は、CPUが決定部を有する点が異なる。
【0071】
制御装置400は、車載ECU(Electronic Control Unit)として実現され得る。本実施形態の制御装置400は、制御装置400をシステム500の制御のために用いることができる。システム500とは、第1実施形態と同様に、例えば、内燃機関、ハイブリッド機関、パワートレインなどの駆動機関、燃料電池、誘導発電機などである。なお、制御装置400は、例えば、パーソナルコンピュータであって、システム500の分析のために用いてもよい。
【0072】
制御装置400は、CPU410と、記憶部120と、ROM/RAM130と、通信部140と、入出力部150と、を備えている。制御装置400の各部は、バスにより相互に接続されている。なお、制御装置400の機能部のうちの少なくとも一部は、ASIC(Application Specification Integrated Circuit)により実現されてもよい。
【0073】
CPU410は、制御部411と、学習部112と、決定部413と、を備えている。制御部411は、第1実施形態の制御部111と同様に、ROM130に格納されているコンピュータプログラムをRAM130に展開して実行することにより、制御装置400の各部を制御する。学習部212は、システム500の状態を表す出力変数yを予測する
ための非線形の状態方程式を学習する。決定部413は、学習部112が学習した状態方程式を用いて、出力変数yの目標値に対応する入力変数vの目標値を決定する。制御部411は、決定部413によって決定された入力変数vの目標値をシステム500に向けて出力する。システム500は、入力される入力変数vの目標値に応じて作動する。
【0074】
以上説明した、本実施形態の制御装置400によれば、学習部112が取得するモデルは、システム500に入力される入力変数vを入力とする全単射な写像Ψと、システム500から出力される出力変数yを入力とする全単射な写像Φと、を含む状態方程式である。このような状態方程式は、写像Ψ、Φのそれぞれを内部変数とすることで、線形化することができるため、非線形な構造をしているモデルを用いた制御問題においても、出力の目標値を達成する最適な入力を求める最適制御の解が一意であることを保証することができる。これにより、制御装置400は、システム500を安定的に制御することができる。
【0075】
また、本実施形態の制御装置400によれば、制御部は、特定の入力が0となったときに、対応する出力が0となることが保証されるモデルを用いて決定される入力変数vの目標値を入力することで、システム500を制御する。これにより、制御装置400によるシステム500に対する制御は、意図しないものとなりにくくなる。したがって、制御装置400は、システム500を安定的に制御することができる。
【0076】
<本実施形態の変形例>
本発明は上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。また、上記実施形態において、ハードウェアによって実現されるとした構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されるとした構成の一部をハードウェアに置き換えるようにしてもよい。
【0077】
[変形例1]
上述の実施形態では、モデル学習装置、または、モデル学習装置を備える制御装置の構成の一例を示した。しかしながら、モデル学習装置および制御装置の構成は、種々の変形が可能であり、これらの構成に限定されない。例えば、モデル学習装置および制御装置の少なくとも一方は、ネットワーク上に配置された複数の情報処理装置(サーバ装置や、車載ECU等を含む)が協働することによって構成されてもよい。
【0078】
[変形例2]
上述の実施形態では、モデル学習方法(
図2参照)、および、予測制御方法(
図4参照)の手順の一例を示した。しかしながら、これらの方法は、種々の変形が可能であり、これらの手順に限定されない。例えば、一部のステップを省略してもよく、説明しない他のステップを追加してもよい。また、一部のステップの実行順序を変更してもよい。
【0079】
[変形例3]
上述の実施形態では、式(1)に示す状態方程式に含まれる全単射な写像Ψ,Φのそれぞれについて、例えば、式(2)~式(4)、または、式(5)~式(7)で表される多層ニューラルネットワークによって定義されるとした。しかしながら、写像Ψ、Φのそれぞれの定義は、あくまで一例であり、これらは、任意の形に定義してよい。写像Ψは、入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、写像Φは、出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となればよい。このとき、内部変数とともに、出力変数yの変化に影響を与える制御不可能な外生入力dを入力とする写像とすることで、システムの将来の状態を高精度に予測することができるモデルとすることができる。
【0080】
[変形例4]
第1実施形態では、学習部112は、モデル記憶部121に記憶されているモデルを取得するとき、式(1)の状態方程式に含まれる写像Ψを式(16)で示す内部変数uと定義し、式(1)の状態方程式に含まれる写像Φを式(17)で示す内部変数xと定義することで、式(1)を内部変数u、xで示した式(18)の状態方程式を学習するとした。さらに、第1実施形態では、学習部112は、式(16)~式(18)を離散時刻kにおいて所定の時間ステップΔtで離散化した式(19)~式(21)に示す状態方程式を読み込むとした。これらの方法は、第2~4実施形態においても適用することができる。
【0081】
[変形例5]
第2実施形態では、写像Ψを定義する多層ニューラルネットワークの中間層は、式(9)と式(10)とを交互に用いるとし、写像Φを定義する多層ニューラルネットワークの中間層は、式(13)と式(14)とを交互に用いるとした。第3実施形態では、写像Φを定義する多層ニューラルネットワークの中間層は、式(13)と式(14)とを交互に用いるとした。多層ニューラルネットワークの中間層の構成はこれに限定されない。例えば、写像Ψを定義する多層ニューラルネットワークの中間層は、式(9)のみであってもよいし、式(10)のみであってもよい。また、式(9)と式(10)とを交互に用いなくてもよいが、式(9)と式(10)とを交互に用いることが望ましい。写像Φを定義する多層ニューラルネットワークの中間層についても同様である。
【0082】
[変形例6]
第4実施形態では、第1実施形態のモデル学習装置を備える制御装置を説明した。第4実施形態の制御装置が備えるモデル学習装置は、これに限定されない。第2実施形態のモデル学習装置であってもよいし、第3実施形態のモデル学習装置であってもよい。
【0083】
以上、実施形態、変形例に基づき本態様について説明してきたが、上記した態様の実施の形態は、本態様の理解を容易にするためのものであり、本態様を限定するものではない。本態様は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本態様にはその等価物が含まれる。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することができる。
【0084】
(適用例1)
システムに入力される入力変数v(ベクトル)と、前記システムから出力される出力変数y(ベクトル)との関係を表すモデルを学習するモデル学習装置であって、
前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを記憶するモデル記憶部と、
前記モデル記憶部に記憶されているモデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習部と、
を備え、
前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式であり、
前記写像Ψは、前記入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、
前記写像Φは、前記出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となる、
モデル学習装置。
(適用例2)
適用例1に記載のモデル学習装置であって、
前記モデルは、式(1)によって定義され、
前記写像Ψは、多層ニューラルネットワークを表す式(2)~式(4)によって定義され、
前記写像Φは、多層ニューラルネットワークを表す式(5)~式(7)によって定義される、
モデル学習装置。
【数83】
上記式(1)において、
等号の左辺は、前記出力変数yを表すn(nは整数)次元ベクトルの時間微分であり、
等号の右辺のうち、
前記入力変数vは、前記出力変数yの変化に影響を与える制御可能な入力を示すn次元ベクトルであり、
外生入力dは、前記出力変数yの変化に影響を与える制御不可能な入力を示すp(pは整数)次元ベクトルであり、
前記写像Ψは、前記入力変数vと前記外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、前記入力変数vについて全単射な写像であり、
前記写像Φは、前記出力変数yと前記外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、前記出力変数yについて全単射な写像であり、
関数Aは、前記外生入力dを入力として、n×n行列を返す関数であり、
【数84】
【数85】
【数86】
上記式(2)~式(4)において、
添え字iは、多層ニューラルネットワークにおける層の番号を表し、
添え字L
Ψは、多層ニューラルネットワークの層数を表し、
重みW
Ψは、多層ニューラルネットワークにおける前記入力変数vの入力次元をn次元とする場合、n×n行列で表され、
バイアスb
Ψは、多層ニューラルネットワークにおける前記入力変数vの入力次元をn次元とする場合、n次元ベクトルで表され、
活性化関数ψは、第一引数である、W
Ψ
(i)(d)y
(i-1)+b
Ψ
(i)(d)、または、b
Ψ
(i)(d)について同相写像となるものであり、
【数87】
【数88】
【数89】
上記式(5)~式(7)において、
添え字iは、多層ニューラルネットワークにおける層の番号を表し、
添え字L
Φは、多層ニューラルネットワークの層数を表し、
重みW
Φは、多層ニューラルネットワークにおける前記出力変数yの入力次元をn次元とする場合、n×n行列で表され、
バイアスb
Φは、多層ニューラルネットワークにおける前記出力変数yの入力次元をn次元とする場合、n次元ベクトルで表され、
活性化関数φは、第一引数である、W
Φ
(i)(d)y
(i-1)+b
Φ
(i)(d)、または、b
Φ
(i)(d)について同相写像となるものである。
(適用例3)
適用例1または適用例2に記載のモデル学習装置であって、
前記モデルは、式(1)によって定義され、
前記写像Ψは、中間層が式(9)および式(10)の少なくとも一方によって表される多層ニューラルネットワークを表す式(8)~式(11)によって定義され、
前記写像Φは、中間層が式(13)および式(14)の少なくとも一方によって表される多層ニューラルネットワークを表す式(12)~式(15)によって定義される、
モデル学習装置。
【数90】
上記式(1)において、
等号の左辺は、前記出力変数yを表すn(nは整数)次元ベクトルの時間微分であり、
等号の右辺のうち、
前記入力変数vは、前記出力変数yの変化に影響を与える制御可能な入力を示すn次元ベクトルであり、
外生入力dは、前記出力変数yの変化に影響を与える制御不可能な入力を示すp(pは整数)次元ベクトルであり、
前記写像Ψは、前記入力変数vと前記外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、前記入力変数vについて全単射な写像であり、
前記写像Φは、前記出力変数yと前記外生入力dを入力としてn次元のベクトルを返す関数であって、かつ、前記出力変数yについて全単射な写像であり、
関数Aは、前記外生入力dを入力として、n×n行列を返す関数であり、
【数91】
【数92】
【数93】
【数94】
上記式(8)~式(11)において、
添え字iは、多層ニューラルネットワークにおける層の番号を表し、
添え字L
Ψは、多層ニューラルネットワークの層数を表し、
前記入力変数vをn
a(n
aは整数)次元の入力変数v
aとn
b(n
bは整数)次元の入力変数v
bとに分割した場合、
重みW
Ψaは、n
a×n
a次元行列であり、
バイアスb
Ψaは、n
a次元ベクトルであり、
重みW
Ψbは、n
a×n
b次元行列であり、
バイアスb
Ψbは、n
b次元ベクトルであり、
活性化関数ψは、第一引数である、W
Ψa
(i)(d)v
a
(i-1)+b
Ψa
(i)、b
Ψa
(i)、または、W
Ψb
(i)(d)v
b
(i-1)+b
Ψb
(i)について同相写像となるものであり、
関数f
Ψ+は、任意の正値関数(正の値を返す関数)であり、
関数f
Ψは、任意の関数であり、
【数95】
【数96】
【数97】
【数98】
上記式(12)~式(15)において、
添え字iは、多層ニューラルネットワークにおける層の番号を表し、
添え字L
Φは、多層ニューラルネットワークの層数を表し、
前記出力変数yをn
c(n
cは整数)次元の出力変数y
cとn
d(n
dは整数)次元の出力変数y
dとに分割した場合、
重みW
Φcは、n
c×n
c次元行列であり、
バイアスb
Φcは、n
c次元ベクトルであり、
重みW
Φdは、n
c×n
d次元行列であり、
バイアスb
Φdは、n
d次元ベクトルであり、
活性化関数φは、第一引数である、W
Φc
(i)(d)y
c
(i-1)+b
Φc
(i)、b
Φc
(i)、または、W
Φd
(i)(d)y
d
(i-1)+b
Φd
(i)について同相写像となるものであり、
関数f
Φ+は、任意の正値関数(正の値を返す関数)であり、
関数f
Φは、任意の関数である。
(適用例4)
適用例1から適用例3のいずれか一例に記載のモデル学習装置であって、
前記学習部は、前記式(1)において、内部変数uを用いた式(16)で前記写像Ψを定義し、内部変数xを用いた式(17)で前記写像Φを定義することで、式(18)によって定義される前記状態方程式を学習する、
モデル学習装置。
【数99】
【数100】
【数101】
(適用例5)
適用例1から適用例4のいずれか一例に記載のモデル学習装置であって、
前記学習部は、式(16)を離散時刻kの時間ステップで離散化した式(19)とし、式(17)を離散時刻kの時間ステップで離散化した式(20)とすることで、式(18)を離散時刻kの時間ステップで離散化した式(21)に示す状態方程式を学習する、
モデル学習装置。
【数102】
【数103】
【数104】
上記式(21)において、関数A´は、前記関数Aと同次元の行列である。
(適用例6)
適用例1から適用例5のいずれか一例に記載のモデル学習装置であって、
前記学習部は、
前記モデルに対して、前記入出力データセットのうちの前記入力変数データのセットを与えて出力を推定し、
推定された出力と、前記入出力データセットのうちの前記出力変数データのセットと、の一致度を評価し、
評価の結果に応じて前記モデルの学習パラメータを更新することで、前記状態方程式を学習する、
モデル学習装置。
(適用例7)
システムを制御する制御装置であって、
適用例1から適用例6のいずれか一例に記載のモデル学習装置と、
前記学習部が学習した前記状態方程式を用いて、前記出力変数yの目標値に対応する前
記入力変数vの目標値を決定する決定部と、
前記決定部によって決定される前記入力変数vの目標値を入力することで前記システムを制御する制御部と、を備える、
制御装置。
(適用例8)
システムに入力される入力変数v(ベクトル)と、前記システムから出力される出力変数y(ベクトル)との関係を表すモデルをモデル学習装置によって学習するモデル学習方法であって、
前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを取得する取得工程と、
前記取得工程において取得した前記モデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習工程と、
を備え、
前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式であり、
前記写像Ψは、前記入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、
前記写像Φは、前記出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となる、
モデル学習方法。
(適用例9)
システムに入力される入力変数v(ベクトル)と、前記システムから出力される出力変数y(ベクトル)との関係を表すモデルの学習を情報処理装置に実行させるコンピュータプログラムであって、
前記入力変数vを用いて前記出力変数yを予測するための非線形の状態方程式の学習に用いられるモデルを取得する取得機能と、
前記取得機能によって取得する前記モデルと、前記モデルに対する入力変数データと出力変数データの組を複数含んだ入出力データセットと、を用いて前記状態方程式を学習する学習機能と、を前記情報処理装置に実行させ、
前記モデルは、前記入力変数vを入力とする全単射な写像Ψと、前記出力変数yを入力とする全単射な写像Φと、を含む状態方程式であり、
前記写像Ψは、前記入力変数vの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となり、
前記写像Φは、前記出力変数yの成分の少なくとも1つが0であるとき、出力成分の少なくとも1つが0となる、
コンピュータプログラム。
【符号の説明】
【0085】
100,200,300…モデル学習装置
112…学習部
121,221,321…モデル記憶部
400…制御装置
413…決定部
500…システム