(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-17
(45)【発行日】2023-04-25
(54)【発明の名称】強化学習方法、強化学習プログラム、および強化学習装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20230418BHJP
B25J 13/00 20060101ALI20230418BHJP
【FI】
G06N20/00
B25J13/00 Z
(21)【出願番号】P 2019154803
(22)【出願日】2019-08-27
【審査請求日】2022-05-17
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】大川 佳寛
(72)【発明者】
【氏名】佐々木 智丈
(72)【発明者】
【氏名】岩根 秀直
(72)【発明者】
【氏名】屋並 仁史
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2020-144484(JP,A)
【文献】特開2017-157112(JP,A)
【文献】特開2013-206363(JP,A)
【文献】三村 明寛 ほか,動的環境下における危険度予測法に基づく適応的強化学習,2010年度人工知能学会全国大会(第24回)論文集 [CD-ROM],日本,社団法人 人工知能学会,2010年06月09日,1A3-3,p.1-4
【文献】伊藤 秀将 ほか,グラフ構造深層強化学習による電力系統制御,FIT2019 第18回情報科学技術フォーラム 講演論文集 第2分冊,日本,一般社団法人 情報処理学会,2019年08月20日,F-012,p.277-281
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
B25J 13/00
(57)【特許請求の範囲】
【請求項1】
強化学習における制御の対象の状態計測が行われる時間間隔が前記対象への行動決定が行われる時間間隔とは異なる状態で、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる、前記対象の状態計測が行われるそれぞれの時点における前記対象の状態を予測し、
予測した前記対象の状態の結果に基づいて、前記対象の状態に関する制約条件に対する、前記それぞれの時点における前記対象の状態についての危険度を算出し、
算出した前記それぞれの時点における前記対象の状態についての危険度と、前記対象への今回の行動による前記それぞれの時点における前記対象の状態に対する影響度とに応じて前記対象への今回の行動に関する探索範囲を特定し、
特定した前記対象への今回の行動に関する探索範囲に基づいて、前記対象への今回の行動を決定する、
処理をコンピュータが実行することを特徴とする強化学習方法。
【請求項2】
前記特定する処理は、
前記危険度が大きいほど狭くなるように、かつ、前記影響度が大きいほど狭くなるように、前記探索範囲を特定する、ことを特徴とする請求項1に記載の強化学習方法。
【請求項3】
前記対象への行動決定が行われる時間間隔は、前記対象の状態計測が行われる時間間隔よりも長い、ことを特徴とする請求項1または2に記載の強化学習方法。
【請求項4】
前記特定する処理は、
前記制約条件の充足に関する確率的な評価指標の下で、前記探索範囲を特定し、
前記決定する処理は、
特定した前記探索範囲に基づいて、前記対象への今回の行動を、確率的に決定する、ことを特徴とする請求項1~3のいずれか一つに記載の強化学習方法。
【請求項5】
前記特定する処理は、
算出した前記それぞれの時点における前記対象の状態についての危険度が閾値未満である場合、前記制約条件の充足に関する確率的な評価指標の下で、前記探索範囲を特定し、
前記決定する処理は、
算出した前記期間に含まれるいずれかの時点における前記対象の状態についての危険度が閾値以上である場合、前記対象への行動を所定値に決定し、算出した前記それぞれの時点における前記対象の状態についての危険度が閾値未満である場合、特定した前記探索範囲に基づいて、前記対象への今回の行動を、確率的に決定する、ことを特徴とする請求項1~4のいずれか一つに記載の強化学習方法。
【請求項6】
前記特定する処理は、
算出した前記それぞれの時点における前記対象の状態についての危険度が閾値未満である場合、前記対象への今回の行動が取りうる平均値を算出し、算出した前記それぞれの時点における前記対象の状態についての危険度と、前記対象への今回の行動による前記それぞれの時点における前記対象の状態に対する影響度とに応じて、前記制約条件の充足に関する確率的な評価指標の下で分散共分散行列を算出し、算出した前記平均値と前記分散共分散行列とを用いて、前記探索範囲を特定する、ことを特徴とする請求項5に記載の強化学習方法。
【請求項7】
前記所定値は、0である、ことを特徴とする請求項5または6に記載の強化学習方法。
【請求項8】
前記制約条件は、前記対象の状態に対して線形である、ことを特徴とする請求項1~7のいずれか一つに記載の強化学習方法。
【請求項9】
前記対象に関する事前知識を用いて、前記期間に含まれる前記それぞれの時点における前記対象の状態を予測する、
処理を前記コンピュータが実行することを特徴とする請求項1~8のいずれか一つに記載の強化学習方法。
【請求項10】
前記対象は、発電設備であり、
前記事前知識は、前記発電設備の仕様値と前記発電設備のパラメータの公称値と前記発電設備のパラメータの許容差の少なくともいずれかに基づく情報であり、
前記算出する処理、前記特定する処理、および前記決定する処理は、
前記発電設備の発電機トルクを行動とし、前記発電設備の発電量と前記発電設備のタービンの回転量と前記発電設備のタービンの回転速度と前記発電設備に対する風向と前記発電設備に対する風速との少なくともいずれかを状態とし、前記発電設備の発電量を報酬とし、前記対象を制御する方策を学習する強化学習において実行され、
前記対象の状態計測が行われる時間間隔は、前記発電設備の発電量と前記発電設備のタービンの回転量と前記発電設備のタービンの回転速度と前記発電設備に対する風向と前記発電設備に対する風速との少なくともいずれかを計測する時間間隔であり、
前記対象への行動決定が行われる時間間隔は、前記発電設備の発電機トルクを決定する時間間隔である、ことを特徴とする請求項9に記載の強化学習方法。
【請求項11】
前記対象は、空調設備であり、
前記事前知識は、前記空調設備の仕様値と前記空調設備のパラメータの公称値と前記空調設備のパラメータの許容差の少なくともいずれかに基づく情報であり、
前記算出する処理、前記特定する処理、および前記決定する処理は、
前記空調設備の設定温度と前記空調設備の設定風量との少なくともいずれかを行動とし、前記空調設備がある部屋の内部の温度と前記空調設備がある部屋の外部の温度と気候との少なくともいずれかを状態とし、前記空調設備の消費電力量をコストとし、前記対象を制御する方策を学習する強化学習において実行され、
前記対象の状態計測が行われる時間間隔は、前記空調設備がある部屋の内部の温度と前記空調設備がある部屋の外部の温度と気候との少なくともいずれかを計測する時間間隔であり、
前記対象への行動決定が行われる時間間隔は、前記空調設備の設定温度と前記空調設備の設定風量との少なくともいずれかを決定する時間間隔である、ことを特徴とする請求項9または10に記載の強化学習方法。
【請求項12】
前記対象は、産業用ロボットであり、
前記事前知識は、前記産業用ロボットの仕様値と前記産業用ロボットのパラメータの公称値と前記産業用ロボットのパラメータの許容差の少なくともいずれかに基づく情報であり、
前記算出する処理、前記特定する処理、および前記決定する処理は、
前記産業用ロボットのモータートルクを行動とし、前記産業用ロボットの撮影した画像と前記産業用ロボットの関節位置と前記産業用ロボットの関節角度と前記産業用ロボットの関節角速度との少なくともいずれかを状態とし、前記産業用ロボットの生産量を報酬とし、前記対象を制御する方策を学習する強化学習において実行され、
前記対象の状態計測が行われる時間間隔は、前記産業用ロボットの撮影した画像と前記産業用ロボットの関節位置と前記産業用ロボットの関節角度と前記産業用ロボットの関節角速度との少なくともいずれかを計測する時間間隔であり、
前記対象への行動決定が行われる時間間隔は、前記産業用ロボットのモータートルクを決定する時間間隔である、ことを特徴とする請求項9~11のいずれか一つに記載の強化学習方法。
【請求項13】
強化学習における制御の対象の状態計測が行われる時間間隔が前記対象への行動決定が行われる時間間隔とは異なる状態で、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる、前記対象の状態計測が行われるそれぞれの時点における前記対象の状態を予測し、
予測した前記対象の状態の結果に基づいて、前記対象の状態に関する制約条件に対する、前記それぞれの時点における前記対象の状態についての危険度を算出し、
算出した前記それぞれの時点における前記対象の状態についての危険度と、前記対象への今回の行動による前記それぞれの時点における前記対象の状態に対する影響度とに応じて前記対象への今回の行動に関する探索範囲を特定し、
特定した前記対象への今回の行動に関する探索範囲に基づいて、前記対象への今回の行動を決定する、
処理をコンピュータに実行させることを特徴とする強化学習プログラム。
【請求項14】
強化学習における制御の対象の状態計測が行われる時間間隔が前記対象への行動決定が行われる時間間隔とは異なる状態で、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる、前記対象の状態計測が行われるそれぞれの時点における前記対象の状態を予測し、
予測した前記対象の状態の結果に基づいて、前記対象の状態に関する制約条件に対する、前記それぞれの時点における前記対象の状態についての危険度を算出し、
算出した前記それぞれの時点における前記対象の状態についての危険度と、前記対象への今回の行動による前記それぞれの時点における前記対象の状態に対する影響度とに応じて前記対象への今回の行動に関する探索範囲を特定し、
特定した前記対象への今回の行動に関する探索範囲に基づいて、前記対象への今回の行動を決定する、
制御部を有することを特徴とする強化学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、強化学習方法、強化学習プログラム、および強化学習装置に関する。
【背景技術】
【0002】
従来、対象への行動に応じた対象からの即時コストまたは即時報酬を参照して、対象からの累積コストまたは累積報酬に基づいて対象への行動の価値を規定する価値関数を最適化するような方策を学習していく強化学習の技術がある。価値関数は、状態行動価値関数(Q関数)または状態価値関数(V関数)などである。
【0003】
先行技術としては、例えば、線形モデルで近似した方策関数のモデルパラメータの更新幅を求め、求めた更新幅でモデルパラメータを、時刻ごとに更新して記録するものがある。また、例えば、状態に対応する行動価値の更新量と、当該状態をさらに分割した状態に対応する行動価値の更新量との、行動価値の空間における勾配を変換した自然勾配法の勾配によって行動価値を更新する技術がある。また、例えば、操作信号を計算する際に用いる制御パラメータの変化量とプラントの状態変化量とを対応付けた知識情報に基づいて、制御パラメータの探索範囲を決定する技術がある。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-206795号公報
【文献】特開2011-65553号公報
【文献】特開2017-157112号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、強化学習により方策を学習していく最中には、対象の状態が、対象の状態に関する制約条件を充足する確率をコントロールすることはできない。そして、対象の状態が、対象の状態に関する制約条件に違反した結果、対象に悪影響を及ぼすことがある。
【0006】
1つの側面では、本発明は、対象の状態が制約条件を充足する確率の向上を図ることを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様によれば、強化学習における制御の対象の状態計測が行われる時間間隔が前記対象への行動決定が行われる時間間隔とは異なる状態で、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる、前記対象の状態計測が行われるそれぞれの時点における前記対象の状態を予測し、予測した前記対象の状態の結果に基づいて、前記対象の状態に関する制約条件に対する、前記それぞれの時点における前記対象の状態についての危険度を算出し、算出した前記それぞれの時点における前記対象の状態についての危険度と、前記対象への今回の行動による前記それぞれの時点における前記対象の状態に対する影響度とに応じて前記対象への今回の行動に関する探索範囲を特定し、特定した前記対象への今回の行動に関する探索範囲に基づいて、前記対象への今回の行動を決定する強化学習方法、強化学習プログラム、および強化学習装置が提案される。
【発明の効果】
【0008】
一態様によれば、対象の状態が制約条件を充足する確率の向上を図ることが可能になる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態にかかる強化学習方法の一実施例を示す説明図(その1)である。
【
図2】
図2は、実施の形態にかかる強化学習方法の一実施例を示す説明図(その2)である。
【
図3】
図3は、強化学習装置100のハードウェア構成例を示すブロック図である。
【
図4】
図4は、履歴テーブル400の記憶内容の一例を示す説明図である。
【
図5】
図5は、強化学習装置100の機能的構成例を示すブロック図である。
【
図6】
図6は、強化学習装置100の動作例を示す説明図(その1)である。
【
図7】
図7は、強化学習装置100の動作例を示す説明図(その2)である。
【
図8】
図8は、強化学習装置100の動作例を示す説明図(その3)である。
【
図9】
図9は、強化学習装置100の動作例を示す説明図(その4)である。
【
図10】
図10は、強化学習装置100の動作例を示す説明図(その5)である。
【
図11】
図11は、動作例における強化学習装置100により得られた効果を示す説明図(その1)である。
【
図12】
図12は、動作例における強化学習装置100により得られた効果を示す説明図(その2)である。
【
図13】
図13は、対象110の具体例を示す説明図(その1)である。
【
図14】
図14は、対象110の具体例を示す説明図(その2)である。
【
図15】
図15は、対象110の具体例を示す説明図(その3)である。
【
図16】
図16は、全体処理手順の一例を示すフローチャートである。
【
図17】
図17は、決定処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、図面を参照して、本発明にかかる強化学習方法、強化学習プログラム、および強化学習装置の実施の形態を詳細に説明する。
【0011】
(実施の形態にかかる強化学習方法の一実施例)
図1および
図2は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。強化学習装置100は、強化学習により対象110を制御するためのコンピュータである。強化学習装置100は、例えば、サーバやPC(Personal Computer)、または、マイクロコントローラなどである。
【0012】
対象110は、何らかの事象であり、例えば、現実に存在する物理系である。対象110は、環境(environment)とも呼ばれる。対象110は、例えば、シミュレータ上に存在してもよい。対象110は、具体的には、自動車、自律移動ロボット、産業用ロボット、ドローン、ヘリコプター、サーバルーム、空調設備、発電設備、化学プラント、または、ゲームなどである。
【0013】
強化学習は、対象110を制御する方策を学習していく手法である。方策は、対象110への行動(action)を決定するための制御則である。行動は、対象110への操作である。行動は、制御入力とも呼ばれる。強化学習は、例えば、対象110への行動を決定し、対象110の状態と、決定した行動と、決定した行動に応じて計測した対象110からの即時コストまたは即時報酬とを参照して、価値関数を最適化するような方策を学習していく。
【0014】
価値関数は、対象110からの累積コストまたは累積報酬に基づいて、対象110への行動についての価値を規定する関数である。価値関数は、例えば、状態行動価値関数、または、状態価値関数などである。価値関数は、例えば、状態基底関数を用いて表現される。最適化は、累積コストに基づく価値関数に関しては最小化に対応し、累積報酬に基づく価値関数に関しては最大化に対応する。強化学習は、例えば、対象110の性質が不明でも実現可能である。強化学習は、具体的には、Q学習、SARSA、または、actor-criticなどを利用する。
【0015】
ここで、対象110の状態に対する制約条件が存在する場合、制約条件を充足させつつ対象110を制御可能である方策を学習することが望まれる他に、強化学習により方策を学習していく最中にも、制約条件を充足させておくことが望まれる。特に、強化学習を、シミュレータ上の対象110ではなく、実在する対象110に適用しようとする場合、制約条件を違反すると、実在する対象110に悪影響を及ぼすことがある。このため、強化学習により、方策を学習していく最中にも、制約条件を充足させておくことが望まれる。違反とは、制約条件を充足しないことである。
【0016】
例えば、対象110がサーバルームであり、サーバルームの温度を一定以下にする制約条件が存在する場合、制約条件を違反すると、サーバルームにあるサーバが故障しやすくなることがある。また、例えば、対象110が風車であり、風車の回転速度を一定以下にする制約条件が存在する場合、制約条件を違反すると、風車が破損しやすくなることがある。このように、制約条件を違反すると、実在する対象110は、悪影響を受けることがある。
【0017】
しかしながら、従来の強化学習では、方策を学習していく最中に、対象110への行動を決定するにあたり、対象110の状態が制約条件を充足するか否かを考慮していない。このため、方策を学習していく際には、対象110の状態が制約条件を違反する確率をコントロールすることができない。また、学習された方策が、制約条件を充足するように対象110を制御可能にする方策ではないことがある。従来の強化学習については、例えば、下記非特許文献1が参照される。
【0018】
非特許文献1:Doya, Kenji. “Reinforcement learning in continuous time and space.” Neural computation 12.1 (2000): 219-245.
【0019】
これに対し、上記従来の強化学習を、制約条件を違反した場合にペナルティを与えるように変更した改良手法が考えられる。この改良手法では、制約条件を充足するように対象110を制御可能にする方策を学習可能であるが、強化学習により、方策を学習していく最中には、制約条件を充足させることはできない。
【0020】
ところで、強化学習により方策を学習していく最中に、制約条件を充足させることができても、学習効率の低下を招くことは好ましくない。例えば、強化学習により方策を学習していく最中に、行動を決定する探索範囲を比較的狭い範囲に固定することが考えられるが、学習効率の低下を招くことがあり、学習効率の観点から好ましくない。
【0021】
また、予備実験により対象110について正確なモデリングを実施し、対象110の正確なモデルを用いて、行動を決定する探索範囲を調整することにより、制約条件を違反する確率の低減化を図る手法が考えられる。この手法は、正確なモデリングを実施することが困難な場合には適用することができない。また、この手法では、対象110の正確なモデルが複雑なモデルである場合、強化学習にかかる計算負担の増大化を招くことがあり、学習効率の観点から好ましくない。この手法については、例えば、下記非特許文献2が参照される。
【0022】
非特許文献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.
【0023】
また、将来の一時点における対象110の状態を予測した結果から求めた、制約条件に対する将来の一時点における対象110の状態についての危険度に応じて定まる探索範囲から、対象110への今回の行動を決定する手法が考えられる。これにより、制約条件を違反する確率の低減化が図られる。この手法でも、対象110の状態が制約条件を違反する確率をコントロールすることが難しい場合がある。
【0024】
例えば、対象110への行動決定が行われる時間間隔が、対象110の状態計測が行われる時間間隔とは異なる場合がある。具体的には、対象110への行動決定が行われる時間間隔が、対象110の状態計測が行われる時間間隔より長く、対象110への行動を決定してから、次に対象110への行動を決定するまでの間に、対象110の状態が複数回遷移する場合がある。この場合、遷移する対象110の状態のすべてについて、制約条件を違反する確率をコントロールすることはできない。
【0025】
より具体的には、強化学習を実施するコンピュータの計算能力が比較的低い場合、または、行動を与えられる装置の反応速度や環境により行動が実際に対象110に影響を与えるまでにラグが生じる場合、行動決定が行われる時間間隔が比較的長くなることがある。一例として、計算能力が比較的低い場合、方策を与えるパラメータωの更新にかかる時間の増大化を招き、行動決定が行われる時間間隔が長くなりやすい。このため、対象110への行動決定が行われる時間間隔が、対象110の状態計測が行われる時間間隔より長くなることがある。
【0026】
そこで、本実施の形態では、可変の探索範囲から、対象110への今回の行動を決定する強化学習方法について説明する。この強化学習方法によれば、強化学習により方策を学習していく最中における、対象110の状態が制約条件を充足する確率の向上を図ることができる。
【0027】
図1に示すように、強化学習装置100は、強化学習器101を用いて、可変の探索範囲から、対象110への行動を決定し、対象110の状態および対象110からの即時報酬を計測し、方策を更新する一連の処理を繰り返すことにより、強化学習を実施する。
【0028】
強化学習装置100は、例えば、強化学習において、対象110への今回の行動を決定するにあたり、将来のそれぞれの時点における対象110の状態を予測した結果に基づいて、可変の探索範囲から、対象110への今回の行動を決定して出力する。将来のそれぞれの時点は、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる、状態計測が行われるそれぞれの時点である。
【0029】
ここで、対象110への行動決定が行われる時間間隔は、対象110の状態計測が行われる時間間隔とは異なるものとする。対象110への行動決定が行われる時間間隔は、例えば、対象110の状態計測が行われる時間間隔よりも長く、一度対象110への行動を決定してから、次に対象110への行動を決定するまでの間に、対象110の状態が複数回遷移することがある。
【0030】
次に、
図2を用いて、強化学習装置100が、今回の行動を決定する手法について説明する。
【0031】
図2に示すように、(2-1)強化学習装置100は、今回の行動を決定するにあたり、状態計測が行われる将来のそれぞれの時点における対象110の状態を予測した結果を取得する。将来のそれぞれの時点は、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる。
【0032】
強化学習装置100は、例えば、対象110に関する事前知識を用いて、将来のそれぞれの時点における対象110の状態を予測することにより、当該対象110の状態を予測した結果を取得する。事前知識は、例えば、対象110に関するモデル情報を含む。事前知識は、具体的には、将来のそれぞれの時点における対象110の状態に関するモデル情報を含む。
【0033】
モデル情報は、対象110の状態と対象110への行動との関係を規定する情報である。モデル情報は、例えば、現時点における対象110の状態および対象110への行動が入力されると、将来のいずれかの時点における対象110の状態を出力する関数を規定する。現時点は、例えば、今回の行動決定が行われる時点である。将来のいずれかの時点は、例えば、現時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる時点である。
【0034】
そして、強化学習装置100は、将来のそれぞれの時点における対象110の状態を予測した結果に基づいて、制約条件に対する、将来のそれぞれの時点における対象110の状態についての危険度を算出する。制約条件は、対象110の状態に関する制限である。危険度は、例えば、将来のいずれかの時点における対象110の状態が、制約条件にどの程度違反しやすくなっているのかを示す。
【0035】
図2の例では、制約条件として、対象110の状態に関する上限が設定される場合について説明する。この場合、強化学習装置100は、例えば、将来のいずれかの時点における対象110の状態の予測値が、上限以下の範囲で上限に近づくほど、危険度が大きくなるように、当該将来のいずれかの時点における対象110の状態についての危険度を算出する。
【0036】
図2のグラフ200は、時点ごとの対象110の状態の予測値と実測値とを示す。実測値は、実線の丸で示す。予測値は、点線の丸で示す。対象110の状態に関する上限は、横方向の点線で示す。時点kは、現時点であり、今回の行動決定が行われる時点であり、状態計測が行われる時点でもある。時点k+1,k+2,・・・,k+N-1は、状態計測が行われる時点である。時点k+Nは、次回の行動決定が行われる時点であり、状態計測が行われる時点でもある。時点k+1,k+2,・・・,k+Nが、状態計測が行われる将来のそれぞれの時点に対応する。
【0037】
この場合、強化学習装置100は、具体的には、将来の時点k+1,k+2,・・・,k+Nにおける対象110の状態の予測値が、上限にどの程度近いかに基づいて、危険度を算出する。例えば、将来の時点k+2における対象110の状態の予測値は、上限に比較的近いため、将来の時点k+2における対象110の状態についての危険度は、比較的大きい値として算出される。また、例えば、将来の時点k+Nにおける対象110の状態の予測値は、上限から比較的遠いため、将来の時点k+Nにおける対象110の状態についての危険度は、比較的小さい値として算出される。
【0038】
これによれば、強化学習装置100は、今回の行動を決定する探索範囲を調整するための指標を得ることができる。例えば、将来の時点k+2における対象110の状態についての危険度は、比較的大きく、将来の時点k+2における対象110の状態が、制約条件を違反せずに済む範囲201が比較的狭いことを示す指標となる。また、例えば、将来の時点k+Nにおける対象110の状態についての危険度は、比較的小さく、将来の時点k+Nにおける対象110の状態が、制約条件を違反せずに済む範囲202が比較的広いことを示す指標となる。
【0039】
(2-2)強化学習装置100は、将来のそれぞれの時点における対象110の状態についての危険度と、今回の行動による将来のそれぞれの時点における対象110の状態に対する影響度とに応じて調整した探索範囲に基づいて、今回の行動を決定する。影響度は、例えば、今回の行動の変化が、将来のそれぞれの時点における対象110の状態の変化にどの程度影響を与えるかを示す。
【0040】
ここで、危険度が大きいほど、将来の時点における対象110の状態が制約条件に違反せずに済む範囲が狭いことを示す。そして、今回の行動を決定する探索範囲は、将来の時点における対象110の状態が取り得る範囲に対して影響を与え、例えば、今回の行動を決定する探索範囲を広げると、将来の時点における対象110の状態が取り得る範囲も広がることになる。このため、危険度が大きいほど、今回の行動を決定する探索範囲を広げた場合に、将来の時点における対象110の状態が制約条件に違反してしまう確率も増大する傾向がある。
【0041】
また、影響度が大きいほど、今回の行動を決定する探索範囲は、将来の時点における対象110の状態が取り得る範囲に対して影響を与えやすくなる。例えば、影響度が大きいほど、今回の行動を決定する探索範囲を広げたことにより、将来の時点における対象110の状態が取り得る範囲が広がりやすくなる。このため、影響度が大きいほど、今回の行動を決定する探索範囲を広げた場合に、将来の時点における対象110の状態が制約条件に違反してしまう確率も増大する傾向がある。
【0042】
これらの傾向から、探索範囲は、将来の時点における対象110の状態についての危険度が大きいほど、狭くなるように調整することが好ましく、将来の時点における対象110の状態に対する影響度が大きいほど、狭くなるように調整することが好ましい。
【0043】
強化学習装置100は、例えば、将来の時点ごとに、当該将来の時点における対象110の状態についての危険度と、当該将来の時点における対象110の状態についての算出した危険度とに応じて、探索範囲の候補を定める。強化学習装置100は、探索範囲の候補のうち最も狭い探索範囲の候補を、今回の行動に関する探索範囲に設定し、今回の行動を決定する。
【0044】
これにより、強化学習装置100は、危険度が大きいほど、今回の行動を決定する探索範囲を狭め、将来の時点における対象110の状態が制約条件に違反してしまう確率の増大化を抑制することができる。また、強化学習装置100は、影響度が大きいほど、今回の行動を決定する探索範囲を狭め、将来の時点における対象110の状態が制約条件に違反してしまう確率の増大化を抑制することができる。
【0045】
結果として、強化学習装置100は、強化学習により、方策を学習していく最中に、対象110の状態が制約条件を違反してしまう確率の増大化を抑制することができる。強化学習装置100は、例えば、一度対象110への行動を決定してから、次に対象110への行動を決定するまでの間に遷移する、対象110の状態のすべてについて、制約条件を違反してしまう確率の増大化を抑制することができる。
【0046】
一方で、強化学習装置100は、危険度が小さいほど、対象110への行動を決定する探索範囲を広げ、強化学習により方策を学習していく学習効率の低減化を抑制することができる。また、強化学習装置100は、影響度が小さいほど、対象110への行動を決定する探索範囲を広げ、強化学習により方策を学習していく学習効率の低減化を抑制することができる。
【0047】
ここで、強化学習により方策を学習していく最中に、対象110の状態が制約条件を違反する確率をどの程度まで低減可能であるかを、強化学習を開始する前に評価可能にすることが望まれる場合がある。例えば、強化学習を、実在する対象110に適用しようとする場合、制約条件を違反すると、実在する対象110に悪影響を及ぼすことがある。このため、強化学習により方策を学習していく最中に、対象110の状態が制約条件を違反する確率をどの程度まで低減可能であるかを、強化学習を開始する前に評価可能にすることが望まれる。
【0048】
これに対し、強化学習装置100は、強化学習により方策を学習していく最中に、対象110の状態が制約条件を充足する確率が一定以上に大きくなることを保証可能に、対象110への行動を決定することもできる。強化学習装置100は、例えば、エピソード型の強化学習により方策を学習していく最中に、エピソード内のすべての時点において、対象110の状態が制約条件を充足する確率が、予め設定された下限値以上に大きくなることを保証することができる。
【0049】
エピソード型の強化学習は、対象110の状態が初期化されてから対象110の状態が制約条件を充足しなくなるまでの期間、または、対象110の状態が初期化されてから一定時間が経過するまでの期間を、エピソードとする。エピソードは、学習の単位である。対象110の状態が制約条件を充足する確率が一定以上に大きくなることを保証可能にする場合については、具体的には、
図5~
図8を用いて後述する動作例において、詳細に説明する。
【0050】
また、強化学習装置100は、行動または方策のパラメータに対して、どのような摂動を与えれば、累積コストや累積報酬が最適化されていくかを判断することが難しい状況でも、比較的学習効率よく強化学習を実施することができる。
【0051】
ここでは、制約条件が1つ設定される場合について説明したが、これに限らない。例えば、制約条件が複数設定される場合があってもよい。この場合、強化学習装置100は、強化学習により、方策を学習していく最中に、対象110の状態が、複数の制約条件を同時に充足する確率の増大化を図る。
【0052】
ここでは、強化学習装置100が、対象110の状態計測が行われる将来のそれぞれの時点における対象110の状態を予測する場合について説明したが、これに限らない。例えば、強化学習装置100以外に、対象110の状態計測が行われる将来のそれぞれの時点における対象110の状態を予測する他のコンピュータが存在する場合があってもよい。
【0053】
この場合、強化学習装置100は、他のコンピュータから、対象110の状態計測が行われる将来のそれぞれの時点における対象110の状態を予測した結果を取得する。そして、強化学習装置100は、対象110の状態計測が行われる将来のそれぞれの時点における対象110の状態を予測した結果に基づいて、対象110の状態計測が行われる将来のそれぞれの時点における対象110の状態についての危険度を算出する。
【0054】
(強化学習装置100のハードウェア構成例)
次に、
図3を用いて、
図1および
図2に示した強化学習装置100のハードウェア構成例について説明する。
【0055】
図3は、強化学習装置100のハードウェア構成例を示すブロック図である。
図3において、強化学習装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
【0056】
ここで、CPU301は、強化学習装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。メモリ302は、例えば、強化学習に用いる各種情報を記憶する。メモリ302は、具体的には、
図4に後述する履歴テーブル400を記憶する。
【0057】
ネットワークI/F303は、通信回線を通じてネットワーク310に接続され、ネットワーク310を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク310と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLAN(Local Area Network)アダプタなどである。
【0058】
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、強化学習装置100から着脱可能であってもよい。
【0059】
強化学習装置100は、上述した構成部の他に、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、強化学習装置100は、例えば、記録媒体I/F304や記録媒体305を複数有していてもよい。また、強化学習装置100は、例えば、記録媒体I/F304や記録媒体305を有していなくてもよい。
【0060】
(履歴テーブル400の記憶内容)
次に、
図4を用いて、履歴テーブル400の記憶内容の一例について説明する。履歴テーブル400は、例えば、
図3に示した強化学習装置100のメモリ302や記録媒体305などの記憶領域により実現される。
【0061】
図4は、履歴テーブル400の記憶内容の一例を示す説明図である。
図4に示すように、履歴テーブル400は、時点と、状態と、行動と、コストとのフィールドを有する。履歴テーブル400は、時点ごとに各フィールドに情報を設定することにより、履歴情報がレコード400-aとして記憶される。aは、任意の整数である。
図4の例では、aは、0~Nの任意の整数などである。
【0062】
時点のフィールドには、対象110の状態計測が行われる時点が設定される。時点のフィールドには、例えば、単位時間の倍数で示される時点が設定される。対象110の状態計測が行われる時点は、対象110への行動決定が行われる時点にもなり得る。例えば、対象110の状態計測が、Nの倍数分の回数行われる都度、対象110の状態計測が行われる時点は、対象110への行動決定が行われる時点にもなる。
【0063】
状態のフィールドには、時点のフィールドに設定された時点における対象110の状態が設定される。行動のフィールドには、時点のフィールドに設定された時点における対象110への行動が設定される。コストのフィールドには、時点のフィールドに設定された時点において計測された即時コストが設定される。
【0064】
履歴テーブル400は、強化学習において、即時コストではなく即時報酬を用いるような場合には、コストのフィールドに代わり、報酬のフィールドを有してもよい。報酬のフィールドには、時点のフィールドに設定された時点において計測された即時報酬が設定される。
【0065】
(強化学習装置100の機能的構成例)
次に、
図5を用いて、強化学習装置100の機能的構成例について説明する。
【0066】
図5は、強化学習装置100の機能的構成例を示すブロック図である。
図5の例では、強化学習装置100は、記憶部500と、取得部501と、算出部502と、決定部503と、学習部504と、出力部505とを含む。
【0067】
記憶部500は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部500が、強化学習装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部500が、強化学習装置100とは異なる装置に含まれ、記憶部500の記憶内容が強化学習装置100から参照可能である場合があってもよい。
【0068】
取得部501~出力部505は、制御部510の一例として機能する。取得部501~出力部505は、具体的には、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
【0069】
記憶部500は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部500は、強化学習における、対象110の状態と、対象110への行動と、対象110からの即時コストまたは即時報酬とを蓄積する。記憶部500は、例えば、
図4に示した履歴テーブルを記憶する。これにより、記憶部500は、各機能部が、対象110の状態と、対象110への行動と、対象110からの即時コストまたは即時報酬とを参照可能にすることができる。
【0070】
強化学習は、例えば、エピソード型である。エピソード型は、例えば、対象110の状態が初期化されてから対象110の状態が制約条件を充足しなくなるまでの期間、または、対象110の状態が初期化されてから一定時間が経過するまでの期間を、学習の単位とする。
【0071】
対象110は、例えば、発電設備である場合がある。発電設備は、例えば、風力発電設備である場合がある。この場合、強化学習における行動は、例えば、発電設備の発電機トルクである。強化学習における状態は、例えば、発電設備の発電量と、発電設備のタービンの回転量と、発電設備のタービンの回転速度と、発電設備に対する風向と、発電設備に対する風速となどの少なくともいずれかである。強化学習における報酬は、例えば、発電設備の発電量である。強化学習における即時報酬は、例えば、発電設備の単位時間当たりの発電量である。発電設備は、例えば、火力発電設備、太陽光発電設備、または、原子力発電設備などである場合があってもよい。
【0072】
対象110は、例えば、空調設備である場合がある。空調設備は、例えば、サーバルームにある。この場合、強化学習における行動は、例えば、空調設備の設定温度と、空調設備の設定風量となどの少なくともいずれかである。強化学習における状態は、例えば、空調設備がある部屋の内部の実際の温度と、空調設備がある部屋の外部の実際の温度と、気候となどの少なくともいずれかである。強化学習におけるコストは、例えば、空調設備の消費電力量である。強化学習における即時コストは、例えば、空調設備の単位時間当たりの消費電力量である。
【0073】
対象110は、例えば、産業用ロボットである場合がある。この場合、強化学習における行動は、例えば、産業用ロボットのモータートルクである。強化学習における状態は、例えば、産業用ロボットの撮影した画像と、産業用ロボットの関節位置と、産業用ロボットの関節角度と、産業用ロボットの関節角速度となどの少なくともいずれかである。強化学習における報酬は、例えば、産業用ロボットによる製品の生産量である。強化学習における即時報酬は、例えば、産業用ロボットによる製品の単位時間当たりの生産量である。生産量は、例えば、組み立て数である。組み立て数は、例えば、産業用ロボットが組み立てた製品の数である。
【0074】
ここで、強化学習において、対象110への行動決定が行われる時間間隔は、対象110の状態計測が行われる時間間隔とは異なる場合がある。対象110への行動決定が行われる時間間隔は、例えば、対象110の状態計測が行われる時間間隔よりも長く、一度対象110への行動を決定してから、次に対象110への行動を決定するまでの間に、対象110の状態が複数回遷移する場合がある。このため、対象110への行動を決定する際に、次に対象110への行動を決定するまでに遷移する対象110の状態のすべてについて、制約条件を違反するか否かを考慮することが望まれる。
【0075】
記憶部500は、対象110に関する事前知識を記憶する。事前知識は、対象110の仕様値と、対象110のパラメータの公称値と、対象110のパラメータの許容差となどの少なくともいずれかに基づく情報である。事前知識は、例えば、対象110に関するモデル情報を含む。事前知識は、具体的には、将来のそれぞれの時点における対象110の状態に関するモデル情報を含む。
【0076】
将来のそれぞれの時点は、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる、対象110の状態計測が行われる時点である。以下の説明では、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間を「行動待ち期間」と表記する場合がある。
【0077】
モデル情報は、対象110の状態と対象110への行動との関係を規定する情報である。モデル情報は、例えば、行動待ち期間に含まれる、対象110の状態計測が行われる将来のいずれかの時点における、対象110の状態についての関数を線形近似して表す。モデル情報は、例えば、今回の行動決定が行われる時点における、対象110の状態を示す変数および対象110への行動を示す変数を用いて、対象110の状態計測が行われる将来のいずれかの時点における、対象110の状態についての関数を線形近似して表す。
【0078】
記憶部500は、今回の行動による、行動待ち期間に含まれる、対象110の状態計測が行われる将来のそれぞれの時点における対象110の状態に対する影響度を記憶する。影響度は、例えば、今回の行動の変化が、行動待ち期間に含まれる、対象110の状態計測が行われる将来のいずれかの時点における対象110の状態の変化にどの程度影響を与えるかを示す。これにより、記憶部500は、各機能部が影響度を参照可能にすることができる。
【0079】
記憶部500は、価値関数を記憶する。価値関数は、例えば、対象110からの累積コストまたは累積報酬に基づいて対象110への行動の価値を規定する。価値関数は、例えば、状態基底関数を用いて表現される。価値関数は、状態行動価値関数(Q関数)または状態価値関数(V関数)などである。記憶部500は、例えば、価値関数のパラメータを記憶する。これにより、記憶部500は、各機能部が価値関数を参照可能にすることができる。
【0080】
記憶部500は、対象110を制御する方策を記憶する。方策は、例えば、対象110への行動を決定するための制御則である。記憶部500は、例えば、方策のパラメータωを記憶する。これにより、記憶部500は、方策により対象110への行動を決定可能にすることができる。
【0081】
記憶部500は、対象110の状態に関する制約条件を1または複数記憶する。制約条件は、対象110の状態に関する制限である。制約条件は、例えば、対象110の状態を示す値の上限を規定する。制約条件は、例えば、対象110の状態を示す値の下限を規定する。制約条件は、例えば、対象110の状態に対して線形である。これにより、記憶部500は、各機能部が制約条件を参照可能にすることができる。
【0082】
以下の説明では、強化学習において、即時コストを用いるとして、記憶部500が、即時コストを蓄積する場合を一例として説明する。
【0083】
取得部501は、各機能部の処理に用いられる各種情報を取得する。取得部501は、取得した各種情報を、記憶部500に記憶し、または、各機能部に出力する。また、取得部501は、記憶部500に記憶しておいた各種情報を、各機能部に出力してもよい。取得部501は、例えば、ユーザの操作入力に基づき、各種情報を取得する。取得部501は、例えば、強化学習装置100とは異なる装置から、各種情報を受信してもよい。
【0084】
取得部501は、対象110の状態と、対象110への行動に応じた対象110からの即時コストとを取得する。取得部501は、例えば、対象110の状態と、対象110への行動に応じた対象110からの即時コストとを取得し、記憶部500に出力する。これにより、取得部501は、対象110の状態と、対象110への行動に応じた対象110からの即時コストとを記憶部500に蓄積させることができる。
【0085】
算出部502は、強化学習において、対象110の行動決定が行われる時点ごとに、対象110に関する事前知識を用いて、行動待ち期間に含まれる、対象110の状態計測が行われる将来のそれぞれの時点における対象110の状態を予測する。
【0086】
算出部502は、例えば、モデル情報と、行動待ち期間に含まれる、対象110の状態計測が行われる将来のそれぞれの時点における、対象110の状態の予測値に含まれる誤差の上限とに基づいて、対象110の状態の予測値を算出する。誤差の上限は、例えば、ユーザにより予め設定される。これにより、算出部502は、行動待ち期間に含まれる、対象110の状態計測が行われる将来のそれぞれの時点における対象110の状態についての危険度を算出可能にすることができる。
【0087】
算出部502は、強化学習において、対象110の行動決定が行われる時点ごとに、行動待ち期間に含まれる、対象110の状態計測が行われる将来のそれぞれの時点における対象110の状態についての危険度を算出する。危険度は、例えば、対象110の状態計測が行われる将来のいずれかの時点における対象110の状態が、制約条件にどの程度違反しやすくなっているのかを示す。
【0088】
算出部502は、例えば、行動待ち期間に含まれる、対象110の状態計測が行われる将来のそれぞれの時点における対象110の状態を予測した結果に基づいて、制約条件に対する、将来のそれぞれの時点における対象110の状態についての危険度を算出する。
【0089】
算出部502は、具体的には、行動待ち期間に含まれる、対象110の状態計測が行われる将来のそれぞれの時点における、対象110の状態の予測値に基づいて、制約条件に対する、将来のそれぞれの時点における対象110の状態についての危険度を算出する。これにより、算出部502は、今回の行動を決定する探索範囲を定めるための指標となる危険度を、決定部503が参照可能にすることができる。
【0090】
決定部503は、強化学習において、対象110の行動決定が行われる時点ごとに、今回の行動に関する探索範囲に基づいて、今回の行動を決定する。決定部503は、将来のそれぞれの時点における対象110の状態についての危険度と、今回の行動による将来のそれぞれの時点における対象110の状態に対する影響度とに応じて調整した探索範囲に基づいて、今回の行動を決定する。決定部503は、例えば、危険度が大きいほど狭くなるように調整し、かつ、影響度が大きいほど狭くなるように調整した探索範囲に基づいて、今回の行動を決定する。
【0091】
決定部503は、具体的には、制約条件の充足に関する確率的な評価指標の下で、今回の行動を、確率的に決定する。評価指標は、例えば、ユーザにより予め設定される。評価指標は、具体的には、強化学習により、方策を学習していく最中に、対象110の状態が制約条件を充足する確率の下限を示す。評価指標は、具体的には、確率の下限が90%であれば、0.9である。
【0092】
決定部503は、より具体的には、今回の行動が取りうる平均値を算出する。また、決定部503は、算出した将来のそれぞれの時点における対象110の状態についての危険度と、今回の行動による将来のそれぞれの時点における対象110の状態に対する影響度とに応じて、評価指標の下で分散共分散行列を算出する。
【0093】
そして、決定部503は、算出した平均値と分散共分散行列とを用いて調整した、今回の行動に関する探索範囲に基づいて、今回の行動を、確率的に決定する。決定部503が、今回の行動を、確率的に決定する具体例は、例えば、
図6~
図8を用いて動作例として後述する。これにより、決定部503は、危険度が大きいほど探索範囲を狭め、かつ、影響度が大きいほど探索範囲を狭め、将来のそれぞれの時点における対象110の状態が制約条件に違反してしまう確率の低減化を図ることができる。
【0094】
決定部503は、具体的には、行動待ち期間に含まれる将来のいずれかの時点における対象110の状態についての危険度が閾値以上である場合、今回の行動を所定値に決定してもよい。閾値は、例えば、0である。
【0095】
ここで、対象110は、いずれかの状態計測が行われる時点において、対象110の状態が制約条件を充足し、かつ、行動が0であれば、次回の状態計測が行われる時点においても、対象110の状態が制約条件を充足することが保証される性質を有することがある。このため、決定部503は、所定値として0を用いることが好ましい。
【0096】
ここで、決定部503は、今回の行動を、複数の所定値のいずれかの所定値に決定する場合があってもよい。これにより、決定部503は、将来の時点における対象110の状態が制約条件に違反することを防止することができる。
【0097】
決定部503は、具体的には、算出した将来のそれぞれの時点における対象110の状態についての危険度が閾値未満である場合、評価指標の下で、今回の行動を、確率的に決定してもよい。閾値は、例えば、0である。決定部503は、より具体的には、算出した将来のそれぞれの時点における対象110の状態についての危険度が閾値未満である場合、今回の行動が取りうる平均値を算出する。また、決定部503は、算出した将来のそれぞれの時点における対象110の状態についての危険度と、今回の行動による将来のそれぞれの時点における対象110の状態に対する影響度とに応じて、評価指標の下で分散共分散行列を算出する。
【0098】
そして、決定部503は、算出した平均値と分散共分散行列とを用いて調整した、今回の行動に関する探索範囲に基づいて、今回の行動を、確率的に決定する。決定部503が、今回の行動を、確率的に決定する具体例は、例えば、
図6~
図8を用いて動作例として後述する。これにより、決定部503は、危険度が大きいほど探索範囲を狭め、かつ、影響度が大きいほど探索範囲を狭め、将来のそれぞれの時点における対象110の状態が制約条件に違反してしまう確率の低減化を図ることができる。
【0099】
学習部504は、方策を学習する。学習部504は、決定した対象110への行動と、取得した対象110の状態および対象110からの即時コストとに基づいて、方策を更新する。学習部504は、例えば、方策のパラメータを更新する。これにより、学習部504は、制約条件を充足するように対象110を制御可能である方策を学習することができる。
【0100】
出力部505は、決定部503が決定した対象110への行動を出力する。行動は、例えば、対象110に対する指令値である。出力部505は、例えば、対象110への指令値を、対象110に出力する。これにより、出力部505は、対象110を制御することができる。
【0101】
出力部505は、いずれかの機能部の処理結果を出力してもよい。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部505は、いずれかの機能部の処理結果をユーザに通知可能にすることができる。
【0102】
ここでは、強化学習装置100が、強化学習において、即時コストを用いるとして、記憶部500が、即時コストを蓄積する場合について説明したが、これに限らない。例えば、強化学習装置100が、強化学習において、即時報酬を用いるとして、記憶部500が、即時報酬を蓄積する場合があってもよい。
【0103】
ここでは、強化学習装置100が、取得部501~出力部505を有する場合について説明したが、これに限らない。例えば、強化学習装置100以外に、取得部501~出力部505のいずれかの機能部を有する他のコンピュータが存在し、強化学習装置100と協働する場合があってもよい。
【0104】
(強化学習装置100の動作例)
次に、
図6~
図10を用いて、強化学習装置100の動作例について説明する。
【0105】
図6~
図10は、強化学習装置100の動作例を示す説明図である。動作例は、強化学習装置100が、強化学習により方策を学習していく最中に、対象110の状態が制約条件を充足する確率が一定以上に大きくなることを保証する場合に対応する。
【0106】
以下の説明では、まず、強化学習装置100の動作の流れについて説明し、数式を用いて強化学習装置100の動作の一例について説明し、実例を用いて強化学習装置100の動作の具体例について説明する。
【0107】
<強化学習装置100の動作の流れ>
ここで、強化学習および対象110に関しては、下記4つの特性が仮定される。1つ目の特性は、強化学習が、確率的に行動を決定する方策を用いており、行動を決定する際に用いられる確率密度関数の分散共分散行列を、いずれのタイミングにも変更可能であるという性質である。
【0108】
2つ目の特性は、対象110が、線形システムであり、制約条件が、状態に対して線形であるため、いずれかの時点における行動の分散が、次に行動を決定する時点までのそれぞれの時点における対象110の状態に対して保存され、有効であるという性質である。
【0109】
3つ目の特性は、行動が0であり、対象110が自律遷移する状況であれば、対象110の状態は、制約条件を充足する状態から制約条件を充足しない状態へと遷移することがないという性質である。
【0110】
4つ目の特性は、一度行動を決定した後、次に行動を決定する時点までのそれぞれの時点における対象110の状態が、対象110に関する事前知識を用いて表現可能であるという性質である。事前知識は、既知の線形ノミナルモデル、および、上界が既知な誤差関数などである。誤差関数は、例えば、線形ノミナルモデルのモデル化誤差を示す。
【0111】
強化学習装置100は、上記特性を利用して、強化学習を実施する。強化学習装置100は、例えば、行動を決定する都度、次に行動を決定する時点までのそれぞれの時点における状態の予測値を算出する。強化学習装置100は、それぞれの時点における状態の予測値に基づき算出した、それぞれの時点における状態についての危険度が閾値以上であるか否かを判定する。
【0112】
ここで、いずれかの時点における状態についての危険度が閾値以上である場合がある。この場合には、強化学習装置100は、行動を0に決定し、対象110に自律遷移させる。一方で、それぞれの時点における状態についての危険度が閾値未満である場合がある。この場合には、強化学習装置100は、確率的な評価指標の下で、それぞれの時点における状態についての危険度、および、今回の行動によるそれぞれの時点における状態に対する影響度に基づいて、分散共分散行列を算出する。そして、強化学習装置100は、算出した分散共分散行列に基づいて、確率的に行動を決定する。
【0113】
評価指標は、ユーザによって予め設定される。評価指標は、例えば、制約条件を充足する確率の下限値を示す。以下の説明では、制約条件を充足する確率を「制約充足率」と表記する場合がある。
【0114】
強化学習装置100は、具体的には、強化学習において、下記ステップ1~7に従って、行動を決定する探索範囲を調整しながら、行動を決定して、対象110に印加することになる。
【0115】
強化学習装置100は、ステップ1として、現時点の状態の値に対応する行動の平均値を算出する。平均値は、例えば、中心値である。
【0116】
強化学習装置100は、ステップ2として、対象110に関する事前知識と、ステップ1で算出した行動の平均値と、現時点の状態の値とに基づいて、次に行動を決定する時点までのそれぞれの時点の状態の予測値を算出する。事前知識は、例えば、対象110に関する線形ノミナルモデル、および、モデル化誤差の上界などの情報である。そして、強化学習装置100は、次に行動を決定する時点までのそれぞれの時点における状態についての制約条件に対する危険度を、当該時点における状態の予測値に基づいて算出する。
【0117】
強化学習装置100は、ステップ3として、ステップ2で算出した危険度のうち、少なくとも1つ以上の危険度が閾値以上である場合、ステップ4の処理に移行し、ステップ2で算出した危険度の中に、閾値以上の危険度がない場合、ステップ5の処理に移行する。
【0118】
強化学習装置100は、ステップ4として、行動を0に決定し、対象110に自律遷移させ、ステップ7の処理に移行する。
【0119】
強化学習装置100は、ステップ5.1として、制約充足率の下限値、ステップ2で算出したそれぞれの時点における状態についての危険度、および、今回の行動によるそれぞれの時点における状態に対する影響度に基づいて、標準偏差を算出する。制約充足率の下限値は、ユーザにより予め設定される。強化学習装置100は、例えば、状態ごとに、制約条件の下限値、当該状態についての危険度、および、今回の行動による当該状態に対する影響度に基づいて、標準偏差を算出する。
【0120】
強化学習装置100は、ステップ5.2として、ステップ5.1で算出した標準偏差に基づいて、確率的に行動を決定するために用いられる分散共分散行列を算出する。強化学習装置100は、例えば、ステップ5.1で算出した標準偏差のうち、最小の標準偏差を特定し、特定した標準偏差に基づいて、確率的に行動を決定するために用いられる分散共分散行列を算出する。
【0121】
強化学習装置100は、ステップ6として、ステップ1で算出した平均値と、ステップ5.2で算出した分散共分散行列とを用いた確率分布に従って、行動を確率的に決定する。確率分布は、例えば、ガウス分布である。この際、強化学習装置100は、決定した行動が、行動の上下限範囲から外れる場合には、行動を0に設定してもよい。
【0122】
強化学習装置100は、ステップ7として、ステップ4またはステップ6で決定された行動を、対象110に印加する。
【0123】
これにより、強化学習装置100は、行動を決定する探索範囲を危険度と影響度とに応じて自動調整することができる。このため、強化学習装置100は、一度行動を決定してから、次に行動を決定するまでの、行動を変更不可の期間における状態が制約条件を充足する確率が、予め設定された下限値以上に大きくなることを保証することができる。そして、強化学習装置100は、エピソード型の強化学習により方策を学習していく最中に、エピソード内のすべての時点において、対象110の状態が制約条件を充足する確率が、予め設定された下限値以上に大きくなることを保証することができる。
【0124】
<数式を用いた強化学習装置100の動作の一例>
動作例において、下記式(1)~下記式(22)によって、対象110と、即時コストと、制約条件と、追加条件と、制御目的とが規定され、問題設定が行われる。また、下記式(23)~下記式(31)によって、動作例において仮定される、強化学習および対象110に関する各種特性が規定される。
【0125】
例えば、下記式(1)~下記式(8)によって、対象110が規定される。
【0126】
【0127】
上記式(1)は、対象110の真のダイナミクスを表すモデルを規定する。対象110の真のダイナミクスを表すモデルは、既知でなくてもよい。対象110は、行動および状態に対して線形な離散時間線形システムである。状態は、連続値である。行動は、連続値である。kは、単位時間の倍数で示される時点である。k+1は、時点kから単位時間経過した時点である。xk+1は、時点k+1における状態である。xkは、時点kにおける状態である。ukは、時点kにおける行動である。Aは、係数行列である。Bは、係数行列である。係数行列Aおよび係数行列Bは、未知である。上記式(1)は、次回の時点k+1における状態xk+1が、時点kにおける状態xkと、時点kにおける入力ukによって決定されるという関係があることを示す。
【0128】
【0129】
【0130】
上記式(2)は、係数行列Aが、n×n次元の行列であることを示す。中抜き文字のRは、実数空間を示す。中抜き文字のRの上付文字は次元数を示す。nは、既知である。上記式(3)は、係数行列Bが、n×m次元の行列であることを示す。mは、既知である。
【0131】
【0132】
【0133】
上記式(4)は、状態xkが、n次元であることを示す。nは、既知である。状態xkは、直接計測可能である。上記式(5)は、行動ukが、Uで定義されることを示す。
【0134】
【0135】
上記式(6)は、定義Uを示す。上記式(6)は、行動uが、値u1,・・・,umを並べたベクトルであり、m次元であることを定義し、値uiが、下限値ui
min以上上限値ui
max以下であることを定義し、i=1,・・・,mであることを定義する。
【0136】
【0137】
【0138】
上記式(7)は、行動uiの下限値ui
minが、-∞より大きく0以下であることを示し、負の値であることを示す。上記式(8)は、行動uiの上限値ui
maxが、0以上であり∞より小さいことを示し、正の値であることを示す。
【0139】
また、例えば、下記式(9)~下記式(11)によって、即時コストが規定される。
【0140】
【0141】
上記式(9)は、対象110の即時コストの方程式である。ck+1は、時点kにおける行動ukに応じて単位時間後に発生する即時コストである。c(・)は、即時コストを求める関数である。上記式(9)は、即時コストck+1が、時点kにおける状態xkと、時点kにおける行動ukとによって決定される関係があることを示す。
【0142】
【0143】
【0144】
上記式(10)は、関数c(・)が、n次元の配列とm次元の配列とに基づき正の値を求める関数であることを示す。関数c(・)は、未知である。上記式(11)は、関数c(0,0)の算出結果が、0であることを示す。
【0145】
また、例えば、下記式(12)~下記式(15)によって、制約条件が規定される。
【0146】
【0147】
上記式(12)は、制約条件を規定する。xは、状態である。配列hは、ユーザにより設定される。上付き文字Tは、転置を示す。変数dは、ユーザにより設定される。制約条件は、既知であり、状態xに関して線形である。動作例では、制約条件は1つである。
【0148】
【0149】
【0150】
上記式(13)は、配列hが、n次元であることを示す。上記式(14)は、変数dが、実数であることを示す。
【0151】
【0152】
上記式(15)は、制約条件を充足する状態xの集合Xを示す。以下の説明では、Xの内点を、Xintと表記する場合がある。
【0153】
また、例えば、下記式(16)~下記式(19)によって、追加条件が規定される。
【0154】
追加条件は、
図6に示すように、行動決定が行われる時間間隔が、状態計測が行われる時間間隔の整数倍であることである。
図6のグラフ600は、時点ごとの状態を示し、縦軸が状態であり、横軸が時点である。
図6のグラフ610は、時点ごとの行動を示し、縦軸が行動であり、横軸が時点である。換言すれば、追加条件は、
図6に示すように、状態がN回変化するごとに、行動を1回変更可能であることである。
【0155】
【0156】
上記式(16)は、行動uk+iが、行動ukと同一であることを示す。i=1,2,・・・,N-1である。kは、0を含むNの倍数である。k=0,N,2N,・・・である。換言すれば、状態がN回変化するまでは、行動が固定であることを示す。
【0157】
【0158】
上記式(17)は、一度行動を決定してから次に行動を決定するまでの時点間に含まれる将来のいずれかの時点における状態xk+iを算出する関数を示す。i=1,2,・・・,Nである。Aiは、係数行列である。Biは、係数行列である。kは、0を含むNの倍数である。k=0,N,2N,・・・である。
【0159】
【0160】
【0161】
上記式(18)は、係数行列Aiが、係数行列Aのi乗であることを示す。上記式(19)は、係数行列Biが、係数行列Aのl乗と係数行列Bとの積についての総和であることを示す。i=1,2,・・・,Nである。
【0162】
また、下記式(20)~下記式(22)によって、制御目的が規定される。
【0163】
【0164】
【0165】
上記式(20)は、累積コストJを示す方程式であり、強化学習の制御目的を規定する。強化学習の制御目的は、累積コストJの最小化であり、累積コストJの最小化を図る行動を決定する方策の学習である。方策の学習は、方策を与えるパラメータωの更新である。γは、割引因子(discount rate)である。上記式(21)は、γが0より大きく1以下の値であることを示す。
【0166】
【0167】
上記式(22)は、強化学習の制御目的として、制約条件に関して、すべての時点k≧1における制約充足率を、事前に設定した下限値η∈(0.5,1)以上とすることを保証することを規定する。Pr(・)は、(・)内の条件が成立する確率を示す。すべての時点k≧1は、行動を決定する時点間に含まれる時点も含む。
【0168】
また、下記式(23)~下記式(31)によって、強化学習および対象110に関する各種特性が仮定される。
【0169】
【0170】
上記式(23)は、対象110の線形近似モデルを規定する。線形近似モデルは、例えば、線形ノミナルモデルである。対象110の線形近似モデルは、既知であることが仮定される。以下の説明では、対象110の線形近似モデルが既知であるという仮定を「仮定1」と表記する場合がある。hat{A},hat{B}は、係数行列である。hat{}は、文字の上部にハットを付したことを示す。
【0171】
【0172】
【0173】
上記式(24)は、係数行列hat{A}が、n×n次元である(n行n列である)ことを示す。上記式(25)は、係数行列hat{B}が、n×m次元である(n行m列である)ことを示す。
【0174】
【0175】
【0176】
【0177】
上記式(26)は、対象110の真のダイナミクスを表すモデルに対する、対象110の線形近似モデルのモデル化誤差を示す誤差関数を規定する。eiは、誤差である。i=1,2,・・・,Nである。上記式(26)に関し、上記式(27)および上記式(28)を満たす、bar{ei,j}が存在し、既知であることが仮定される。j=1,2,・・・,nである。bar{}は、文字の上部にバーを付したことを示す。以下の説明では、上記式(27)および上記式(28)を満たす、bar{ei,j}が存在し、既知であるという仮定を「仮定2」と表記する場合がある。仮定2は、誤差eiに、既知の上界が存在することを示す。hat{Ai}およびhat{Bi}は、係数行列である。
【0178】
【0179】
【0180】
上記式(29)は、係数行列hat{Ai}が、係数行列hat{A}のi乗であることを示す。上記式(30)は、係数行列hat{Bi}が、係数行列hat{A}のl乗と係数行列hat{B}との積についての総和であることを示す。i=1,2,・・・,Nである。
【0181】
x∈XであればAx∈Xであることが仮定される。以下の説明では、x∈XであればAx∈Xである仮定を「仮定3」と表記する場合がある。仮定3は、いずれかの時点において、状態xが制約条件を充足し、かつ、行動が0であれば、単位時間後の次回の時点において、遷移後の状態xも制約条件を充足することを示す。
【0182】
図7に示すように、具体的には、実数空間700において、現時点が状態701である際に、行動を0とすれば、状態702のような集合Xの内点に遷移することはあるが、状態703のような集合Xの外点に遷移することはない。従って、行動が0であれば、遷移後の状態についての制約充足率を、下限値以上に大きくすることが保証可能である。
【0183】
【0184】
対象110の線形近似モデルの係数行列と、制約条件とに関して上記式(31)が成立することが仮定される。以下の説明では、対象110の線形近似モデルの係数行列と、制約条件とに関して上記式(31)が成立する仮定を「仮定4」と表記する場合がある。
【0185】
上記問題設定では、対象110が、線形システムであり、制約条件が、状態に対して線形である。このため、いずれかの時点において取りうる行動の分散度合いは、次に行動を決定するまでの将来のそれぞれの時点において取りうる状態の分散度合いに相関することになる。従って、いずれかの時点において取りうる行動の分散度合いを調整すれば、次に行動を決定するまでの将来のいずれかの時点において取りうる状態の分散度合いを制御可能である。
【0186】
このため、いずれかの時点において取りうる行動の分散度合いを調整すれば、次に行動を決定するまでの将来のいずれかの時点における状態についての制約充足率を、下限値以上に大きくすることが保証可能である。具体的には、
図8のグラフ800に示すように、いずれかの時点において取りうる行動の分散度合いを調整すれば、次に行動を決定するまでの将来のいずれかの時点における状態xの確率密度を、制約充足率が99%になるように制御可能である。
【0187】
これによれば、いずれかの時点において取りうる行動の分散度合いを調整し、次に行動を決定するまでの将来のそれぞれの時点における状態についての制約充足率を、下限値以上に大きくすることも保証可能である。このため、すべての時点における制約充足率を、下限値以上に大きくすることが保証可能である。
【0188】
上記問題設定および上記仮定1~仮定4の下で、強化学習装置100の動作の一例について説明する。上記問題設定によれば、下記式(32)が成立し、下記式(33)が成立する。
【0189】
【0190】
【0191】
ここで、強化学習装置100は、ステップ1として、方策を与えるパラメータωと、状態基底関数φ(・)を用いて、現時点における状態xkに対する、現時点における行動の平均値μkを、下記式(34)により算出する。μkは、m次元である。
【0192】
【0193】
強化学習装置100は、ステップ2として、対象110の線形ノミナルモデルを示すモデル情報と、現時点における状態xkとに基づいて、次に行動を決定するまでの将来のそれぞれの時点における誤差を含む状態の予測値を、下記式(35)により算出する。εiは、下記式(36)および下記式(37)によって規定され、n次元である。εi全体の集合は、下記式(38)によって規定され、Eと表記する。
【0194】
【0195】
【0196】
【0197】
【0198】
そして、強化学習装置100は、次に行動を決定するまでの将来のそれぞれの時点における状態についての、制約条件に対する危険度rk+iεを、算出した当該状態の予測値に基づいて、下記式(39)により算出する。制約条件は、下記式(40)によって規定される。危険度rk+iεは、下記式(41)によって規定され、実数である。
【0199】
【0200】
【0201】
【0202】
強化学習装置100は、ステップ3として、ステップ2において算出した危険度rk+iεに関して下記式(42)が成立する場合、ステップ4の処理に移行し、下記式(42)が成立しない場合、ステップ5の処理に移行する。
【0203】
【0204】
強化学習装置100は、ステップ4として、行動uk=0に決定し、ステップ7の処理に移行する。
【0205】
強化学習装置100は、ステップ5として、ステップ2において算出した危険度rk+iεと、制約充足率の下限値ηと、将来のそれぞれの時点における状態に対する影響度ρiとに基づいて、分散共分散行列を下記式(43)~下記式(45)により算出する。Imは、下記式(46)によって規定され、m×m次元の単位行列である。Φ-1(・)は、逆正規累積分布関数である。
【0206】
【0207】
【0208】
【0209】
【0210】
強化学習装置100は、ステップ6として、ステップ1において算出したμkと、ステップ5において算出したΣkとを、それぞれ、平均値および分散共分散行列として設定し、ガウス型確率密度関数を生成する。強化学習装置100は、ガウス型確率密度関数を用いて、行動ukを、下記式(47)により確率的に決定する。
【0211】
【0212】
【0213】
これによれば、情報処理装置は、次に行動を決定するまでの将来のそれぞれの時点における状態xの確率密度を、一定確率以上で制約条件を満たすように制御可能である。具体的には、
図9のグラフ900に示すように、それぞれの時点における状態の確率密度901~903のうち、最も制約条件を違反しやすい確率密度903でも、一定確率以上で制約条件を満たすように、行動u
kを決定することが望まれる。
【0214】
これに対し、上記式(45)で最小値を採用し、
図9のグラフ910に示す確率分布911に従って、行動u
kを、上記式(47)により確率的に決定するため、最も制約条件を違反しやすい確率密度903でも、一定確率以上で制約条件を満たすことができる。また、確率密度901,902では、一定確率以上で制約条件を満たすことができる。
【0215】
具体的には、μkを平均値とし、アンダーバーを付した標準偏差σkに対応する分散共分散行列Σkに従ったガウス型確率密度関数により、行動ukが決定されると、各時点の状態も、アンダーバーを付した標準偏差σkに従って分散することになる。このため、確率密度901~903では、一定確率以上で制約条件を満たすことができる。
【0216】
また、強化学習装置100は、決定した行動ukが、下記式(48)を満たす場合には、行動uk=0に設定する。
【0217】
強化学習装置100は、ステップ7として、ステップ4またはステップ6において決定した、行動ukを、対象110に印加する。
【0218】
これにより、強化学習装置100は、行動を決定する探索範囲を危険度と影響度とに応じて自動調整することができる。このため、強化学習装置100は、エピソード型の強化学習により方策を学習していく最中に、エピソード内のすべての時点において、対象110の状態が制約条件を充足する確率が、予め設定された下限値以上になることを保証することができる。次に、
図10の説明に移行し、強化学習装置100が、エピソード内のすべての時点において、対象110の状態が制約条件を充足する確率が、予め設定された下限値以上になることを保証することについて説明する。
【0219】
図10の例では、η=0.99とする。
図10に示すように、実数空間700において、強化学習装置100は、行動を決定した結果、次に行動を決定するまでの最も制約条件を違反しやすい時点でも、対象110の状態を、確率η=0.99で集合Xの内点に遷移させるように制御する。
【0220】
図10の例では、状態1002である時点の次に状態が遷移する時点が、最も制約条件を違反しやすい時点であるとする。これに対し、強化学習装置100は、状態1001である時点に、行動を確率的に決定することで、状態1002の次には、確率η=0.99で状態1003のような集合Xの内点に遷移し、また確率1-η=0.01で状態1005のような集合Xの外点に遷移する。このため、強化学習装置100は、制約条件を確率η以上で充足することを保証することができる。
【0221】
一方で、実数空間700において、強化学習装置100は、現時点が状態1006であり、次に行動を決定するまでに、制約条件を違反しやすいと判断した際には、行動を0とする。このため、強化学習装置100は、次に行動を決定する時点まで、対象110の状態を、状態1007,1008のような集合Xの内点に遷移させ続けることになり、制約条件を必ず充足することを保証することができる。これらのことから、強化学習装置100は、エピソード内のすべての時点において、制約条件を確率η以上で充足することを保証することができる。
【0222】
ここでは、対象110が単体で仮定3を充足する場合について説明したが、これに限らない。例えば、予め、仮定3を充足するための制御器を設計し、対象110に組み合わせることにより、対象110が仮定3を充足するようにする場合があってもよい。これによれば、強化学習装置100が適用可能な対象110の事例数の増大化を図ることができる。
【0223】
ここでは、対象110の真のダイナミクスを表すモデルが未知である場合について説明したが、これに限らない。例えば、対象110の真のダイナミクスを表すモデルが既知である場合があってもよい。この場合、強化学習装置100は、線形近似モデルを用いずに済み、真のダイナミクスを表すモデルを用いて、状態の予測値や危険度の算出を行うことができ、制約充足率を下限値以上にする精度を向上させることができる。
【0224】
ここでは、誤差の正確な上限が既知である場合について説明したが、これに限らない。例えば、誤差の正確な上限が既知でないが、誤差の正確な上限よりも大きい上限が既知である場合があってもよい。この場合でも、強化学習装置100は、制約充足率を下限値以上にするように、強化学習を実施することができる。
【0225】
<実例を用いた強化学習装置100の動作の具体例>
次に、制御問題の実例を用いて、強化学習装置100の動作の具体例について説明する。ここで、対象110が、2つの容器であり、2つの容器内の温度を、目標温度となるように制御する問題を実例として、強化学習装置100の動作の具体例について説明する。それぞれの容器への行動は、共通であるとする。また、互いの容器間の温度干渉はないとする。
【0226】
ここで、容器外の時不変の温度0℃が、目標温度として規定され、各容器内の温度が、状態xkとして下記式(49)によって規定され、両容器に共通する制御入力が、行動ukとして下記式(50)によって規定される。
【0227】
【0228】
【0229】
また、各容器内の温度の時間変化を表す線形ノミナルモデルは、下記式(51)によって規定される。係数行列hat{A}は、下記式(52)によって規定され、係数行列hat{B}は、下記式(53)によって規定される。Ts=60は、サンプリング時間である。Ci[J/℃]は、各容器の熱容量である。Ri[℃/W]は、各容器の外壁の熱抵抗のノミナル値である。以下の説明では、C1=20とし、R1=15とし、C2=40とし、R2=25とする。また、上記線形ノミナルモデルは、既知であるとする。
【0230】
【0231】
【0232】
【0233】
また、以下の説明では、5分ごとに行動が変更可能であるとし、N=5とする。
【0234】
また、対象110の真のダイナミクスを表すモデルは、下記式(54)によって規定される。係数行列Aと、係数行列hat{A}との関係は、下記式(55)によって規定される。係数行列Bと、係数行列hat{B}との関係は、下記式(56)によって規定される。パラメータξは、下記式(57)によって規定される。ここで、係数行列Aの固有値は、下記式(58)によって規定される。
【0235】
【0236】
【0237】
【0238】
【0239】
【0240】
また、行動の上下限制約は、umax=5およびumin=-5と規定される。
【0241】
この際、真のダイナミクスを表すモデルと、線形ノミナルモデルの、状態を計測する各時点における状態の誤差は、下記式(59)によって規定される。ei,jは、下記式(60)によって規定される。jは、下記式(61)によって規定される。
【0242】
【0243】
【0244】
【0245】
そして、下記式(62)を満たす誤差の上界として、下記式(63)によって規定されるbar{ei,j}が存在し、既知であるとする。bar{}は、文字の上部にバーを付したことを示す。i=1,・・・,Nである。
【0246】
【0247】
【0248】
また、状態に対する制約条件は、x1≦10と設定される。このため、hT=[1,0]とd=10とを用いて、制約条件を満たす状態の集合Xは、下記式(64)によって規定される。従って、原点x0=[0,0]Tは、x0∈Xである。さらに、係数行列Aの固有値の絶対値がすべて1未満であるため、上記仮定3が成立する。また、初期状態は、下記式(65)によって規定される。
【0249】
【0250】
【0251】
また、hThat{B}i≠0, i=0,1, ・・・,Nであるため、上記線形ノミナルモデルの係数行列および上記制約条件は、仮定4を充足する。
【0252】
また、即時コストは、下記式(66)によって規定される。Q=1.0×10-1I2とし、R=1.0×10-3とする。
【0253】
【0254】
強化学習装置100は、上記行動の決定手法を、one-step actor-criticに組み込んだ強化学習アルゴリズムを用いて、強化学習を実施する。強化学習装置100は、具体的には、T=30minを1エピソードとし、各エピソードにおいて初期状態x0から、即時コストの累積コストJの最小化を図る行動を決定するための方策を学習する。stepは、単位時間の倍数で示される、状態を計測する各時点における、行動に応じた即時コストを計測する処理単位に対応する。累積コストは、下記式(67)によって規定される。
【0255】
【0256】
θを下記式(68)により規定し、ωを下記式(69)により規定したため、価値関数の推定値hat{V(x;θ)}、および、行動uの平均値μ(x;ω)は、下記式(70)および下記式(71)によって規定される。重みθは、Nθ次元である。ωは、Nω次元である。
【0257】
【0258】
【0259】
【0260】
【0261】
φi(・)は、下記式(72)によって規定される、ガウス型放射基底関数である。φi(・)は、下記式(73)によって規定されるように、2次元の配列を1次元の配列に変換する。また、bar{xi}およびsi
2>0は、それぞれ、各基底関数の中心点および分散である。bar{xi}は、下記式(74)によって規定されるように、2次元である。
【0262】
【0263】
【0264】
【0265】
強化学習装置100は、上記式(71)に従って、行動を決定するそれぞれの時点の状態xkおよびパラメータωを用いて算出した平均値μk(xk;ω)を適用し、行動を決定するそれぞれの時点において、行動を決定したとする。
【0266】
そして、強化学習装置100は、重みθおよびパラメータωを、状態を計測する各時点の即時コストck+iを用いて、下記式(75)~下記式(77)により更新したとする。
【0267】
【0268】
【0269】
【0270】
α∈[0,1)およびβ∈[0,1)は、学習率であり、Π(・)は、μkを平均値とし、Σkを分散共分散行列としたガウス型確率密度関数である。
【0271】
強化学習装置100は、x1k>10となり制約条件を違反した場合、または、k=Tとなった場合、現在のエピソードを終了し、下記式(78)により初期化を行い、次のエピソードに移行したとする。
【0272】
【0273】
これにより、強化学習装置100は、行動を決定する探索範囲を危険度および影響度に応じて自動調整することができる。このため、強化学習装置100は、エピソード型の強化学習により方策を学習していく最中に、エピソード内のすべての時点において、制約充足率が予め設定された下限値以上に大きくなることを保証することができる。次に、
図11および
図12を用いて、動作例における上記実例において、強化学習装置100により得られた効果について説明する。
【0274】
図11および
図12は、動作例における強化学習装置100により得られた効果を示す説明図である。
図11および
図12において、強化学習装置100による強化学習手法と、行動を決定するそれぞれの時点における状態が制約条件を満たすか否かだけを考慮する他の強化学習手法とを比較する。また、強化学習装置100による強化学習手法と、他の強化学習手法とにおいては、制約充足率の下限値は、下記式(79)によって規定されるとする。
【0275】
【0276】
図11のグラフ1100は、複数のエピソードのそれぞれのエピソードにおける累積コストを示す。横軸は、エピソード数である。縦軸は、累積コストである。proposedは、強化学習装置100による強化学習手法を示す。グラフ1100に示すように、強化学習装置100による強化学習手法は、累積コストを、他の強化学習手法と比べて、少ないエピソード数で低減することができ、適切な方策を学習する学習効率の向上を図ることができる。
【0277】
図12のグラフ1200は、エピソード内の各時点の制約充足率を示す。横軸は、時点である。縦軸は、制約充足率であり、各時点において、制約条件を充足したエピソード数を総エピソード数で除して求めた値である。グラフ1200に示すように、強化学習装置100による強化学習手法は、エピソード内のすべての時点において、制約充足率が予め設定された下限値以上に大きくなることを保証することができる。一方で、他の強化学習手法は、制約充足率を、予め設定された下限値以上に大きくすることができない。
【0278】
このように、強化学習装置100は、強化学習により、方策を学習していく最中に、制約充足率が予め設定された下限値以上に大きくなることを保証することができ、かつ、学習効率の低減化を抑制することができる。
【0279】
ここでは、制約条件が1つ設定される場合について説明したが、これに限らない。例えば、制約条件が複数設定される場合があってもよい。複数の制約条件の制約充足率がすべて無相関であれば、強化学習装置100は、動作例と同様に、それぞれの制約条件についての制約充足率を、下限値以上にすることにより、複数の制約条件を同時に充足する確率を、下限値以上にすることができる。
【0280】
(強化学習を適用する対象110の具体例)
次に、
図13~
図15を用いて、強化学習を適用する対象110の具体例について説明する。
【0281】
図13~
図15は、対象110の具体例を示す説明図である。
図13の例では、対象110は、熱源であるサーバ1301と、CRACやChillerなどの冷却器1302とを含むサーバルーム1300である。行動は、冷却器1302に対する設定温度や設定風量である。行動を決定する時間間隔は、例えば、上記設定温度や上記設定風量を変更する時間間隔である。
【0282】
状態は、サーバルーム1300内外に設けられたセンサ装置からのセンサデータなどであり、例えば、温度などである。状態を計測する時間間隔は、例えば、上記温度を計測する時間間隔である。制約条件は、例えば、上記温度の上下限制約である。状態は、対象110以外から得られる対象110に関するデータであってもよく、例えば、気温や天気などであってもよい。状態を計測する時間間隔は、例えば、上記気温や天気などを計測する時間間隔であってもよい。
【0283】
即時コストは、例えば、サーバルーム1300の単位時間ごとの消費電力量である。単位時間は、例えば、5分である。目標は、サーバルーム1300の累積消費電力量の最小化である。状態価値関数は、例えば、サーバルーム1300の累積消費電力量についての行動の価値を表す。対象110に関する事前知識は、例えば、サーバルーム1300の床面積、外壁やラックの材質などである。
【0284】
図14の例では、対象110は、発電設備1400である。発電設備1400は、例えば、風力発電設備である。行動は、発電設備1400に対する指令値である。指令値は、例えば、発電設備1400にある発電機の発電機トルクである。行動を決定する時間間隔は、例えば、上記発電機トルクを変更する時間間隔である。
【0285】
状態は、発電設備1400に設けられたセンサ装置からのセンサデータであり、例えば、発電設備1400の発電量や発電設備1400のタービンの回転量または回転速度などである。状態は、発電設備1400に対する風向や風速などであってもよい。状態を計測する時間間隔は、例えば、上記発電量、上記回転量、上記回転速度、上記風向、または、上記風速などを計測する時間間隔である。制約条件は、例えば、上記回転速度の上下限制約である。
【0286】
即時報酬は、例えば、発電設備1400の単位時間ごとの発電量である。単位時間は、例えば、5分である。目標は、例えば、発電設備1400の累積発電量の最大化である。状態価値関数は、例えば、発電設備1400の累積発電量についての行動の価値を表す。対象110に関する事前知識は、例えば、発電設備1400の仕様や慣性モーメントなどのパラメータの公称値および許容差(公差)である。
【0287】
図15の例では、対象110は、産業用ロボット1500である。産業用ロボット1500は、例えば、ロボットアームである。行動は、産業用ロボット1500に対する指令値である。指令値は、例えば、産業用ロボット1500のモータートルクなどである。行動を決定する時間間隔は、例えば、上記モータートルクを変更する時間間隔である。
【0288】
状態は、産業用ロボット1500に設けられたセンサ装置からのセンサデータであり、例えば、産業用ロボット1500の撮影した画像、産業用ロボット1500の関節位置や関節角度や関節角速度などである。状態を計測する時間間隔は、例えば、上記画像を撮影する時間間隔、または、上記関節位置や上記関節角度や上記関節角速度などを計測する時間間隔である。制約条件は、例えば、上記関節位置や上記関節角度や上記関節角速度などの稼働範囲である。
【0289】
即時報酬は、例えば、産業用ロボット1500の単位時間ごとの組み立て数などである。目標は、産業用ロボット1500の生産性の最大化である。状態価値関数は、例えば、産業用ロボット1500の累積組み立て数についての行動の価値を表す。対象110に関する事前知識は、例えば、産業用ロボット1500の仕様や、ロボットアームの寸法などのパラメータの公称値および許容差(公差)である。
【0290】
また、対象110は、上述した具体例のシミュレータであってもよい。また、対象110は、風力発電以外の発電設備であってもよい。また、対象110は、例えば、化学プラントや自律移動ロボットなどであってもよい。また、対象110は、自動車などの乗り物であってもよい。また、対象110は、例えば、ドローンやヘリコプターなどの飛行物体であってもよい。また、対象110は、例えば、ゲームであってもよい。
【0291】
(全体処理手順)
次に、
図16を用いて、強化学習装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0292】
図16は、全体処理手順の一例を示すフローチャートである。
図16において、強化学習装置100は、パラメータを初期化する(ステップS1601)。
【0293】
次に、強化学習装置100は、時点と対象110の状態とを初期化する(ステップS1602)。そして、強化学習装置100は、現時点における対象110の状態を計測する(ステップS1603)。
【0294】
次に、強化学習装置100は、現時点における対象110の状態が制約条件を満たすか否かを判定する(ステップS1604)。ここで、制約条件を満たす場合(ステップS1604:Yes)、強化学習装置100は、ステップS1605の処理に移行する。一方で、制約条件を満たさない場合(ステップS1604:No)、強化学習装置100は、ステップS1606の処理に移行する。
【0295】
ステップS1605では、強化学習装置100は、現時点>初期時点であるか否かを判定する(ステップS1605)。ここで、現時点>初期時点ではない場合(ステップS1605:No)、強化学習装置100は、ステップS1609の処理に移行する。一方で、現時点>初期時点である場合(ステップS1605:Yes)、強化学習装置100は、ステップS1606の処理に移行する。
【0296】
ステップS1606では、強化学習装置100は、対象110からの即時報酬を取得する(ステップS1606)。次に、強化学習装置100は、パラメータを更新する(ステップS1607)。そして、強化学習装置100は、現時点における対象110の状態が制約条件を満たし、かつ、現時点<エピソード終了時点であるか否かを判定する(ステップS1608)。
【0297】
ここで、制約条件を満たさない場合、または、現時点<エピソード終了時点ではない場合(ステップS1608:No)、強化学習装置100は、ステップS1602の処理に戻る。一方で、制約条件を満たし、かつ、現時点<エピソード終了時点である場合(ステップS1608:Yes)、強化学習装置100は、ステップS1609の処理に移行する。
【0298】
ステップS1609では、強化学習装置100は、
図17に後述する決定処理を実行し、現時点における対象110への行動を決定する(ステップS1609)。次に、強化学習装置100は、決定した行動を、対象110に印加する(ステップS1610)。そして、強化学習装置100は、次の時点まで待機する(ステップS1611)。
【0299】
次に、強化学習装置100は、終了条件を満たすか否かを判定する(ステップS1612)。ここで、終了条件を満たさない場合(ステップS1612:No)、強化学習装置100は、ステップS1603の処理に戻る。一方で、終了条件を満たす場合(ステップS1612:Yes)、強化学習装置100は、全体処理を終了する。
【0300】
(決定処理手順)
次に、
図17を用いて、強化学習装置100が実行する、決定処理手順の一例について説明する。決定処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0301】
図17は、決定処理手順の一例を示すフローチャートである。
図17において、強化学習装置100は、現時点=行動決定時点であるか否かを判定する(ステップS1701)。
【0302】
ここで、現時点=行動決定時点である場合(ステップS1701:Yes)、強化学習装置100は、ステップS1703の処理に移行する。一方で、現時点=行動決定時点ではない場合(ステップS1701:No)、強化学習装置100は、ステップS1702の処理に移行する。
【0303】
ステップS1702では、強化学習装置100は、直前の時点の行動を維持する(ステップS1702)。そして、強化学習装置100は、決定処理を終了する。
【0304】
ステップS1703では、強化学習装置100は、パラメータを参照して、現時点における対象110への行動の平均値を算出する(ステップS1703)。
【0305】
次に、強化学習装置100は、対象110の事前知識を参照して、次回の行動決定時点までの各時点における対象110の状態の予測値を算出し、制約条件に対する、各時点における対象110の状態についての危険度を算出する(ステップS1704)。事前知識は、対象110の線形近似モデルなどを含む。
【0306】
そして、強化学習装置100は、算出したすべての危険度が閾値未満であるか否かを判定する(ステップS1705)。ここで、少なくともいずれかの危険度が閾値以上である場合(ステップS1705:No)、強化学習装置100は、ステップS1710の処理に移行する。一方で、すべての危険度が閾値未満である場合(ステップS1705:Yes)、強化学習装置100は、ステップS1706の処理に移行する。
【0307】
ステップS1706では、強化学習装置100は、算出した危険度と、予め設定された制約充足率の下限値と、行動の影響度とを参照して、標準偏差を算出する(ステップS1706)。次に、強化学習装置100は、算出した標準偏差の最小値に基づいて、分散共分散行列を算出する(ステップS1707)。そして、強化学習装置100は、算出した平均値および算出した分散共分散行列に基づく確率分布に従って、現時点における対象110への行動を確率的に決定する(ステップS1708)。
【0308】
次に、強化学習装置100は、決定した行動が上下限範囲内であるか否かを判定する(ステップS1709)。ここで、上下限範囲内ではない場合(ステップS1709:No)、強化学習装置100は、ステップS1710の処理に移行する。一方で、上下限範囲内である場合(ステップS1709:Yes)、強化学習装置100は、決定処理を終了する。
【0309】
ステップS1710では、強化学習装置100は、行動を0に決定する(ステップS1710)。そして、強化学習装置100は、決定処理を終了する。
【0310】
以上説明したように、強化学習装置100によれば、行動待ち期間に含まれる将来のそれぞれの時点における状態を予測した結果に基づいて、制約条件に対する、それぞれの時点における状態についての危険度を算出することができる。強化学習装置100によれば、算出したそれぞれの時点における状態についての危険度と、今回の行動によるそれぞれの時点における状態に対する影響度とに応じて調整した、今回の行動に関する探索範囲に基づいて、今回の行動を決定することができる。これにより、強化学習装置100は、将来のそれぞれの時点における状態が制約条件に違反してしまう確率の増大化を抑制することができる。
【0311】
強化学習装置100によれば、危険度が大きいほど狭くなるように調整し、かつ、影響度が大きいほど狭くなるように調整した探索範囲に基づいて、今回の行動を決定することができる。これにより、強化学習装置100は、将来のそれぞれの時点における状態が制約条件に違反してしまう確率の増大化を、効率よく抑制することができる。
【0312】
強化学習装置100によれば、行動決定が行われる時間間隔が、状態計測が行われる時間間隔よりも長い状況において、強化学習を実施することができる。これにより、強化学習装置100は、将来のそれぞれの時点における状態が制約条件に違反してしまう確率をコントロールしにくい状況でも、将来のそれぞれの時点における状態が制約条件に違反してしまう確率の増大化を抑制することができる。
【0313】
強化学習装置100によれば、制約条件の充足に関する確率的な評価指標の下で、今回の行動を、確率的に決定することができる。これにより、強化学習装置100は、制約条件の充足に関する確率的な評価指標を満たすように、将来のそれぞれの時点における状態が制約条件に違反してしまう確率を制御することができる。
【0314】
強化学習装置100によれば、算出した期間に含まれるいずれかの時点における状態についての危険度が閾値以上である場合、行動を所定値に決定することができる。強化学習装置100によれば、算出したそれぞれの時点における状態についての危険度が閾値未満である場合、制約条件の充足に関する確率的な評価指標の下で、今回の行動を、確率的に決定することができる。これにより、強化学習装置100は、制約条件の充足に関する確率的な評価指標を満たすように、将来のそれぞれの時点における状態が制約条件に違反してしまう確率を制御しやすくすることができる。
【0315】
強化学習装置100によれば、算出したそれぞれの時点における状態についての危険度が閾値未満である場合、今回の行動が取りうる平均値を算出することができる。強化学習装置100によれば、算出したそれぞれの時点における状態についての危険度と、今回の行動によるそれぞれの時点における状態に対する影響度とに応じて、制約条件の充足に関する確率的な評価指標の下で分散共分散行列を算出することができる。強化学習装置100によれば、算出した平均値と分散共分散行列とを用いて調整した、今回の行動に関する探索範囲に基づいて、今回の行動を、確率的に決定することができる。これにより、強化学習装置100は、ガウス分布に従って対象110への行動を決定することができる。
【0316】
強化学習装置100によれば、所定値として0を用いることができる。これにより、強化学習装置100は、対象110の特性を利用して、行動待ち期間に含まれる将来のそれぞれの時点における状態が制約条件を充足することを保証することができる。
【0317】
強化学習装置100によれば、状態に対して線形である制約条件を用いることができる。これにより、強化学習装置100は、強化学習を実施しやすくすることができる。
【0318】
強化学習装置100によれば、対象110に関する事前知識を用いて、期間に含まれるそれぞれの時点における状態を予測することができる。これにより、強化学習装置100は、予測する精度の向上を図ることができる。
【0319】
強化学習装置100によれば、発電設備を対象110とし、対象110を制御する方策を学習する強化学習を実施することができる。これにより、強化学習装置100は、方策を学習していく際にも、制約条件を違反する確率を低減させつつ、発電設備を制御することができる。
【0320】
強化学習装置100によれば、対象110を空調設備とし、対象110を制御する方策を学習する強化学習を実施することができる。これにより、強化学習装置100は、方策を学習していく際にも、制約条件を違反する確率を低減させつつ、空調設備を制御することができる。
【0321】
強化学習装置100によれば、対象110を産業用ロボットとし、対象110を制御する方策を学習する強化学習を実施することができる。これにより、強化学習装置100は、方策を学習していく際にも、制約条件を違反する確率を低減させつつ、産業用ロボットを制御することができる。
【0322】
強化学習装置100によれば、今回の行動決定が行われる時点における、状態を示す変数および行動を示す変数を用いて、行動待ち期間に含まれる将来のそれぞれの時点における、状態についての関数を線形近似して表すモデル情報を用いることができる。これにより、強化学習装置100は、真のダイナミクスを表すモデルが未知である場合にも、強化学習を実施することができる。
【0323】
強化学習装置100によれば、モデル情報と、行動待ち期間に含まれる将来のそれぞれの時点における、状態の予測値に含まれる誤差の上限とに基づいて、予測値を算出することができる。これにより、強化学習装置100は、状態の予測値に含まれる誤差を考慮して、精度よく状態の予測値を求めることができる。
【0324】
強化学習装置100によれば、エピソード型の強化学習において、行動を決定することができる。これにより、強化学習装置100は、エピソード内のすべての時点において、状態が制約条件を充足する確率が、予め設定された下限値以上に大きくなることを保証することができる。
【0325】
強化学習装置100によれば、対象110は、いずれかの状態計測が行われる時点において、状態が制約条件を充足し、かつ、行動が0であれば、次の状態計測が行われる時点において、状態が制約条件を充足することが保証される性質を有することができる。これにより、強化学習装置100は、対象110の特性を利用して、将来のそれぞれの時点における対象110の状態が制約条件を充足することを保証することができる。
【0326】
なお、本実施の形態で説明した強化学習方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した強化学習プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した強化学習プログラムは、インターネット等のネットワークを介して配布してもよい。
【0327】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0328】
(付記1)強化学習における制御の対象の状態計測が行われる時間間隔が前記対象への行動決定が行われる時間間隔とは異なる状態で、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる、前記対象の状態計測が行われるそれぞれの時点における前記対象の状態を予測し、
予測した前記対象の状態の結果に基づいて、前記対象の状態に関する制約条件に対する、前記それぞれの時点における前記対象の状態についての危険度を算出し、
算出した前記それぞれの時点における前記対象の状態についての危険度と、前記対象への今回の行動による前記それぞれの時点における前記対象の状態に対する影響度とに応じて前記対象への今回の行動に関する探索範囲を特定し、
特定した前記対象への今回の行動に関する探索範囲に基づいて、前記対象への今回の行動を決定する、
処理をコンピュータが実行することを特徴とする強化学習方法。
【0329】
(付記2)前記特定する処理は、
前記危険度が大きいほど狭くなるように、かつ、前記影響度が大きいほど狭くなるように、前記探索範囲を特定する、ことを特徴とする付記1に記載の強化学習方法。
【0330】
(付記3)前記対象への行動決定が行われる時間間隔は、前記対象の状態計測が行われる時間間隔よりも長い、ことを特徴とする付記1または2に記載の強化学習方法。
【0331】
(付記4)前記特定する処理は、
前記制約条件の充足に関する確率的な評価指標の下で、前記探索範囲を特定し、
前記決定する処理は、
特定した前記探索範囲に基づいて、前記対象への今回の行動を、確率的に決定する、ことを特徴とする付記1~3のいずれか一つに記載の強化学習方法。
【0332】
(付記5)前記特定する処理は、
算出した前記それぞれの時点における前記対象の状態についての危険度が閾値未満である場合、前記制約条件の充足に関する確率的な評価指標の下で、前記探索範囲を特定し、
前記決定する処理は、
算出した前記期間に含まれるいずれかの時点における前記対象の状態についての危険度が閾値以上である場合、前記対象への行動を所定値に決定し、算出した前記それぞれの時点における前記対象の状態についての危険度が閾値未満である場合、特定した前記探索範囲に基づいて、前記対象への今回の行動を、確率的に決定する、ことを特徴とする付記1~4のいずれか一つに記載の強化学習方法。
【0333】
(付記6)前記特定する処理は、
算出した前記それぞれの時点における前記対象の状態についての危険度が閾値未満である場合、前記対象への今回の行動が取りうる平均値を算出し、算出した前記それぞれの時点における前記対象の状態についての危険度と、前記対象への今回の行動による前記それぞれの時点における前記対象の状態に対する影響度とに応じて、前記制約条件の充足に関する確率的な評価指標の下で分散共分散行列を算出し、算出した前記平均値と前記分散共分散行列とを用いて、前記探索範囲を特定する、ことを特徴とする付記5に記載の強化学習方法。
【0334】
(付記7)前記所定値は、0である、ことを特徴とする付記5または6に記載の強化学習方法。
【0335】
(付記8)前記制約条件は、前記対象の状態に対して線形である、ことを特徴とする付記1~7のいずれか一つに記載の強化学習方法。
【0336】
(付記9)前記対象に関する事前知識を用いて、前記期間に含まれる前記それぞれの時点における前記対象の状態を予測する、
処理を前記コンピュータが実行することを特徴とする付記1~8のいずれか一つに記載の強化学習方法。
【0337】
(付記10)前記対象は、発電設備であり、
前記事前知識は、前記発電設備の仕様値と前記発電設備のパラメータの公称値と前記発電設備のパラメータの許容差の少なくともいずれかに基づく情報であり、
前記算出する処理、前記特定する処理、および前記決定する処理は、
前記発電設備の発電機トルクを行動とし、前記発電設備の発電量と前記発電設備のタービンの回転量と前記発電設備のタービンの回転速度と前記発電設備に対する風向と前記発電設備に対する風速との少なくともいずれかを状態とし、前記発電設備の発電量を報酬とし、前記対象を制御する方策を学習する強化学習において実行され、
前記対象の状態計測が行われる時間間隔は、前記発電設備の発電量と前記発電設備のタービンの回転量と前記発電設備のタービンの回転速度と前記発電設備に対する風向と前記発電設備に対する風速との少なくともいずれかを計測する時間間隔であり、
前記対象への行動決定が行われる時間間隔は、前記発電設備の発電機トルクを決定する時間間隔である、ことを特徴とする付記9に記載の強化学習方法。
【0338】
(付記11)前記対象は、空調設備であり、
前記事前知識は、前記空調設備の仕様値と前記空調設備のパラメータの公称値と前記空調設備のパラメータの許容差の少なくともいずれかに基づく情報であり、
前記算出する処理、前記特定する処理、および前記決定する処理は、
前記空調設備の設定温度と前記空調設備の設定風量との少なくともいずれかを行動とし、前記空調設備がある部屋の内部の温度と前記空調設備がある部屋の外部の温度と気候との少なくともいずれかを状態とし、前記空調設備の消費電力量をコストとし、前記対象を制御する方策を学習する強化学習において実行され、
前記対象の状態計測が行われる時間間隔は、前記空調設備がある部屋の内部の温度と前記空調設備がある部屋の外部の温度と気候との少なくともいずれかを計測する時間間隔であり、
前記対象への行動決定が行われる時間間隔は、前記空調設備の設定温度と前記空調設備の設定風量との少なくともいずれかを決定する時間間隔である、ことを特徴とする付記9または10に記載の強化学習方法。
【0339】
(付記12)前記対象は、産業用ロボットであり、
前記事前知識は、前記産業用ロボットの仕様値と前記産業用ロボットのパラメータの公称値と前記産業用ロボットのパラメータの許容差の少なくともいずれかに基づく情報であり、
前記算出する処理、前記特定する処理、および前記決定する処理は、
前記産業用ロボットのモータートルクを行動とし、前記産業用ロボットの撮影した画像と前記産業用ロボットの関節位置と前記産業用ロボットの関節角度と前記産業用ロボットの関節角速度との少なくともいずれかを状態とし、前記産業用ロボットの生産量を報酬とし、前記対象を制御する方策を学習する強化学習において実行され、
前記対象の状態計測が行われる時間間隔は、前記産業用ロボットの撮影した画像と前記産業用ロボットの関節位置と前記産業用ロボットの関節角度と前記産業用ロボットの関節角速度との少なくともいずれかを計測する時間間隔であり、
前記対象への行動決定が行われる時間間隔は、前記産業用ロボットのモータートルクを決定する時間間隔である、ことを特徴とする付記9~11のいずれか一つに記載の強化学習方法。
【0340】
(付記13)前記事前知識は、今回の行動決定が行われる時点における、前記対象の状態を示す変数および前記対象への行動を示す変数を用いて、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる、前記対象の状態計測が行われるそれぞれの時点における、前記対象の状態についての関数を線形近似して表すモデル情報を含む、ことを特徴とする付記9~12のいずれか一つに記載の強化学習方法。
【0341】
(付記14)前記予測する処理は、
前記モデル情報と、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる、前記対象の状態計測が行われるそれぞれの時点における、前記対象の状態の予測値に含まれる誤差の上限とに基づいて、前記予測値を算出する、ことを特徴とする付記13に記載の強化学習方法。
【0342】
(付記15)前記算出する処理、前記特定する処理、および前記決定する処理は、
前記対象の状態が初期化されてから前記対象の状態が前記制約条件を充足しなくなるまでの期間、または、前記対象の状態が初期化されてから一定時間が経過するまでの期間を単位とするエピソード型の強化学習において実行される、ことを特徴とする付記1~14のいずれか一つに記載の強化学習方法。
【0343】
(付記16)前記対象は、いずれかの状態計測が行われる時点において、前記対象の状態が前記制約条件を充足し、かつ、前記対象への行動が0であれば、次の状態計測が行われる時点において、前記対象の状態が前記制約条件を充足することが保証される性質を有する、ことを特徴とする付記1~15のいずれか一つに記載の強化学習方法。
【0344】
(付記17)強化学習における制御の対象の状態計測が行われる時間間隔が前記対象への行動決定が行われる時間間隔とは異なる状態で、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる、前記対象の状態計測が行われるそれぞれの時点における前記対象の状態を予測し、
予測した前記対象の状態の結果に基づいて、前記対象の状態に関する制約条件に対する、前記それぞれの時点における前記対象の状態についての危険度を算出し、
算出した前記それぞれの時点における前記対象の状態についての危険度と、前記対象への今回の行動による前記それぞれの時点における前記対象の状態に対する影響度とに応じて前記対象への今回の行動に関する探索範囲を特定し、
特定した前記対象への今回の行動に関する探索範囲に基づいて、前記対象への今回の行動を決定する、
処理をコンピュータに実行させることを特徴とする強化学習プログラム。
【0345】
(付記18)強化学習における制御の対象の状態計測が行われる時間間隔が前記対象への行動決定が行われる時間間隔とは異なる状態で、今回の行動決定が行われる時点より後であり、次回の行動決定が行われる時点以前である期間に含まれる、前記対象の状態計測が行われるそれぞれの時点における前記対象の状態を予測し、
予測した前記対象の状態の結果に基づいて、前記対象の状態に関する制約条件に対する、前記それぞれの時点における前記対象の状態についての危険度を算出し、
算出した前記それぞれの時点における前記対象の状態についての危険度と、前記対象への今回の行動による前記それぞれの時点における前記対象の状態に対する影響度とに応じて前記対象への今回の行動に関する探索範囲を特定し、
特定した前記対象への今回の行動に関する探索範囲に基づいて、前記対象への今回の行動を決定する、
制御部を有することを特徴とする強化学習装置。
【符号の説明】
【0346】
100 強化学習装置
101 強化学習器
110 対象
200,600,610,800,900,910,1100,1200 グラフ
201,202 範囲
300 バス
301 CPU
302 メモリ
303 ネットワークI/F
304 記録媒体I/F
305 記録媒体
310 ネットワーク
400 履歴テーブル
500 記憶部
501 取得部
502 算出部
503 決定部
504 学習部
505 出力部
510 制御部
700 実数空間
701~703,1001~1003,1005~1008 状態
901~903 確率密度
911 確率分布
1300 サーバルーム
1301 サーバ
1302 冷却器
1400 発電設備
1500 産業用ロボット