(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-24
(45)【発行日】2025-02-03
(54)【発明の名称】逆強化学習方法及び逆強化学習装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20250127BHJP
G06N 3/092 20230101ALI20250127BHJP
【FI】
G06N20/00
G06N3/092
(21)【出願番号】P 2021023072
(22)【出願日】2021-02-17
【審査請求日】2024-01-24
(73)【特許権者】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(73)【特許権者】
【識別番号】304021831
【氏名又は名称】国立大学法人千葉大学
(74)【代理人】
【識別番号】110000785
【氏名又は名称】SSIP弁理士法人
(72)【発明者】
【氏名】中川 陽介
(72)【発明者】
【氏名】小野 仁意
(72)【発明者】
【氏名】筈井 祐介
(72)【発明者】
【氏名】荒井 幸代
(72)【発明者】
【氏名】中田 勇介
【審査官】山本 俊介
(56)【参考文献】
【文献】国際公開第2017/163538(WO,A1)
【文献】大里 虹平ほか,"模倣学習を用いた動画からの動作獲得",情報処理学会研究報告 コンピュータビジョンとイメージメディア(CVIM),一般社団法人情報処理学会,2019年,第2019-CVIM-217巻, 第11号,pp. 1-4,ISSN 2188-8701
【文献】中田 勇介ほか,"エキスパートが複数の環境で生成した軌跡から報酬を推定するベイジアン逆強化学習",2019年度人工知能学会全国大会(第33回),一般社団法人人工知能学会,2019年
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
エキスパートの行動の軌跡を示すエキスパートデータに基づく逆強化学習を実行して、複数の環境条件に共通の第1報酬関数を生成する報酬関数生成ステップと、
前記報酬関数生成ステップで生成された前記第1報酬関数と、前記複数の環境条件又は前記複数の環境条件を代表する環境条件におけるエージェントの行動の軌跡を示すエージェントデータとに基づく強化学習を実行して、前記複数の環境条件に共通の第1方策関数を生成する方策関数生成ステップと、
を備える逆強化学習方法。
【請求項2】
前記エージェントデータは、前記複数の環境条件における前記エージェントの行動の軌跡を示すデータである、請求項1に記載の逆強化学習方法。
【請求項3】
前記環境条件を一定の周期で切り替えて前記エージェントデータを生成するエージェントデータ生成ステップを更に備え、
前記方策関数生成ステップでは、前記報酬関数生成ステップで生成された前記第1報酬関数と、前記エージェントデータ生成ステップで生成された前記エージェントデータとに基づく強化学習を実行して、前記複数の環境条件に共通の前記第1方策関数を生成する、請求項2に記載の逆強化学習方法。
【請求項4】
前記一定の周期は、エピソードのn倍(ただしnは自然数である。)の周期である、請求項3に記載の逆強化学習方法。
【請求項5】
前記報酬関数生成ステップでは、前記複数の環境条件について前記環境条件ごとに逆強化学習を実行することによって複数の第2報酬関数を生成し、前記複数の第2報酬関数を組み合わせることによって前記第1報酬関数を生成する、請求項1に記載の逆強化学習方法。
【請求項6】
前記エージェントデータは、前記複数の環境条件を代表する環境条件におけるエージェントの行動の軌跡を示すデータである、請求項5に記載の逆強化学習方法。
【請求項7】
前記複数の環境条件を代表する環境条件は、前記複数の環境条件の平均値、中間値又は最頻値である、請求項6に記載の逆強化学習方法。
【請求項8】
エキスパートの行動の軌跡を示すエキスパートデータに基づく逆強化学習を実行して、複数の環境条件に共通の第1報酬関数を生成するように構成された報酬関数生成装置と、
前記報酬関数生成装置によって生成された前記第1報酬関数と、前記複数の環境条件又は前記複数の環境条件を代表する環境条件におけるエージェントの行動の軌跡を示すエージェントデータとに基づく強化学習を実行して、前記複数の環境条件に共通の第1方策関数を生成するように構成された方策関数生成装置と、
を備える逆強化学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、逆強化学習方法及び逆強化学習装置に関する。
【背景技術】
【0002】
環境から得られる報酬を最大化するように方策を求める強化学習(Reinforcement Learning: RL)技術があり、プラント運転の自動化などへの適用が検討されている。また、強化学習に用いる報酬関数の設計が難しいため、エキスパート(熟練者)操作を示すエキスパートデータに基づいて報酬関数を推定する逆強化学習手法が提案されている。
【0003】
逆強化学習で得られる報酬関数や、それを用いた強化学習により得られる方策関数は、環境条件によって適した関数の仕様が変化する。この点、特許文献1に記載の逆強化学習では、適用環境を分類し、用いる報酬関数や方策関数を適用環境に応じて切り替えることにより、環境に適した関数が用いられている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述のように、特許文献1に記載の手法では、適用環境を分類し、用いる報酬関数や方策関数を適用環境に応じて切り替えている。このため、環境認識(分類)に関する学習が必要であり、得られる方策の善し悪しに環境認識の結果が影響することから、学習を効率的に進めることが困難である。
【0006】
上述の事情に鑑みて、本開示は、複数の環境条件に適用可能な報酬関数及び方策関数を生成して効率的な学習を実現することができる逆強化学習方法及び逆強化学習装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本開示の少なくとも一実施形態に係る逆強化学習方法は、
複数の環境条件におけるエキスパートの行動の軌跡を示すエキスパートデータに基づく逆強化学習を実行して、前記複数の環境条件に共通の第1報酬関数を生成する報酬関数生成ステップと、
前記報酬関数生成ステップで生成された前記第1報酬関数と、前記複数の環境条件又は前記複数の環境条件を代表する環境条件におけるエージェントの行動の軌跡を示すエージェントデータとに基づく強化学習を実行して、前記複数の環境条件に共通の第1方策関数を生成する方策関数生成ステップと、
を備える。
【0008】
上記目的を達成するため、本開示の少なくとも一実施形態に係る逆強化学習装置は、
複数の環境条件におけるエキスパートの行動の軌跡を示すエキスパートデータに基づく逆強化学習を実行して、前記複数の環境条件に共通の第1報酬関数を生成するように構成された報酬関数生成装置と、
前記報酬関数生成装置によって生成された前記第1報酬関数と、前記複数の環境条件又は前記複数の環境条件を代表する環境条件におけるエージェントの行動の軌跡を示すエージェントデータとに基づく強化学習を実行して、前記複数の環境条件に共通の第1方策関数を生成するように構成された方策関数生成装置と、
を備える。
【発明の効果】
【0009】
本開示によれば、複数の環境条件に適用可能な報酬関数及び方策関数を生成して効率的な学習を実現することができる逆強化学習方法及び逆強化学習装置が提供される。
【図面の簡単な説明】
【0010】
【
図1】一実施形態に係る逆強化学習システム2の機能的な概略構成を示す図である。
【
図2】逆強化学習装置4のハードウェア構成の一例を示す図である。
【
図3】一実施形態に係る逆強化学習システム2(2A)における学習フローの一例を示すフローチャートである。
【
図4】逆強化学習装置4の学習対象を含む蒸気系統50を示す概略図である。
【
図5】弁V1~V3の弁開度、暖気操作対象部62の温度及び暖気操作対象部62の圧力を時系列で示す図である。
【
図6】複数の環境条件j(j=1~4)の各々について、蒸気ヘッダ52の蒸気の圧力P0と温度T0との組み合わせを示す図である。
【
図7A】暖気操作対象部62の蒸気の圧力を時系列で示す図である。
【
図7B】暖気操作対象部62の蒸気の温度を時系列で示す図である。
【
図7C】暖気操作対象部62の蒸気の温度と圧力の関係を示す図である。
【
図8C】弁V3の開度と弁V1の開度との関係を示す図である。
【
図9】一実施形態に係る逆強化学習システム2(2B)における学習フローの他の一例を示すフローチャートである。
【
図10】複数の報酬関数R2の単純平均によって生成された報酬関数R3の一例を示す図である。
【
図11】逆強化学習システム2(2A)と逆強化学習システム2(2B)について、環境条件の変化と得られる方策関数(Π1又はΠ3)の最適性との関係を模式的に示す図である。
【
図12】暖気操作対象部62における蒸気温度の絶対値と蒸気圧の絶対値との関係を示す図である。
【
図13】暖気操作対象部62における蒸気温度の相対値と蒸気圧の相対値との関係を示す図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本開示の幾つかの実施形態について説明する。ただし、実施形態として記載されている又は図面に示されている構成部品の寸法、材質、形状、その相対的配置等は、発明の範囲をこれに限定する趣旨ではなく、単なる説明例にすぎない。
例えば、「ある方向に」、「ある方向に沿って」、「平行」、「直交」、「中心」、「同心」或いは「同軸」等の相対的或いは絶対的な配置を表す表現は、厳密にそのような配置を表すのみならず、公差、若しくは、同じ機能が得られる程度の角度や距離をもって相対的に変位している状態も表すものとする。
例えば、「同一」、「等しい」及び「均質」等の物事が等しい状態であることを表す表現は、厳密に等しい状態を表すのみならず、公差、若しくは、同じ機能が得られる程度の差が存在している状態も表すものとする。
例えば、四角形状や円筒形状等の形状を表す表現は、幾何学的に厳密な意味での四角形状や円筒形状等の形状を表すのみならず、同じ効果が得られる範囲で、凹凸部や面取り部等を含む形状も表すものとする。
一方、一の構成要素を「備える」、「具える」、「具備する」、「含む」、又は、「有する」という表現は、他の構成要素の存在を除外する排他的な表現ではない。
【0012】
図1は、一実施形態に係る逆強化学習システム2の機能的な概略構成を示す図である。
図2は、逆強化学習装置4のハードウェア構成の一例を示す図である。
【0013】
逆強化学習システム2は、例えば不図示のプラントの運転制御を学習してプラントの運転支援に利用されてもよく、例えばプラントの運転の自動化やスキルの低い運転員を支援するために利用されてもよい。
【0014】
図1に示すように、逆強化学習システム2は、逆強化学習装置4及び環境5を備える。逆強化学習装置4は環境5内におかれたエージェントに相当し、環境5に対して行動aを実行する。環境5は、逆強化学習装置4(エージェント)から行動aを受け取り、環境の状態sの更新と逆強化学習装置4に対する報酬の付与とを行う。
【0015】
逆強化学習装置4は、例えば敵対的ネットワーク(Generative Adversarial Network: GAN)を利用した敵対的逆強化学習(Adversarial Inverse Reinforcement Learning: AIRL)を行うように構成されていてもよい。環境5は、現実の環境であってもよいし、現実の環境を模した物理シミュレータであってもよい。
【0016】
本明細書では、「行動」とは、逆強化学習装置4が環境5に対して実行する行動を意味し、「状態」とは環境5から観測された状態(観測量)を意味し、「方策」とは、行動を決めるためのルールを意味し、「報酬」とは、行動に対する善し悪しの評価値を意味する。また、「軌跡データ」とは、状態(観測量)に紐付けられた行動の軌跡(行動と状態との組み合わせの軌跡)を示す時系列データを意味する。
【0017】
図1に示すように、逆強化学習装置4は、報酬関数生成部6(報酬関数学習部)、方策関数生成部8(方策関数学習部)及び記憶部10を含む。ここでは、
図1に示す構成の概略的な説明を行い、詳細な説明については後述する。
【0018】
報酬関数生成部6は、エキスパート(熟練者)の行動aの軌跡を示すエキスパートデータに基づく逆強化学習を実行して複数の環境条件に共通の報酬関数R1を生成する。ここでは、報酬関数生成部6は、記憶部10に記憶されたエキスパートデータと、環境5から受け取った観測量(状態s)とに基づく逆強化学習を実行して複数の環境条件に共通の報酬関数R1を生成する。エキスパートデータは、状態sに紐づけられた行動aの軌跡(状態sとエキスパートの行動aとの組み合わせの軌跡)を示す軌跡データであり、複数の環境条件におけるエキスパートデータが記憶部10に記憶されている。報酬関数生成部6は、エキスパートデータ及び観測量を入力とし報酬関数R1を出力とするニューラルネットワークを含む。
【0019】
方策関数生成部8は、報酬関数生成部6によって生成された報酬関数R1と、環境5から観測された観測量(状態s)とに基づく強化学習を実行して、複数の環境条件に共通の方策関数Π1を生成する。方策関数生成部8は、報酬関数R1と環境5から観測された観測量とを入力とし、方策関数Π1を出力とするニューラルネットワークを含む。また、方策関数生成部8は、環境5から観測された観測量と生成した方策関数Π1とに基づいて行動aを決定し、環境5に行動aを入力する。
【0020】
図2に示すように、逆強化学習装置4は、例えばプロセッサ72、RAM(Random Access Memory)74、ROM(Read Only Memory)76、HDD (Hard Disk Drive)78、入力I/F80、及び出力I/F82を含み、これらがバス84を介して互いに接続されたコンピュータを用いて構成される。また逆強化学習装置4は、逆強化学習装置4の各機能を実現するプログラムをコンピュータが実行することにより構成される。以下で説明する逆強化学習装置4における各部の機能は、例えばROM76に保持されるプログラムをRAM74にロードしてプロセッサ72で実行するとともに、RAM74やROM76におけるデータの読み出し及び書き込みを行うことで実現される。環境5が物理シミュレータである場合には、物理シミュレータも同様に、プロセッサ、RAM、ROM、HDD、入力I/F、及び出力I/Fを含み、これらがバスを介して互いに接続されたコンピュータを用いて構成されてもよい。
【0021】
次に、
図3を用いて上記逆強化学習システム2の具体例を説明する。
図3は、一実施形態に係る逆強化学習システム2(2A)における学習フローの一例を示すフローチャートである。ここでは、環境5が物理シミュレータである場合を例に説明する。
【0022】
S101において、環境5が満たす条件(前提条件)である環境条件jが設定又は変更される。jは、環境条件のフラグであり、ここでは、jは1からjmaxまでの整数である。次に、S102において、環境5の状態sを初期化(リセット)する。そして、S103において、方策関数生成部8によって生成された方策関数Π1(第1方策関数)を用いて、行動aと環境5の状態sとの組み合わせの軌跡データ(エージェントデータ)を1エピソード分計算し、S104でその軌跡データを記憶部10に一時的に保存する。
【0023】
S105において、軌跡データのサンプリングが完了したか否かを判断する。S105では、例えば、複数の環境条件j(j=1~jmax)の各々においてサンプリングした軌跡データのエピソード数が規定数に達した場合に軌跡データのサンプリングが完了したと判断してもよいし、計算の経過時間が規定時間に到達した場合に軌跡データのサンプリングが完了したと判断してもよいし、その他の基準で軌跡データのサンプリングが完了したと判断してもよい。
【0024】
S105において、軌跡データのサンプリングが完了していないと判断された場合には、S106において環境条件jを更新する。S106において、j≠jmaxを満たす場合にはjに1を加算し、S101に戻る。S106において、j=jmaxを満たす場合にはjを1に更新し、S101に戻る。
【0025】
S105において、軌跡データのサンプリングが完了したと判断された場合には、S107において、現在の学習ステップ数Nが学習の最大ステップ数Nmax以上であるか否かを判断する。S107において現在の学習ステップ数Nが学習の最大ステップ数Nmax以上であると判断された場合には、学習を完了する。S107において現在の学習ステップ数Nが学習の最大ステップ数Nmax以上ではないと判断された場合には、S108において、S104で一時的に保存した軌跡データを記憶部10から読み出して報酬関数R1及び方策関数Π1を学習する。
【0026】
S108では、記憶部10に保存された軌跡データ(S104で一時保存した軌跡データ)と、記憶部10に保存されたエキスパートデータとの比較に基づく逆強化学習を実行することによって、報酬関数生成部6が報酬関数R1(第1報酬関数)を生成する。また、S108では、記憶部10に保存された軌跡データ(S104で一時保存した軌跡データ)と、報酬関数生成部6が生成した報酬関数R1とに基づく強化学習を実行して、方策関数生成部8が方策関数Π1を生成する。そして、S109において、現在の学習ステップ数Nに1を加算し、S106に戻って次の学習ステップ数の学習を行う。なお、現在の学習ステップ数NにおいてS108で生成された方策関数Π1は、次の学習ステップ数のS103において状態sと行動aとの組み合わせの軌跡データ(エージェントデータ)を1エピソード分計算する際に使用される。
【0027】
以上に示した学習フローでは、逆強化学習を実行する環境条件を一定の周期ごとに(上記の例ではエピソードごとに)順番に切り替えている。例えば、逆強化学習を行う環境条件が4つある場合(例えば環境条件A、環境条件B、環境条件C及び環境条件Dについて逆強化学習を行う場合)には、環境条件A、環境条件B、環境条件C、環境条件D、環境条件A、環境条件B、環境条件C、環境条件D・・・と切り替えて得られた軌跡データを学習する。また、報酬関数生成部6によって生成する報酬関数R1は、逆強化学習を行う複数の環境条件に共通の報酬関数であり、方策関数生成部8によって生成する方策関数Π1は、それらの複数の環境条件に共通の方策関数である。
【0028】
したがって、複数の異なる環境条件に適用可能な報酬関数R1及び方策関数Π1を生成することができ、環境条件に応じて報酬関数を切り替える必要がなく、環境条件に応じて方策関数を切り替える必要がない。このため、環境条件ごとに学習することなく、効率的な学習を実現することができる。また、環境を識別することが不要となる。
【0029】
次に、上記逆強化学習装置4を蒸気タービンにおける蒸気配管の暖気操作に適用する例を説明する。
図4は、逆強化学習装置4の学習対象を含む蒸気系統50を示す概略図である。
【0030】
蒸気系統50は、蒸気ヘッダ52、蒸気タービン54、蒸気ライン56、バイパスライン58、分岐ライン60、弁V1、弁V2、弁V3及びタービン入口仕切弁V4を備える。
【0031】
蒸気ライン56は蒸気ヘッダ52と蒸気タービン54とを接続しており、弁V1は蒸気ライン56に設けられている。バイパスライン58は、蒸気ライン56における弁V1よりも上流側で蒸気ライン56から分岐して、弁V1をバイパスし、蒸気ライン56における弁V1よりも下流側で蒸気ライン56に合流する。弁V2はバイパスライン58に設けられている。分岐ライン60は、バイパスライン58が蒸気ライン56に合流する位置よりも下流側で蒸気ライン56から分岐しており、弁V3は分岐ライン60に設けられている。蒸気ライン56から分岐ライン60が分岐する位置と蒸気タービン54との間には、タービン入口仕切弁V4が設けられている。蒸気ヘッダ52における蒸気の圧力をP0、蒸気ヘッダ52における蒸気の温度をT0とする。
【0032】
このような構成において、
図4において破線で囲った部分(蒸気ライン56における弁V1とタービン入口仕切弁V4との間の部分。以下、暖気操作対象部62という。)の暖気操作を学習対象とする場合の例について説明する。
【0033】
図5の上段部は、弁V1~V3の弁開度を時系列で示しており、
図5の下段部は、暖気操作対象部62の温度と圧力を時系列で示している。
【0034】
図5に示す例では、弁V1~V3の開度を段階的に操作することにより、暖気操作対象部62の温度を大気温度から上昇させる昇温工程と、該昇圧工程に続いて暖気操作対象部62の圧力を蒸気ヘッダ52の蒸気の圧力P0まで上昇させる昇圧工程と、該昇圧工程に続いて暖気操作対象部62の温度を蒸気ヘッダ52の蒸気の温度T0まで上昇させる昇温工程とを含んでいる。
【0035】
図5に例示したような弁V1及びV3の開度操作を上述の行動aとし、暖気操作対象部62の蒸気の温度及び圧力を上述の観測量(状態s)とし、蒸気ヘッダ52の蒸気の圧力P0と温度T0との組み合わせを上述の環境条件j(
図6参照)とした場合について、上記逆強化学習装置4による学習結果を
図7A~
図7C、
図8A~
図8Cに示す。なお、
図6に示す例では、上述の複数の環境条件jは、
図6示すように、圧力P0の許容下限値と温度T0の許容下限値との組み合わせを示す環境条件(j=1)と、圧力P0の許容上限値と温度T0の許容下限値との組み合わせを示す環境条件(j=2)と、圧力P0の許容下限値と温度T0の許容上限値との組み合わせを示す環境条件(j=3)と、圧力P0の許容上限値と温度T0の許容上限値との組み合わせを示す環境条件(j=4)とからなる。
【0036】
図7Aは暖気操作対象部62の蒸気の圧力を時系列で示しており、
図7Bは暖気操作対象部62の蒸気の温度を時系列で示しており、
図7Cは暖気操作対象部62の蒸気の温度と圧力の関係を示している。
図8Aは弁V3の開度を時系列で示しており、
図8Bは弁V1の開度を時系列で示しており、
図8Cは弁V3の開度と弁V1の開度との関係を示している。
【0037】
また、
図7A~
図7C、
図8A~
図8Cの各々において、細線はエキスパート履歴(上述のエキスパートデータ)を示しており、太線は逆強化学習装置4による学習結果を示している。
図7A~
図7C、
図8A~
図8Cの各々に示すように、逆強化学習装置4による学習結果(太線)は、エキスパート履歴(細線)に概ね近似した線となっていることが分かる。
【0038】
次に、
図1及び
図2に示した逆強化学習システム2について、
図3に示した例とは別の具体例について
図9を用いて説明する。
図9は、一実施形態に係る逆強化学習システム2(2B)における学習フローの他の一例を示すフローチャートである。ここでは、環境5が物理シミュレータである場合を例に説明する。
【0039】
S201において、環境5が満たす条件(前提条件)である環境条件jが設定又は変更される。jは、環境条件のフラグであり、ここでは、jは1からjmaxまでの整数である。次に、S202において、環境5の状態sを初期化(リセット)する。そして、S203において、方策関数生成部8によって生成された方策関数Π2(環境条件jごとの方策関数)を用いて、環境条件jについて状態sと行動aとの組み合わせの軌跡データ(時系列データ)を1エピソード分計算し、S204でその軌跡データを記憶部10に一時的に保存する。
【0040】
S205において、軌跡データのサンプリングが完了したか否かを判断する。S205では、例えば、環境条件jにおいてサンプリングした軌跡データのエピソード数が規定数に達した場合に軌跡データのサンプリングが完了したと判断してもよいし、計算の経過時間が規定時間に到達した場合に軌跡データのサンプリングが完了したと判断してもよいし、その他の基準で軌跡データのサンプリングが完了したと判断してもよい。
【0041】
S205において、軌跡データのサンプリングが完了していないと判断された場合には、環境条件jを維持したまま、S202に戻って、再びS202~S205を繰り返す。
【0042】
S205において、軌跡データのサンプリングが完了したと判断された場合には、S206において、現在の学習ステップ数Nが学習の最大ステップ数Nmax以上であるか否かを判断する。S206において現在の学習ステップ数Nが学習の最大ステップ数Nmax以上ではないと判断された場合には、S207において、S204で一時的に保存した軌跡データを記憶部10から読み出して報酬関数R2及び方策関数Π2を学習する。
【0043】
S207では、記憶部10に保存された軌跡データ(S204で一時保存した、環境条件jごとの軌跡データ)と、記憶部10に保存された環境条件jごとエキスパートデータとの比較に基づいて、報酬関数生成部6が環境条件jごとの報酬関数R2を生成する。また、S207では、記憶部10に保存された軌跡データ(S204で一時保存した、環境条件jごとの軌跡データ)と、報酬関数生成部6が生成した報酬関数R2(環境条件jごとの報酬関数R2)とに基づいて、方策関数生成部8が環境条件jごとの方策関数Π2を生成する。そして、S208において、現在の学習ステップ数Nに1を加算し、S202に戻って次の学習ステップ数の学習を行う。なお、現在の学習ステップ数NにおいてS207で生成された方策関数Π2(環境条件jごとの方策関数Π2)は、次の学習ステップ数のS203において状態sと行動aとの組み合わせの軌跡データ(エージェントデータ)を1エピソード分計算する際に使用される。
【0044】
S206において、現在の学習ステップ数Nが学習の最大ステップ数Nmax以上であると判断された場合には、S209において、環境条件jがjmax以上であるか否かが判断される。S209において、環境条件jがjmax以上でないと判断された場合には、S210において、環境条件jに1を加算することにより環境条件jを更新し、S201に戻る。S209において環境条件jがjmax以上であると判断された場合には、S211において、複数の環境条件j(j=1~jmax)を代表する環境条件を設定する。ここでは、複数の環境条件j(j=1~jmax)を代表する環境条件は、例えば複数の環境条件j(j=1~jmax)の平均値、中間値又は最頻値であってもよい。
【0045】
次に、S212において、環境5の状態sを初期化(リセット)する。そして、S213において、方策関数生成部8によって生成された方策関数Π3(第1方策関数)を用いて、複数の環境条件j(j=1~jmax)を代表する環境条件について状態sと行動aとの組み合わせの軌跡データ(エージェントデータ)を1エピソード分計算し、S214でその軌跡データを記憶部10に一時的に保存する。
【0046】
S215において、軌跡データのサンプリングが完了したか否かを判断する。S215では、例えば、複数の環境条件j(j=1~jmax)を代表する環境条件においてサンプリングした軌跡データのエピソード数が規定数に達した場合に軌跡データのサンプリングが完了したと判断してもよいし、計算の経過時間が規定時間に到達した場合に軌跡データのサンプリングが完了したと判断してもよいし、その他の基準で軌跡データのサンプリングが完了したと判断してもよい。
【0047】
S215において、軌跡データのサンプリングが完了していないと判断された場合には、環境条件を維持したまま、S212に戻って、再びS212~S215を繰り返す。S215において、軌跡データのサンプリングが完了したと判断された場合には、S216において、現在の学習ステップ数Nが学習の最大ステップ数Nmax以上であるか否かを判断する。S216において現在の学習ステップ数Nが学習の最大ステップ数Nmax以上ではないと判断された場合には、S217において、S214で一時的に保存した軌跡データ(エージェントデータ)を記憶部10から読み出して方策関数Π3を学習する。S17では、S207において生成した複数の報酬関数R2(複数の環境条件jについて環境条件ごとに作成した報酬関数R2)を組み合わせることによって新たな報酬関数R3(第1報酬関数)を生成し、報酬関数R3と、S214で一時的に保存した軌跡データ(エージェントデータ)とに基づく強化学習を実行して方策関数R3を生成する。S217では、例えば複数の報酬関数R2を線形結合することによって報酬関数R3を生成してもよく、例えば
図10に例示するように、複数の報酬関数R2の単純平均又は加重平均等によって報酬関数R3を生成してもよい。
【0048】
そして、S218において現在の学習ステップ数Nに1を加算し、S212に戻って環境条件jを維持したまま次の学習ステップ数の学習を行う。なお、現在の学習ステップ数NにおいてS217で生成された方策関数Π3は、次の学習ステップ数のS213において状態sと行動aとの組み合わせの軌跡データ(エージェントデータ)を1エピソード分計算する際に使用される。
【0049】
S216において、現在の学習ステップ数Nが学習の最大ステップ数Nmax以上であると判断された場合には、逆強化学習装置4による逆強化学習を完了する。
【0050】
このように、
図9に示した学習フローによれば、報酬関数生成部6は、複数の環境条件j(j=1~jmax)について環境条件ごとに逆強化学習を実行することによって複数の報酬関数R2を生成し、複数の報酬関数R2を組み合わせることによって報酬関数R3を生成する。また、方策関数生成部8は、報酬関数生成部6によって生成された報酬関数R3と、複数の環境条件j(j=1~jmax)を代表する環境条件におけるエージェントの行動の軌跡(状態sに紐づけられた行動aの軌跡)を示す軌跡データ(エージェントデータ)とに基づく強化学習を実行して、複数の環境条件j(j=1~jmax)に共通の方策関数Π3を生成する。
【0051】
したがって、複数の異なる環境条件に適用可能な報酬関数R3及び方策関数Π3を生成することができ、環境条件に応じて報酬関数を切り替える必要がなく、環境条件に応じて方策関数を切り替える必要がない。このため、効率的な学習を実現することができる。
【0052】
また、複数の環状条件j(j=1~jmax)を代表する環境条件として、複数の環境条件jの平均値、中間値又は最頻値を使用することにより、複数の環境条件に適した報酬関数R3及び方策関数Π3を生成することができる。
【0053】
ここで、上記逆強化学習システム2(2A)と上記逆強化学習システム2(2B)との使い分けについて
図11を用いて説明する。
図11は、逆強化学習システム2(2A)と逆強化学習システム2(2B)について、環境条件の変化と得られる方策関数(Π1又はΠ3)の最適性との関係を模式的に示す図である。
【0054】
図11に示すように、逆強化学習システム2(2A)では、環境条件の広範囲に亘って安定的に環境条件に適した方策関数を得ることができる。また、逆強化学習システム2(2B)では、S211で設定した環境条件の代表値付近では逆強化学習システム2(2A)よりも環境条件に適した方策関数を得ることができる。また、逆強化学習システム2(2B)では、S211で設定した環境条件の代表値から離れるにつれて徐々に最適性が低下するため、当該代表値からある程度離れた環境条件では、逆強化学習システム2(2A)の方が逆強化学習システム2(2B)よりも環境条件に適した方策関数を得ることができる。
【0055】
このため、得られる方策について最適性の優先度を下げてでもロバスト性を重視する場合には、逆強化学習システム2(2A)を選択し、得られる方策についてロバスト性の優先度を下げてでも代表値付近での最適性を重視する場合には、逆強化学習システム2(2B)を選択してもよい。
【0056】
本開示は上述した実施形態に限定されることはなく、上述した実施形態に変形を加えた形態や、これらの形態を適宜組み合わせた形態も含む。
【0057】
例えば、幾つかの実施形態では、上記逆強化学習システム2(2A)及び2(2B)において、逆強化学習装置4が環境5から観測する観測量(状態s)は、複数の環境条件j(j=1~jmax)の間で共通化された指標となるように、正規化された相対値であってもよい。
【0058】
例えば
図4~
図8Cを用いて説明した蒸気タービンにおける蒸気配管の暖気操作の例では、暖気操作対象部62の昇圧操作を対象とするプロセスにおいて、暖気操作対象部62の目標圧力(暖気操作対象部62の圧力の終端条件、すなわち上記の例では蒸気ヘッダ52の蒸気の圧力P0)が環境条件j(j=1~jmax)によって異なる場合、昇圧中の圧力を
図12に示すようにそのまま観測量の絶対値として用いるのではなく、
図13に示すように運転圧力(暖気操作対象部62の圧力)を目標圧力で除算することで正規化(相対値化)した値を観測量として用いてもよい。これにより、複数の環境条件j(j=1~jmax)について、環境が異なっていても操作内容が同じ場合に、観測量を共通した指標として扱うことができる。
【0059】
このように、観測量の正規化に用いる分母をセンサーレンジではなく目標圧力(観測量の終端条件)とすることにより、どの環境条件でも補正された観測量を終端条件(すなわち1)に近づけるように学習させることができ、異なる環境条件(運転条件)での学習が容易になる。
図12に示す例では、複数の環境条件jについて、圧力レベルが異なるために観測量の絶対値を用いると大きく異なるものとして学習するが、
図13に示すように相対値化することにより、複数の環境条件が類似したものとして取り扱うことができ、効率的に学習することができる。
【0060】
なお、
図13に示した例では、運転圧力(暖気操作対象部62の圧力)を目標圧力で除算することで正規化(相対値化)した値を観測量として用いたが、他の実施形態では、例えば目標圧力から運転圧力(暖気操作対象部62の圧力)を減じた差分値を観測量として用いてもよい。
【0061】
上記各実施形態に記載の内容は、例えば以下のように把握される。
【0062】
(1)本開示の少なくとも一実施形態に係る逆強化学習方法は、
エキスパートの行動の軌跡を示すエキスパートデータに基づく逆強化学習を実行して、複数の環境条件件(例えば上述の複数の環境条件j(j=1~jmax))に共通の第1報酬関数(例えば上述の報酬関数R1又はR3)を生成する報酬関数生成ステップと、
前記報酬関数生成ステップで生成された前記第1報酬関数と、前記複数の環境条件又は前記複数の環境条件を代表する環境条件におけるエージェントの行動の軌跡を示すエージェントデータとに基づく強化学習を実行して、前記複数の環境条件に共通の第1方策関数(例えば上述の方策関数Π1又はΠ3)を生成する方策関数生成ステップと、
を備える。
【0063】
上記(1)に記載の逆強化学習方法によれば、複数の環境条件に適用可能な報酬関数及び方策関数を生成することができ、環境条件に応じて報酬関数を切り替える必要がなく、環境条件に応じて方策関数を切り替える必要がない。このため、効率的な学習を実現することができる。
【0064】
(2)幾つかの実施形態では、上記(1)に記載の逆強化学習方法において、
前記エージェントデータは、前記複数の環境条件における前記エージェントの行動の軌跡を示すデータである。
【0065】
上記(2)に記載の逆強化学習方法によれば、複数の環境条件におけるエージェントの行動の軌跡を示すエージェントデータを、環境条件を識別することなく効率的に学習することができる。
【0066】
(3)幾つかの実施形態では、上記(2)に記載の逆強化学習方法において、
前記環境条件を一定の周期で切り替えて前記エージェントデータを生成するエージェントデータ生成ステップを更に備え、
前記方策関数生成ステップでは、前記報酬関数生成ステップで生成された前記第1報酬関数と、前記エージェントデータ生成ステップで生成された前記エージェントデータとに基づく強化学習を実行して、前記複数の環境条件に共通の前記第1方策関数を生成する。
【0067】
上記(3)に記載の逆強化学習方法によれば、複数の環境条件におけるエージェントの行動の軌跡を示すエージェントデータを、環境条件を識別することなく効率的に学習することができる。また、環境条件の広範囲に亘って安定的に環境条件に適した方策関数を得ることができる。
【0068】
(4)幾つかの実施形態では、上記(3)に記載の逆強化学習方法において、
前記一定の周期は、エピソードのn倍(ただしnは自然数である。)の周期である。
【0069】
上記(4)に記載の逆強化学習方法によれば、エピソードのn倍ごとに環境条件を切り替えてエージェントデータを生成するため、複数の環境条件に共通の前記第1方策関数を効率的に学習することができる。
【0070】
(5)幾つかの実施形態では、上記(1)に記載の逆強化学習方法において、
前記報酬関数生成ステップでは、前記複数の環境条件について前記環境条件ごとに逆強化学習を実行することによって複数の第2報酬関数(例えば上述の報酬関数R2)を生成し、前記複数の第2報酬関数を組み合わせることによって前記第1報酬関数(例えば上述の報酬関数R3)を生成する。
【0071】
上記(5)に記載の逆強化学習方法によれば、複数の環境条件に適用可能な第1報酬関数を効率的に学習することができる。
【0072】
(6)幾つかの実施形態では、上記(5)に記載の逆強化学習方法において、
前記エージェントデータは、前記複数の環境条件を代表する環境条件におけるエージェントの行動の軌跡を示すデータである。
【0073】
上記(6)に記載の逆強化学習方法によれば、環境条件の代表値付近では上記(2)~(4)に記載の逆強化学習方法よりも環境条件に適した方策関数を得ることができる。
【0074】
(7)幾つかの実施形態では、上記(6)に記載の逆強化学習方法において、
前記複数の環境条件を代表する環境条件は、前記複数の環境条件の平均値、中間値又は最頻値である。
【0075】
上記(7)に記載の逆強化学習方法によれば、幅広い環境条件に汎用的に適用することができる。
【0076】
(8)本開示の少なくとも一実施形態に係る逆強化学習装置(例えば上述の逆強化学習装置4)は、
エキスパートの行動の軌跡を示すエキスパートデータに基づく逆強化学習を実行して、複数の環境条件(例えば上述の環境条件j(j=1~jmax))に共通の第1報酬関数(例えば上述の報酬関数R1又はR3)を生成するように構成された報酬関数生成装置(例えば上述の報酬関数生成部6)と、
前記報酬関数生成装置によって生成された前記第1報酬関数と、前記複数の環境条件又は前記複数の環境条件を代表する環境条件におけるエージェントの行動の軌跡を示すエージェントデータとに基づく強化学習を実行して、前記複数の環境条件に共通の第1方策関数(例えば上述の方策関数Π1又はΠ3)を生成するように構成された方策関数生成装置(例えば上述の方策関数生成部8)と、
を備える。
【0077】
上記(8)に記載の逆強化学習装置によれば、複数の環境条件に適用可能な共通の報酬関数及び方策関数を生成することができ、環境条件に応じて報酬関数を切り替える必要がなく、環境条件に応じて方策関数を切り替える必要がない。このため、効率的な学習を実現することができる。
【符号の説明】
【0078】
2 逆強化学習システム
4 逆強化学習装置
5 環境
6 報酬関数生成部
8 方策関数生成部
10 記憶部
50 蒸気系統
52 蒸気ヘッダ
54 蒸気タービン
56 蒸気ライン
58 バイパスライン
60 分岐ライン
62 暖気操作対象部
72 プロセッサ
74 RAM
76 ROM
78 HDD
80 入力I/F
82 出力I/F
84 バス