(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】制御方法、制御装置、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241022BHJP
G05B 13/02 20060101ALI20241022BHJP
【FI】
G06N20/00
G05B13/02 L
(21)【出願番号】P 2021104658
(22)【出願日】2021-06-24
【審査請求日】2023-10-03
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504145342
【氏名又は名称】国立大学法人九州大学
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】岩田 具治
(72)【発明者】
【氏名】河原 吉伸
【審査官】渡辺 順哉
(56)【参考文献】
【文献】特開2019-053589(JP,A)
【文献】武田敏季 ほか,潜在空間におけるモデル予測制御,ロボティクス・メカトロニクス講演会2020予稿集,一般社団法人日本機械学会,2020年05月27日,No.20-2
【文献】XIAO, Yongqian ほか,CKNet: A Convolutional Neural Network Based on Koopman Operator for Modeling Latent Dynamics from Pixels,arXiv[online],2021年07月27日,[retrieved on 2024.07.23], Retrieved from the Internet: <URL: https://arxiv.org/pdf/2102.10205v2>
【文献】AMOS, Brandon,Differentiable MPC for End-to-end Planning and Control,arXiv[online],2019年10月14日,[retrieved on 2024.07.23], Retrieved from the Internet: <URL: https://arxiv.org/pdf/1810.13400>
【文献】梅本 匠 ほか,高次元連続観測空間における安全な強化学習,電子情報通信学会技術研究報告 ,日本,一般社団法人電子情報通信学会,2021年02月23日,Vol.120, No.395,pp.55-62
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G05B 13/02
(57)【特許請求の範囲】
【請求項1】
非線形な動的システムを制御する制御方法であって、
前記動的システムの観測データと前記観測データが得られたときの前記動的システムの制御データとで構成される事前学習データを用いて、前記観測データを特徴空間上の特徴データに変換するための第1の関数と
、前記動的システムの
非線形なダイナミクス
を前記特徴空間上でクープマン作用素に基づいて線形な表現とした線形なダイナミクスとを学習する事前学習手順と、
前記第1の関数と前記
線形なダイナミクスと
前記特徴空間上で二次形式により表現された前記動的システムの制御コストとを用いて、
線形二次制御法により、前記動的システムの制御則
として前記観測データを入力として制御データを出力する関数で表現される制御則を学習する制御学習手順と、
前記制御則を用いて、前記動的システムを制御する制御手順と、
をコンピュータが実行する制御方法。
【請求項2】
前記事前学習手順は、
特徴データを観測データに変換するための第2の関数を用いて、前記事前学習データに含まれる第1の観測データを前記第1の関数により第1の特徴データに変換した後、前記第1の特徴データを前記第2の関数により第2の観測データに変換した場合に前記第1の観測データと前記第2の観測データとの差が小さくなるように、かつ、前記第1の特徴データと前記事前学習データに含まれる第1の制御データとを用いて前記
線形なダイナミクスにより予測される次の時刻の第2の特徴データを前記第2の関数により第3の観測データに変換した場合に前記第3の観測データの予測精度が高くなるように、前記第1の関数と、前記第2の関数と、前記
線形なダイナミクスとを学習する、請求項1に記載の制御方法。
【請求項3】
前記第1の関数及び前記第2の関数は、ニューラルネットワークである、請求項2に記載の制御方法。
【請求項4】
前記
線形なダイナミクスは、クープマン作用素の有限次元近似を表す行列と、次の時刻の特徴データに与える制御データの影響を表す行列とをパラメータに持つ線形和で表される、請求項1乃至3の何れか一項に記載の制御方法。
【請求項5】
前記制御学習手順は、
前記第1の関数を用いて、前記観測データが属する観測空間における
制御コストを特徴空間における
制御コストに近似し、前記
近似された制御コストを二次関数で表現すること
で、前記特徴空間上で二次形式により表現し、前記線形二次制御法により
、リッカチ方程式を解くことにより得られる最適なゲイン行列を用いて前記制御則を学習する、請求項1乃至4の何れか一項に記載の制御方法。
【請求項6】
前記制御則は、前記第1の関数のパラメータと前記ダイナミクスのパラメータとを持ち、かつ、前記観測データから前記制御データを出力する関数であり、
前記制御学習手順は、
前記観測空間におけるコストを負の報酬、前記制御則を方策として、強化学習の手法により、前記制御則を学習する、請求項5に記載の制御方法。
【請求項7】
非線形な動的システムを制御する制御装置であって、
前記動的システムの観測データと前記観測データが得られたときの前記動的システムの制御データとで構成される事前学習データを用いて、前記観測データを特徴空間上の特徴データに変換するための第1の関数と
、前記動的システムの
非線形なダイナミクス
を前記特徴空間上でクープマン作用素に基づいて線形な表現とした線形なダイナミクスとを学習する事前学習部と、
前記第1の関数と前記
線形なダイナミクスと
前記特徴空間上で二次形式により表現された前記動的システムの制御コストとを用いて、
線形二次制御法により、前記動的システムの制御則
として前記観測データを入力として制御データを出力する関数で表現される制御則を学習する制御学習部と、
前記制御則を用いて、前記動的システムを制御する制御部と、
を有する制御装置。
【請求項8】
コンピュータに、請求項1乃至6の何れか一項に記載の制御方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御方法、制御装置、及びプログラムに関する。
【背景技術】
【0002】
動的システムの制御は、社会学、感染学、神経科学、物理学、工学、金融等の様々な分野で重要である。動的システムを制御する方法として、線形二次制御法(例えば、非特許文献1参照)がある。
【先行技術文献】
【非特許文献】
【0003】
【文献】Bemporad, A., Morari, M., Dua, V., & Pistikopoulos, E. N. (2002). The explicit linear quadratic regulator for constrained systems. Automatica, 38(1), 3-20.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、線形二次制御法は動的システムが線形であることを仮定しており、非線形な動的システムの場合には適切に制御することができない。
【0005】
本発明の一実施形態は、上記の点に鑑みてなされたもので、動的システムを適切に制御することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、一実施形態に係る制御方法は、動的システムを制御する制御方法であって、前記動的システムの観測データと前記観測データが得られたときの前記動的システムの制御データとで構成される事前学習データを用いて、前記観測データを特徴空間上の特徴データに変換するための第1の関数と、前記特徴空間上での前記動的システムのダイナミクスとを学習する事前学習手順と、前記第1の関数と前記ダイナミクスとを用いて、前記動的システムの制御則を学習する制御学習手順と、前記制御則を用いて、前記動的システムを制御する制御手順と、をコンピュータが実行する。
【発明の効果】
【0007】
動的システムを適切に制御することができる。
【図面の簡単な説明】
【0008】
【
図1】本実施形態に係る制御装置のハードウェア構成の一例を示す図である。
【
図2】本実施形態に係る制御装置の機能構成の一例を示す図である。
【
図3】本実施形態に係る学習処理の一例を説明するための図である。
【発明を実施するための形態】
【0009】
以下、本発明の一実施形態について説明する。本実施形態では、動的システムが非線形であっても(当然、線形であっても)、適切に制御することができる制御装置10について説明する。ここで、動的システムの適切な制御とは、動的システムの観測状態が所望の状態となるような制御を低コストで実現することである。
【0010】
すなわち、yt∈RDを時刻tの観測ベクトル、ut∈RJを時刻tの制御ベクトルとする。動的システムに制御ベクトルutを入力すると、次の時刻の観測ベクトルyt+1が出力されるものとする。このとき、以下の式(1)に示すコストEを最小化する制御ベクトルの系列{ut|t=1,・・・,T}を求めることが目的である。
【0011】
【数1】
ここで、y
*は望まれる観測ベクトル、R∈R
J×Jは制御のコストを表す行列である。なお、式(1)は一例であって、コストEとしては、二次関数で表現できる任意のコストを用いることが可能である。なお、Dは観測ベクトルの次元数、Jは制御ベクトルの次元数であり、Tは制御ベクトルの系列数である。
【0012】
<ハードウェア構成>
本実施形態に係る制御装置10のハードウェア構成を
図1に示す。
図1に示すように、本実施形態に係る制御装置10は一般的なコンピュータ又はコンピュータシステムのハードウェア構成で実現され、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、プロセッサ105と、メモリ装置106とを有する。これらの各ハードウェアは、それぞれがバス107により通信可能に接続される。
【0013】
入力装置101は、例えば、キーボードやマウス、タッチパネル、各種物理ボタン等である。表示装置102は、例えば、ディスプレイ等である。なお、制御装置10は、例えば、入力装置101及び表示装置102のうちの少なくとも一方を有していなくてもよい。
【0014】
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。制御装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。なお、記録媒体103aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
【0015】
通信I/F104は、制御装置10を通信ネットワークに接続するためのインタフェースである。プロセッサ105は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。メモリ装置106は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、フラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)等の各種記憶装置である。
【0016】
本実施形態に係る制御装置10は、
図1に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、
図1に示すハードウェア構成は一例であって、制御装置10は、例えば、複数のプロセッサ105を有していてもよいし、複数のメモリ装置106を有していてもよい。また、制御装置10は、図示したハードウェア以外にも様々なハードウェアを有していてもよい。
【0017】
<機能構成>
本実施形態に係る制御装置10の機能構成を
図2に示す。
図2に示すように、本実施形態に係る制御装置10は、事前学習部201と、制御学習部202と、制御部203と、記憶部204とを有する。事前学習部201、制御学習部202、及び制御部203は、例えば、制御装置10にインストールされた1以上のプログラムがプロセッサ105に実行させる処理により実現される。また、記憶部204は、例えば、メモリ装置106により実現される。
【0018】
なお、例えば、制御装置10が複数のコンピュータ(各コンピュータが通信ネットワークを介して通信可能に接続されている場合も含む)で構成されており、事前学習部201、制御学習部202、制御部203、及び記憶部204が複数のコンピュータ上に分散配置されていてもよい。
【0019】
≪事前学習部201≫
事前学習部201は、クープマン作用素理論に基づいて、観測ベクトルを特徴空間における特徴ベクトルに変換する関数と特徴空間における動的システムのダイナミクス(動的な振る舞い)とを学習する。なお、特徴空間とは特徴ベクトルが属する空間のことである。一方で、観測ベクトルが属する空間のことは観測空間ともいう。
【0020】
事前学習データとして、N個の長さTの系列
【0021】
【数2】
が与えられる。なお、上記の数2では、簡単のため、各系列を区別せずに{(y
t,u
t)|t=1,・・・,T}としているが、正確には、n(n=1,・・・,N)番目の系列は{(y
nt,u
nt)|t=1,・・・,T}と表されることに留意されたい。また、y
t及びu
tはいずれもベクトルであるものとするが、これは一例であって、例えば、テンソル、グラフ、系列等といった任意のデータ構造であってもよい。この場合、後述する関数φ及びψとして、そのデータ構造に対応するニューラルネットワークが用いられる。更に、各系列{(y
t,u
t)}の時刻tが連続した時刻でない場合(つまり、時刻に抜け又は欠損がある場合)であっても、既知の動的モード分解の技術を応用することにより、本実施形態を同様に適用することが可能である。
【0022】
特徴空間上での動的システムを考える。例えば、以下の式(2)を仮定する。
【0023】
gt+1=Agt+But (2)
ここで、gt∈RKは時刻tの特徴ベクトル、A∈RK×Kはクープマン作用素の有限次元近似、B∈RK×Jは次の時刻の特徴ベクトルに与える制御ベクトルの影響を表す。なお、Kは特徴ベクトルの次元数である。
【0024】
観測ベクトルを特徴ベクトルに変換する関数をニューラルネットワークでモデル化する。すなわち、以下の式(3)でモデル化する。
【0025】
gt=φ(yt) (3)
ここで、φはニューラルネットワークである。
【0026】
また、特徴ベクトルを観測ベクトルに変換する関数をニューラルネットワークでモデル化する。すなわち、以下の式(4)でモデル化する。
【0027】
【数3】
ここで、ψはニューラルネットワークである。
【0028】
ニューラルネットワークφ及びψのパラメータとA及びBは、観測ベクトルを特徴ベクトルに変換し、その特徴ベクトルを再度観測ベクトルに変換したときに、元の観測ベクトルと似るように学習される。また、特徴空間での動的システムを通して、将来の予測精度が高まるように学習される。これは、例えば、以下の式(5)に示す目的関数Hを最小化することで学習できる。
【0029】
【数4】
ここで、η>0はハイパーパラメータである。
【0030】
≪制御学習部202≫
制御学習部202は、動的システムの制御則を学習する。
【0031】
元の観測空間でのコスト(式(1)に示すコストE)を、特徴空間でのコストで近似する。例えば、以下の式(6)で近似できる。
【0032】
【数5】
ここで、g
*=φ(y
*)は望まれる観測ベクトルを特徴ベクトルに変換したものである。
【0033】
式(6)に示すコストは、以下の式(7)のように二次形式に書き換えることができる。
【0034】
【0035】
【0036】
【数8】
である。また、式(2)を用いて、g
t'のダイナミクスは以下の式(10)のようになる。
【0037】
gt+1'=A'gt'+B'ut (10)
ここで、
【0038】
【0039】
【0040】
特徴空間ではダイナミクスが線形でかつコストが二次関数であるため、特徴空間において線形二次制御法(例えば、非特許文献1参照)が適用できる。線形二次制御法では、最適な制御ベクトルは以下の式(13)に示すものとなる。
【0041】
ut=-Fgt' (13)
ここで、F∈RJ×(K+1)は、以下の式(14)で計算される最適ゲイン行列である。
【0042】
【数11】
また、P∈R
(K+1)×(K+1)は、以下の式(15)に示すリッカチ方程式の解である。
【0043】
【数12】
このリッカチ方程式は、P=Qを初期値として式(15)を繰り返すことにより解くことができる。
【0044】
最適制御ベクトルは、観測ベクトルの関数として以下の式(16)となる。
【0045】
【数13】
ここで、F(A,B)は式(14)及び式(15)で与えられる最適ゲイン行列であり、AとBの関数となる。また、Ψは、ニューラルネットワークφのパラメータとA及びBをまとめたものである。
【0046】
この式(16)を用いて動的システムを制御した場合に、元のコスト(つまり、式(1)に示すコストE)が最小になるように、ニューラルネットワークφのパラメータとA及びBを強化学習により推定する。これは、例えば、元のコストを報酬(負の報酬)、式(16)を方策として、方策勾配法を用いることによって推定できる。ただし、方策勾配法以外の強化学習法を用いることも可能である。なお、方策勾配法を用いた場合の学習処理については後述する。
【0047】
≪制御部203≫
制御部203は、学習されたパラメータを設定した式(16)(つまり、最適な制御則)を用いて、動的システムから得られた観測ベクトルに応じて制御ベクトルを計算する。そして、制御部203は、この制御ベクトルにより動的システムを制御する。
【0048】
≪記憶部204≫
記憶部204は、各種データ(例えば、事前学習データ、ニューラルネットワークφ及びψのパラメータ、特徴空間上での動的システムのダイナミクスを表すパラメータA及びB、制御コストR等)を記憶する。
【0049】
<学習処理>
以下では、一例として、制御学習部202で方策勾配法によりニューラルネットワークφのパラメータとA及びBとを推定する場合の学習処理について説明する。この学習処理の流れを
図3に示す。
図3に示すように、学習処理の入力は動的システムを表すデータ、望まれる観測ベクトルy
*、制御コストR、制御分散σ
2、割引率γであり、出力は学習されたパラメータΨである。なお、図示していないが、これらの他にも、ニューラルネットワークψや事前学習データ等も学習処理の入力となる。
【0050】
まず、事前学習部201は、事前学習データを用いて、式(5)に示す目的関数Hを最小化するようにパラメータΨを学習する(1行目)。なお、このとき、ニューラルネットワークψのパラメータも学習される。
【0051】
次に、制御学習部202は、所定の終了条件を満たすまで3行目~15行目を繰り返す(2行目)。ここで、この終了条件としては、例えば、繰り返し回数が或る回数以上となったこと、式(1)に示すコストが或る値以下となったこと、式(1)に示すコストの繰り返し前後における変化量が或る値以下となったこと、学習対象のパラメータの繰り返し前後における変化量が或る値以下となったこと、等が挙げられる。
【0052】
3行目では、制御学習部202は、リッカチ方程式の解をP=Qに初期化する。4行目では、制御学習部202は、所定の終了条件を満たすまで5行目を繰り返す。ここで、この終了条件としては、例えば、繰り返し回数が或る回数以上となったこと、リッカチ方程式の解が収束したこと、等が挙げられる。なお、微分可能な手順であれば、これ以外の方法でリッカチ方程式を解いてもよい。
【0053】
7行目では、制御学習部202は、式(14)により最適ゲイン行列Fを計算する。8行目では、制御学習部202は、初期の観測ベクトルy1をランダムにサンプリングする。9行目では、制御学習部202は、各時刻t=1,・・・,Tに対して10行目~13行目を繰り返す。10行目では、制御学習部202は、式(16)により制御ベクトルの平均π(yt;Ψ)を計算する。11行目では、制御学習部202は、平均π(yt;Ψ)、分散σ2(制御分散σ2)の正規分布から制御ベクトルutをサンプリングする。12行目では、制御学習部202は、負の報酬E(yt,ut)を計算する。ここで、各時刻の負の報酬は以下の式(17)で計算できる。
【0054】
【数14】
13行目では、制御学習部202は、制御ベクトルu
tを動的システムに入力し、次の時刻の観測ベクトルy
t+1を得る。
【0055】
そして、15行目では、制御学習部202は、累積割引報酬が最大化されるようにパラメータΨを更新する。
【0056】
<制御処理>
制御部203は、学習処理で学習されたパラメータΨを設定した式(16)を用いて、動的システムから得られた観測ベクトルytに応じて制御ベクトルutを計算する。そして、制御部203は、この制御ベクトルutにより動的システムを制御する。なお、制御部203の制御対象は、動的システム(特に、非線形な動的システム)で表現される任意の対象とすることが可能である。具体的には、動的システムで表現される機器、装置、設備、機械、プロセス、又はこれらをシミュレータ上で表したモデル等を制御対象とすることが可能である。
【0057】
<評価>
以下では、本実施形態に係る制御装置10の評価について説明する。動的システムとしてはFitzHugh-NagmoとLorenzの2つを対象とし、比較する既存手法としては動的モード分解(DMD)、ニューラル動的モード分解(NDMD)、特徴空間を仮定しない強化学習(RL)の3つとした。また、評価指標としてはコスト(式(17)で計算されるコスト)を採用した。以下の表1にコストの平均と標準誤差を示す。
【0058】
【表1】
表1に示すように、本実施形態に係る制御装置10は、既存手法と比較して低いコストで最適な制御を実現できていることがわかる。
【0059】
<変形例>
本実施形態では、望まれる観測ベクトルが与えられるものとしたが、望まれる観測ベクトルではなく、望まれる極が与えられてもよい。この場合、特徴空間において線形二次制御法の代わりに極配置法を用いれば、本実施形態を同様に適用することが可能である。
【0060】
また、その他の線形システムのための制御法も同様に、本実施形態を適用することが可能である。すなわち、クープマン作用素理論に基づいて線形ダイナミクスを特徴空間上に仮定した上で、強化学習によりコストを最小化するように、観測ベクトルを特徴ベクトルに変換する関数と特徴空間での線形ダイナミクスとを学習することで、本実施形態を同様に適用することが可能である。
【0061】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0062】
10 制御装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 プロセッサ
106 メモリ装置
107 バス
201 事前学習部
202 制御学習部
203 制御部
204 記憶部