JP7225923B2 - 強化学習方法、強化学習プログラム、および強化学習システム - Google Patents

強化学習方法、強化学習プログラム、および強化学習システム Download PDF

Info

Publication number
JP7225923B2
JP7225923B2 JP2019039032A JP2019039032A JP7225923B2 JP 7225923 B2 JP7225923 B2 JP 7225923B2 JP 2019039032 A JP2019039032 A JP 2019039032A JP 2019039032 A JP2019039032 A JP 2019039032A JP 7225923 B2 JP7225923 B2 JP 7225923B2
Authority
JP
Japan
Prior art keywords
controlled object
state
control input
information processing
processing apparatus
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.)
Active
Application number
JP2019039032A
Other languages
English (en)
Other versions
JP2020144484A (ja
Inventor
佳寛 大川
智丈 佐々木
秀直 岩根
仁史 屋並
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 JP2019039032A priority Critical patent/JP7225923B2/ja
Priority to US16/797,515 priority patent/US11543789B2/en
Publication of JP2020144484A publication Critical patent/JP2020144484A/ja
Application granted granted Critical
Publication of JP7225923B2 publication Critical patent/JP7225923B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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/2619Wind turbines
    • 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/34Director, elements to supervisory
    • G05B2219/34082Learning, online reinforcement learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Optimization (AREA)
  • Feedback Control In General (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、強化学習方法、強化学習プログラム、および強化学習システムに関する。
従来、制御対象への制御入力に応じた制御対象からの即時コストまたは即時報酬を参照して、制御対象からの累積コストまたは累積報酬に基づいて制御対象への制御入力の価値を規定する価値関数を最適化するような方策を学習していく強化学習の技術がある。価値関数は、状態行動価値関数(Q関数)または状態価値関数(V関数)などである。
先行技術としては、例えば、プラントの運用コストを評価したコスト評価値が最適となるようにプラントに与える制御信号の生成方法を自律学習するものがある。また、例えば、操作信号を計算する際に用いる制御パラメータの変化量とプラントの状態変化量とを対応付けた知識情報に基づいて、制御パラメータの探索範囲を決定する技術がある。また、例えば、プラントの第1の計測信号の目標値との誤差である第1の誤差よりも、プラントの第2の計測信号の目標値との誤差である第2の誤差が大きい場合に操作信号の補正信号を生成する技術がある。
特開2012-53505号公報 特開2017-157112号公報 特開2009-128972号公報
しかしながら、従来技術では、強化学習により方策を学習していく最中に、制御対象の状態が、制御対象の状態に関する制約条件に違反する確率が増大してしまう。そして、制御対象の状態が、制御対象の状態に関する制約条件に違反すると、制御対象に悪影響を及ぼすことがある。
1つの側面では、本発明は、制約条件を充足する確率の向上を図ることを目的とする。
1つの実施態様によれば、制御対象の状態と前記制御対象への制御入力との関係を規定するモデル情報から求められた、将来の時点における前記制御対象の状態の予測値に基づいて、前記制御対象の状態に関する制約条件に対する、現在の時点における前記制御対象の状態についての危険度を算出し、算出した前記危険度が大きいほど狭くなるように、算出した前記危険度に応じて定まる範囲の中から、前記現在の時点における前記制御対象への制御入力を決定する強化学習方法、強化学習プログラム、および強化学習システムが提案される。
一態様によれば、制約条件を充足する確率の向上を図ることが可能になる。
図1は、実施の形態にかかる強化学習方法の一実施例を示す説明図(その1)である。 図2は、実施の形態にかかる強化学習方法の一実施例を示す説明図(その2)である。 図3は、実施の形態にかかる強化学習方法の一実施例を示す説明図(その3)である。 図4は、情報処理装置100のハードウェア構成例を示すブロック図である。 図5は、情報処理装置100の機能的構成例を示すブロック図である。 図6は、情報処理装置100の動作例1を示す説明図(その1)である。 図7は、情報処理装置100の動作例1を示す説明図(その2)である。 図8は、情報処理装置100の動作例1を示す説明図(その3)である。 図9は、動作例1における情報処理装置100により得られた効果を示す説明図(その1)である。 図10は、動作例1における情報処理装置100により得られた効果を示す説明図(その2)である。 図11は、制御対象110の具体例を示す説明図(その1)である。 図12は、制御対象110の具体例を示す説明図(その2)である。 図13は、制御対象110の具体例を示す説明図(その3)である。 図14は、動作例1における全体処理手順の一例を示すフローチャートである。 図15は、動作例1における決定処理手順の一例を示すフローチャートである。 図16は、情報処理装置100の動作例2を示す説明図(その1)である。 図17は、情報処理装置100の動作例2を示す説明図(その2)である。 図18は、動作例2における情報処理装置100により得られた効果を示す説明図(その1)である。 図19は、動作例2における情報処理装置100により得られた効果を示す説明図(その2)である。 図20は、動作例2における全体処理手順の一例を示すフローチャートである。 図21は、動作例2における決定処理手順の一例を示すフローチャートである。
以下に、図面を参照して、本発明にかかる強化学習方法、強化学習プログラム、および強化学習システムの実施の形態を詳細に説明する。
(実施の形態にかかる強化学習方法の一実施例)
図1~図3は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。情報処理装置100は、強化学習により制御対象110を制御するためのコンピュータである。情報処理装置100は、例えば、サーバやPC(Personal Computer)、または、マイクロコントローラなどである。
制御対象110は、何らかの事象であり、例えば、現実に存在する物理系である。制御対象110は、環境(environment)とも呼ばれる。制御対象110は、例えば、シミュレータ上に存在してもよい。制御対象110は、具体的には、自動車、自律移動ロボット、産業用ロボット、ドローン、ヘリコプター、サーバルーム、発電設備、化学プラント、または、ゲームなどである。
強化学習は、制御対象110を制御する方策を学習していく手法である。方策は、制御対象110への制御入力を決定するための制御則である。制御入力は、行動(action)とも呼ばれる。強化学習は、例えば、制御対象110への制御入力を決定し、制御対象110の状態と、決定した制御入力と、決定した制御入力に応じて観測した制御対象110からの即時コストまたは即時報酬とを参照して、価値関数を最適化するような方策を学習していく。
価値関数は、制御対象110からの累積コストまたは累積報酬に基づいて、制御対象110への制御入力についての価値を規定する関数である。価値関数は、例えば、状態行動価値関数(Q関数)、または、状態価値関数(V関数)などである。価値関数は、例えば、状態基底関数を用いて表現される。最適化は、累積コストに基づく価値関数に関しては最小化に対応し、累積報酬に基づく価値関数に関しては最大化に対応する。強化学習は、例えば、制御対象110の性質が不明でも実現可能である。強化学習は、具体的には、Q学習、SARSA、または、actor-criticなどを利用する。
ここで、制御対象110の状態に対する制約条件が存在する場合、制約条件を充足させつつ制御対象110を制御可能である方策を学習することが望まれる他に、強化学習により方策を学習していく最中にも、制約条件を充足させておくことが望まれる。特に、強化学習を、シミュレータ上ではなく、実在する制御対象110に適用しようとする場合、制約条件を違反すると、実在する制御対象110に悪影響を及ぼすことがある。このため、強化学習により、方策を学習していく最中にも、制約条件を充足させることが望まれる。違反とは、制約条件を充足しないことである。
例えば、制御対象110がサーバルームであり、サーバルームの温度を一定以下にする制約条件が存在する場合、制約条件を違反すると、サーバルームにあるサーバが故障しやすくなることがある。また、例えば、制御対象110が風車であり、風車の回転速度を一定以下にする制約条件が存在する場合、制約条件を違反すると、風車が破損しやすくなることがある。このように、制約条件を違反すると、実在する制御対象110は、悪影響を受けることがある。
しかしながら、従来の強化学習では、方策を学習していく最中に、制御対象110への制御入力を決定するにあたり、制御対象110の状態が制約条件を充足するか否かを考慮していない。このため、方策を学習していく際に、制御対象110の状態が制約条件を違反する確率が増大してしまう。また、学習された方策が、制約条件を充足するように制御対象110を制御可能にする方策ではないことがある。従来の強化学習については、例えば、上記特許文献3または下記非特許文献1が参照される。
非特許文献1:Doya, Kenji. “Reinforcement learning in continuous time and space.” Neural computation 12.1 (2000): 219-245.
これに対し、上記従来の強化学習において、制約条件を違反した場合にペナルティを与えるようにする改良手法が考えられる。この改良手法では、制約条件を充足するように制御対象110を制御可能にする方策を学習可能であるが、強化学習により、方策を学習していく最中には、制約条件を充足させることはできない。
一方で、強化学習により方策を学習していく最中に、制約条件を充足させることができても、学習効率の低下を招くことは好ましくない。例えば、強化学習により方策を学習していく最中に、制御入力を決定する範囲を比較的狭い範囲に固定することが考えられるが、学習効率の低下を招くことがあり、学習効率の観点から好ましくない。
また、予備実験により制御対象について正確なモデリングを実施し、制御対象の正確なモデルを用いて、制御入力を決定する範囲を調整することにより、制約条件を違反する確率の低減化を図る手法が考えられる。この手法は、正確なモデリングを実施することが困難な場合には適用することができない。また、この手法は、制御対象の正確なモデルが複雑なモデルである場合、強化学習にかかる計算負担の増大化を招く。この手法については、例えば、下記非特許文献2が参照される。
非特許文献2:Summers, Tyler, et al. “Stochastic optimal power flow based on conditional value at risk and distributional robustness.” International Journal of Electrical Power & Energy Systems 72 (2015): 116-125.
そこで、本実施の形態では、将来の時点における制御対象110の状態から算出した、制約条件に対する現在の時点における制御対象110の状態の危険度に応じて定まる範囲から、制御対象110への制御入力を決定する強化学習方法について説明する。この強化学習方法によれば、強化学習により方策を学習していく最中における、制約条件を充足する確率の向上を図ることができる。
図1に示すように、情報処理装置100は、強化学習器101を用いて、制御対象110への制御入力を出力し、制御対象110の状態および制御対象110からの即時報酬を観測し、方策を更新する一連の処理を繰り返すことにより、強化学習を実施する。情報処理装置100は、例えば、強化学習において、モデル情報を参照して、将来の時点における制御対象110の状態の予測値を算出し、算出した将来の時点における制御対象110の状態の予測値に基づいて、制御対象110への制御入力を決定して出力する。
モデル情報は、制御対象110の状態と制御対象110への制御入力との関係を規定する情報である。モデル情報は、例えば、第1の時点における制御対象110の状態と、第1の時点における制御対象110への制御入力とが入力されると、第1の時点の次の第2の時点における制御対象110の状態を出力する関数を規定する情報である。次に、図2および図3を用いて、情報処理装置100が、制御対象110への制御入力を決定する手法について説明する。
図2に示すように、情報処理装置100は、制御対象110への制御入力を決定するにあたり、将来の時点における制御対象110の状態の予測値に基づいて、制約条件に対する、現在の時点における制御対象110の状態についての危険度を算出する。制約条件は、制御対象110の状態に関する。危険度は、例えば、現在の時点における制御対象110の状態が、将来の時点における制御対象110の状態が、制約条件に違反してしまう状況を、どの程度招きやすい状態であるのかを示す。
図2の例では、制約条件として、制御対象110の状態に関する上限が設定される場合について説明する。この場合、情報処理装置100は、将来の時点における制御対象110の状態の予測値が、上限以下の範囲で上限に近づくほど、危険度が大きくなるように、現在の時点における制御対象110の状態についての危険度を算出する。図2のグラフ200は、各時点の状態の予測値と実測値とを示す。具体的には、時点k+1では、将来の時点k+2における状態の予測値は、上限に比較的近いため、危険度を比較的大きい値として算出する。具体的には、時点k+3では、将来の時点k+4における状態の予測値は、上限から比較的遠いため、危険度を比較的小さい値として算出する。
これによれば、情報処理装置100は、制御対象110への制御入力を決定する範囲を定めるための指標を得ることができる。具体的には、時点k+1では、危険度は、比較的大きく、将来の時点k+2における状態が制約条件を違反せずに済む範囲201が比較的狭いことを示す指標となる。また、具体的には、時点k+3では、危険度は、比較的小さく、将来の時点k+4における状態が制約条件を違反せずに済む範囲202が比較的広いことを示す指標となる。次に、図3の説明に移行する。
図3に示すように、情報処理装置100は、算出した危険度に応じて定まる範囲の中から、現在の時点における制御対象110への制御入力を決定する。上述したように、危険度が大きいほど、将来の時点における制御対象110の状態が制約条件に違反せずに済む範囲が狭いことを示す。換言すれば、危険度が大きいほど、制御対象110への制御入力を決定する範囲を広げた場合に、将来の時点における制御対象110の状態が制約条件に違反してしまう確率も増大する傾向がある。このため、情報処理装置100は、例えば、算出した危険度が大きいほど、範囲が狭くなるように、算出した危険度に応じて定まる範囲の中から、現在の時点における制御対象110への制御入力を決定する。
これにより、情報処理装置100は、算出した危険度が大きいほど、制御対象110への制御入力を決定する範囲を狭め、将来の時点における制御対象110の状態が制約条件に違反してしまう確率の増大化を抑制することができる。結果として、情報処理装置100は、強化学習により、方策を学習していく最中に、制御対象110の状態が制約条件を違反してしまう確率の増大化を抑制することができる。一方で、情報処理装置100は、算出した危険度が小さいほど、制御対象110への制御入力を決定する範囲を広げ、強化学習により方策を学習していく学習効率の低減化を抑制することができる。
ここで、強化学習により方策を学習していく最中に、制御対象110の状態が制約条件を違反する確率をどの程度まで低減可能であるかを、強化学習を開始する前に評価可能にすることが望まれる場合がある。例えば、強化学習を、実在する制御対象110に適用しようとする場合、制約条件を違反すると、実在する制御対象110に悪影響を及ぼすことがある。このため、強化学習により方策を学習していく最中に、制御対象110の状態が制約条件を違反する確率をどの程度まで低減可能であるかを、強化学習を開始する前に評価可能にすることが望まれる。
これに対し、情報処理装置100は、強化学習により方策を学習していく最中に、制御対象110の状態が制約条件を充足する確率が一定以上に大きくなることを保証可能に、制御対象110への制御入力を決定することもできる。情報処理装置100は、例えば、エピソード型の強化学習により方策を学習していく最中に、エピソード内のすべての時点において、制御対象110の状態が制約条件を充足する確率が、予め設定された下限値以上に大きくなることを保証することができる。エピソード型の強化学習は、制御対象110の状態が初期化されてから制御対象110の状態が制約条件を充足しなくなるまでの期間、または、制御対象110の状態が初期化されてから一定時間が経過するまでの期間を、エピソードとする。エピソードは、学習の単位である。制御対象110の状態が制約条件を充足する確率が一定以上に大きくなることを保証可能にする場合については、具体的には、図6~図8を用いて後述する動作例1において、詳細に説明する。
ここでは、制約条件が1つ設定される場合について説明したが、これに限らない。例えば、制約条件が複数設定される場合があってもよい。この場合、情報処理装置100は、強化学習により、方策を学習していく最中に、制御対象110の状態が複数の制約条件を同時に充足する確率の増大化を図る。制約条件が複数設定される場合については、具体的には、図16および図17を用いて後述する動作例2において、詳細に説明する。
ここでは、情報処理装置100が、モデル情報を参照して、将来の時点における制御対象110の状態の予測値を算出する場合について説明したが、これに限らない。例えば、情報処理装置100以外に、将来の時点における制御対象110の状態の予測値を算出する装置が存在する場合があってもよい。この場合、情報処理装置100は、将来の時点における制御対象110の状態の予測値を算出する装置から、将来の時点における制御対象110の状態の予測値を取得する。
(情報処理装置100のハードウェア構成例)
次に、図4を用いて、図1~図3に示した情報処理装置100のハードウェア構成例について説明する。
図4は、情報処理装置100のハードウェア構成例を示すブロック図である。図4において、情報処理装置100は、CPU(Central Processing Unit)401と、メモリ402と、ネットワークI/F(Interface)403と、記録媒体I/F404と、記録媒体405とを有する。また、各構成部は、バス400によってそれぞれ接続される。
ここで、CPU401は、情報処理装置100の全体の制御を司る。メモリ402は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU401のワークエリアとして使用される。メモリ402に記憶されるプログラムは、CPU401にロードされることで、コーディングされている処理をCPU401に実行させる。
ネットワークI/F403は、通信回線を通じてネットワーク410に接続され、ネットワーク410を介して他のコンピュータに接続される。そして、ネットワークI/F403は、ネットワーク410と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F403は、例えば、モデムやLAN(Local Area Network)アダプタなどである。
記録媒体I/F404は、CPU401の制御に従って記録媒体405に対するデータのリード/ライトを制御する。記録媒体I/F404は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体405は、記録媒体I/F404の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体405は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体405は、情報処理装置100から着脱可能であってもよい。
情報処理装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F404や記録媒体405を複数有していてもよい。また、情報処理装置100は、記録媒体I/F404や記録媒体405を有していなくてもよい。
(情報処理装置100の機能的構成例)
次に、図5を用いて、情報処理装置100の機能的構成例について説明する。
図5は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、記憶部500と、取得部501と、算出部502と、決定部503と、学習部504と、出力部505とを含む。
記憶部500は、例えば、図4に示したメモリ402や記録媒体405などの記憶領域によって実現される。以下では、記憶部500が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部500が、情報処理装置100とは異なる装置に含まれ、記憶部500の記憶内容が情報処理装置100から参照可能である場合があってもよい。
取得部501~出力部505は、制御部の一例として機能する。取得部501~出力部505は、具体的には、例えば、図4に示したメモリ402や記録媒体405などの記憶領域に記憶されたプログラムをCPU401に実行させることにより、または、ネットワークI/F403により、その機能を実現する。各機能部の処理結果は、例えば、図4に示したメモリ402や記録媒体405などの記憶領域に記憶される。
記憶部500は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部500は、制御対象110の状態と、制御対象110への制御入力と、制御対象110からの即時コストまたは即時報酬とを蓄積する。これにより、記憶部500は、各機能部が、制御対象110の状態と、制御対象110への制御入力と、制御対象110からの即時コストまたは即時報酬とを参照可能にすることができる。
制御対象110は、例えば、発電設備である場合がある。発電設備は、例えば、風力発電設備である場合がある。この場合、制御入力は、例えば、発電設備の発電機トルクである。状態は、例えば、発電設備の発電量と、発電設備のタービンの回転量と、発電設備のタービンの回転速度と、発電設備に対する風向と、発電設備に対する風速となどの少なくともいずれかである。報酬は、例えば、発電設備の発電量である。発電設備は、例えば、火力発電設備、太陽光発電設備、または、原子力発電設備などである場合があってもよい。
制御対象110は、例えば、産業用ロボットである場合がある。この場合、制御入力は、例えば、産業用ロボットのモータートルクである。状態は、例えば、産業用ロボットの撮影した画像と、産業用ロボットの関節位置と、産業用ロボットの関節角度と、産業用ロボットの関節角速度となどの少なくともいずれかである。報酬は、例えば、産業用ロボットによる製品の生産量である。生産量は、例えば、組み立て数である。組み立て数は、例えば、産業用ロボットが組み立てた製品の数である。
制御対象110は、例えば、空調設備である場合がある。空調設備は、例えば、サーバルームにある。この場合、制御入力は、例えば、空調設備の設定温度と、空調設備の設定風量との少なくともいずれかである。状態は、例えば、空調設備がある部屋の内部の実際の温度と、空調設備がある部屋の外部の実際の温度と、気候との少なくともいずれかである。コストは、例えば、空調設備の消費電力量である。
記憶部500は、モデル情報を記憶する。モデル情報は、制御対象110の状態と制御対象110への制御入力との関係を規定する。モデル情報は、例えば、第1の時点における制御対象110の状態を示す変数および第1の時点における制御対象110への制御入力を示す変数を用いて、第1の時点の次の第2の時点における制御対象110の状態についての関数を線形近似して表す。第2の時点は、例えば、第1の時点の単位時間後の時点である。
記憶部500は、価値関数を記憶する。価値関数は、例えば、制御対象110からの累積コストまたは累積報酬に基づいて制御対象110への制御入力の価値を規定する。価値関数は、例えば、状態基底関数を用いて表現される。価値関数は、状態行動価値関数(Q関数)または状態価値関数(V関数)などである。記憶部500は、例えば、価値関数のパラメータを記憶する。これにより、記憶部500は、各機能部が価値関数を参照可能にすることができる。
記憶部500は、制御対象110を制御する方策を記憶する。方策は、例えば、制御対象110への制御入力を決定するための制御則である。記憶部500は、例えば、方策のパラメータωを記憶する。これにより、記憶部500は、方策により制御対象110への制御入力を決定可能にすることができる。記憶部500は、制御対象110の状態に関する制約条件を1または複数記憶する。これにより、記憶部500は、各機能部が制約条件を参照可能にすることができる。以下の説明では、記憶部500が即時報酬を蓄積する場合を一例として説明する。
取得部501は、各機能部の処理に用いられる各種情報を取得する。取得部501は、取得した各種情報を、記憶部500に記憶し、または、各機能部に出力する。また、取得部501は、記憶部500に記憶しておいた各種情報を、各機能部に出力してもよい。取得部501は、例えば、ユーザの操作入力に基づき、各種情報を取得する。取得部501は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。
取得部501は、制御対象110の状態と、制御対象110への制御入力に応じた制御対象110からの即時報酬とを取得する。取得部501は、例えば、制御対象110の状態と、制御対象110への制御入力に応じた制御対象110からの即時報酬とを取得し、記憶部500に出力する。これにより、取得部501は、制御対象110の状態と、制御対象110への制御入力に応じた制御対象110からの即時報酬とを記憶部500に蓄積させることができる。
算出部502は、強化学習において、時点ごとに、モデル情報を参照して、将来の時点における制御対象110の状態の予測値を算出する。時点は、単位時間間隔である。将来の時点は、現在の時点の単位時間後の時点である。強化学習は、例えば、エピソード型である。エピソード型は、制御対象110の状態が初期化されてから制御対象110の状態が制約条件を充足しなくなるまでの期間、または、制御対象110の状態が初期化されてから一定時間が経過するまでの期間を、学習の単位とする。
算出部502は、例えば、モデル情報と、将来の時点における制御対象110の状態の予測値に含まれる誤差の上限とに基づいて、将来の時点における制御対象110の状態の予測値を求める。誤差の上限は、ユーザにより予め設定される。これにより、算出部502は、制御対象110の状態に関する制約条件に対する、現在の時点における制御対象110の状態についての危険度を算出可能にすることができる。
算出部502は、強化学習において、時点ごとに、将来の時点における制御対象110の状態の予測値に基づいて、制御対象110の状態に関する制約条件に対する、現在の時点における制御対象110の状態についての危険度を算出する。危険度は、例えば、現在の時点における制御対象110の状態が、将来の時点における制御対象110の状態が、制約条件に違反してしまう状況を、どの程度招きやすい状態であるのかを示す。
算出部502は、将来の時点における制御対象110の状態の予測値に基づいて、制御対象110の状態に関する複数の制約条件のそれぞれの制約条件に対する、現在の時点における制御対象110の状態についての危険度を算出する。これにより、算出部502は、制御対象110への制御入力を決定する範囲を定めるための指標となる危険度を、決定部503が参照可能にすることができる。
決定部503は、強化学習において、時点ごとに、現在の時点における制御対象110への制御入力を決定する。決定部503は、例えば、算出した危険度に応じて定まる範囲の中から、現在の時点における制御対象110への制御入力を決定する。範囲は、例えば、算出した危険度が小さいほど、広くなるように定まる。これにより、決定部503は、算出した危険度が大きいほど、制御対象110への制御入力を決定する範囲を狭め、将来の時点における制御対象110の状態が制約条件に違反してしまう確率の増大化を抑制することができる。
決定部503は、例えば、制約条件が1つであれば、算出した危険度が閾値以上である場合、制御対象110への制御入力を所定値に決定する。制御対象110は、第1の時点における制御対象110の状態が制約条件を充足し、かつ、第1の時点における制御対象110への制御入力が0であれば、第2の時点における制御対象110の状態が制約条件を充足することが保証される性質を有することがある。第2の時点は、第1の時点の次の時点である。第2の時点は、例えば、第1の時点の単位時間後の時点である。このため、決定部503は、所定値として0を用いることが好ましい。決定部503は、制御対象110への制御入力を、複数の所定値のいずれかの所定値に決定する場合があってもよい。これにより、決定部503は、将来の時点における制御対象110の状態が制約条件に違反することを防止することができる。
決定部503は、例えば、制約条件が1つであれば、算出した危険度が閾値未満である場合、制約条件の充足に関する確率的な評価指標の下で、現在の時点における制御対象110への制御入力を確率的に決定する。評価指標は、例えば、ユーザにより予め設定される。評価指標は、具体的には、強化学習により、方策を学習していく最中に、制御対象110の状態が制約条件を充足する確率の下限を示す。評価指標は、具体的には、確率の下限が90%であれば、0.9である。
決定部503は、具体的には、算出した危険度が閾値未満である場合、現在の時点における制御対象110への制御入力が取りうる平均値を算出し、評価指標の下で分散共分散行列を算出する。そして、決定部503は、具体的には、算出した平均値と分散共分散行列とを用いて、現在の時点における制御対象110への制御入力を確率的に決定する。決定部503は、より具体的には、図6~図8を用いて動作例1に後述するように、現在の時点における制御対象110への制御入力を確率的に決定する。これにより、決定部503は、将来の時点における制御対象110の状態が制約条件を充足する確率を、評価指標に基づく確率以上にすることができる。
決定部503は、例えば、制約条件が複数であれば、複数の制約条件のいずれかの制約条件に対して算出した危険度が閾値以上である場合、制御対象110への制御入力を所定値に決定する。決定部503は、所定値として0を用いることが好ましい。これにより、決定部503は、将来の時点における制御対象110の状態が制約条件に違反することを防止することができる。
決定部503は、例えば、制約条件が複数であれば、それぞれの制約条件に対して算出した危険度が閾値未満である場合、複数の制約条件を同時に充足する確率的な評価指標の下で、現在の時点における制御対象110への制御入力を確率的に決定する。決定部503は、具体的には、制約条件が複数であれば、図16および図17を用いて動作例2に後述するように、現在の時点における制御対象110への制御入力を確率的に決定する。これにより、決定部503は、将来の時点における制御対象110の状態が制約条件を充足する確率を、評価指標に基づく確率以上にすることができる。
学習部504は、方策を学習する。学習部504は、決定した制御対象110への制御入力と、取得した制御対象110の状態および制御対象110からの即時報酬とに基づいて、方策を更新する。学習部504は、例えば、方策のパラメータを更新する。これにより、学習部504は、制約条件を充足するように制御対象110を制御可能である方策を学習することができる。
出力部505は、決定部503が決定した制御対象110への制御入力を出力する。制御入力は、例えば、制御対象110に対する指令値である。出力部505は、例えば、制御対象110への指令値を、制御対象110に出力する。これにより、出力部505は、制御対象110を制御することができる。
出力部505は、いずれかの機能部の処理結果を出力してもよい。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F403による外部装置への送信、または、メモリ402や記録媒体405などの記憶領域への記憶である。これにより、出力部505は、いずれかの機能部の処理結果をユーザに通知可能にすることができる。
(情報処理装置100の動作例1)
次に、図6~図8を用いて、情報処理装置100の動作例1について説明する。
図6~図8は、情報処理装置100の動作例1を示す説明図である。動作例1は、情報処理装置100が、強化学習により方策を学習していく最中に、制御対象110の状態が制約条件を充足する確率が一定以上に大きくなることを保証する場合に対応する。以下の説明では、まず、情報処理装置100の動作の流れについて説明し、数式を用いて情報処理装置100の動作の一例について説明し、実例を用いて情報処理装置100の動作の具体例について説明する。
<情報処理装置100の動作の流れ>
ここで、強化学習および制御対象110に関しては、下記3つの特性が仮定される。1つ目の特性は、強化学習が、確率的に制御入力を決定する方策を用いており、制御入力を決定する際に用いられる確率密度関数の分散共分散行列を、いずれのタイミングにも変更可能である性質である。
2つ目の特性は、制御対象110が、制御入力に対して線形であり、制約条件が、状態に対して線形であるため、第1の時点における制御入力の分散が、第1の時点の次の第2の時点の制御対象110の状態に対して保存される性質である。3つ目の特性は、制御入力が0であれば、制約条件を充足する状態から制約条件を充足しない状態へと遷移することがない性質である。
情報処理装置100は、上記特性を利用して、強化学習を実施する。情報処理装置100は、例えば、強化学習の各時点において、現在の状態について算出した危険度が閾値以上であるか否かを判定する。ここで、情報処理装置100は、危険度が閾値以上である場合、制御入力を0に決定する。一方で、情報処理装置100は、算出した危険度が閾値未満の場合には、ユーザによって予め設定された確率的な評価指標の下で分散共分散行列を、危険度に基づいて算出し、分散共分散行列に基づいて、確率的に制御入力を決定する。
評価指標は、例えば、制約条件を充足する確率の下限値を示す。以下の説明では、制約条件を充足する確率を「制約充足率」と表記する場合がある。情報処理装置100は、例えば、強化学習において、下記ステップ1~7に従って、制御入力を決定する範囲を調整しながら、制御入力を決定して、制御対象110に印加する。
情報処理装置100は、ステップ1として、現時点の状態に対応する制御入力の平均値を算出する。平均値は、例えば、中心値である。情報処理装置100は、ステップ2として、線形近似モデル情報と、ステップ1で算出した制御入力の平均値と、現時点の状態とに基づいて、次の時点の状態を予測し、制約条件に対する現時点の状態についての危険度を算出する。情報処理装置100は、ステップ3として、ステップ2で算出した危険度のうち、少なくとも1つ以上の危険度が、閾値以上である場合、ステップ4の処理に移行し、閾値以上の危険度がない場合、ステップ5の処理に移行する。
情報処理装置100は、ステップ4として、制御入力を0に決定し、ステップ7の処理に移行する。情報処理装置100は、ステップ5として、ステップ2で算出した危険度、および、ユーザにより予め設定された制約充足率の下限値に基づいて、方策に用いられる分散共分散行列を算出する。情報処理装置100は、ステップ6として、ステップ1で算出した平均値と、ステップ5で算出した分散共分散行列とを用いた確率分布に従って、制御入力を確率的に決定する。確率分布は、例えば、ガウス分布である。情報処理装置100は、ステップ7として、ステップ4またはステップ6で決定された制御入力を、制御対象110に印加する。
これにより、情報処理装置100は、制御入力を決定する範囲を危険度に応じて自動調整することができる。このため、情報処理装置100は、エピソード型の強化学習により方策を学習していく最中に、エピソード内のすべての時点において、制御対象110の状態が制約条件を充足する確率が、予め設定された下限値以上に大きくなることを保証することができる。
<数式を用いた情報処理装置100の動作の一例>
動作例1において、下記式(1)~下記式(14)によって、制御対象110と、即時コストと、制約条件と、制御目的とが規定され、問題設定が行われる。また、下記式(15)~下記式(20)によって、動作例1において仮定される、強化学習および制御対象110に関する特性が規定される。
Figure 0007225923000001
上記式(1)は、制御対象110の真のダイナミクスを表すモデルを規定する。制御対象110の真のダイナミクスを表すモデルは、既知でなくてもよい。制御対象110は、制御入力に対して線形なアフィンな離散時間非線形システムである。kは、単位時間の倍数で示される時刻である。k+1は、時刻kから単位時間経過した次の時刻である。xk+1は、次の時刻k+1における状態である。xkは、時刻kにおける状態である。ukは、時刻kにおける制御入力である。上記式(1)は、次の時刻k+1における状態xk+1が、時刻kにおける状態xkと、時刻kにおける入力ukによって決定される関係があることを示す。関数fおよび関数gは、未知である。状態は、連続値である。制御入力は、連続値である。
Figure 0007225923000002
Figure 0007225923000003
上記式(2)は、関数fが、n次元の配列をn次元の配列に変換する関数であることを示す。nは、既知である。上記式(3)は、関数gが、n次元の配列をn×m次元の行列に変換する関数であることを示す。中抜き文字のRは、実数空間を示す。中抜き文字のRの上付文字は次元数を示す。
Figure 0007225923000004
Figure 0007225923000005
上記式(4)は、状態xkが、n次元であることを示す。nは、既知である。状態xkは、直接観測可能である。上記式(5)は、制御入力ukが、m次元であることを示す。
Figure 0007225923000006
上記式(6)は、制御対象110の即時コストの方程式である。ck+1は、時刻kにおける入力ukに応じて単位時間後に発生する即時コストである。c(・)は、即時コストを求める関数である。上記式(6)は、即時コストck+1が、時刻kにおける状態xkと、時刻kにおける入力ukとによって決定される関係があることを示す。
Figure 0007225923000007
上記式(7)は、関数c(・)が、n次元の配列とm次元の配列とに基づき正の値を求める関数であることを示す。
Figure 0007225923000008
上記式(8)は、制約条件を規定する。xは、状態である。配列hは、ユーザにより設定される。上付き文字Tは、転置を示す。変数dは、ユーザにより設定される。制約条件は、既知であり、状態xに関して線形である。動作例1では、制約条件は1つである。
Figure 0007225923000009
Figure 0007225923000010
上記式(9)は、配列hが、n次元であることを示す。上記式(10)は、変数dが、実数であることを示す。
Figure 0007225923000011
上記式(11)は、制約条件を充足する状態xの集合Xを示す。以下の説明では、Xの内点を、Xintと表記する場合がある。f(x*)=x*となるx*∈Xint、および、c(x*,0)=0となるx*∈Xintが存在する。
Figure 0007225923000012
Figure 0007225923000013
上記式(12)は、累積コストJを示す方程式であり、強化学習の制御目的を規定する。強化学習の制御目的は、累積コストJの最小化であり、累積コストJの最小化を図る制御入力を決定する方策の学習である。方策の学習は、方策を与えるパラメータωの更新である。γは、割引因子(discount rate)である。上記式(13)は、γが0~1の値であることを示す。
Figure 0007225923000014
上記式(14)は、強化学習の制御目的として、制約条件に関して、すべての時刻k≧1における制約充足率を、下限値η∈(0.5,1)以上とすることを保証することを規定する。Pr(・)は、(・)内の条件が成立する確率を示す。
Figure 0007225923000015
上記式(15)は、制御対象110の線形近似モデルを規定する。線形近似モデルは、例えば、線形ノミナルモデルである。制御対象110の線形近似モデルは、既知であることが仮定される。以下の説明では、制御対象110の線形近似モデルが既知である仮定を「仮定1」と表記する場合がある。A,Bは、係数行列である。
Figure 0007225923000016
Figure 0007225923000017
上記式(16)は、係数行列Aが、n×n次元である(n行n列である)ことを示す。上記式(17)は、係数行列Bが、n×m次元である(n行m列である)ことを示す。
Figure 0007225923000018
Figure 0007225923000019
上記式(18)は、制御対象110の真のダイナミクスを表すモデルに対する、制御対象110の線形近似モデルのモデル化誤差を示す誤差関数を規定する。eiは、誤差である。i=1,2,・・・,nである。上記式(18)に関し、上記式(19)を満たす、bar{ei}<∞が存在し、既知であることが仮定される。bar{}は、文字の上部にバーを付したことを示す。以下の説明では、上記式(19)を満たす、bar{ei}<∞が存在し、既知である仮定を「仮定2」と表記する場合がある。仮定2は、誤差eiに、既知の上界が存在することを示す。
x∈Xであればf(x)∈Xであることが仮定される。以下の説明では、x∈Xであればf(x)∈Xである仮定を「仮定3」と表記する場合がある。図6に示すように、仮定3は、いずれかの時刻において、状態xが制約条件を充足し、かつ、制御入力が0であれば、次の時刻において、遷移後の状態xも制約条件を充足することを示す。具体的には、実数空間600において、現時点が状態601である際に、制御入力を0とすれば、状態602のような集合Xの内点に遷移することはあるが、状態603のような集合Xの外点に遷移することはない。従って、制御入力が0であれば、遷移後の状態についての制約充足率を、下限値以上に大きくすることが保証可能である。
Figure 0007225923000020
制御対象110の線形近似モデルの係数行列と、制約条件とに関して上記式(20)が成立することが仮定される。以下の説明では、制御対象110の線形近似モデルの係数行列と、制約条件とに関して上記式(20)が成立する仮定を「仮定4」と表記する場合がある。
上記問題設定では、制御対象110が、制御入力に対して線形であり、制約条件が、状態に対して線形である。このため、いずれかの時刻において取りうる制御入力の分散度合いは、次の時刻において取りうる状態の分散度合いに相関することになる。従って、図7に示すように、いずれかの時刻において取りうる制御入力の分散度合いを調整すれば、次の時刻において取りうる状態の分散度合いを制御可能であり、次の時刻における状態についての制約充足率を、下限値以上に大きくすることが保証可能である。具体的には、グラフ700に示すように、状態xの確率密度を、制約充足率が99%になるように、制御可能である。
上記問題設定および上記仮定1~仮定4の下で、情報処理装置100の動作の一例について説明する。上記問題設定によれば、下記式(21)が成立する。
Figure 0007225923000021
ここで、情報処理装置100は、ステップ1として、方策を与えるパラメータωと、状態基底関数φ(・)を用いて、現時刻の状態に対する、現時刻に出力する制御入力の平均値μkを、下記式(22)により算出する。μkは、m次元である。
Figure 0007225923000022
情報処理装置100は、ステップ2として、制御対象110の線形近似モデルを示すモデル情報と、現時刻の状態とに基づいて、次の時刻の誤差を含む状態の予測値を、下記式(23)により算出する。そして、情報処理装置100は、次の時刻の誤差を含む状態の予測値に基づいて、現時刻の状態についての危険度を、下記式(24)により算出する。ここで、ε=[ε1,・・・,εnTである。εは、n次元である。εi=bar{ei} or -bar{ei}である。また、ε全体の集合をEと表記する。
Figure 0007225923000023
Figure 0007225923000024
情報処理装置100は、ステップ3として、ステップ2において算出した危険度に関して下記式(25)が成立する場合、ステップ4の処理に移行し、下記式(25)が成立しない場合、ステップ5の処理に移行する。
Figure 0007225923000025
情報処理装置100は、ステップ4として、制御入力uk=0に決定し、ステップ7の処理に移行する。
情報処理装置100は、ステップ5として、ステップ2において算出した危険度と、制約充足率の下限値とに基づいて、分散共分散行列を下記式(26)および下記式(27)により算出する。Imは、m×m次元の単位行列である。Φ-1(・)は、逆正規累積分布関数である。
Figure 0007225923000026
Figure 0007225923000027
情報処理装置100は、ステップ6として、ステップ1において算出したμkと、ステップ5において算出したΣkとを、それぞれ、平均値および分散共分散行列として設定し、ガウス型確率密度関数を生成する。情報処理装置100は、ガウス型確率密度関数を用いて、制御入力ukを、下記式(28)により確率的に決定する。
Figure 0007225923000028
情報処理装置100は、ステップ7として、ステップ4またはステップ6において決定した、制御入力ukを、制御対象110に印加する。これにより、情報処理装置100は、制御入力を決定する範囲を危険度に応じて自動調整することができる。このため、情報処理装置100は、エピソード型の強化学習により方策を学習していく最中に、エピソード内のすべての時点において、制御対象110の状態が制約条件を充足する確率が、予め設定された下限値以上になることを保証することができる。次に、図8の説明に移行する。
図8の例では、η=0.99とする。図8に示すように、実数空間600において、情報処理装置100により、現時点が状態801である際には、次の時点の状態は、確率η=0.99で状態802のような集合Xの内点となり、また確率1-η=0.01で状態803のような集合Xの外点となる。このため、情報処理装置100は、制約条件を確率η以上で充足することを保証することができる。一方で、実数空間600において、情報処理装置100は、現時点が状態804である際には、制御入力を0とするため、状態805のような集合Xの内点に遷移させることになり、制約条件を必ず充足することを保証することができる。これらのことから、情報処理装置100は、エピソード内のすべての時点において、制約条件を確率η以上で充足することを保証することができる。
ここでは、制御対象110が単体で仮定3を充足する場合について説明したが、これに限らない。例えば、予め、仮定3を充足するための制御器を設計し、制御対象110に組み合わせることにより、制御対象110が仮定3を充足するようにする場合があってもよい。これによれば、情報処理装置100が適用可能な制御対象110の事例数の増大化を図ることができる。
ここでは、制御対象110の真のダイナミクスを表すモデルが未知である場合について説明したが、これに限らない。例えば、制御対象110の真のダイナミクスを表すモデルが既知である場合があってもよい。この場合、情報処理装置100は、線形近似モデルを用いずに済み、真のダイナミクスを表すモデルを用いて、状態の予測値や危険度の算出を行うことができ、制約充足率を下限値以上にする精度を向上させることができる。
ここでは、誤差の正確な上限が既知である場合について説明したが、これに限らない。例えば、誤差の正確な上限が既知でないが、誤差の正確な上限よりも大きい上限が既知である場合があってもよい。この場合でも、情報処理装置100は、制約充足率を下限値以上にするように、強化学習を実施することができる。
<実例を用いた情報処理装置100の動作の具体例>
次に、制御問題の実例を用いて、情報処理装置100の動作の具体例について説明する。ここで、下記式(29)および下記式(30)で規定される2変数関数を一例として、情報処理装置100の動作の具体例について説明する。下記式(29)は、f(0)=0を満たす。
Figure 0007225923000029
Figure 0007225923000030
またδfi/δxjを、ij成分とする行列δf/δx(x)は、下記式(31)で規定される。従って、行列δf/δx(x)のフロベニウスノルム||δf/δx(x)||Fは、下記式(32)で規定される。
Figure 0007225923000031
Figure 0007225923000032
さらに、|sin(x1)|≦1および|cos(x2)|≦1より、任意のxに関して下記式(33)が成立する。xは、2次元である。これにより、関数fは、2次元の実数空間の全域で縮小写像である。
Figure 0007225923000033
ここで、時刻kにおける状態をxk=[x1k,x2kTとし、同じ時刻kの制御入力をukとすると、制御対象110の真のダイナミクスを表すモデルは、関数fを用いた下記式(34)により、非線形差分方程式で記述される。g=[1,1]Tである。状態xkは、2次元である。制御入力ukは、実数である。
Figure 0007225923000034
また、制御対象110の線形近似モデルは、下記式(35)および下記式(36)により規定される。fとgとは、未知である。AとBとは既知である。
Figure 0007225923000035
Figure 0007225923000036
誤差関数eiの上限は、下記式(37)および下記式(38)により規定される。ここで、bar{e1}=0.4とし、bar{e2}=0.4とし、既知であるとする。換言すれば、上記仮定2が成立する。
Figure 0007225923000037
Figure 0007225923000038
また、状態に対する制約条件は、x1≦10とする。換言すれば、hT=[1,0]とd=10とを用いて、制約条件を充足する状態の集合Xは、下記式(39)により規定される。
Figure 0007225923000039
関数fが、2次元の実数空間の全域で縮小写像であり、原点が不動点であることと、Xの形状とから、上記仮定3が成立する。初期状態は、x0=[5,5]Tであるとする。また、hTB≠0であるため、上記線形近似モデルの係数行列および上記制約条件は、仮定4を充足する。また、即時コストは、下記式(40)により規定される。Q=1.0×1052とし、R=1とする。
Figure 0007225923000040
情報処理装置100は、上記制御入力の決定手法を、one-step actor-criticに組み込んだ強化学習アルゴリズムを用いて、強化学習を実施する。情報処理装置100は、具体的には、T=15stepを1エピソードとし、各エピソードにおいて初期状態x0から、即時コストの累積コストJの最小化を図る制御入力を決定するための方策を学習する。stepは、単位時間の倍数で示される各時刻における、制御入力を決定して即時コストを観測する処理単位に対応する。
θを下記式(41)により規定し、ωを下記式(42)により規定したため、価値関数の推定値bar{V(x;θ)}、および、制御入力uの平均値μ(x;ω)は、下記式(43)および下記式(44)により規定される。重みθは、Nθ次元である。ωは、Nω次元である。
Figure 0007225923000041
Figure 0007225923000042
Figure 0007225923000043
Figure 0007225923000044
φi(・)は、2次元の配列を1次元の配列に変換する。φi(・)は、下記式(45)により規定される、ガウス型放射基底関数である。また、ciおよびsi 2>0は、それぞれ、各基底関数の中心点および分散である。ciは、2次元である。
Figure 0007225923000045
情報処理装置100は、上記式(45)に従って、各時刻の状態xkおよびパラメータωを用いて算出した平均値μ(xk;ω)を適用し、各時刻の制御入力を決定したとする。そして、情報処理装置100は、重みθおよびパラメータωを、各時刻の即時コストck+1を用いて、下記式(46)~下記式(48)により更新したとする。
Figure 0007225923000046
Figure 0007225923000047
Figure 0007225923000048
α∈[0,1)およびβ∈[0,1)は、学習率であり、Π(・)は、μkを平均値としΣkを分散共分散行列としたガウス型確率密度関数である。情報処理装置100は、x1k>10となり制約条件を違反した場合、または、k=Tとなった場合、現在のエピソードを終了し、下記式(49)により初期化を行い、次のエピソードに移行したとする。
Figure 0007225923000049
これにより、情報処理装置100は、制御入力を決定する範囲を危険度に応じて自動調整することができる。このため、情報処理装置100は、エピソード型の強化学習により方策を学習していく最中に、エピソード内のすべての時点において、制約充足率が予め設定された下限値以上に大きくなることを保証することができる。次に、図9および図10を用いて、動作例1における上記実例において、情報処理装置100により得られた効果について説明する。
図9および図10は、動作例1における情報処理装置100により得られた効果を示す説明図である。図9および図10において、情報処理装置100による強化学習と、標準偏差を固定値σ={1,5}としたガウス型確率密度関数を用いたガウス方策による従来の強化学習とを比較する。また、情報処理装置100による強化学習と、従来の強化学習とにおいては、制約充足率の下限値は、下記式(50)に示すように、η=0.99とした。
Figure 0007225923000050
図9のグラフ900は、複数のエピソードのそれぞれのエピソードにおける累積コストを示す。横軸は、エピソード数である。縦軸は、累積コストである。proposedは、情報処理装置100による強化学習を示す。グラフ900に示すように、情報処理装置100による強化学習は、累積コストを、σ=1とした従来の強化学習と比べて、少ないエピソード数で低減することができ、適切な方策を学習する学習効率の向上を図ることができる。
図10のグラフ1000は、エピソード内の各stepの制約充足率を示す。横軸は、stepである。縦軸は、制約充足率であり、各stepにおいて、制約条件を充足したエピソード数を総エピソード数で除して求めた値である。グラフ1000に示すように、情報処理装置100による強化学習は、エピソード内のすべての時点において、制約充足率が予め設定された下限値以上に大きくなることを保証することができる。一方で、σ=5とした従来の強化学習は、制約充足率を、予め設定された下限値以上に大きくすることができない。
このように、情報処理装置100は、強化学習により、方策を学習していく最中に、制約充足率が予め設定された下限値以上に大きくなることを保証することができ、かつ、学習効率の低減化を抑制することができる。
ここでは、制約条件が1つ設定される場合について説明したが、これに限らない。例えば、制約条件が複数設定される場合があってもよい。複数の制約条件の制約充足率が全て無相関であれば、情報処理装置100は、動作例1と同様に、それぞれの制約条件についての制約充足率を、下限値以上にすることにより、複数の制約条件を同時に充足する確率を、下限値以上にすることができる。以下の説明では、複数の制約条件を同時に充足する確率を「同時充足率」と表記する場合がある。
(強化学習を適用する制御対象110の具体例)
次に、図11~図13を用いて、強化学習を適用する制御対象110の具体例について説明する。
図11~図13は、制御対象110の具体例を示す説明図である。図11の例では、制御対象110は、熱源であるサーバ1101と、CRACやChillerなどの冷却器1102とを含むサーバルーム1100である。制御入力は、冷却器1102に対する設定温度や設定風量である。状態は、サーバルーム1100に設けられたセンサ装置からのセンサデータなどであり、例えば、温度などである。状態は、制御対象110以外から得られる制御対象110に関するデータであってもよく、例えば、気温や天気などであってもよい。即時コストは、例えば、サーバルーム1100の単位時間ごとの消費電力量である。単位時間は、例えば、5分である。目標は、サーバルーム1100の累積消費電力量の最小化である。状態価値関数は、例えば、サーバルーム1100の累積消費電力量についての制御入力の価値を表す。
図12の例では、制御対象110は、発電設備1200である。発電設備1200は、例えば、風力発電設備である。制御入力は、発電設備1200に対する指令値である。指令値は、例えば、発電設備1200にある発電機の発電機トルクである。状態は、発電設備1200に設けられたセンサ装置からのセンサデータであり、例えば、発電設備1200の発電量や発電設備1200のタービンの回転量または回転速度などである。状態は、発電設備1200に対する風向や風速などであってもよい。即時報酬は、例えば、発電設備1200の単位時間ごとの発電量である。単位時間は、例えば、5分である。目標は、例えば、発電設備1200の累積発電量の最大化である。状態価値関数は、例えば、発電設備1200の累積発電量についての制御入力の価値を表す。
図13の例では、制御対象110は、産業用ロボット1300である。産業用ロボット1300は、例えば、ロボットアームである。制御入力は、産業用ロボット1300に対する指令値である。指令値は、例えば、産業用ロボット1300のモータートルクなどである。状態は、産業用ロボット1300に設けられたセンサ装置からのセンサデータであり、例えば、産業用ロボット1300の撮影した画像、産業用ロボット1300の関節位置や関節角度や関節角速度などである。即時報酬は、例えば、産業用ロボット1300の単位時間ごとの組み立て数などである。目標は、産業用ロボット1300の生産性の最大化である。状態価値関数は、例えば、産業用ロボット1300の累積組み立て数についての制御入力の価値を表す。
また、制御対象110は、上述した具体例のシミュレータであってもよい。また、制御対象110は、風力発電以外の発電設備であってもよい。また、制御対象110は、例えば、化学プラントや自律移動ロボットなどであってもよい。また、制御対象110は、自動車などの乗り物であってもよい。また、制御対象110は、例えば、ドローンやヘリコプターなどの飛行物体であってもよい。また、制御対象110は、例えば、ゲームであってもよい。
(動作例1における全体処理手順)
次に、図14を用いて、情報処理装置100が実行する、動作例1における全体処理手順の一例について説明する。全体処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
図14は、動作例1における全体処理手順の一例を示すフローチャートである。図14において、情報処理装置100は、パラメータを初期化する(ステップS1401)。
次に、情報処理装置100は、時刻と制御対象110の状態とを初期化する(ステップS1402)。そして、情報処理装置100は、現時刻における制御対象110の状態を観測する(ステップS1403)。
次に、情報処理装置100は、現時刻>初期時刻であるか否かを判定する(ステップS1404)。ここで、現時刻>初期時刻ではない場合(ステップS1404:No)、情報処理装置100は、ステップS1408の処理に移行する。一方で、現時刻>初期時刻である場合(ステップS1404:Yes)、情報処理装置100は、ステップS1405の処理に移行する。
ステップS1405では、情報処理装置100は、制御対象110からの即時報酬を取得する(ステップS1405)。次に、情報処理装置100は、パラメータを更新する(ステップS1406)。そして、情報処理装置100は、現時刻における制御対象110の状態が制約条件を満たし、かつ、現時刻<エピソード終了時刻であるか否かを判定する(ステップS1407)。
ここで、制約条件を満たさない場合、または、現時刻<エピソード終了時刻ではない場合(ステップS1407:No)、情報処理装置100は、ステップS1402の処理に戻る。一方で、制約条件を満たし、かつ、現時刻<エピソード終了時刻である場合(ステップS1407:Yes)、情報処理装置100は、ステップS1408の処理に移行する。
ステップS1408では、情報処理装置100は、図15に後述する決定処理を実行し、現時点における制御対象110への制御入力を決定する(ステップS1408)。次に、情報処理装置100は、決定した制御入力を、制御対象110に印加する(ステップS1409)。そして、情報処理装置100は、次の時刻まで待機する(ステップS1410)。
次に、情報処理装置100は、終了条件を満たすか否かを判定する(ステップS1411)。ここで、終了条件を満たさない場合(ステップS1411:No)、情報処理装置100は、ステップS1403の処理に戻る。一方で、終了条件を満たす場合(ステップS1411:Yes)、情報処理装置100は、全体処理を終了する。
(動作例1における決定処理手順)
次に、図15を用いて、情報処理装置100が実行する、動作例1における決定処理手順の一例について説明する。決定処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
図15は、動作例1における決定処理手順の一例を示すフローチャートである。図15において、情報処理装置100は、パラメータを参照して、現時点における制御対象110への制御入力の平均値を算出する(ステップS1501)。
次に、情報処理装置100は、制御対象110の線形近似モデルを参照して、次の時刻における制御対象110の状態の予測値を算出し、制約条件に対する、現時点における制御対象110の状態についての危険度を算出する(ステップS1502)。
そして、情報処理装置100は、算出した危険度が閾値未満であるか否かを判定する(ステップS1503)。ここで、危険度が閾値以上である場合(ステップS1503:No)、情報処理装置100は、ステップS1506の処理に移行する。一方で、危険度が閾値未満である場合(ステップS1503:Yes)、情報処理装置100は、ステップS1504の処理に移行する。
ステップS1504では、情報処理装置100は、予め設定された制約充足率の下限値を参照して、分散共分散行列を算出する(ステップS1504)。次に、情報処理装置100は、算出した平均値および分散共分散行列に基づく確率分布に従って、現時点における制御対象110への制御入力を確率的に決定する(ステップS1505)。そして、情報処理装置100は、決定処理を終了する。
ステップS1506では、情報処理装置100は、制御入力を0に決定する(ステップS1506)。そして、情報処理装置100は、決定処理を終了する。
(情報処理装置100の動作例2)
次に、図16および図17を用いて、情報処理装置100の動作例2について説明する。
図16および図17は、情報処理装置100の動作例2を示す説明図である。上述した動作例1は、制約条件が1つ設定される場合に対応する。これに対し、動作例2は、制約条件が複数設定される場合に対応する。以下の説明では、まず、情報処理装置100の動作の流れについて説明し、数式を用いて情報処理装置100の動作の一例について説明し、実例を用いて情報処理装置100の動作の具体例について説明する。
<情報処理装置100の動作の流れ>
ここで、強化学習および制御対象110に関しては、下記4つの特性が仮定される。1つ目の特性は、強化学習が、確率的に制御入力を決定する方策を用いており、制御入力を決定する際に用いられる確率密度関数の分散共分散行列を、いずれのタイミングにも変更可能である性質である。
2つ目の特性は、制御対象110が、制御入力に対して線形であり、制約条件が、状態に対して線形であるため、第1の時点における制御入力の分散が、第1の時点の次の第2の時点の制御対象110の状態に対して保存される性質である。3つ目の特性は、制御入力が0であれば、制約条件を充足する状態から制約条件を充足しない状態へと遷移することがない性質である。4つ目の特性は、複数の事象が少なくとも1つ発生する確率は、それぞれの事象が発生する確率の和以下である性質である。
情報処理装置100は、上記特性を利用して、強化学習を実施する。情報処理装置100は、例えば、強化学習の各時点において、現在の状態について算出した危険度が閾値以上であるか否かを判定する。ここで、情報処理装置100は、危険度が閾値以上である場合、制御入力を0に決定する。一方で、情報処理装置100は、算出した危険度が閾値未満の場合には、ユーザによって予め設定された確率的な評価指標から定められる、各制約条件に関する制約充足率の下限値η’の下で分散共分散行列を、危険度に基づいて算出する。そして、情報処理装置100は、算出した分散共分散行列に基づいて、確率的に制御入力を決定する。
評価指標は、例えば、ユーザによって設定された、複数の制約条件を同時に充足する確率の下限値ηを示す。以下の説明では、複数の制約条件を同時に充足する確率を「同時充足率」と表記する場合がある。各制約条件に関する制約充足率の下限値η’は、下記式(51)により算出される。ncは、制約条件数である。
Figure 0007225923000051
情報処理装置100は、例えば、強化学習において、下記ステップ1~7に従って、制御入力を決定する範囲を調整しながら、制御入力を決定して、制御対象110に印加する。情報処理装置100は、ステップ1として、現時点の状態に対応する制御入力の平均値を算出する。平均値は、例えば、中心値である。情報処理装置100は、ステップ2として、線形近似モデル情報と、ステップ1で算出した制御入力の平均値と、現時点の状態とに基づいて、次の時点の状態を予測し、制約条件に対する現時点の状態についての危険度を算出する。情報処理装置100は、ステップ3として、ステップ2で算出した危険度のうち、少なくとも1つ以上の危険度が、閾値以上である場合、ステップ4の処理に移行し、閾値以上の危険度がない場合、ステップ5の処理に移行する。
情報処理装置100は、ステップ4として、制御入力を0に決定し、ステップ7の処理に移行する。情報処理装置100は、ステップ5として、ステップ2で算出した危険度、および、各制約条件に関する制約充足率の下限値η’に基づいて、方策に用いられる分散共分散行列を算出する。情報処理装置100は、ステップ6として、ステップ1で算出した平均値と、ステップ5で算出した分散共分散行列とを用いた確率分布に従って、制御入力を確率的に決定する。確率分布は、例えば、ガウス分布である。情報処理装置100は、ステップ7として、ステップ4またはステップ6で決定された制御入力を、制御対象110に印加する。
これにより、情報処理装置100は、制約条件が複数ある場合にも、制御入力を決定する範囲を危険度に応じて自動調整することができる。このため、情報処理装置100は、エピソード型の強化学習により方策を学習していく最中に、エピソード内のすべての時点において、同時充足率が、予め設定された下限値以上になることを保証することができる。
<数式を用いた情報処理装置100の動作の一例>
動作例2において、上記式(1)~上記式(7)、上記式(12)、上記式(13)、および、下記式(52)~下記式(55)によって、制御対象110と、即時コストと、制約条件と、制御目的とが規定され、問題設定が行われる。また、上記式(15)~上記式(19)、下記式(57)および下記式(58)によって、動作例2において仮定される、強化学習および制御対象110に関する特性が規定される。
以下の説明では、上記式(1)~上記式(7)、上記式(12)、および、上記式(13)は、動作例1と同様であるため、説明を省略する。また、上記式(15)~上記式(19)は、動作例1と同様であるため、説明を省略する。
Figure 0007225923000052
Figure 0007225923000053
Figure 0007225923000054
上記式(52)は、複数の制約条件を規定する。xは、状態である。行列Hは、ユーザにより設定される。配列dは、ユーザにより設定される。制約条件は、既知であり、状態xに関して線形である。動作例2では、制約条件は複数である。上記式(53)は、行列Hが、nc×n次元であることを示す。上記式(54)は、配列dが、nc次元であることを示す。
Figure 0007225923000055
上記式(55)は、複数の制約条件を同時に充足する状態xの集合Xを示す。以下の説明では、Xの内点を、Xintと表記する場合がある。f(x*)=x*となるx*∈Xint、および、c(x*,0)=0となるx*∈Xintが存在する。
Figure 0007225923000056
上記式(56)は、強化学習の制御目的として、複数の制約条件に関して、すべての時刻k≧1における同時充足率を、下限値η∈(0.5,1)以上とすることを保証することを規定する。Pr(・)は、(・)内の条件が成立する確率を示す。
また、x∈Xであればf(x)∈Xであることが仮定される。以下の説明では、x∈Xであればf(x)∈Xである仮定を「仮定3」と表記する場合がある。図16に示すように、仮定3は、いずれかの時刻において、状態xが複数の制約条件を同時に充足し、かつ、制御入力が0であれば、次の時刻において、遷移後の状態xも複数の制約条件を同時に充足することを示す。具体的には、実数空間1600において、現時点が状態1601である際に、制御入力を0とすれば、状態1602のような集合Xの内点に遷移することはあるが、状態1603のような集合Xの外点に遷移することはない。従って、制御入力が0であれば、遷移後の状態についての同時充足率を、下限値以上に大きくすることが保証可能である。
Figure 0007225923000057
Figure 0007225923000058
制御対象110の線形近似モデルの係数行列と、制約条件とに関して上記式(57)および上記式(58)が成立することが仮定される。以下の説明では、制御対象110の線形近似モデルの係数行列と、制約条件とに関して上記式(57)および上記式(58)が成立する仮定を「仮定4」と表記する場合がある。
上記問題設定では、制御対象110が、制御入力に対して線形であり、制約条件が、状態に対して線形である。このため、いずれかの時刻において取りうる制御入力の分散度合いは、次の時刻において取りうる状態の分散度合いに相関することになる。従って、いずれかの時刻において取りうる制御入力の分散度合いを調整すれば、次の時刻において取りうる状態の分散度合いを制御可能であり、次の時刻における状態についての制約充足率を、下限値以上に大きくすることが保証可能である。
上記問題設定および上記仮定1~仮定4の下で、情報処理装置100の動作の一例について説明する。上記問題設定によれば、上記式(21)が成立する。ここで、情報処理装置100は、ステップ1として、方策を与えるパラメータωと、状態基底関数φ(・)を用いて、現時刻の状態に対する、現時刻に出力する制御入力の平均値μkを、上記式(22)により算出する。μkは、m次元である。
情報処理装置100は、ステップ2として、制御対象110の線形近似モデルを示すモデル情報と、現時刻の状態とに基づいて、次の時刻の誤差を含む状態の予測値を、上記式(23)により算出する。そして、情報処理装置100は、次の時刻の誤差を含む状態の予測値に基づいて、制約条件ごとに現時刻の状態についての危険度を、下記式(59)により算出する。ここで、ε=[ε1,・・・,εnTである。εは、n次元である。εi=bar{ei} or -bar{ei}である。また、ε全体の集合をEと表記する。
Figure 0007225923000059
情報処理装置100は、ステップ3として、ステップ2において算出した危険度に関して下記式(60)が成立する場合、ステップ4の処理に移行し、下記式(60)が成立しない場合、ステップ5の処理に移行する。
Figure 0007225923000060
情報処理装置100は、ステップ4として、制御入力uk=0に決定し、ステップ7の処理に移行する。情報処理装置100は、ステップ5として、ステップ2において算出した危険度と、各制約条件の制約充足率の下限値η’とに基づいて、分散共分散行列を上記式(26)、上記式(51)および下記式(61)により算出する。Imは、m×m次元の単位行列である。Φ-1(・)は、逆正規累積分布関数である。
Figure 0007225923000061
情報処理装置100は、ステップ6として、ステップ1において算出したμkと、ステップ5において算出したΣkとを、それぞれ、平均値および分散共分散行列として設定し、ガウス型確率密度関数を生成する。情報処理装置100は、ガウス型確率密度関数を用いて、制御入力ukを、上記式(28)により確率的に決定する。
情報処理装置100は、ステップ7として、ステップ4またはステップ6において決定した、制御入力ukを、制御対象110に印加する。これにより、情報処理装置100は、制御入力を決定する範囲を危険度に応じて自動調整することができる。このため、情報処理装置100は、エピソード型の強化学習により方策を学習していく最中に、エピソード内のすべての時点において、同時充足率が、予め設定された下限値以上になることを保証することができる。
図17の例では、η=0.99とする。図17に示すように、実数空間1600において、情報処理装置100により、現時点が状態1701である際には、次の時点の状態は、確率η=0.99で状態1702のような集合Xの内点となり、また確率1-η=0.01で状態1703のような集合Xの外点となる。このため、情報処理装置100は、制約条件を確率η以上で充足することを保証することができる。一方で、実数空間1600において、情報処理装置100は、現時点が状態1704である際には、制御入力を0とするため、状態1705のような集合Xの内点に遷移することになり、制約条件を必ず充足することを保証することができる。これらのことから、情報処理装置100は、エピソード内のすべての時点において、制約条件を確率η以上で充足することを保証することができる。
ここでは、制御対象110が単体で仮定3を充足する場合について説明したが、これに限らない。例えば、予め、仮定3を充足するための制御器を設計し、制御対象110に組み合わせることにより、制御対象110が仮定3を充足するようにする場合があってもよい。これによれば、情報処理装置100が適用可能な制御対象110の事例数の増大化を図ることができる。
ここでは、制御対象110の真のダイナミクスを表すモデルが未知である場合について説明したが、これに限らない。例えば、制御対象110の真のダイナミクスを表すモデルが既知である場合があってもよい。この場合、情報処理装置100は、線形近似モデルを用いずに済み、真のダイナミクスを表すモデルを用いて、状態の予測値や危険度の算出を行うことができ、制約充足率を下限値以上にする精度を向上させることができる。
ここでは、誤差の正確な上限が既知である場合について説明したが、これに限らない。例えば、誤差の正確な上限が既知でないが、誤差の正確な上限よりも大きい上限が既知である場合があってもよい。この場合でも、情報処理装置100は、制約充足率を下限値以上にするように、強化学習を実施することができる。
<実例を用いた情報処理装置100の動作の具体例>
次に、制御問題の実例を用いて、情報処理装置100の動作の具体例について説明する。ここで、上記式(29)および上記式(30)で規定される2変数関数を一例として、情報処理装置100の動作の具体例について説明する。上記式(29)は、f(0)=0を満たす。
またδfi/δxjを、ij成分とする行列δf/δx(x)は、上記式(31)で規定される。従って、行列δf/δx(x)のフロベニウスノルム||δf/δx(x)||Fは、上記式(32)で規定される。さらに、|sin(x1)|≦1および|cos(x2)|≦1より、任意のxに関して上記式(33)が成立する。xは、2次元である。これにより、関数fは、2次元の実数空間の全域で縮小写像である。
ここで、時刻kにおける状態をxk=[x1k,x2kTとし、同じ時刻kの制御入力をukとすると、制御対象110の真のダイナミクスを表すモデルは、関数fを用いた上記式(34)により、非線形差分方程式で記述される。g=[1,1]Tである。状態xkは、2次元である。制御入力ukは、実数である。また、制御対象110の線形近似モデルは、上記式(35)および上記式(36)により規定される。fとgとは、未知である。AとBとは既知である。
誤差関数eiの上限は、上記式(37)および上記式(38)により規定される。ここで、bar{e1}=0.4とし、bar{e2}=0.4とし、既知であるとする。換言すれば、上記仮定2が成立する。また、状態に対する制約条件は、x1≦10および-10≦x1とする。換言すれば、制約条件を充足する状態の集合Xは、上記式(55)、下記式(62)および下記式(63)により規定される。
Figure 0007225923000062
Figure 0007225923000063
関数fが、2次元の実数空間の全域で縮小写像であり、原点が不動点であることと、Xの形状とから、上記仮定3が成立する。初期状態は、x0=[5,5]Tであるとする。また、hj TB≠0であるため、上記線形近似モデルの係数行列および上記制約条件は、仮定4を充足する。また、即時コストは、上記式(40)により規定される。Q=1.0×1052とし、R=1とする。
情報処理装置100は、上記制御入力の決定手法を、one-step actor-criticに組み込んだ強化学習アルゴリズムを用いて、強化学習を実施する。情報処理装置100は、具体的には、T=15stepを1エピソードとし、各エピソードにおいて初期状態x0から、即時コストの累積コストJの最小化を図る制御入力を決定するための方策を学習する。stepは、単位時間の倍数で示される各時刻における、制御入力を決定して即時コストを観測する処理単位に対応する。
θを上記式(41)により規定し、ωを上記式(42)により規定したため、価値関数の推定値bar{V(x;θ)}、および、制御入力uの平均値μ(x;θ)は、上記式(43)および上記式(44)により規定される。重みθは、Nθ次元である。ωは、Nω次元である。φi(・)は、2次元の配列を1次元の配列に変換する。φi(・)は、上記式(45)により規定される、ガウス型放射基底関数である。また、ciおよびsi 2>0は、それぞれ、各基底関数の中心点および分散である。ciは、2次元である。
情報処理装置100は、上記式(45)に従って、各時刻の状態xkおよびパラメータωを用いて算出した平均値μ(xk;ω)を適用し、各時刻の制御入力を決定したとする。そして、情報処理装置100は、重みθおよびパラメータωを、各時刻の即時コストck+1を用いて、上記式(46)~上記式(48)により更新したとする。
α∈[0,1)およびβ∈[0,1)は、学習率であり、Π(・)は、μkを平均値としΣkを分散共分散行列としたガウス型確率密度関数である。情報処理装置100は、x1k>10か―10>x1kとなり制約条件を違反した場合、または、k=Tとなった場合、現在のエピソードを終了し、上記式(49)により初期化を行い、次のエピソードに移行したとする。
ここでは、同時充足率の下限値ηは、下記式(64)により規定され、η=0.95である。このため、各制約条件の制約充足率の下限値η’は、下記式(65)により規定され、η’=0.975である。従って、各制約条件の制約充足率に関する不等式は、下記式(66)により規定される。
Figure 0007225923000064
Figure 0007225923000065
Figure 0007225923000066
これにより、情報処理装置100は、制御入力を決定する範囲を危険度に応じて自動調整することができる。このため、情報処理装置100は、エピソード型の強化学習により方策を学習していく最中に、エピソード内のすべての時点において、同時充足率が予め設定された下限値以上に大きくなることを保証することができる。次に、図18および図19を用いて、動作例2における上記実例において、情報処理装置100により得られた効果について説明する。
図18および図19は、動作例2における情報処理装置100により得られた効果を示す説明図である。図18および図19において、動作例2における情報処理装置100による同時充足率を下限値以上にする強化学習と、動作例1における情報処理装置100による各制約条件の制約充足率を個別に下限値以上にする強化学習とを比較する。下限値は、下記式(67)に示すように、η=0.95とした。
Figure 0007225923000067
図18のグラフ1800は、複数のエピソードのそれぞれのエピソードにおける累積コストを示す。横軸は、エピソード数である。縦軸は、累積コストである。グラフ1800に示すように、動作例1および動作例2における情報処理装置100による強化学習は、いずれも、累積コストを比較的少ないエピソード数で低減することができ、適切な方策を学習する学習効率の向上を図ることができる。
図19のグラフ1900は、エピソード内の各stepの制約充足率を示す。横軸は、stepである。縦軸は、制約充足率であり、各stepにおいて、制約条件を充足したエピソード数を総エピソード数で除して求めた値である。グラフ1900に示すように、動作例2における情報処理装置100による強化学習は、エピソード内のすべての時点において、同時充足率が予め設定された下限値以上に大きくなることを保証することができる。このように、情報処理装置100は、強化学習により、方策を学習していく最中に、同時充足率が予め設定された下限値以上に大きくなることを保証することができ、かつ、学習効率の低減化を抑制することができる。
(動作例2における全体処理手順)
次に、図20を用いて、情報処理装置100が実行する、動作例2における全体処理手順の一例について説明する。全体処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
図20は、動作例2における全体処理手順の一例を示すフローチャートである。図20において、情報処理装置100は、パラメータを初期化する(ステップS2001)。
次に、情報処理装置100は、時刻と制御対象110の状態とを初期化する(ステップS2002)。そして、情報処理装置100は、現時刻における制御対象110の状態を観測する(ステップS2003)。
次に、情報処理装置100は、現時刻>初期時刻であるか否かを判定する(ステップS2004)。ここで、現時刻>初期時刻ではない場合(ステップS2004:No)、情報処理装置100は、ステップS2008の処理に移行する。一方で、現時刻>初期時刻である場合(ステップS2004:Yes)、情報処理装置100は、ステップS2005の処理に移行する。
ステップS2005では、情報処理装置100は、制御対象110からの即時報酬を取得する(ステップS2005)。次に、情報処理装置100は、パラメータを更新する(ステップS2006)。そして、情報処理装置100は、現時刻における制御対象110の状態がすべての制約条件を満たし、かつ、現時刻<エピソード終了時刻であるか否かを判定する(ステップS2007)。
ここで、いずれかの制約条件を満たさない場合、または、現時刻<エピソード終了時刻ではない場合(ステップS2007:No)、情報処理装置100は、ステップS2002の処理に戻る。一方で、すべての制約条件を満たし、かつ、現時刻<エピソード終了時刻である場合(ステップS2007:Yes)、情報処理装置100は、ステップS2008の処理に移行する。
ステップS2008では、情報処理装置100は、図21に後述する決定処理を実行し、現時点における制御対象110への制御入力を決定する(ステップS2008)。次に、情報処理装置100は、決定した制御入力を、制御対象110に印加する(ステップS2009)。そして、情報処理装置100は、次の時刻まで待機する(ステップS2010)。
次に、情報処理装置100は、終了条件を満たすか否かを判定する(ステップS2011)。ここで、終了条件を満たさない場合(ステップS2011:No)、情報処理装置100は、ステップS2003の処理に戻る。一方で、終了条件を満たす場合(ステップS2011:Yes)、情報処理装置100は、全体処理を終了する。
(動作例2における決定処理手順)
次に、図21を用いて、情報処理装置100が実行する、動作例2における決定処理手順の一例について説明する。決定処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
図21は、動作例2における決定処理手順の一例を示すフローチャートである。図21において、情報処理装置100は、パラメータを参照して、現時点における制御対象110への制御入力の平均値を算出する(ステップS2101)。
次に、情報処理装置100は、制御対象110の線形近似モデルを参照して、次の時刻における制御対象110の状態の予測値を算出し、複数の制約条件のそれぞれの制約条件に対する、現時点における制御対象110の状態についての危険度を算出する(ステップS2102)。
そして、情報処理装置100は、算出した複数の危険度のすべてが閾値未満であるか否かを判定する(ステップS2103)。ここで、いずれかの危険度が閾値以上である場合(ステップS2103:No)、情報処理装置100は、ステップS2107の処理に移行する。一方で、すべての危険度が閾値未満である場合(ステップS2103:Yes)、情報処理装置100は、ステップS2104の処理に移行する。
ステップS2104では、情報処理装置100は、予め設定された制約充足率の下限値を参照して、それぞれの制約条件に関する危険度に基づいて、それぞれの制約条件に関する標準偏差を算出する(ステップS2104)。そして、情報処理装置100は、算出した標準偏差の最小値に基づいて、分散共分散行列を算出する(ステップS2105)。
次に、情報処理装置100は、算出した平均値および分散共分散行列に基づく確率分布に従って、現時点における制御対象110への制御入力を確率的に決定する(ステップS2106)。そして、情報処理装置100は、決定処理を終了する。
ステップS2107では、情報処理装置100は、制御入力を0に決定する(ステップS2107)。そして、情報処理装置100は、決定処理を終了する。
以上説明したように、情報処理装置100によれば、モデル情報から求められた、将来の時点における制御対象110の状態の予測値に基づいて、制約条件に対する、現在の時点における制御対象110の状態についての危険度を算出することができる。情報処理装置100によれば、算出した危険度が小さいほど広くなるように、算出した危険度に応じて定まる範囲の中から、現在の時点における制御対象110への制御入力を決定することができる。これにより、情報処理装置100は、算出した危険度が大きいほど、制御対象110への制御入力を決定する範囲を狭め、将来の時点における制御対象110の状態が制約条件に違反してしまう確率の増大化を抑制することができる。一方で、情報処理装置100は、算出した危険度が小さいほど、制御対象110への制御入力を決定する範囲を広げ、強化学習により方策を学習していく学習効率の低減化を抑制することができる。
情報処理装置100によれば、算出した危険度が閾値以上である場合、制御対象110への制御入力を所定値に決定することができる。情報処理装置100によれば、算出した危険度が閾値未満である場合、制約条件の充足に関する確率的な評価指標の下で、現在の時点における制御対象110への制御入力を確率的に決定することができる。これにより、情報処理装置100は、算出した危険度が閾値以上であれば、制御対象110への制御入力を所定値に決定し、将来の時点における制御対象110の状態が制約条件に違反してしまう確率の増大化を抑制することができる。一方で、情報処理装置100は、算出した危険度が閾値未満であれば、制御対象110への制御入力を確率的に決定し、学習効率の低減化を抑制することができる。
情報処理装置100によれば、算出した危険度が閾値未満である場合、現在の時点における制御対象110への制御入力が取りうる平均値を算出し、評価指標の下で分散共分散行列を算出することができる。情報処理装置100によれば、算出した平均値と分散共分散行列とを用いて、現在の時点における制御対象110への制御入力を確率的に決定することができる。これにより、情報処理装置100は、ガウス分布に従って制御対象110への制御入力を決定することができる。
情報処理装置100によれば、所定値として0を用いることができる。これにより、情報処理装置100は、制御対象110の特性を利用して、将来の時点における制御対象110の状態が制約条件を充足することを保証することができる。
情報処理装置100によれば、将来の時点における制御対象110の状態の予測値に基づいて、制御対象110の状態に関する複数の制約条件のそれぞれの制約条件に対する、現在の時点における制御対象110の状態についての危険度を算出することができる。情報処理装置100によれば、複数の制約条件のいずれかの制約条件に対して算出した危険度が閾値以上である場合、制御対象110への制御入力を所定値に決定することができる。情報処理装置100によれば、それぞれの制約条件に対して算出した危険度が閾値未満である場合、複数の制約条件を同時に充足する確率的な評価指標の下で、現在の時点における制御対象110への制御入力を確率的に決定することができる。これにより、情報処理装置100は、複数の制約条件が存在する場合にも、将来の時点における制御対象110の状態が、複数の制約条件を同時に充足する確率の向上を図ることができる。また、情報処理装置100は、強化学習により方策を学習していく学習効率の低減化を抑制することができる。
情報処理装置100によれば、エピソード型の強化学習において、制御入力を決定することができる。これにより、情報処理装置100は、エピソード内のすべての時点において、制御対象110の状態が制約条件を充足する確率が、予め設定された下限値以上に大きくなることを保証することができる。
情報処理装置100によれば、風力発電設備を制御対象110とし、制御対象110を制御する方策を学習する強化学習を実施することができる。これにより、情報処理装置100は、制約条件を違反する確率を低減させつつ、風力発電設備を制御することができる。
情報処理装置100によれば、いずれかの時点における制御対象110の状態を示す変数および制御対象110への制御入力を示す変数を用いて、次の時点における制御対象110の状態についての関数を線形近似して表すモデル情報を用いることができる。これにより、情報処理装置100は、真のダイナミクスを表すモデルが未知である場合にも、強化学習を実施することができる。
情報処理装置100によれば、モデル情報と、将来の時点における制御対象110の状態の予測値に含まれる誤差の上限とに基づいて、将来の時点における制御対象110の状態の予測値を求めることができる。これにより、情報処理装置100は、制御対象110の状態の予測値に含まれる誤差を考慮して、精度よく制御対象110の状態の予測値を求めることができる。
情報処理装置100によれば、いずれかの時点における状態が制約条件を充足し、かつ、いずれかの時点における制御入力が0であれば、次の時点における状態が制約条件を充足することが保証される制御対象110の特性を利用することができる。これにより、情報処理装置100は、制御対象110の特性を利用して、将来の時点における制御対象110の状態が制約条件を充足することを保証することができる。
情報処理装置100によれば、制御対象110を空調設備とし、制御対象110を制御する方策を学習する強化学習を実施することができる。これにより、情報処理装置100は、制約条件を違反する確率を低減させつつ、空調設備を制御することができる。
情報処理装置100によれば、制御対象110を産業用ロボットとし、制御対象110を制御する方策を学習する強化学習を実施することができる。これにより、情報処理装置100は、制約条件を違反する確率を低減させつつ、産業用ロボットを制御することができる。
なお、本実施の形態で説明した強化学習方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した強化学習プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した強化学習プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)制御対象の状態と前記制御対象への制御入力との関係を規定するモデル情報から求められた、将来の時点における前記制御対象の状態の予測値に基づいて、前記制御対象の状態に関する制約条件に対する、現在の時点における前記制御対象の状態についての危険度を算出し、
算出した前記危険度が大きいほど狭くなるように、算出した前記危険度に応じて定まる範囲の中から、前記現在の時点における前記制御対象への制御入力を決定する、
処理をコンピュータが実行することを特徴とする強化学習方法。
(付記2)前記決定する処理は、
算出した前記危険度が閾値以上である場合、前記制御対象への制御入力を所定値に決定し、算出した前記危険度が閾値未満である場合、前記制約条件の充足に関する確率的な評価指標の下で、前記現在の時点における前記制御対象への制御入力を確率的に決定する、ことを特徴とする付記1に記載の強化学習方法。
(付記3)前記決定する処理は、
算出した前記危険度が閾値未満である場合、前記現在の時点における前記制御対象への制御入力が取りうる平均値を算出し、前記評価指標の下で分散共分散行列を算出し、算出した前記平均値と前記分散共分散行列とを用いて、前記現在の時点における前記制御対象への制御入力を確率的に決定する、ことを特徴とする付記2に記載の強化学習方法。
(付記4)前記所定値は、0である、ことを特徴とする付記2または3に記載の強化学習方法。
(付記5)前記算出する処理は、
前記将来の時点における前記制御対象の状態の予測値に基づいて、前記制御対象の状態に関する複数の制約条件のそれぞれの制約条件に対する、現在の時点における前記制御対象の状態についての危険度を算出し、
前記決定する処理は、
前記複数の制約条件のいずれかの制約条件に対して算出した前記危険度が閾値以上である場合、前記制御対象への制御入力を所定値に決定し、前記それぞれの制約条件に対して算出した前記危険度が閾値未満である場合、前記複数の制約条件を同時に充足する確率的な評価指標の下で、前記現在の時点における前記制御対象への制御入力を確率的に決定する、ことを特徴とする付記1~4のいずれか一つに記載の強化学習方法。
(付記6)前記算出する処理および前記決定する処理は、
前記制御対象の状態が初期化されてから前記制御対象の状態が前記制約条件を充足しなくなるまでの期間、または、前記制御対象の状態が初期化されてから一定時間が経過するまでの期間を単位とするエピソード型の強化学習において実行される、ことを特徴とする付記1~5のいずれか一つに記載の強化学習方法。
(付記7)前記制御対象は、風力発電設備であり、
前記算出する処理および前記決定する処理は、
前記風力発電設備の発電機トルクを制御入力とし、前記風力発電設備の発電量と前記風力発電設備のタービンの回転量と前記風力発電設備のタービンの回転速度と前記風力発電設備に対する風向と前記風力発電設備に対する風速との少なくともいずれかを状態とし、前記風力発電設備の発電量を報酬とし、前記制御対象を制御する方策を学習する強化学習において実行される、ことを特徴とする付記1~6のいずれか一つに記載の強化学習方法。
(付記8)前記モデル情報は、いずれかの時点における前記制御対象の状態を示す変数および前記いずれかの時点における前記制御対象への制御入力を示す変数を用いて、前記いずれかの時点の次の時点における前記制御対象の状態についての関数を線形近似して表す、ことを特徴とする付記1~7のいずれか一つに記載の強化学習方法。
(付記9)前記モデル情報と、前記将来の時点における前記制御対象の状態の予測値に含まれる誤差の上限とに基づいて、前記将来の時点における前記制御対象の状態の予測値を求める、処理を前記コンピュータが実行することを特徴とする付記1~8のいずれか一つに記載の強化学習方法。
(付記10)前記制御対象は、いずれかの時点における前記制御対象の状態が前記制約条件を充足し、かつ、前記いずれかの時点における前記制御対象への制御入力が0であれば、前記いずれかの時点の次の時点における前記制御対象の状態が前記制約条件を充足することが保証される性質を有する、ことを特徴とする付記1~9のいずれか一つに記載の強化学習方法。
(付記11)前記制御対象は、空調設備である、ことを特徴とする付記1~6のいずれか一つに記載の強化学習方法。
(付記12)前記制御対象は、産業用ロボットである、ことを特徴とする付記1~6のいずれか一つに記載の強化学習方法。
(付記13)制御対象の状態と前記制御対象への制御入力との関係を規定するモデル情報から求められた、将来の時点における前記制御対象の状態の予測値に基づいて、前記制御対象の状態に関する制約条件に対する、現在の時点における前記制御対象の状態についての危険度を算出し、
算出した前記危険度が大きいほど狭くなるように、算出した前記危険度に応じて定まる範囲の中から、前記現在の時点における前記制御対象への制御入力を決定する、
処理をコンピュータに実行させることを特徴とする強化学習プログラム。
(付記14)制御対象の状態と前記制御対象への制御入力との関係を規定するモデル情報から求められた、将来の時点における前記制御対象の状態の予測値に基づいて、前記制御対象の状態に関する制約条件に対する、現在の時点における前記制御対象の状態についての危険度を算出し、
算出した前記危険度が大きいほど狭くなるように、算出した前記危険度に応じて定まる範囲の中から、前記現在の時点における前記制御対象への制御入力を決定する、
ことを特徴とする強化学習システム。
100 情報処理装置
101 強化学習器
110 制御対象
200,700,900,1000,1800,1900 グラフ
201,202 範囲
400 バス
401 CPU
402 メモリ
403 ネットワークI/F
404 記録媒体I/F
405 記録媒体
410 ネットワーク
500 記憶部
501 取得部
502 算出部
503 決定部
504 学習部
505 出力部
600,1600 実数空間
601~603,801~805,1601~1603,1701~1705 状態
1100 サーバルーム
1101 サーバ
1102 冷却器
1200 発電設備
1300 産業用ロボット

Claims (9)

  1. 強化学習により方策を学習していく最中に、
    制御対象の状態と前記制御対象への制御入力との関係を規定するモデル情報から求められた、将来の時点における前記制御対象の状態の予測値に基づいて、前記制御対象の状態に関する制約条件に対する、現在の時点における前記制御対象の状態についての危険度を算出し、
    算出した前記危険度が大きいほど狭くなるように、算出した前記危険度に応じて定まる範囲の中から、前記現在の時点における前記制御対象への制御入力を決定する、
    処理をコンピュータが実行し、
    前記決定する処理は、
    算出した前記危険度が閾値以上である場合、前記制御対象への制御入力を所定値に決定し、算出した前記危険度が閾値未満である場合、前記制約条件の充足に関する確率的な評価指標の下で、前記現在の時点における前記制御対象への制御入力を確率的に決定する、
    とを特徴とする強化学習方法。
  2. 前記決定する処理は、
    算出した前記危険度が閾値未満である場合、前記現在の時点における前記制御対象への制御入力が取りうる平均値を算出し、前記評価指標の下で分散共分散行列を算出し、算出した前記平均値と前記分散共分散行列とを用いて、前記現在の時点における前記制御対象への制御入力を確率的に決定する、ことを特徴とする請求項1に記載の強化学習方法。
  3. 前記所定値は、0である、ことを特徴とする請求項1または2に記載の強化学習方法。
  4. 前記算出する処理は、
    前記将来の時点における前記制御対象の状態の予測値に基づいて、前記制御対象の状態に関する複数の制約条件のそれぞれの制約条件に対する、現在の時点における前記制御対象の状態についての危険度を算出し、
    前記決定する処理は、
    前記複数の制約条件のいずれかの制約条件に対して算出した前記危険度が閾値以上である場合、前記制御対象への制御入力を所定値に決定し、前記それぞれの制約条件に対して算出した前記危険度が閾値未満である場合、前記複数の制約条件を同時に充足する確率的な評価指標の下で、前記現在の時点における前記制御対象への制御入力を確率的に決定する、ことを特徴とする請求項1~3のいずれか一つに記載の強化学習方法。
  5. 前記算出する処理および前記決定する処理は、
    前記制御対象の状態が初期化されてから前記制御対象の状態が前記制約条件を充足しなくなるまでの期間、または、前記制御対象の状態が初期化されてから一定時間が経過するまでの期間を単位とするエピソード型の強化学習において実行される、ことを特徴とする請求項1~4のいずれか一つに記載の強化学習方法。
  6. 前記制御対象は、風力発電設備であり、
    前記算出する処理および前記決定する処理は、
    前記風力発電設備の発電機トルクを制御入力とし、前記風力発電設備の発電量と前記風力発電設備のタービンの回転量と前記風力発電設備のタービンの回転速度と前記風力発電設備に対する風向と前記風力発電設備に対する風速との少なくともいずれかを状態とし、前記風力発電設備の発電量を報酬とし、前記制御対象を制御する方策を学習する強化学習において実行される、ことを特徴とする請求項1~5のいずれか一つに記載の強化学習方法。
  7. 前記モデル情報は、いずれかの時点における前記制御対象の状態を示す変数および前記いずれかの時点における前記制御対象への制御入力を示す変数を用いて、前記いずれかの時点の次の時点における前記制御対象の状態についての関数を線形近似して表す、ことを特徴とする請求項1~6のいずれか一つに記載の強化学習方法。
  8. 強化学習により方策を学習していく最中に、
    制御対象の状態と前記制御対象への制御入力との関係を規定するモデル情報から求められた、将来の時点における前記制御対象の状態の予測値に基づいて、前記制御対象の状態に関する制約条件に対する、現在の時点における前記制御対象の状態についての危険度を算出し、
    算出した前記危険度が大きいほど狭くなるように、算出した前記危険度に応じて定まる範囲の中から、前記現在の時点における前記制御対象への制御入力を決定する、
    処理をコンピュータに実行させ
    前記決定する処理は、
    算出した前記危険度が閾値以上である場合、前記制御対象への制御入力を所定値に決定し、算出した前記危険度が閾値未満である場合、前記制約条件の充足に関する確率的な評価指標の下で、前記現在の時点における前記制御対象への制御入力を確率的に決定する、
    とを特徴とする強化学習プログラム。
  9. 強化学習により方策を学習していく最中に、
    制御対象の状態と前記制御対象への制御入力との関係を規定するモデル情報から求められた、将来の時点における前記制御対象の状態の予測値に基づいて、前記制御対象の状態に関する制約条件に対する、現在の時点における前記制御対象の状態についての危険度を算出し、
    算出した前記危険度が大きいほど狭くなるように、算出した前記危険度に応じて定まる範囲の中から、前記現在の時点における前記制御対象への制御入力を決定するにあたり算出した前記危険度が閾値以上である場合、前記制御対象への制御入力を所定値に決定し、算出した前記危険度が閾値未満である場合、前記制約条件の充足に関する確率的な評価指標の下で、前記現在の時点における前記制御対象への制御入力を確率的に決定する、
    ことを特徴とする強化学習システム。
JP2019039032A 2019-03-04 2019-03-04 強化学習方法、強化学習プログラム、および強化学習システム Active JP7225923B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019039032A JP7225923B2 (ja) 2019-03-04 2019-03-04 強化学習方法、強化学習プログラム、および強化学習システム
US16/797,515 US11543789B2 (en) 2019-03-04 2020-02-21 Reinforcement learning method, recording medium, and reinforcement learning system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019039032A JP7225923B2 (ja) 2019-03-04 2019-03-04 強化学習方法、強化学習プログラム、および強化学習システム

Publications (2)

Publication Number Publication Date
JP2020144484A JP2020144484A (ja) 2020-09-10
JP7225923B2 true JP7225923B2 (ja) 2023-02-21

Family

ID=72336294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019039032A Active JP7225923B2 (ja) 2019-03-04 2019-03-04 強化学習方法、強化学習プログラム、および強化学習システム

Country Status (2)

Country Link
US (1) US11543789B2 (ja)
JP (1) JP7225923B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102461732B1 (ko) * 2019-07-16 2022-11-01 한국전자통신연구원 강화 학습 방법 및 장치
JP7263980B2 (ja) * 2019-08-27 2023-04-25 富士通株式会社 強化学習方法、強化学習プログラム、および強化学習装置
JP2022111784A (ja) * 2021-01-20 2022-08-01 三菱重工業株式会社 学習装置の学習方法、設計パターンの設計方法、積層体の製造方法及び設計パターンの設計装置
CN113325721B (zh) * 2021-08-02 2021-11-05 北京中超伟业信息安全技术股份有限公司 一种工业系统无模型自适应控制方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008111077A (ja) 2006-10-31 2008-05-15 Central Res Inst Of Electric Power Ind 石炭ガス化炉運転制御方法、石炭ガス化炉運転制御装置および石炭ガス化炉運転制御プログラム
JP2009198137A (ja) 2008-02-25 2009-09-03 Hitachi Ltd ボイラの制御装置及びボイラの制御方法
JP2009289199A (ja) 2008-05-30 2009-12-10 Okinawa Institute Of Science & Technology 制御器、制御方法および制御プログラム
JP2013206363A (ja) 2012-03-29 2013-10-07 Hitachi Ltd プラントの制御装置及び火力発電プラントの制御装置
JP2017157112A (ja) 2016-03-03 2017-09-07 三菱日立パワーシステムズ株式会社 制御パラメータ自動調整装置、制御パラメータ自動調整方法、及び制御パラメータ自動調整装置ネットワーク
JP2018178900A (ja) 2017-04-18 2018-11-15 株式会社日立製作所 風力発電システム
JP2018185678A (ja) 2017-04-26 2018-11-22 株式会社日立製作所 運用計画立案装置、運用制御システム、および、運用計画立案方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914300B2 (en) 2001-08-10 2014-12-16 Rockwell Automation Technologies, Inc. System and method for dynamic multi-objective optimization of machine selection, integration and utilization
WO2003038531A1 (en) * 2001-10-31 2003-05-08 Occidental Forest Farms Llp Environmental controls system and method
JP3700682B2 (ja) * 2002-06-20 2005-09-28 日産自動車株式会社 アクセルペダル装置
US6898513B2 (en) * 2003-03-15 2005-05-24 Alpine Electronics, Inc. Navigation method and system for dynamic access to different degrees of navigation function
JP2007065929A (ja) 2005-08-30 2007-03-15 Okinawa Institute Of Science & Technology 制御器、制御方法および制御プログラム
JP4876057B2 (ja) 2007-11-20 2012-02-15 株式会社日立製作所 プラントの制御装置、及び火力発電プラントの制御装置
US8135653B2 (en) 2007-11-20 2012-03-13 Hitachi, Ltd. Power plant control device which uses a model, a learning signal, a correction signal, and a manipulation signal
EP2286963B1 (en) * 2009-05-22 2019-05-15 Toyota Motor East Japan, Inc. Work-assisting robot system
US8429097B1 (en) 2009-08-12 2013-04-23 Amazon Technologies, Inc. Resource isolation using reinforcement learning and domain-specific constraints
US9132773B2 (en) * 2009-12-07 2015-09-15 Cobra Electronics Corporation Mobile communication system and method for analyzing alerts associated with vehicular travel
JP2012012960A (ja) * 2010-06-29 2012-01-19 Nippon Soken Inc 粒子状物質検出センサ
JP5251938B2 (ja) 2010-08-31 2013-07-31 株式会社日立製作所 プラントの制御装置及び火力発電プラントの制御装置
JP5750657B2 (ja) 2011-03-30 2015-07-22 株式会社国際電気通信基礎技術研究所 強化学習装置、制御装置、および強化学習方法
GB201112769D0 (en) * 2011-07-26 2011-09-07 Armstrong Peter M Immersion controller
US9500636B2 (en) * 2011-12-16 2016-11-22 The Regents Of The University Of California Multiscale platform for coordinating cellular activity using synthetic biology
US9793753B2 (en) * 2012-09-21 2017-10-17 Schneider Electric It Corporation Power quality detector
US8706357B1 (en) * 2013-03-14 2014-04-22 Drs C3 & Aviation Company Flight recorder deployment system and method
US10422727B2 (en) * 2014-08-10 2019-09-24 Harry Leon Pliskin Contaminant monitoring and air filtration system
EP3133268B1 (en) * 2015-08-21 2020-09-30 Ansaldo Energia IP UK Limited Method for operating a power plant
JP6067876B2 (ja) * 2015-08-31 2017-01-25 株式会社小松製作所 鉱山の管理システム
US9796410B2 (en) * 2016-01-28 2017-10-24 Denso Corporation Motor controller
US11327475B2 (en) 2016-05-09 2022-05-10 Strong Force Iot Portfolio 2016, Llc Methods and systems for intelligent collection and analysis of vehicle data
DE112017002604T5 (de) 2016-06-21 2019-02-21 Sri International Systeme und Verfahren für das maschinelle Lernen unter Verwendung eines vertrauenswürdigen Modells
JP6706173B2 (ja) * 2016-08-09 2020-06-03 株式会社日立製作所 制御装置、制御方法、および制御プログラム
US10794363B2 (en) * 2017-02-10 2020-10-06 Inventus Holdings, Llc Wind turbine curtailment control for volant animals
US20190026473A1 (en) * 2017-07-21 2019-01-24 Pearson Education, Inc. System and method for automated feature-based alert triggering
WO2020040763A1 (en) 2018-08-23 2020-02-27 Siemens Aktiengesellschaft Real-time production scheduling with deep reinforcement learning and monte carlo tree search
US11876464B2 (en) 2019-02-14 2024-01-16 The Board Of Trustees Of The University Of Alabama Systems, methods and devices for neural network control for IPM motor drives
US11836582B2 (en) 2019-12-28 2023-12-05 Asper.AI Inc. System and method of machine learning based deviation prediction and interconnected-metrics derivation for action recommendations

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008111077A (ja) 2006-10-31 2008-05-15 Central Res Inst Of Electric Power Ind 石炭ガス化炉運転制御方法、石炭ガス化炉運転制御装置および石炭ガス化炉運転制御プログラム
JP2009198137A (ja) 2008-02-25 2009-09-03 Hitachi Ltd ボイラの制御装置及びボイラの制御方法
JP2009289199A (ja) 2008-05-30 2009-12-10 Okinawa Institute Of Science & Technology 制御器、制御方法および制御プログラム
JP2013206363A (ja) 2012-03-29 2013-10-07 Hitachi Ltd プラントの制御装置及び火力発電プラントの制御装置
JP2017157112A (ja) 2016-03-03 2017-09-07 三菱日立パワーシステムズ株式会社 制御パラメータ自動調整装置、制御パラメータ自動調整方法、及び制御パラメータ自動調整装置ネットワーク
JP2018178900A (ja) 2017-04-18 2018-11-15 株式会社日立製作所 風力発電システム
JP2018185678A (ja) 2017-04-26 2018-11-22 株式会社日立製作所 運用計画立案装置、運用制御システム、および、運用計画立案方法

Also Published As

Publication number Publication date
US11543789B2 (en) 2023-01-03
JP2020144484A (ja) 2020-09-10
US20200285208A1 (en) 2020-09-10

Similar Documents

Publication Publication Date Title
JP7225923B2 (ja) 強化学習方法、強化学習プログラム、および強化学習システム
JP7379833B2 (ja) 強化学習方法、強化学習プログラム、および強化学習システム
US11366433B2 (en) Reinforcement learning method and device
CN110647042A (zh) 一种基于数据驱动的机器人鲁棒学习预测控制方法
CN112232495B (zh) 预测模型的训练方法、装置、介质和计算设备
Wang et al. Deep deterministic policy gradient with compatible critic network
US20210310461A1 (en) Distributed reinforcement learning and consensus control of energy systems
CN111079343A (zh) 一种基于宽度学习的风电机组有效风速估计方法
JP2020095586A (ja) 強化学習方法、および強化学習プログラム
Kim et al. Multi-condition multi-objective optimization using deep reinforcement learning
Allamaraju et al. Human aware UAS path planning in urban environments using nonstationary MDPs
JP2020091611A (ja) 行動決定プログラム、行動決定方法、および行動決定装置
JP7263980B2 (ja) 強化学習方法、強化学習プログラム、および強化学習装置
US20160246277A1 (en) Model Predictive Control with Uncertainties
Bernini et al. A few lessons learned in reinforcement learning for quadcopter attitude control
Ding et al. Multi-zone hvac control with model-based deep reinforcement learning
US11385604B2 (en) Policy improvement method, recording medium, and policy improvement apparatus
CN116360504A (zh) 无人机集群任务的确定方法、装置、电子设备及存储介质
Lin et al. Hpt-rl: Calibrating power system models based on hierarchical parameter tuning and reinforcement learning
CN113688875B (zh) 工业系统故障识别方法及装置
CN110675424A (zh) 一种图像中目标物的跟踪方法、系统及相关装置
CN117557870B (zh) 基于联邦学习客户端选择的分类模型训练方法及系统
Silva et al. Optimal resource allocation in wireless control systems via deep policy gradient
US11983642B2 (en) Policy improvement method, policy improvement program storage medium, and policy improvement device
Lampton et al. Multiresolution state-space discretization method for q-learning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230123

R150 Certificate of patent or registration of utility model

Ref document number: 7225923

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150