JP2021064222A - 方策改善方法、方策改善プログラム、および方策改善装置 - Google Patents

方策改善方法、方策改善プログラム、および方策改善装置 Download PDF

Info

Publication number
JP2021064222A
JP2021064222A JP2019188989A JP2019188989A JP2021064222A JP 2021064222 A JP2021064222 A JP 2021064222A JP 2019188989 A JP2019188989 A JP 2019188989A JP 2019188989 A JP2019188989 A JP 2019188989A JP 2021064222 A JP2021064222 A JP 2021064222A
Authority
JP
Japan
Prior art keywords
state
policy
estimated
value function
generated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019188989A
Other languages
English (en)
Inventor
淳一 重住
Junichi Shigezumi
淳一 重住
智丈 佐々木
Tomotake Sasaki
智丈 佐々木
秀直 岩根
Hidenao Iwane
秀直 岩根
仁史 屋並
Hitoshi Yanami
仁史 屋並
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019188989A priority Critical patent/JP2021064222A/ja
Priority to US17/035,793 priority patent/US20210109491A1/en
Publication of JP2021064222A publication Critical patent/JP2021064222A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F11/00Control or safety arrangements
    • F24F11/62Control or safety arrangements characterised by the type of control or by internal processing, e.g. using fuzzy logic, adaptive control or estimation of values
    • F24F11/63Electronic processing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2614HVAC, heating, ventillation, climate control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40499Reinforcement learning algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Feedback Control In General (AREA)

Abstract

【課題】強化学習にかかる処理時間を短縮すること。【解決手段】方策改善装置100は、制御対象110の状態xに対する状態価値関数v(x:θ)のパラメータPθを推定した推定パラメータP^θを算出する。方策改善装置100は、算出した推定パラメータP^θを用いて、制御対象110の状態xの空間Xを縮約する。方策改善装置100は、縮約した制御対象110の状態x〜の空間X〜に対して、方策を規定するパラメータθ〜に関する状態価値関数v(x:θ)の勾配∇θ〜v(x〜:θ〜)を推定した推定勾配∇^θ〜v(x〜:θ〜)を生成する。そして、方策改善装置100は、生成した推定勾配∇^θ〜v(x〜:θ〜)を用いて、方策を規定するパラメータθ〜を更新する。【選択図】図1

Description

本発明は、方策改善方法、方策改善プログラム、および方策改善装置に関する。
従来、制御対象に対する入力に応じて発生する即時コストまたは即時報酬に基づき、累積コストまたは累積報酬によって方策を評価するための価値関数を改善し、累積コストや累積報酬が最適化されるように方策を改善していく強化学習(Reinforcement learning)の技術がある。価値関数は、例えば、状態−行動価値関数(Q関数)、または、状態価値関数(V関数)などである。方策の改善は、例えば、方策のパラメータを更新することに対応する。
先行技術としては、例えば、方策のパラメータを更新するための技術がある。具体的には、コンピュータが、状態価値関数を推定した推定状態価値関数に対するTD誤差(Temporal Difference Error)を、方策を与えるフィードバック係数行列の成分それぞれに摂動を与えることにより生成する。そして、コンピュータが、TD誤差および摂動に基づき、状態に対するフィードバック係数行列に関する状態価値関数の勾配関数行列を推定した推定勾配関数行列を生成し、推定勾配関数行列を用いて、フィードバック係数行列を更新する。また、例えば、制御信号を制御対象に与え、制御対象の状態量を観測し、観測結果によりTD誤差を求め、TD誤差近似器を更新し、方策を更新する技術がある。
特開2019−053593号公報 特開2007−065929号公報
しかしながら、従来技術では、強化学習にかかる処理時間の増加を招くことがある。例えば、制御対象の状態の次元数が大きいほど、方策のパラメータの数が多くなり、強化学習により、適切と判断される方策を得るまでにかかる処理時間の増加を招くことになる。
1つの側面では、本発明は、強化学習にかかる処理時間を短縮することを目的とする。
1つの実施態様によれば、状態価値関数による強化学習の方策改善において、前記強化学習における制御対象の即時コストまたは即時報酬が状態および入力によって規定される場合、前記制御対象の状態に対する前記状態価値関数のパラメータを推定した推定パラメータを算出し、算出した前記推定パラメータを用いて、前記制御対象の状態の空間を縮約し、縮約した前記制御対象の状態の空間に対して、前記状態価値関数を推定した推定状態価値関数に対するTD誤差を、前記方策を規定するパラメータそれぞれに摂動を与えることにより生成し、生成した前記TD誤差および前記摂動に基づき、前記方策を規定するパラメータに関する前記状態価値関数の勾配を推定した推定勾配を生成し、生成した前記推定勾配を用いて、前記方策を規定するパラメータを更新する方策改善方法、方策改善プログラム、および方策改善装置が提案される。
一態様によれば、強化学習にかかる処理時間を短縮することが可能になる。
図1は、実施の形態にかかる方策改善方法の一実施例を示す説明図である。 図2は、方策改善装置100のハードウェア構成例を示すブロック図である。 図3は、履歴テーブル300の記憶内容の一例を示す説明図である。 図4は、方策改善装置100の機能的構成例を示すブロック図である。 図5は、強化学習の実施例を示す説明図である。 図6は、制御対象110の具体例を示す説明図(その1)である。 図7は、制御対象110の具体例を示す説明図(その2)である。 図8は、制御対象110の具体例を示す説明図(その3)である。 図9は、バッチ処理形式の強化学習処理手順の一例を示すフローチャートである。 図10は、逐次処理形式の強化学習処理手順の一例を示すフローチャートである。 図11は、方策改善処理手順の一例を示すフローチャートである。 図12は、推定処理手順の一例を示すフローチャートである。 図13は、更新処理手順の一例を示すフローチャートである。
以下に、図面を参照して、本発明にかかる方策改善方法、方策改善プログラム、および方策改善装置の実施の形態を詳細に説明する。
(実施の形態にかかる方策改善方法の一実施例)
図1は、実施の形態にかかる方策改善方法の一実施例を示す説明図である。方策改善装置100は、方策(policy)を改善し、方策によって制御対象110に対する入力(input)を決定することにより、制御対象110を制御するコンピュータである。方策改善装置100は、例えば、サーバやPC(Personal Computer)、マイクロコントローラなどである。
制御対象110は、何らかの事象であり、例えば、現実に存在する物理系である。制御対象110は、環境(environment)とも呼ばれる。制御対象110は、具体的には、サーバルーム、空調設備、発電設備、または、産業用機械などである。方策は、所定のパラメータにより、制御対象110に対する入力値を決定する方程式である。方策は、制御則(control law)とも呼ばれる。所定のパラメータは、例えば、フィードバック係数行列である。
方策の改善は、方策のパラメータの更新に対応する。方策の改善は、例えば、累積コストや累積報酬がより効率よく最適化されるように方策を変更することである。入力(input)は、制御対象110に対する操作である。入力は、行動(action)とも呼ばれる。制御対象110に対する入力に応じて、制御対象110の状態(state)が変化し、また、即時コストまたは即時報酬が発生する。制御対象110の状態、および、即時コストまたは即時報酬は、観測可能である。
従来、方策を改善する様々な手法が考えられているが、いずれの手法でも、強化学習を効率よく行うことは難しく、強化学習にかかる処理時間の増加を抑制することは難しい。
例えば、上記特許文献1を参考に、方策のパラメータそれぞれに摂動を与え、TD誤差を求め、TD誤差および摂動に基づき、方策のパラメータを更新していくことにより、方策を改善する手法が考えられる。この手法でも、強化学習を効率よく行うことは難しく、強化学習にかかる処理時間の増加を抑制することは難しい。例えば、制御対象110の状態の次元数が大きいほど、方策のパラメータの数が多くなり、強化学習により、適切と判断される方策を得るまでにかかる処理時間の増加を抑制することができない。
これに対し、下記参考文献1を参考に、フルランク行列を用いて、状態の空間を射影し、制御対象110を表すLQR問題(Linear Quadratic Regulator problem)を射影LQR問題に変換することにより、方策のパラメータの数を低減した上で、方策のパラメータを更新していく手法が考えられる。
参考文献1 : Guldogan, Yaprak, et al. “Low rank approximate solutions to large−scale differential matrix Riccati equations.” arXiv preprint arXiv:1612.00499 (2016).
しかしながら、この手法は、LQR問題を規定する具体的な方程式が未知である場合には適用することができず、強化学習を効率よく行うことは難しく、強化学習にかかる処理時間の増加を抑制することはできない。例えば、この手法は、LQR問題における、線形状態方程式を規定する係数行列と、コスト関数を規定する係数行列とが未知である場合には適用することができない。
そこで、本実施の形態では、問題が既知な場合や問題が線形な場合などに限らず、状態の空間を縮約し、方策のパラメータの数を低減することにより、強化学習を効率よく行い、強化学習にかかる処理時間を短縮することができる方策改善方法について説明する。
図1の例では、制御対象110の状態をxとし、制御対象110への入力をuとし、制御対象110の即時コストをcとする。また、時刻tにおける、制御対象110の状態をxとし、制御対象110への入力をuとし、制御対象110の即時コストをcとする。制御対象110の状態xは、直接観測可能である。
ここでは、制御対象110の状態変化の仕方は、未知であるとする。制御対象110の状態変化は、状態関数(出力関数)で規定される。状態関数は、関数の形が既知であるものの、係数などといった関数のパラメータが未知である関数である。
また、即時コストcの発生の仕方は、未知であるとする。即時コストcの発生の仕方は、状態xおよび入力uを用いて、コスト関数で規定される。コスト関数は、関数の形が既知であるものの、係数などといった関数のパラメータが未知である関数である。
方策改善装置100は、n次元の状態xを、n’次元の状態xに縮約する縮約関数V(x)を記憶する。ここで、n>n’である。便宜上、例えば図中および式中などに表記されるxの上部に〜を付した記号を、文中では「x」と示す。以下の説明では、状態xが存在する多次元空間を、「状態xの空間X」と表記する場合がある。また、状態xが存在する多次元空間を、「状態xの空間X」と表記する場合がある。
また、方策改善装置100は、制御対象110の状態xに対する状態価値関数v(x:θ)を記憶する。また、方策改善装置100は、方策を記憶する。方策は、下記式(1)が示す状態フィードバック関数f(x:θ)で規定される。便宜上、例えば図中および式中などに表記されるθの上部に〜を付した記号を、文中では「θ」と示す。θは、状態フィードバック関数f(x:θ)のパラメータである。θは、例えば、複数のパラメータ要素の配列である。
Figure 2021064222
図1において、(1−1)方策改善装置100は、制御対象110の状態xに対する状態価値関数v(x:θ)のパラメータPθを推定した推定パラメータP^θを算出する。便宜上、例えば図中および式中などに表記されるPθの上部に∧を付した記号を、文中では「P^θ」と示す。そして、方策改善装置100は、算出した推定パラメータP^θを用いて、制御対象110の状態xの空間Xを縮約する。
方策改善装置100は、例えば、データ{x,c}を取得する都度、データベースに蓄積する。ここで、方策改善装置100は、データ{x,c}が一定以上蓄積されるまでは、現状の方策u=f(x:θ)と、現状の縮約関数V(x)とに基づいて、入力uを決定し、制御対象110に対して出力することを繰り返す。これにより、方策改善装置100は、新たなデータ{x,c}を取得していく。
その後、方策改善装置100は、データ{x,c}が一定以上蓄積されると、蓄積したデータ{x,cから、推定パラメータP^θを算出する。データ{・}は、複数の時刻のデータ{・}の集まりを示す。そして、方策改善装置100は、算出した推定パラメータP^θを用いて、縮約関数V(x)を更新し、制御対象110の状態xの空間Xを制御対象110の状態xの空間Xに縮約する。
(1−2)方策改善装置100は、縮約した制御対象110の状態xの空間Xに対して、方策を規定するパラメータθに関する状態価値関数v(x:θ)の勾配∇θ〜v(x:θ)を推定した推定勾配∇^θ〜v(x:θ)を生成する。便宜上、例えば図中および式中などに表記される∇に下付文字θを付した記号を、文中では「∇θ〜」と示す。また、便宜上、例えば図中および式中などに表記される∇θ〜vの上部に∧を付した記号を、文中では「∇^θ〜v」と示す。そして、方策改善装置100は、生成した推定勾配∇^θ〜v(x:θ)を用いて、下記式(2)によって、方策を規定するパラメータθを更新する。
Figure 2021064222
方策改善装置100は、例えば、縮約した制御対象110の状態xの空間Xにおけるデータ{(x =V(x)),cから、推定状態価値関数v^θ〜(x:θ)を求め、推定勾配∇^θ〜v(x:θ)を求める。便宜上、例えば図中および式中などに表記されるvに下付文字θを付した記号を、文中では「vθ〜」と示す。また、便宜上、例えば図中および式中などに表記されるvθ〜の上部に∧を付した記号を、文中では「v^θ〜」と示す。そして、方策改善装置100は、求めた推定勾配∇^θ〜v(x:θ)を用いて、上記式(2)によって、方策を規定するパラメータθを更新する。
方策改善装置100は、具体的には、方策を規定するパラメータθに摂動を与え、縮約した制御対象110の状態xの空間Xに対して、データ{(x =V(x)),cから、推定状態価値関数v^(x:θ)を求め、TD誤差を生成する。次に、方策改善装置100は、生成したTD誤差および摂動に基づき、推定勾配∇^θ〜v(x:θ)を生成する。そして、方策改善装置100は、生成した推定勾配∇^θ〜v(x:θ)を用いて、上記式(2)によって、方策を規定するパラメータθを更新する。
(1−3)方策改善装置100は、更新後の方策u=f(x:θ)と、更新後の縮約関数V(x)とに基づいて、入力uを算出し、制御対象110に対して出力する。これによれば、方策改善装置100は、更新後の方策u=f(x:θ)に従って、制御対象110を制御することができる。
これにより、方策改善装置100は、制御対象110を表す問題が線形ではない場合や制御対象110を表す問題が既知ではない場合などにも、方策を規定するパラメータθの要素数の低減化を図ることができる。このため、方策改善装置100は、強化学習における学習効率の向上を図ることができ、強化学習にかかる処理時間の短縮化を図ることができる。
ここでは、方策改善装置100が、方策u=f(x:θ)に従って、入力uを決定し、制御対象110に対して出力する場合について説明したが、これに限らない。例えば、方策改善装置100が、方策u=f(x:θ)に従って、入力uを決定し、制御対象110に対して出力する他のコンピュータと協働する場合があってもよい。
また、ここでは、方策改善装置100が、制御対象110での即時コストを取得し、強化学習に用いる場合について説明したが、これに限らない。例えば、方策改善装置100が、制御対象110での即時報酬を取得し、強化学習に用いる場合があってもよい。
(方策改善装置100のハードウェア構成例)
次に、図2を用いて、図1に示した方策改善装置100のハードウェア構成例について説明する。
図2は、方策改善装置100のハードウェア構成例を示すブロック図である。図2において、方策改善装置100は、CPU(Central Processing Unit)201と、メモリ202と、ネットワークI/F(Interface)203と、記録媒体I/F204と、記録媒体205とを有する。また、各構成部は、バス200によってそれぞれ接続される。
ここで、CPU201は、方策改善装置100の全体の制御を司る。メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU201のワークエリアとして使用される。メモリ202に記憶されるプログラムは、CPU201にロードされることで、コーディングされている処理をCPU201に実行させる。
ネットワークI/F203は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F203は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F203は、例えば、モデムやLAN(Local Area Network)アダプタなどである。
記録媒体I/F204は、CPU201の制御に従って記録媒体205に対するデータのリード/ライトを制御する。記録媒体I/F204は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体205は、記録媒体I/F204の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体205は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体205は、方策改善装置100から着脱可能であってもよい。
方策改善装置100は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、タッチパネル、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、方策改善装置100は、記録媒体I/F204や記録媒体205を複数有していてもよい。また、方策改善装置100は、記録媒体I/F204や記録媒体205を有していなくてもよい。
(履歴テーブル300の記憶内容)
次に、図3を用いて、履歴テーブル300の記憶内容の一例について説明する。履歴テーブル300は、例えば、図2に示した方策改善装置100のメモリ202や記録媒体205などの記憶領域により実現される。
図3は、履歴テーブル300の記憶内容の一例を示す説明図である。図3に示すように、履歴テーブル300は、時刻と、状態と、縮約状態と、入力と、コストとのフィールドを有する。履歴テーブル300は、時刻ごとに各フィールドに情報を設定することにより、履歴情報がレコード300−aとして記憶される。aは、任意の整数である。
時刻のフィールドには、制御対象110に入力を印加する時刻が設定される。時刻のフィールドには、例えば、単位時間の倍数で示される時刻が設定される。状態のフィールドには、時刻のフィールドに設定された時刻における制御対象110の状態が設定される。縮約状態のフィールドには、状態のフィールドに設定された状態を、縮約関数により縮約して得られる状態が設定される。入力のフィールドには、時刻のフィールドに設定された時刻において制御対象110に印加された入力が設定される。コストのフィールドには、時刻のフィールドに設定された時刻において観測された即時コストが設定される。
履歴テーブル300は、強化学習において、即時コストではなく即時報酬を用いるような場合には、コストのフィールドに代わり、報酬のフィールドを有してもよい。報酬のフィールドには、時刻のフィールドに設定された時刻において観測された即時報酬が設定される。
(方策改善装置100の機能的構成例)
次に、図4を用いて、方策改善装置100の機能的構成例について説明する。
図4は、方策改善装置100の機能的構成例を示すブロック図である。方策改善装置100は、記憶部400と、観測部401と、縮約部402と、更新部403と、決定部404と、出力部405とを含む。
記憶部400は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域によって実現される。以下では、記憶部400が、方策改善装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部400が、方策改善装置100とは異なる装置に含まれ、記憶部400の記憶内容が方策改善装置100から参照可能である場合があってもよい。
観測部401〜出力部405は、制御部の一例として機能する。観測部401〜出力部405は、具体的には、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、ネットワークI/F203により、その機能を実現する。各機能部の処理結果は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶される。
記憶部400は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部400は、制御対象110の入力と、状態と、即時コストまたは即時報酬とを蓄積する。即時コストまたは即時報酬は、例えば、状態および入力によって規定される。即時コストまたは即時報酬は、具体的には、状態および入力の2次形式で規定される。制御対象110の状態変化は、例えば、線形な差分方程式で規定される。また、記憶部400は、縮約した状態を蓄積してもよい。記憶部400は、例えば、時刻ごとに、制御対象110の入力と、状態と、縮約した状態と、即時コストまたは即時報酬とを、図3に示した履歴テーブル300を用いて記憶する。これにより、記憶部400は、制御対象110の入力と、状態と、縮約した状態と、即時コストまたは即時報酬とを、各機能部が参照可能にすることができる。
制御対象110は、例えば、空調設備である場合がある。この場合、入力は、例えば、空調設備の設定温度と、空調設備の設定風量との少なくともいずれかである。状態は、例えば、空調設備がある部屋の内部の温度と、空調設備がある部屋の外部の温度と、気候との少なくともいずれかである。コストは、例えば、空調設備の消費電力量である。制御対象110が、空調設備である場合については、具体的には、図6を用いて後述する。
制御対象110は、例えば、発電設備である場合がある。発電設備は、例えば、風力発電設備である。この場合、入力は、例えば、発電設備の発電機トルクである。状態は、例えば、発電設備の発電量と、発電設備のタービンの回転量と、発電設備のタービンの回転速度と、発電設備に対する風向と、発電設備に対する風速との少なくともいずれかである。報酬は、例えば、発電設備の発電量である。制御対象110が、発電設備である場合については、具体的には、図7を用いて後述する。
制御対象110は、例えば、産業用ロボットである場合がある。この場合、入力は、例えば、産業用ロボットのモータートルクである。状態は、例えば、産業用ロボットの撮影した画像と、産業用ロボットの関節位置と、産業用ロボットの関節角度と、産業用ロボットの関節角速度との少なくともいずれかである。報酬は、例えば、産業用ロボットの生産量である。生産量は、例えば、組み立て数である。組み立て数は、例えば、産業用ロボットが組み立てた製品の数である。制御対象110が、産業用ロボットである場合については、具体的には、図8を用いて後述する。
記憶部400は、方策パラメータを記憶してもよい。記憶部400は、例えば、方策のパラメータを記憶する。パラメータは、例えば、フィードバック係数行列である。これにより、記憶部400は、所定のタイミングで更新される、方策のパラメータを記憶しておくことができる。また、記憶部400は、方策のパラメータを、各機能部が参照可能にすることができる。記憶部400は、縮約関数を記憶してもよい。これにより、記憶部400は、縮約関数を、各機能部が参照可能にすることができる。
観測部401は、各機能部の処理に用いられる各種情報を取得する。観測部401は、取得した各種情報を、記憶部400に記憶し、または、各機能部に出力する。また、観測部401は、記憶部400に記憶しておいた各種情報を、各機能部に出力してもよい。観測部401は、例えば、利用者の操作入力に基づき、各種情報を取得する。観測部401は、例えば、方策改善装置100とは異なる装置から、各種情報を受信してもよい。
観測部401は、制御対象110の状態と、即時コストまたは即時報酬とを観測し、記憶部400に出力する。観測部401は、具体的には、図9に後述するステップS902または図11に後述するステップS1103において、制御対象110の状態と、即時コストまたは即時報酬とを観測する。これにより、観測部401は、制御対象110の状態と、即時コストまたは即時報酬とを記憶部400に蓄積させることができる。
縮約部402は、制御対象110の状態に対する状態価値関数のパラメータを推定した推定パラメータを算出する。縮約部402は、例えば、一括最小二乗法、逐次最小二乗法、一括LSTDアルゴリズム、逐次LSTDアルゴリズムなどを用いて、推定状態価値関数の推定パラメータを更新することにより、推定状態価値関数を更新する。これにより、縮約部402は、推定状態価値関数を、方策を規定するパラメータを更新するために参照可能にすることができる。また、縮約部402は、状態価値関数を改善することができる。
一括最小二乗法、逐次最小二乗法、一括LSTDアルゴリズム、逐次LSTDアルゴリズムなどについては、下記参考文献2や下記参考文献3を参照することができる。
参考文献2 : Y.Zhu and X.R.Li. Recursive least squares with linear constraints. Communications in Information and Systems, vol.7, no.3, pp.287−312, 2007.
参考文献3 : Christoph Dann and Gerhard Neumann and Jan Peters. Policy Evaluation with Temporal Differences: A Survey and Comparison. Journal of Machine Learning Research, vol.15, pp.809−883, 2014.
また、縮約部402は、線形問題であれば、制御対象110の状態に対する状態価値関数の係数行列を推定した推定係数行列を生成する。縮約部402は、例えば、一括最小二乗法、逐次最小二乗法、一括LSTDアルゴリズム、逐次LSTDアルゴリズムなどを用いて、推定状態価値関数の推定係数行列を更新することにより、推定状態価値関数を更新する。縮約部402は、具体的には、図9に後述するステップS904において、推定状態価値関数の推定係数行列を更新することにより、推定状態価値関数を更新する。これにより、縮約部402は、推定状態価値関数を、方策を規定するフィードバック係数行列を更新するために参照可能にすることができる。また、縮約部402は、状態価値関数を改善することができる。
縮約部402は、算出した推定パラメータを用いて、制御対象110の状態の空間を縮約する。縮約部402は、例えば、算出した推定パラメータを用いて、縮約関数を更新することにより、制御対象110の状態の空間を縮約する。これにより、縮約部402は、縮約関数により、制御対象110の状態の空間を縮約し、強化学習を効率よく行うことを可能にすることができる。
また、縮約部402は、線形問題であれば、生成した推定係数行列を用いて、制御対象110の状態の空間を縮約する。縮約部402は、具体的には、図9に後述するステップS904において、推定係数行列から、対角化または特異値分解などにより、基底行列を生成し、基底行列の列のうち、固有値または特異値が0である列を除去することにより、縮約行列を生成する。縮約行列を生成する具体例については、例えば、図5を用いて後述する。これにより、縮約部402は、縮約関数により、制御対象110の状態の空間を縮約し、強化学習を効率よく行うことを可能にすることができる。
更新部403は、縮約した制御対象110の状態の空間に対して、状態価値関数を推定した推定状態価値関数に対するTD誤差を、方策を規定するパラメータそれぞれに摂動を与えることにより生成する。これにより、更新部403は、方策を規定するパラメータそれぞれについて、摂動に対する反応度合いを示す偏微分の結果を取得可能にすることができる。
更新部403は、線形問題であれば、縮約した制御対象110の状態の空間に対して、状態価値関数を推定した推定状態価値関数に対するTD誤差を、方策を規定するフィードバック係数行列の成分それぞれに摂動を与えることにより生成する。更新部403は、例えば、図11に後述するステップS1102〜S1104において、方策を与えるフィードバック係数行列の成分それぞれに摂動を与える。そして、更新部403は、図11に後述するステップS1105、および図12に後述するステップS1201において、摂動に対応する、状態価値関数を推定した推定状態価値関数に対するTD誤差を生成する。これにより、更新部403は、フィードバック係数行列の各成分について、摂動に対する反応度合いを示す偏微分の結果を取得可能にすることができる。
更新部403は、縮約した制御対象110の状態の空間に対して、生成したTD誤差および摂動に基づき、方策を規定するパラメータに関する状態価値関数の勾配を推定した推定勾配を生成する。更新部403は、例えば、即時コストまたは即時報酬が状態および入力によって規定されることを利用し、TD誤差および摂動に基づき、推定勾配を生成する。これにより、更新部403は、推定勾配に基づいて、方策のパラメータを更新可能にすることができる。
更新部403は、線形問題であれば、縮約した制御対象110の状態の空間に対して、生成したTD誤差および摂動に基づき、フィードバック係数行列に関する状態価値関数の勾配関数行列を推定した推定勾配関数行列を生成する。更新部403は、例えば、制御対象110の状態変化が線形な差分方程式で規定され、かつ、制御対象110の即時コストまたは即時報酬が状態および入力の2次形式で規定されることを利用し、TD誤差および摂動に基づき、推定勾配関数行列を生成する。
更新部403は、具体的には、フィードバック係数行列の各成分について生成されたTD誤差を摂動で除算した結果と、状態価値関数をフィードバック係数行列の各成分で微分した結果とを対応付けて、勾配関数行列の各成分を推定した推定成分を生成する。ここで、更新部403は、状態価値関数をフィードバック係数行列の各成分で微分した結果を、状態に依存するベクトルと、状態に依存しないベクトルとの積で規定する。
更新部403は、より具体的には、図12に後述するステップS1202〜S1205において、勾配関数行列の各成分を推定した推定成分を、任意の状態を代入可能な形式で生成する。そして、更新部403は、図13に後述するステップS1301において、勾配関数行列を推定した推定勾配関数行列を生成する。ここで、更新部403は、フィードバック係数行列の各成分について生成されたTD誤差を摂動で除算した結果と、状態価値関数をフィードバック係数行列の各成分で微分した結果とを対応付けて形成される後述する式(27)を用いる。
ここで、更新部403は、勾配関数行列の各成分を推定した推定成分を生成する際に、一括最小二乗法、逐次最小二乗法、一括LSTDアルゴリズム、逐次LSTDアルゴリズムなどを用いてもよい。これにより、更新部403は、任意の状態を代入可能な推定勾配関数行列を生成することができる。また、更新部403は、推定勾配関数行列に基づいて、フィードバック係数行列を更新可能にすることができる。
更新部403は、生成した推定勾配を用いて、方策を規定するパラメータを更新する。更新部403は、例えば、上記式(2)によって、推定勾配を用いて、方策を規定するパラメータを更新する。これにより、更新部403は、推定勾配に基づき、方策を規定するパラメータを更新し、方策を改善することができる。
更新部403は、線形問題であれば、生成した推定勾配関数行列を用いて、フィードバック係数行列を更新する。更新部403は、例えば、図13に後述するステップS1302において、推定勾配関数行列を用いて、フィードバック係数行列を更新する。これにより、更新部403は、状態を代入した推定勾配関数行列の推定値に基づき、フィードバック係数行列を更新し、方策を改善することができる。
決定部404は、更新したパラメータを用いた方策に基づいて、制御対象110に対する入力値を決定し、制御対象110に対して出力する。これにより、決定部404は、累積コストや累積報酬を最適化することができる入力値を決定することができ、制御対象110を制御することができる。
決定部404は、線形問題であれば、更新したフィードバック係数行列を用いた方策に基づいて、制御対象110に対する入力値を決定し、制御対象110に対して出力する。これにより、決定部404は、累積コストや累積報酬を最適化することができる入力値を決定することができ、制御対象110を制御することができる。
出力部405は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F203による外部装置への送信、または、メモリ202や記録媒体205などの記憶領域への記憶である。出力部405は、例えば、更新した方策を出力する。出力部405は、例えば、更新した方策のパラメータを出力する。出力部405は、具体的には、更新したフィードバック係数行列を出力する。これにより、出力部405は、他のコンピュータで、制御対象110を制御可能にすることができる。
(強化学習の実施例)
次に、図5を用いて、強化学習の実施例について説明する。
図5は、強化学習の実施例を示す説明図である。実施例は、制御対象110が、線形システムであり、強化学習により解かれる、制御対象110を表す問題が、線形問題である場合に対応する。
実施例において、制御対象110の状態変化が、線形差分方程式で規定され、かつ、制御対象110の即時コストまたは即時報酬が、制御対象110の状態および制御対象110への入力の2次形式で規定される。例えば、下記式(3)〜下記式(11)によって、制御対象110の状態方程式と、即時コストの2次形式の方程式と、方策とが規定され、問題設定が行われる。実施例において、制御対象110の状態は、直接観測可能である。
Figure 2021064222
上記式(3)は、制御対象110の状態方程式である。tは、単位時間の倍数で示される時刻である。t+1は、時刻tから単位時間経過した次の時刻である。xt+1は、次の時刻t+1における状態である。xは、時刻tにおける状態である。uは、時刻tにおける入力である。A、Bは、係数行列である。上記式(3)は、次の時刻t+1における状態xt+1が、時刻tにおける状態xと、時刻tにおける入力uによって決定される関係があることを示す。係数行列A,Bは、未知である。
Figure 2021064222
上記式(4)は、状態xが、n次元であることを示す。nは、既知である。
Figure 2021064222
上記式(5)は、入力uが、m次元であることを示す。
Figure 2021064222
上記式(6)は、係数行列Aが、n×n次元である(n行n列である)ことを示し、係数行列Bが、n×m次元である(n行m列である)ことを示す。
Figure 2021064222
上記式(7)は、制御対象110の即時コストの方程式である。cは、時刻tにおける入力uに応じて単位時間後に発生する即時コストである。上付き文字Tは、転置を示す。上記式(7)は、即時コストcが、時刻tにおける状態xと、時刻tにおける入力uとの2次形式によって決定される関係があることを示す。係数行列Q,Rは、未知である。即時コストcは、直接観測可能である。
Figure 2021064222
上記式(8)は、係数行列Qが、n×n次元であることを示す。≧0は、半正定値対称行列を示す。また、上記式(8)は、係数行列Rが、m×m次元であることを示す。>0は、正定値対称行列を示す。
Figure 2021064222
上記式(9)は、方策を示す。Fは、フィードバック係数行列であって、状態xに関する係数行列を示す。上記式(9)は、時刻tにおける状態xに基づいて、時刻tにおける入力uを決定する方程式である。
Figure 2021064222
上記式(10)は、フィードバック係数行列Fが、m×n’次元であることを示す。
Figure 2021064222
上記式(11)は、状態価値関数を示す。制御対象110の状態変化が、線形差分方程式で規定され、かつ、制御対象110の即時コストまたは即時報酬が、制御対象110の状態および制御対象110への入力の2次形式で規定される場合、状態価値関数は、上記式(11)のように2次形式で表現される。Pは、状態価値関数の係数行列である。
方策改善装置100は、n次元の状態xを、n’次元の状態xに縮約する縮約行列Vを記憶する。縮約行列Vは、n×n’次元行列である。ここで、n>n’である。縮約行列Vは、例えば、初期状態では、単位行列である。次に、方策改善装置100が、状態xの空間Xを縮約し、フィードバック係数行列Fを更新する流れについて説明する。
図5において、(5−1)方策改善装置100は、状態価値関数v(x:F)の係数行列Pを推定した推定係数行列P^を生成する。便宜上、例えば図中および式中などに表記されるPの上部に∧を付した記号を、文中では「P^」と示す。
方策改善装置100は、例えば、データ{x,c}を取得する都度、データベースに蓄積する。ここで、方策改善装置100は、データ{x,c}が一定以上蓄積されるまでは、現状の方策u=F と、現状の縮約行列Vとに基づいて、状態xを状態x に縮約し、入力uを決定し、制御対象110に対して出力することを繰り返す。これにより、方策改善装置100は、新たなデータ{x,c}を取得していく。その後、方策改善装置100は、データ{x,c}が一定以上蓄積されると、蓄積したデータ{x,cから、推定係数行列P^を生成する。
(5−2)方策改善装置100は、生成した推定係数行列P^を用いて、制御対象110の状態xの空間Xを縮約する。方策改善装置100は、例えば、生成した推定係数行列P^を用いて、縮約行列Vを更新し、制御対象110の状態xの空間Xを制御対象110の状態xの空間Xに縮約する。
方策改善装置100は、具体的には、下記式(12)によって、推定係数行列P^について、対角化または特異値分解などを行い、基底行列Vを生成する。そして、方策改善装置100は、基底行列Vの列のうち、対応するΣの固有値または特異値が0である列を除去した結果を、新たな縮約行列Vとして生成し、現状の縮約行列Vを更新する。方策改善装置100は、更新した縮約行列Vを用いて、制御対象110の状態xの空間Xを制御対象110の状態xの空間Xに縮約する。
Figure 2021064222
(5−3)方策改善装置100は、縮約した制御対象110の状態xの空間Xに対して、フィードバック係数行列Fに関する状態価値関数v(x:F)の勾配行列∇F〜v(x:F)を推定した推定勾配関数行列∇^F〜v(x:F)を生成する。便宜上、例えば図中および式中などに表記される∇に下付文字Fを付した記号を、文中では「∇F〜」と示す。また、便宜上、例えば図中および式中などに表記される∇F〜vの上部に∧を付した記号を、文中では「∇^F〜v」と示す。
方策改善装置100は、例えば、縮約した制御対象110の状態xの空間Xにおけるデータ{(x =V),cから、推定状態価値関数v^F〜(x:F)を求め、推定勾配関数行列∇^F〜v(x:F)を求める。便宜上、例えば図中および式中などに表記されるvに下付文字Fを付した記号を、文中では「vF〜」と示す。また、便宜上、例えば図中および式中などに表記されるvF〜の上部に∧を付した記号を、文中では「v^F〜」と示す。
方策改善装置100は、具体的には、フィードバック係数行列Fの成分それぞれに摂動を与えることにより、縮約した制御対象110の状態xの空間Xに対して、データ{x =V),cを収集する。次に、方策改善装置100は、収集したデータ{x =V),cから、推定状態価値関数v^F〜(x:F)を求め、推定状態価値関数v^F〜(x:F)に対するTD誤差を生成する。そして、方策改善装置100は、生成したTD誤差および摂動に基づき、推定勾配関数行列∇^F〜v(x:F)を生成する。
(5−4)方策改善装置100は、生成した推定勾配関数行列∇^F〜v(x:F)を用いて、方策を規定するフィードバック係数行列Fを更新する。方策改善装置100は、例えば、生成した推定勾配関数行列∇^F〜v(x:F)を用いて、下記式(13)によって、方策を規定するフィードバック係数行列Fを更新する。下記式(13)は、例えば、強化学習に即時コストを用いる場合に対応する更新則である。αは、重みである。
Figure 2021064222
ここで、方策改善装置100は、強化学習に即時報酬を用いる場合には、生成した推定勾配関数行列∇^F〜v(x:F)を用いて、下記式(14)によって、方策を規定するフィードバック係数行列Fを更新するようにしてもよい。αは、重みである。
Figure 2021064222
(5−5)方策改善装置100は、更新後の方策u=F と、更新後の縮約行列Vとに基づいて、入力uを算出し、制御対象110に対して出力する。これによれば、方策改善装置100は、更新後の方策u=F に従って、制御対象110を制御することができる。次に、方策改善装置100が、推定勾配関数行列∇^F〜v(x:F)を生成し、フィードバック係数行列Fを更新する具体例について説明する。
(フィードバック係数行列Fを更新する具体例)
方策改善装置100は、縮約した制御対象110の状態xの空間Xにおいて、フィードバック係数行列Fの(i,j)の成分F ijに摂動を加える。便宜上、例えば図中および式中などに表記されるFijの上部に〜を付した記号を、文中では「F ij」と示す。(i,j)は、行列の成分を特定するインデックスである。インデックス(i,j)は、例えば、フィードバック係数行列Fのi行j列の成分を特定する。
方策改善装置100は、具体的には、フィードバック係数行列F+εE ijの数式によって、フィードバック係数行列Fの(i,j)の成分F ijに摂動を加える。便宜上、例えば図中および式中などに表記されるEijの上部に〜を付した記号を、文中では「E ij」と示す。E ijは、インデックス(i,j)で特定される成分が1、その成分以外の成分が0であるm×n’次元行列である。εは、実数である。
方策改善装置100は、上記式(9)のフィードバック係数行列Fに代わり、摂動を加えたフィードバック係数行列F+εE ijを用いて、入力を生成する。ここで、TD誤差は、フィードバック係数行列Fの(i,j)の成分F ijに関する状態価値関数の偏微分係数(partial differential coefficient)によって表現することができる。
さらに、状態価値関数が、上記式(11)のように2次形式で表現されるため、状態価値関数を、フィードバック係数行列Fの(i,j)の成分F ijで偏微分した関数∂v/∂F ij(x:F)は、下記式(15)のように2次形式で表現される。以下の説明では、偏微分した関数を「偏導関数(partial derivative)」と表記する場合がある。
Figure 2021064222
方策改善装置100は、上記式(15)を利用し、フィードバック係数行列Fの(i,j)の成分F ijに関する偏導関数∂v/∂F ij(x:F)を推定した推定関数∂v^/∂F ij(x:F)を算出する。便宜上、例えば図中および式中などに表記される∂v/∂F ijの上部に∧を付した記号を、文中では「∂v^/∂F ij」と示す。推定関数∂v^/∂F ij(x:F)は、例えば、偏導関数∂v/∂F ij(x:F)の上部に∧を付して、下記式(16)のように記載される場合がある。
Figure 2021064222
方策改善装置100は、フィードバック係数行列Fのそれぞれの成分に摂動を加え、同様に、偏導関数∂v/∂F ij(x:F)を推定した推定関数∂v^/∂F ij(x:F)を算出する。そして、方策改善装置100は、算出した推定関数∂v^/∂F ij(x:F)を用いて、フィードバック係数行列Fの勾配関数行列∇F〜v(x:F)を推定した推定勾配関数行列∇^F〜v(x:F)を生成する。以下、推定勾配関数行列∇^F〜v(x:F)は、例えば、勾配関数行列∇F〜v(x:F)の上部に∧を付して、下記式(17)のように記載される場合がある。
Figure 2021064222
これにより、方策改善装置100は、ある時刻に、勾配関数行列∇F〜v(x:F)を推定した推定勾配関数行列∇^F〜v(x:F)を任意の状態xを代入可能な形式で算出することができる。そして、方策改善装置100は、その時刻以降は、ある状態xについて勾配関数行列∇F〜v(x:F)の推定値を算出する場合、算出済みの推定勾配関数行列∇^F〜v(x:F)に、その状態xを代入すればよくなる。
このように、方策改善装置100は、ある状態xに対する勾配関数行列∇F〜v(x:F)の推定値ではなく、ある時刻以降に利用可能である勾配関数行列∇F〜v(x:F)を推定した推定勾配関数行列∇^F〜v(x:F)を生成することができる。このため、方策改善装置100は、様々な状態xについて勾配関数行列∇F〜v(x:F)の推定値を算出することを比較的容易にすることができ、処理量の低減化を図ることができる。
これにより、方策改善装置100は、制御対象110を表す問題が線形ではない場合や制御対象110を表す問題が既知ではない場合などにも、方策を規定するフィードバック係数行列Fの成分数の低減化を図ることができる。このため、方策改善装置100は、強化学習における学習効率の向上を図ることができ、強化学習にかかる処理時間の短縮化を図ることができる。
次に、状態の空間を縮約する妥当性について説明する。以上の説明では、縮約行列Vを生成する際に、状態価値関数v(x:F)の係数行列Pを推定した推定係数行列P^を用いている。ここで、係数行列Pと、フィードバック係数行列Fとの間には、下記式(18)で示す関係が成立するため、係数行列Pは、フィードバック係数行列Fと無関係ではなく、フィードバック係数行列Fとの比較的強い関係を有することになる。
Figure 2021064222
また、推定係数行列P^は、実データから直接推定した行列である。例えば、推定係数行列P^は、過去の状態x,・・・と過去の即時コストc,・・・との実データから、最小二乗法などにより直接推定した行列であり、制御対象110と無関係ではなく、制御対象110との関係を有する。
また、係数行列Pは、フィードバック係数行列Fとの比較的強い関係を有するため、係数行列Pを縮約することと、フィードバック係数行列Fを縮約することとは関係を有する。例えば、係数行列Pの縮約を表す左辺と、フィードバック係数行列Fの縮約を表す右辺とが等しいという下記式(19)が成立する。このため、状態xの空間Xが縮約行列Vで縮約可能な場合、VVによって縮約可能である。ここで、上付の+は、疑似逆行列を示す。
Figure 2021064222
ここで、下記式(20)によれば、遷移行列A+BFは、制御対象110である線形システムに関連し、下記式(21)によれば、目的関数Q+FRFは、目的関数に関連する。そして、上記式(18)によれば、係数行列Pは、遷移行列A+BFと、目的関数Q+FRFとを用いて規定される。γは、係数である。
Figure 2021064222
Figure 2021064222
このため、遷移行列A+BFと、目的関数Q+FRFとの両方のランクが小さければ、係数行列Pのランクも小さくなるという性質が存在する。換言すれば、遷移行列A+BFと、目的関数Q+FRFとの両方が縮約可能であれば、係数行列Pも縮約可能であるという性質がある。以上から、推定係数行列P^を用いれば、状態の空間を縮約し、フィードバック係数行列Fを縮約する目的に適した縮約行列Vが得られやすいと考えられる。
(制御対象110の具体例)
次に、図6〜図8を用いて、制御対象110の具体例について説明する。
図6〜図8は、制御対象110の具体例を示す説明図である。図6の例では、制御対象110は、熱源であるサーバ601と、CRAC(Computer Room Air Conditioner)やChillerなどの冷却器602とを含むサーバルーム600である。入力は、冷却器602に対する設定温度や設定風量である。状態は、サーバルーム600に設けられたセンサ装置からのセンサデータなどであり、例えば、温度などである。状態は、制御対象110以外から得られる制御対象110に関するデータであってもよく、例えば、気温や天気などであってもよい。即時コストは、例えば、サーバルーム600の単位時間ごとの消費電力量である。単位時間は、例えば、5分である。目標は、サーバルーム600の累積消費電力量の最小化である。状態価値関数は、例えば、サーバルーム600の累積消費電力量についての状態の価値を表す。
方策改善装置100は、フィードバック係数行列Fの成分数を低減した上で、累積コストである累積消費電力量を効率よく最小化するように、フィードバック係数行列Fを更新することができる。このため、方策改善装置100は、制御対象110の累積消費電力量が最小化されるまでにかかる時間の低減化を図ることができ、サーバルーム600の運営コストの低減化を図ることができる。また、方策改善装置100は、サーバ601の使用状況の変化および気温の変化などが発生した場合も、その変化から比較的短い時間で、累積消費電力量を効率よく最小化することができる。
ここでは、即時コストが、サーバルーム600の単位時間ごとの消費電力量である場合について説明したが、これに限らない。即時コストは、例えば、サーバルーム600の目標とする室温と現在の室温との誤差の二乗和であってもよい。目標は、例えば、サーバルーム600の目標とする室温と現在の室温との誤差の二乗和の累積値の最小化であってもよい。状態価値関数は、例えば、目標とする室温と現在の室温との誤差に関する状態の価値を表す。
図7の例では、制御対象110は、発電機700である。発電機700は、例えば、風力発電機である。入力は、発電機700に対する指令値である。指令値は、例えば、発電機トルクである。状態は、発電機700に設けられたセンサ装置からのセンサデータであり、例えば、発電機700の発電量や発電機700のタービンの回転量または回転速度などである。状態は、発電機700に対する風向や風速などであってもよい。即時報酬は、例えば、発電機700の単位時間ごとの発電量である。単位時間は、例えば、5分である。目標は、例えば、発電機700の累積発電量の最大化である。状態価値関数は、例えば、発電機700の累積発電量についての状態の価値を表す。
方策改善装置100は、フィードバック係数行列Fの成分数を低減した上で、累積報酬である累積発電量を効率よく最大化するように、フィードバック係数行列Fを更新することができる。このため、方策改善装置100は、制御対象110の累積発電量が最大化されるまでにかかる時間の低減化を図ることができ、発電機700の利益の増大化を図ることができる。また、方策改善装置100は、発電機700の状況の変化などが発生した場合も、その変化から比較的短い時間で、累積発電量を効率よく最大化することができる。
図8の例では、制御対象110は、産業用ロボット800である。産業用ロボット800は、例えば、ロボットアームである。入力は、産業用ロボット800に対する指令値である。指令値は、例えば、産業用ロボット800のモータートルクなどである。状態は、産業用ロボット800に設けられたセンサ装置からのセンサデータであり、例えば、産業用ロボット800の撮影した画像、産業用ロボット800の関節位置や関節角度や関節角速度などである。即時報酬は、例えば、産業用ロボット800の単位時間ごとの組み立て数などである。目標は、産業用ロボット800の生産性の最大化である。状態価値関数は、例えば、産業用ロボット800の累積組み立て数についての状態の価値を表す。
方策改善装置100は、フィードバック係数行列Fの成分数を低減した上で、累積報酬である累積組み立て数を効率よく最大化するように、フィードバック係数行列Fを更新することができる。このため、方策改善装置100は、制御対象110の累積組み立て数が最大化されるまでにかかる時間の低減化を図ることができ、産業用ロボット800の利益の増大化を図ることができる。また、方策改善装置100は、産業用ロボット800の状況の変化などが発生した場合も、その変化から比較的短い時間で、累積組み立て数を効率よく最大化することができる。
また、制御対象110は、上述した具体例のシミュレータであってもよい。また、制御対象110は、風力発電以外の発電設備であってもよい。また、制御対象110は、例えば、化学プラントなどであってもよい。また、制御対象110は、例えば、自律移動体などであってもよい。自律移動体は、例えば、ドローン、ヘリコプター、自律移動ロボット、自動車などである。また、制御対象110は、ゲームであってもよい。
(強化学習処理手順の一例)
次に、図9および図10を用いて、強化学習処理手順の一例について説明する。
図9は、バッチ処理形式の強化学習処理手順の一例を示すフローチャートである。図9において、まず、方策改善装置100は、フィードバック係数行列Fと、基底行列Vとを初期化し、状態xを観測し、入力uを決定する(ステップS901)。基底行列Vは、例えば、単位行列に初期化される。基底行列Vは、縮約行列Vとして扱われ、更新される。
次に、方策改善装置100は、前回の入力ut−1に応じた、状態xと、即時コストct−1とを観測し、入力u=F (x =V)を算出する(ステップS902)。そして、方策改善装置100は、ステップS902をN回繰り返したか否かを判定する(ステップS903)。
ここで、N回繰り返していない場合(ステップS903:No)、方策改善装置100は、ステップS902の処理に戻る。一方で、N回繰り返している場合(ステップS903:Yes)、方策改善装置100は、ステップS904の処理に移行する。
方策改善装置100は、状態x,xt−1,・・・,xt−N−1と、即時コストct−1,ct−2,・・・,ct−N−2とに基づいて、状態価値関数の推定関数と、基底行列Vとを更新する。また、方策改善装置100は、下記式(22)に基づいて、フィードバック係数行列Fを更新する(ステップS904)。Voldは、更新前の基底行列Vであり、Vnewは、更新後の基底行列Vである。
Figure 2021064222
次に、方策改善装置100は、状態価値関数の推定関数に基づいて、フィードバック係数行列Fを更新する(ステップS905)。そして、方策改善装置100は、ステップS902の処理に戻る。これにより、方策改善装置100は、制御対象110を制御することができる。
図10は、逐次処理形式の強化学習処理手順の一例を示すフローチャートである。図10において、まず、方策改善装置100は、フィードバック係数行列Fと状態価値関数の推定関数と基底行列Vとを初期化し、状態xを観測し、入力uを決定する(ステップS1001)。基底行列Vは、例えば、単位行列に初期化される。基底行列Vは、縮約行列Vとして扱われ、更新される。
次に、方策改善装置100は、前回の入力ut−1に応じた、状態xと、即時コストct−1とを観測し、入力u=F (x =V)を算出する(ステップS1002)。そして、方策改善装置100は、状態x,xt−1と、即時コストct−1とに基づいて、状態価値関数の推定関数と、基底行列Vとを更新し、また、上記式(22)に基づいて、フィードバック係数行列Fを更新する(ステップS1003)。
次に、方策改善装置100は、ステップS1003をN回繰り返したか否かを判定する(ステップS1004)。ここで、N回繰り返していない場合(ステップS1004:No)、方策改善装置100は、ステップS1002の処理に戻る。一方で、N回繰り返している場合(ステップS1004:Yes)、方策改善装置100は、ステップS1005の処理に移行する。
次に、方策改善装置100は、状態価値関数の推定関数に基づいて、フィードバック係数行列Fを更新する(ステップS1005)。そして、方策改善装置100は、ステップS1002の処理に戻る。これにより、方策改善装置100は、制御対象110を制御することができる。
(方策改善処理手順の一例)
次に、図11を用いて、ステップS905の具体例であって、方策改善装置100がフィードバック係数行列Fを更新し、方策を改善する方策改善処理手順の一例について説明する。
図11は、方策改善処理手順の一例を示すフローチャートである。図11において、まず、方策改善装置100は、下記式(23)に基づいて、インデックスセットSを初期化する(ステップS1101)。
Figure 2021064222
(i,j)は、行列の成分を特定するインデックスである。インデックス(i,j)は、例えば、行列のi行j列の成分を特定する。以下の説明では、mは、フィードバック係数行列Fの行数である。nは、フィードバック係数行列Fの列数である。
次に、方策改善装置100は、インデックスセットSから、インデックス(i,j)を取り出す(ステップS1102)。そして、方策改善装置100は、コストct−1と状態xとを観測し、下記式(24)に基づいて、入力uを算出する(ステップS1103)。
Figure 2021064222
次に、方策改善装置100は、ステップS1103をN’回繰り返したか否かを判定する(ステップS1104)。ここで、N’回繰り返していない場合(ステップS1104:No)、方策改善装置100は、ステップS1103の処理に戻る。一方で、N’回繰り返している場合(ステップS1104:Yes)、方策改善装置100は、ステップS1105の処理に移行する。
次に、方策改善装置100は、係数F ijに関する状態価値関数の偏導関数の推定関数を、状態x,xt−1,・・・,xt−N’−1と即時コストct−1,ct−2,・・・,ct−N’−2と状態価値関数の推定関数とを用いて算出する(ステップS1105)。
そして、方策改善装置100は、インデックスセットSが空であるか否かを判定する(ステップS1106)。ここで、空ではない場合(ステップS1106:No)、方策改善装置100は、ステップS1102の処理に戻る。一方で、空である場合(ステップS1106:Yes)、方策改善装置100は、ステップS1107の処理に移行する。
次に、方策改善装置100は、推定勾配関数行列を用いて、フィードバック係数行列Fを更新する(ステップS1107)。そして、方策改善装置100は、方策改善処理を終了する。ここでは、方策改善装置100が、上記式(24)に基づいて、フィードバック係数行列Fに摂動を加えることにより、入力uを算出する場合について説明したが、これに限らない。例えば、方策改善装置100が、摂動を加える他の手法を用いる場合があってもよい。
(推定処理手順の一例)
次に、図12を用いて、ステップS1105の具体例であって、係数Fijに関する状態価値関数の偏導関数の推定関数を算出する推定処理手順の一例について説明する。
図12は、推定処理手順の一例を示すフローチャートである。図12において、まず、方策改善装置100は、状態x,xt−1,・・・,xt−N’−1を縮約し、下記式(25)に基づいて、TD誤差δt−1,・・・,δt−N’−2を算出する(ステップS1201)。
Figure 2021064222
次に、方策改善装置100は、下記式(26)に基づいて、TD誤差δt−1,・・・,δt−N’−2を、摂動εで除算した結果を取得する(ステップS1202)。
Figure 2021064222
次に、方策改善装置100は、下記式(27)に基づいて、一括最小二乗法によって、ベクトルθF〜ij F〜の推定ベクトルθ^F〜ij F〜を算出する(ステップS1203)。便宜上、例えば図中および式中などに表記されるθに下付文字F ijと上付文字Fとを付した記号を、文中では「θF〜ij F〜」と示す。また、便宜上、例えば図中および式中などに表記されるθF〜ij F〜の上部に∧を付した記号を、文中では「θ^F〜ij F〜」と示す。
Figure 2021064222
Tは、転置を示す。○と×を重ねた記号は、クロネッカー積を示す。†は、ムーア−ペンローズ(Moore−Penrose)の一般化逆行列を示す。
上記式(27)は、上記式(26)に対応するベクトルと、状態に依存しないベクトルθF〜ij F〜の推定ベクトルθ^F〜ij F〜および下記式(28)で規定される状態に依存する行列の積との近似等式を形成し、その近似等式を変形することにより得られる。
Figure 2021064222
ここで、状態に依存しないベクトルθF〜ij F〜の推定ベクトルθ^F〜ij F〜および上記式(28)で規定される状態に依存する行列の積は、状態価値関数をフィードバック係数行列Fの(i,j)成分で微分した結果に対応する。
次に、方策改善装置100は、下記式(29)に基づいて、ベクトルθF〜ij F〜の推定ベクトルθ^F〜ij F〜を用いて、行列∂PF〜/∂F ijの推定行列∂P^F〜/∂F ijを生成する(ステップS1204)。便宜上、例えば図中および式中などに表記される∂PF〜/∂F ijの上部に∧を付した記号を、文中では「∂P^F〜/∂F ij」と示す。
Figure 2021064222
vec−1は、ベクトルを行列に逆変換する記号である。
次に、方策改善装置100は、下記式(30)に基づいて、状態価値関数をF ijによって偏微分した偏導関数∂v/∂F ijの推定関数∂v^/∂F ijを算出する(ステップS1205)。そして、方策改善装置100は、推定処理を終了する。
Figure 2021064222
(更新処理手順の一例)
次に、図13を用いて、ステップS1107の具体例であって、方策改善装置100がフィードバック係数行列Fを更新する更新処理手順の一例について説明する。
図13は、更新処理手順の一例を示すフローチャートである。図13において、方策改善装置100は、下記式(31)に基づいて、偏導関数∂v/∂F ijの推定関数∂v^/∂F ijを用いて、フィードバック係数行列Fの勾配関数行列∇F〜v(x:F)を推定した推定勾配関数行列∇^F〜v(x:F)を生成する(ステップS1301)。
Figure 2021064222
次に、方策改善装置100は、上記式(13)に基づいて、フィードバック係数行列Fを更新する(ステップS1302)。そして、方策改善装置100は、更新処理を終了する。これにより、方策改善装置100は、状態価値関数を改善し、累積コストや累積報酬が効率よく最適化されるように、フィードバック係数行列Fを更新することができる。また、方策改善装置100は、任意のxが代入可能な推定勾配関数行列を生成することができる。
ここでは、方策改善装置100が、即時コストに基づく強化学習を実現する場合について説明したが、これに限らない。例えば、方策改善装置100が、即時報酬に基づく強化学習を実現する場合があってもよい。この場合、方策改善装置100は、上記式(13)に代わり、上記式(14)を用いるようにする。
ここで、図9および図10に示した強化学習処理を開始する開始トリガーは、例えば、利用者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の信号を受信したことであってもよい。開始トリガーは、例えば、方策改善装置100内で所定の信号が生成されたことであってもよい。
以上説明したように、方策改善装置100によれば、制御対象110の状態に対する状態価値関数のパラメータを推定した推定パラメータを算出することができる。方策改善装置100によれば、算出した推定パラメータを用いて、制御対象110の状態の空間を縮約することができる。方策改善装置100によれば、縮約した制御対象110の状態の空間に対して、状態価値関数を推定した推定状態価値関数に対するTD誤差を、方策を規定するパラメータそれぞれに摂動を与えることにより生成することができる。方策改善装置100によれば、生成したTD誤差および摂動に基づき、方策を規定するパラメータに関する状態価値関数の勾配を推定した推定勾配を生成することができる。方策改善装置100によれば、生成した推定勾配を用いて、方策を規定するパラメータを更新することができる。これにより、方策改善装置100は、制御対象110を表す問題が線形ではない場合や制御対象110を表す問題が既知ではない場合などにも、方策を規定するパラメータの要素数の低減化を図ることができる。このため、方策改善装置100は、強化学習における学習効率の向上を図ることができ、強化学習にかかる処理時間の短縮化を図ることができる。
方策改善装置100によれば、制御対象110の状態に対する状態価値関数の係数行列を推定した推定係数行列を生成することができる。方策改善装置100によれば、生成した推定係数行列を用いて、制御対象110の状態の空間を縮約することができる。方策改善装置100によれば、縮約した制御対象110の状態の空間に対して、状態価値関数を推定した推定状態価値関数に対するTD誤差を、方策を規定するフィードバック係数行列の成分それぞれに摂動を与えることにより生成することができる。方策改善装置100によれば、生成したTD誤差および摂動に基づき、フィードバック係数行列に関する状態価値関数の勾配関数行列を推定した推定勾配関数行列を生成することができる。方策改善装置100によれば、生成した推定勾配関数行列を用いて、フィードバック係数行列を更新することができる。これにより、方策改善装置100は、制御対象110を表す問題が線形である場合に適用することができる。
方策改善装置100によれば、空調設備の設定温度と空調設備の設定風量との少なくともいずれかを入力として用いることができる。方策改善装置100によれば、空調設備がある部屋の内部の温度と空調設備がある部屋の外部の温度と気候との少なくともいずれかを状態として用いることができる。方策改善装置100によれば、空調設備の消費電力量をコストとして用いることができる。これにより、方策改善装置100は、制御対象110が空調設備である場合に適用することができる。
方策改善装置100によれば、発電設備の発電機トルクを入力として用いることができる。方策改善装置100によれば、発電設備の発電量と発電設備のタービンの回転量と発電設備のタービンの回転速度と発電設備に対する風向と発電設備に対する風速との少なくともいずれかを状態として用いることができる。方策改善装置100によれば、発電設備の発電量を報酬として用いることができる。これにより、方策改善装置100は、制御対象110が、発電設備である場合に適用することができる。
方策改善装置100によれば、産業用ロボットのモータートルクを入力として用いることができる。方策改善装置100によれば、産業用ロボットの撮影した画像と産業用ロボットの関節位置と産業用ロボットの関節角度と産業用ロボットの関節角速度との少なくともいずれかを状態として用いることができる。方策改善装置100によれば、産業用ロボットの生産量を報酬として用いることができる。これにより、方策改善装置100は、制御対象110が、産業用ロボットである場合に適用することができる。
方策改善装置100によれば、更新後の方策のパラメータを出力することができる。これにより、方策改善装置100は、更新後の方策のパラメータを他のコンピュータで参照可能にすることができ、他のコンピュータで制御対象110を制御可能にすることができる。
なお、本実施の形態で説明した方策改善方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した方策改善プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)−ROM、MO、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した方策改善プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)状態価値関数による強化学習の方策改善方法であって、
前記強化学習における制御対象の即時コストまたは即時報酬が状態および入力によって規定される場合、前記制御対象の状態に対する前記状態価値関数のパラメータを推定した推定パラメータを算出し、
算出した前記推定パラメータを用いて、前記制御対象の状態の空間を縮約し、
縮約した前記制御対象の状態の空間に対して、前記状態価値関数を推定した推定状態価値関数に対するTD誤差を、前記方策を規定するパラメータそれぞれに摂動を与えることにより生成し、
生成した前記TD誤差および前記摂動に基づき、前記方策を規定するパラメータに関する前記状態価値関数の勾配を推定した推定勾配を生成し、
生成した前記推定勾配を用いて、前記方策を規定するパラメータを更新する、
処理をコンピュータが実行することを特徴とする方策改善方法。
(付記2)前記制御対象の状態変化が線形な差分方程式で規定され、かつ、前記制御対象の即時コストまたは即時報酬が状態および入力の2次形式で規定される場合、前記制御対象の状態に対する前記状態価値関数の係数行列を推定した推定係数行列を生成し、
生成した前記推定係数行列を用いて、前記制御対象の状態の空間を縮約し、
縮約した前記制御対象の状態の空間に対して、前記状態価値関数を推定した推定状態価値関数に対するTD誤差を、前記方策を規定するフィードバック係数行列の成分それぞれに摂動を与えることにより生成し、
生成した前記TD誤差および前記摂動に基づき、前記フィードバック係数行列に関する前記状態価値関数の勾配関数行列を推定した推定勾配関数行列を生成し、
生成した前記推定勾配関数行列を用いて、前記フィードバック係数行列を更新する、
処理を前記コンピュータが実行することを特徴とする付記1に記載の方策改善方法。
(付記3)前記制御対象は、空調設備であり、
前記強化学習は、前記空調設備の設定温度と前記空調設備の設定風量との少なくともいずれかを入力とし、前記空調設備がある部屋の内部の温度と前記空調設備がある部屋の外部の温度と気候との少なくともいずれかを状態とし、前記空調設備の消費電力量をコストとする、ことを特徴とする付記1または2に記載の方策改善方法。
(付記4)前記制御対象は、発電設備であり、
前記強化学習は、前記発電設備の発電機トルクを入力とし、前記発電設備の発電量と前記発電設備のタービンの回転量と前記発電設備のタービンの回転速度と前記発電設備に対する風向と前記発電設備に対する風速との少なくともいずれかを状態とし、前記発電設備の発電量を報酬とする、ことを特徴とする付記1または2に記載の方策改善方法。
(付記5)前記制御対象は、産業用ロボットであり、
前記強化学習は、前記産業用ロボットのモータートルクを入力とし、前記産業用ロボットの撮影した画像と前記産業用ロボットの関節位置と前記産業用ロボットの関節角度と前記産業用ロボットの関節角速度との少なくともいずれかを状態とし、前記産業用ロボットの生産量を報酬とする、ことを特徴とする付記1または2に記載の方策改善方法。
(付記6)更新後の前記方策のパラメータを出力する、
処理を前記コンピュータが実行することを特徴とする付記1または2に記載の方策改善方法。
(付記7)状態価値関数による強化学習の方策改善プログラムであって、
前記強化学習における制御対象の即時コストまたは即時報酬が状態および入力によって規定される場合、前記制御対象の状態に対する前記状態価値関数のパラメータを推定した推定パラメータを算出し、
算出した前記推定パラメータを用いて、前記制御対象の状態の空間を縮約し、
縮約した前記制御対象の状態の空間に対して、前記状態価値関数を推定した推定状態価値関数に対するTD誤差を、前記方策を規定するパラメータそれぞれに摂動を与えることにより生成し、
生成した前記TD誤差および前記摂動に基づき、前記方策を規定するパラメータに関する前記状態価値関数の勾配を推定した推定勾配を生成し、
生成した前記推定勾配を用いて、前記方策を規定するパラメータを更新する、
処理をコンピュータに実行させることを特徴とする方策改善プログラム。
(付記8)状態価値関数による強化学習の方策改善装置であって、
前記強化学習における制御対象の即時コストまたは即時報酬が状態および入力によって規定される場合、前記制御対象の状態に対する前記状態価値関数のパラメータを推定した推定パラメータを算出し、
算出した前記推定パラメータを用いて、前記制御対象の状態の空間を縮約し、
縮約した前記制御対象の状態の空間に対して、前記状態価値関数を推定した推定状態価値関数に対するTD誤差を、前記方策を規定するパラメータそれぞれに摂動を与えることにより生成し、
生成した前記TD誤差および前記摂動に基づき、前記方策を規定するパラメータに関する前記状態価値関数の勾配を推定した推定勾配を生成し、
生成した前記推定勾配を用いて、前記方策を規定するパラメータを更新する、
制御部を有することを特徴とする方策改善装置。
100 方策改善装置
110 制御対象
200 バス
201 CPU
202 メモリ
203 ネットワークI/F
204 記録媒体I/F
205 記録媒体
210 ネットワーク
300 履歴テーブル
400 記憶部
401 観測部
402 縮約部
403 更新部
404 決定部
405 出力部
600 サーバルーム
601 サーバ
602 冷却器
700 発電機
800 産業用ロボット

Claims (7)

  1. 状態価値関数による強化学習の方策改善方法であって、
    前記強化学習における制御対象の即時コストまたは即時報酬が状態および入力によって規定される場合、前記制御対象の状態に対する前記状態価値関数のパラメータを推定した推定パラメータを算出し、
    算出した前記推定パラメータを用いて、前記制御対象の状態の空間を縮約し、
    縮約した前記制御対象の状態の空間に対して、前記状態価値関数を推定した推定状態価値関数に対するTD誤差を、前記方策を規定するパラメータそれぞれに摂動を与えることにより生成し、
    生成した前記TD誤差および前記摂動に基づき、前記方策を規定するパラメータに関する前記状態価値関数の勾配を推定した推定勾配を生成し、
    生成した前記推定勾配を用いて、前記方策を規定するパラメータを更新する、
    処理をコンピュータが実行することを特徴とする方策改善方法。
  2. 前記制御対象の状態変化が線形な差分方程式で規定され、かつ、前記制御対象の即時コストまたは即時報酬が状態および入力の2次形式で規定される場合、前記制御対象の状態に対する前記状態価値関数の係数行列を推定した推定係数行列を生成し、
    生成した前記推定係数行列を用いて、前記制御対象の状態の空間を縮約し、
    縮約した前記制御対象の状態の空間に対して、前記状態価値関数を推定した推定状態価値関数に対するTD誤差を、前記方策を規定するフィードバック係数行列の成分それぞれに摂動を与えることにより生成し、
    生成した前記TD誤差および前記摂動に基づき、前記フィードバック係数行列に関する前記状態価値関数の勾配関数行列を推定した推定勾配関数行列を生成し、
    生成した前記推定勾配関数行列を用いて、前記フィードバック係数行列を更新する、
    処理を前記コンピュータが実行することを特徴とする請求項1に記載の方策改善方法。
  3. 前記制御対象は、空調設備であり、
    前記強化学習は、前記空調設備の設定温度と前記空調設備の設定風量との少なくともいずれかを入力とし、前記空調設備がある部屋の内部の温度と前記空調設備がある部屋の外部の温度と気候との少なくともいずれかを状態とし、前記空調設備の消費電力量をコストとする、ことを特徴とする請求項1または2に記載の方策改善方法。
  4. 前記制御対象は、発電設備であり、
    前記強化学習は、前記発電設備の発電機トルクを入力とし、前記発電設備の発電量と前記発電設備のタービンの回転量と前記発電設備のタービンの回転速度と前記発電設備に対する風向と前記発電設備に対する風速との少なくともいずれかを状態とし、前記発電設備の発電量を報酬とする、ことを特徴とする請求項1または2に記載の方策改善方法。
  5. 前記制御対象は、産業用ロボットであり、
    前記強化学習は、前記産業用ロボットのモータートルクを入力とし、前記産業用ロボットの撮影した画像と前記産業用ロボットの関節位置と前記産業用ロボットの関節角度と前記産業用ロボットの関節角速度との少なくともいずれかを状態とし、前記産業用ロボットの生産量を報酬とする、ことを特徴とする請求項1または2に記載の方策改善方法。
  6. 状態価値関数による強化学習の方策改善プログラムであって、
    前記強化学習における制御対象の即時コストまたは即時報酬が状態および入力によって規定される場合、前記制御対象の状態に対する前記状態価値関数のパラメータを推定した推定パラメータを算出し、
    算出した前記推定パラメータを用いて、前記制御対象の状態の空間を縮約し、
    縮約した前記制御対象の状態の空間に対して、前記状態価値関数を推定した推定状態価値関数に対するTD誤差を、前記方策を規定するパラメータそれぞれに摂動を与えることにより生成し、
    生成した前記TD誤差および前記摂動に基づき、前記方策を規定するパラメータに関する前記状態価値関数の勾配を推定した推定勾配を生成し、
    生成した前記推定勾配を用いて、前記方策を規定するパラメータを更新する、
    処理をコンピュータに実行させることを特徴とする方策改善プログラム。
  7. 状態価値関数による強化学習の方策改善装置であって、
    前記強化学習における制御対象の即時コストまたは即時報酬が状態および入力によって規定される場合、前記制御対象の状態に対する前記状態価値関数のパラメータを推定した推定パラメータを算出し、
    算出した前記推定パラメータを用いて、前記制御対象の状態の空間を縮約し、
    縮約した前記制御対象の状態の空間に対して、前記状態価値関数を推定した推定状態価値関数に対するTD誤差を、前記方策を規定するパラメータそれぞれに摂動を与えることにより生成し、
    生成した前記TD誤差および前記摂動に基づき、前記方策を規定するパラメータに関する前記状態価値関数の勾配を推定した推定勾配を生成し、
    生成した前記推定勾配を用いて、前記方策を規定するパラメータを更新する、
    制御部を有することを特徴とする方策改善装置。
JP2019188989A 2019-10-15 2019-10-15 方策改善方法、方策改善プログラム、および方策改善装置 Pending JP2021064222A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019188989A JP2021064222A (ja) 2019-10-15 2019-10-15 方策改善方法、方策改善プログラム、および方策改善装置
US17/035,793 US20210109491A1 (en) 2019-10-15 2020-09-29 Policy improvement method, non-transitory computer-readable storage medium for storing policy improvement program, and policy improvement device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019188989A JP2021064222A (ja) 2019-10-15 2019-10-15 方策改善方法、方策改善プログラム、および方策改善装置

Publications (1)

Publication Number Publication Date
JP2021064222A true JP2021064222A (ja) 2021-04-22

Family

ID=75382919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019188989A Pending JP2021064222A (ja) 2019-10-15 2019-10-15 方策改善方法、方策改善プログラム、および方策改善装置

Country Status (2)

Country Link
US (1) US20210109491A1 (ja)
JP (1) JP2021064222A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022244263A1 (ja) * 2021-05-21 2022-11-24 日本電信電話株式会社 方策推定装置、方策推定方法、およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010515181A (ja) * 2007-01-02 2010-05-06 シーメンス アクチエンゲゼルシヤフト 計算機支援による技術システムの開ループ制御および/または閉ループ制御のための方法
JP2019053593A (ja) * 2017-09-15 2019-04-04 富士通株式会社 方策改善プログラム、方策改善方法、および方策改善装置
JP2019146420A (ja) * 2018-02-22 2019-08-29 富士通株式会社 強化学習プログラム、強化学習方法、および強化学習装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2539873B (en) * 2015-06-12 2017-11-15 Jaguar Land Rover Ltd Automated climate control system
US11568236B2 (en) * 2018-01-25 2023-01-31 The Research Foundation For The State University Of New York Framework and methods of diverse exploration for fast and safe policy improvement
WO2019222150A1 (en) * 2018-05-15 2019-11-21 Lightmatter, Inc. Algorithms for training neural networks with photonic hardware accelerators
US11392099B2 (en) * 2019-03-25 2022-07-19 Mitsubishi Electric Research Laboratories, Inc. Data-driven nonlinear output-feedback control of power generators

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010515181A (ja) * 2007-01-02 2010-05-06 シーメンス アクチエンゲゼルシヤフト 計算機支援による技術システムの開ループ制御および/または閉ループ制御のための方法
JP2019053593A (ja) * 2017-09-15 2019-04-04 富士通株式会社 方策改善プログラム、方策改善方法、および方策改善装置
JP2019146420A (ja) * 2018-02-22 2019-08-29 富士通株式会社 強化学習プログラム、強化学習方法、および強化学習装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
下谷 篤史 ほか: "価値関数の分解による高速な強化学習法", 電子情報通信学会技術研究報告, vol. 第104巻 第759号, JPN6023022150, 22 March 2005 (2005-03-22), pages 125 - 130, ISSN: 0005076184 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022244263A1 (ja) * 2021-05-21 2022-11-24 日本電信電話株式会社 方策推定装置、方策推定方法、およびプログラム

Also Published As

Publication number Publication date
US20210109491A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
Ab Azar et al. From inverse optimal control to inverse reinforcement learning: A historical review
Viera-Martin et al. Artificial neural networks: a practical review of applications involving fractional calculus
US20110125687A1 (en) Method for hammerstein modeling of steam generator plant
JP6958808B2 (ja) 方策改善プログラム、方策改善方法、および方策改善装置
Flagg Interpolation methods for the model reduction of bilinear systems
Haber et al. Linear computational complexity robust ILC for lifted systems
Pappalardo et al. Identification of a dynamical model of the latching mechanism of an aircraft hatch door using the numerical algorithms for subspace state-space system identification
Prag et al. Toward data-driven optimal control: A systematic review of the landscape
JP2020095586A (ja) 強化学習方法、および強化学習プログラム
JP7188194B2 (ja) 方策改善方法、方策改善プログラム、および方策改善装置
Kessels et al. Real-time parameter updating for nonlinear digital twins using inverse mapping models and transient-based features
JP2021064222A (ja) 方策改善方法、方策改善プログラム、および方策改善装置
JP7357813B2 (ja) データ駆動型モデル適応を用いる制御のための装置および方法
Zhai et al. Parameter estimation and modeling of nonlinear dynamical systems based on runge–kutta physics-informed neural network
Precup et al. A survey on fuzzy control for mechatronics applications
He et al. Statistical tolerance allocation design considering form errors based on rigid assembly simulation and deep Q-network
JP6919856B2 (ja) 強化学習プログラム、強化学習方法、および強化学習装置
Abut et al. Optimal adaptive computed torque control for haptic-teleoperation system with uncertain dynamics
CN116360504A (zh) 无人机集群任务的确定方法、装置、电子设备及存储介质
Knödler et al. The Potential of Data-Driven Engineering Models: An Analysis Across Domains in the Automotive Development Process
JP7351135B2 (ja) 方策改善方法、方策改善プログラム、および方策改善装置
Wang et al. Data-based control of partially-observed robotic systems
Kamali et al. Using Q-learning and genetic algorithms to improve the efficiency of weight adjustments for optimal control and design problems
Guo et al. A Deep Reinforcement Learning Model-based Optimization Method for Graphic Design
US20240152748A1 (en) System and Method for Training of neural Network Model for Control of High Dimensional Physical Systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230606

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231128