(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024044125
(43)【公開日】2024-04-02
(54)【発明の名称】マルチエージェント強化学習プログラム、情報処理装置およびマルチエージェント強化学習方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20240326BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022149479
(22)【出願日】2022-09-20
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】大川 佳寛
(72)【発明者】
【氏名】檀 隼人
(72)【発明者】
【氏名】石川 菜月
(72)【発明者】
【氏名】小川 雅俊
(57)【要約】
【課題】制約条件付きマルチエージェント強化学習において、システム全体の制約条件を考慮した学習を行う。
【解決手段】情報処理装置1は、複数のエージェントが存在する制約条件付き制御問題において、各エージェントの方策パラメータの所定の更新順に従って、自身のエージェントの固有の制約条件に対する影響度と、前の更新順のエージェントの更新された方策パラメータによる影響度を共有した、システム全体の制約条件に対する影響度とを算出し、自身のエージェントの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まるそれぞれの範囲内に、自身のエージェントの方策パラメータの更新幅が存在する場合、自身のエージェントの方策パラメータを更新して、更新後の影響度を次の更新順のエージェントに共有させる。かかる情報処理装置1の処理は、例えば、基地局(BS)における停波制御に適用できる。
【選択図】
図2A
【特許請求の範囲】
【請求項1】
複数のエージェントが存在する制約条件付き制御問題において、
各エージェントの方策パラメータの所定の更新順に従って、自身のエージェントの固有の制約条件に対する影響度と、前の更新順のエージェントの更新された方策パラメータによる影響度を共有した、システム全体の制約条件に対する影響度とを算出し、
前記自身のエージェントの固有の制約条件に対する影響度および前記システム全体の制約条件に対する影響度で定まるそれぞれの範囲内に、前記自身のエージェントの方策パラメータの更新幅が存在する場合、前記自身のエージェントの方策パラメータを更新して、更新後の影響度を次の更新順のエージェントに共有させる
処理をコンピュータに実行させることを特徴とするマルチエージェント強化学習プログラム。
【請求項2】
さらに、前記自身のエージェントの固有の制約条件に対する影響度および前記システム全体の制約条件に対する影響度で定まるそれぞれの範囲内に、前記自身のエージェントの方策パラメータの更新幅が存在しない場合、自身のエージェントおよび以降の更新順のエージェントの方策パラメータの更新を行わない
ことを特徴とする請求項1に記載のマルチエージェント強化学習プログラム。
【請求項3】
前記エージェントが共通の報酬の最大化または最小化を目的とした各エージェントの方策パラメータの更新に関して、各エージェントの方策パラメータの更新順をランダムに決定し、
該算出する処理は、前記決定された更新順に従って、自身のエージェントの固有の制約条件に対する影響度と前記システム全体の制約条件に対する影響度とを算出する
ことを特徴とする請求項1または請求項2に記載のマルチエージェント強化学習プログラム。
【請求項4】
複数のエージェントが存在する制約条件付き制御問題において、
各エージェントの方策パラメータの所定の更新順に従って、自身のエージェントの固有の制約条件に対する影響度と、前の更新順のエージェントの更新された方策パラメータによる影響度を共有した、システム全体の制約条件に対する影響度とを算出する算出部と、
前記自身のエージェントの固有の制約条件に対する影響度および前記システム全体の制約条件に対する影響度で定まるそれぞれの範囲内に、前記自身のエージェントの方策パラメータの更新幅が存在する場合、前記自身のエージェントの方策パラメータを更新して、更新後の影響度を次の更新順のエージェントに共有させる更新部と、
を有することを特徴とする情報処理装置。
【請求項5】
複数のエージェントが存在する制約条件付き制御問題において、
各エージェントの方策パラメータの所定の更新順に従って、自身のエージェントの固有の制約条件に対する影響度と、前の更新順のエージェントの更新された方策パラメータによる影響度を共有した、システム全体の制約条件に対する影響度とを算出し、
前記自身のエージェントの固有の制約条件に対する影響度および前記システム全体の制約条件に対する影響度で定まるそれぞれの範囲内に、前記自身のエージェントの方策パラメータの更新幅が存在する場合、前記自身のエージェントの方策パラメータを更新して、更新後の影響度を次の更新順のエージェントに共有させる
処理をコンピュータが実行することを特徴とするマルチエージェント強化学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチエージェント強化学習プログラムなどに関する。
【背景技術】
【0002】
近年、複数のエージェントが共通の環境と相互作用し、逐次的に意思決定を行いながら共有する問題を解決するマルチエージェント強化学習(MARL:Multi-Agent Reinforcement Learning)が知られている。かかるマルチエージェント強化学習では、<1>エージェント数の増加に伴って、学習する行動空間の次元数が指数的に増加するという問題がある。また、<2>学習中および学習後の性能が保証されないという問題がある。すなわち、最終的な性能が、学習が終わるまでわからないという問題がある。
【0003】
ここで、複数のエージェントからなる制約条件付きのマルチエージェント強化学習において、全エージェントの共通の報酬を最大にする各エージェントの方策を、各エージェント固有の安全な制約条件を満たしながら学習する手法が開示されている(例えば、非特許文献1参照)。かかる手法では、エージェントごとに方策を学習することで、学習する行動空間の次元の指数的増加を回避することができる。すなわち、かかる手法では、エージェント数の増加に伴って、学習する行動空間の次元数が指数的に増加するという<1>の問題を回避することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009-014300号公報
【特許文献2】特開2020-080103号公報
【特許文献3】米国特許出願公開第2021/0200163号明細書
【非特許文献】
【0005】
【非特許文献1】Gu,Shangding,et al.“Multi-agent constrained policy optimisation.” arXiv preprint arXiv:2110.02793(2021).
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の手法では、複数のエージェントの行動の結果に依存するようなシステム全体の制約条件を考慮した学習を行うことができないという問題がある。この結果、学習中および学習後の性能が保証されないという<2>の問題があるといえる。
【0007】
本発明は、1つの側面では、制約条件付きマルチエージェント強化学習において、システム全体の制約条件を考慮した学習を行うことを目的とする。
【課題を解決するための手段】
【0008】
1つの態様では、マルチエージェント強化学習プログラムが、複数のエージェントが存在する制約条件付き制御問題において、各エージェントの方策パラメータの所定の更新順に従って、自身のエージェントの固有の制約条件に対する影響度と、前の更新順のエージェントの更新された方策パラメータによる影響度を共有した、システム全体の制約条件に対する影響度とを算出し、前記自身のエージェントの固有の制約条件に対する影響度および前記システム全体の制約条件に対する影響度で定まるそれぞれの範囲内に、前記自身のエージェントの方策パラメータの更新幅が存在する場合、前記自身のエージェントの方策パラメータを更新して、更新後の影響度を次の更新順のエージェントに共有させる、処理をコンピュータに実行させる。
【発明の効果】
【0009】
1実施態様によれば、複数のエージェントの行動の結果に依存するようなシステム全体の制約条件を考慮した学習を行うことができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施例に係る情報処理装置の機能構成の一例を示すブロック図である。
【
図2A】
図2Aは、実施例に係るマルチエージェント強化学習処理のイメージを示す図(1)である。
【
図2B】
図2Bは、実施例に係るマルチエージェント強化学習処理のイメージを示す図(2)である。
【
図3A】
図3Aは、実施例に係るマルチエージェント強化学習処理の全体のフローチャートの一例を示す図(1)である。
【
図3B】
図3Bは、実施例に係るマルチエージェント強化学習処理の全体のフローチャートの一例を示す図(2)である。
【
図3C】
図3Cは、実施例に係るマルチエージェント強化学習処理の全体のフローチャートの一例を示す図(3)である。
【
図4A】
図4Aは、実施例に係るマルチエージェント強化学習の適用結果の一例を示す図(1)である。
【
図4B】
図4Bは、実施例に係るマルチエージェント強化学習の適用結果の一例を示す図(2)である。
【
図4C】
図4Cは、実施例に係るマルチエージェント強化学習の適用結果の一例を示す図(3)である。
【
図5】
図5は、マルチエージェント強化学習プログラムを実行するコンピュータの一例を示す図である。
【
図6】
図6は、マルチエージェント強化学習処理の参考例を示す図である。
【発明を実施するための形態】
【0011】
以下に、本願の開示するマルチエージェント強化学習プログラム、情報処理装置およびマルチエージェント強化学習方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
【0012】
まず、複数のエージェントからなる制約条件付きのマルチエージェント強化学習についての1手法について説明する。ここでいうマルチエージェント強化学習とは、複数のエージェントが共通の環境と相互作用し、逐次的に意思決定を行いながら共有する問題を解決するものである。言い換えれば、制約条件付きのマルチエージェント強化学習は、各エージェントが、現在の「状態」を観測し、一連の「行動」を手掛かりに、「制約条件」を満たしながら、「報酬」(目的関数)を最小化(または最大化)する方策を学習するものである。ここでいう「制約条件」とは、性能が保証されるための条件のことをいう。制約条件付きのマルチエージェント強化学習の一例として、各エリアの通信ネットワークの基地局(BS:Base Station)に接続している全ユーザの平均満足度を一定以上に保ちながら、全BSの消費電力の総和を最小にするような各BSの停波制御のアルゴリズムを学習することが挙げられる。ここでいうBSは、エージェントの一例である。全ユーザの平均満足度を一定以上に保つことは、「制約条件」の一例である。時刻、グリッドの需要量、前時刻のBSの負荷、前時刻のBSの消費電力などは、「状態」の一例である。全BSの消費電力の総和は、「報酬」(目的関数)の一例である。BSを停波するか否か(BSのオン/オフ)は、「行動」の一例である。
【0013】
マルチエージェント強化学習処理の1手法では、全エージェントの共通の報酬を最大にする各エージェントの方策を、エージェントごとに、各エージェント固有の安全な制約条件を満たしながら学習する。かかる手法では、エージェントごとに方策を学習することで、エージェントごとに行動を把握することとなり、行動空間の次元の指数的増加を回避することができる。
【0014】
ところが、かかる手法では、複数のエージェントの行動の結果に依存するようなシステム全体の制約条件を考慮した学習を行うことができないという問題がある。かかる問題について説明する。
図6は、マルチエージェント強化学習処理の参考例を示す図である。なお、
図6では、エージェントが3個存在する場合である。
【0015】
図6に示すように、マルチエージェント強化学習処理では、各エージェントが、自身の固有の制約条件を満たすようにそれぞれの方策を更新する。ここでは、1つの学習ステップで、エージェントaは、更新前の方策から自身の固有の制約条件を満たすように更新幅を算出し、算出した更新幅分、方策を更新する。同じ学習ステップで、エージェントb,cも、同様に、更新前の方策から自身の固有の制約条件を満たすように更新幅を算出し、算出した更新幅分、方策を更新する。
【0016】
ところが、各エージェントが自身の固有の制約条件を満たすようにそれぞれの方策を更新する手法では、システム全体の制約条件が満たされるとは限らない。すなわち、あるエージェントでの更新後の方策が、システム全体の制約条件を満たす方策の範囲から逸脱してしまう場合がある。つまり、かかる手法では、複数のエージェントの行動の結果に依存するようなシステム全体の制約条件を考慮した学習を行うことができない。
【0017】
そこで、各エージェント固有の制約条件に加え、システム全体の制約条件それぞれに対して、各エージェントの方策を更新した時の影響度を算出し、その影響度に従って各学習ステップにおける方策の更新幅に制限を加えるというアプローチが考えられる。
【0018】
ところが、各エージェントが順々に方策の更新を行うが、更新の順番が前のエージェントが制約条件を満たすように更新しても、更新の順番が後ろのエージェントの更新によって制約条件が満たされなくなることがある。このため、各エージェントの方策を適切に更新することが必要であるが、その更新方法について、具体的且つ定量的な方法がない。
【0019】
そこで、以下の実施例では、各エージェントの方策を適切に更新する学習であって、システム全体の制約条件を考慮した学習を行うことができる制約条件付きのマルチエージェント強化学習処理について説明する。
【実施例0020】
図1は、実施例に係る情報処理装置の機能構成の一例を示すブロック図である。
図1に示される情報処理装置1は、各エージェントが順番に、自身の固有の制約条件およびシステム全体の制約条件に対する影響度を算出し、算出した影響度の定める範囲内に更新幅が存在する場合のみ、この範囲内で方策の更新を実施する。そして、情報処理装置1は、方策を更新した場合には、更新後の方策によるシステム全体の制約条件に対する影響度を、次の更新順のエージェントに共有させる。ここでいう方策とは、方策パラメータのことを意味する。
【0021】
情報処理装置1は、制御部10と、記憶部20とを有する。制御部10は、学習初期化部11、決定部12、算出部13、方策更新部14および学習更新部15を有する。また、記憶部20は、組合せ履歴情報21を有する。なお、決定部12および算出部13は、算出部の一例である。方策更新部14は、更新部の一例である。
【0022】
組合せ履歴情報21は、学習エピソードにおける、エージェントごとの状態、行動、報酬の組合せを記憶する履歴情報である。ここでいう学習エピソードとは、強化学習に与えられる環境に対する行動の開始から終了までの区間を意味する。例えば、各BS(エージェント)の停波制御のアルゴリズムを学習する場合には、状態、行動、報酬は、以下のとおりである。状態は、時刻、グリッドの需要量、前時刻のBSの負荷、前時刻のBSの消費電力などを示す情報である。行動は、BSのオン/オフ(停波するか否か)を示す情報である。報酬は、全BSの消費電力の総和を示す情報である。
【0023】
学習初期化部11は、学習に用いられるデータを初期化する。例えば、学習初期化部11は、強化学習で用いられる学習パラメータを初期化する。また、学習初期化部11は、強化学習で用いられる学習エピソードを初期化する。また、学習初期化部11は、現在の学習エピソードにおける一定時間の状態、行動、報酬の組合せ履歴をエージェントごとに取得して組合せ履歴情報21に保存する。
【0024】
決定部12は、各エージェントの方策パラメータの更新順をランダムに決定する。これにより、決定部12は、各エージェントの方策パラメータを万遍なく更新することができる。
【0025】
算出部13は、決定された更新順に従って、自身のエージェントの固有の制約条件に対する影響度と、前の更新順のエージェントの方策更新に伴うシステム全体の制約条件に対する影響度とを算出する。例えば、算出部13は、決定部12によって決定された更新順に従って、自身のエージェントの固有の制約条件に対する影響度を算出する。そして、算出部13は、前の更新順のエージェントの更新された方策パラメータによる影響度を共有した、システム全体の制約条件に対する影響度を算出する。なお、算出部13は、組合せ履歴情報21を用いてそれぞれの影響度を算出する。
【0026】
方策更新部14は、自身のエージェントの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントの方策パラメータの更新幅が存在する場合、自身のエージェントの方策パラメータを更新する。ここでいう更新幅とは、更新前の方策パラメータと更新後の方策パラメータとの更新される幅のことをいう。言い換えれば、方策更新部14は、自身のエージェントの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントの更新後の方策パラメータの取り得る範囲が存在する場合には、この範囲内で自身のエージェントの方策パラメータを更新する。更新後の方策パラメータの取り得る範囲は、例えば、式(1)に基づいて算出される。
【数1】
【0027】
式(1)の左辺は、エージェントihのエージェント固有の制約条件とシステム全体の制約条件を充足する方策パラメータπihの集合を示す。つまり、式(1)の左辺は、更新後の方策パラメータの取り得る範囲を示す。式(1)の右辺は、(1.1)、(1.2)、(1.3)から構成される。
【0028】
(1.1)は、自身のエージェントihにおける前の学習ステップkの方策パラメータπk
ihからの変化を大きくさせないための条件である。(1.1)の変数の説明は、以下のとおりである。変数πihは、エージェントihの更新後の方策パラメータを示す。変数πk
ihは、エージェントihの更新前(学習ステップk)の方策パラメータを示す。変数DkL
maxは、2つの方策パラメータ間のカルバック・ライブラー情報量の最大値を示す。変数δは、方策パラメータの更新前後の変化に関する上限を示す。
【0029】
(1.2)は、各エージェントihの固有の制約条件jを満たすための条件である。(1.2)の変数の説明は、以下のとおりである。変数Jj
ih(・),変数cj
ihは、エージェントihの固有の制約条件jに関するコスト関数およびその上限値を示す。変数Lih
j,πk(πih)は、エージェントihの更新後の方策パラメータによる固有の制約条件jに対する影響度を示す。変数vj
ihは、エージェントihの固有の制約条件jに対する方策パラメータの更新前後の変化に関する係数を示す。変数mihは、エージェントihの固有の制約条件の数を示す。
【0030】
(1.3)は、システム全体の制約条件pを満たすための条件であり、前の更新順のエージェントから共有された影響度を含む。(1.3)の変数の説明は、以下のとおりである。Jp(・),dpは、システム全体の制約条件pに関するコスト関数およびその上限値を示す。πk+1
i1:h-1は、更新順がエージェントihよりも前のエージェント(i1,・・・,ih-1)の更新後の方策パラメータを示す。符号a1で示す変数Lは、エージェントihおよび更新順がエージェントihよりも前のエージェント(i1,・・・,ih-1)の更新後の方策パラメータによるシステム全体の制約条件pに対する影響度を示す。符号a2で示す変数L,l=1,・・・,h-1は、更新順がエージェントihよりも前のエージェントから共有された、更新順がエージェントihよりも前のエージェントの更新後の方策パラメータによるシステム全体の制約条件pに対する影響度を示す。vpは、システム全体の制約条件pに対する方策パラメータの更新前後の変化に関する係数を示す。変数Mは、システム全体の制約条件の数を示す。
【0031】
言い換えると、方策更新部14は、式(1)の(1.1)および(1.2)で、自身のエージェントの固有の制約条件に対する影響度によって定まる範囲内に、自身のエージェントの方策パラメータの更新幅が存在するか否かを判定する。そして、方策更新部14は、式(1.3)で、システム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントの方策パラメータの更新幅が存在するか否かを判定する。つまり、方策更新部14は、(1.1)~(1.3)を構成する式(1)で、自身のエージェントの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントの方策パラメータの更新幅が存在する否かを判定する。
【0032】
そして、方策更新部14は、自身のエージェントの固有の制約条件に対する影響度で定まる範囲内およびシステム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントの方策パラメータの更新幅が存在すると判定した場合には、以下の処理を行う。すなわち、方策更新部14は、存在する更新幅で自身のエージェントの方策パラメータを更新する。これにより、方策更新部14は、複数のエージェントの行動の結果に依存するようなシステム全体の制約条件を考慮した学習を行うことができる。また、方策更新部14は、順番に自身のエージェントの方策を学習することで、自身のエージェントだけの行動を把握することとなり、行動空間の次元の指数的増加を回避することができる。そして、方策更新部14は、更新後の影響度を次の更新順のエージェントに共有させる。
【0033】
また、方策更新部14は、自身のエージェントの固有の制約条件に対する影響度で定まる範囲内およびシステム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントの方策パラメータの更新幅が存在しないと判定した場合には、以下の処理を行う。すなわち、方策更新部14は、自身のエージェントおよび以降の更新順のエージェントの方策パラメータの更新を行わない。これは、方策パラメータの更新可能な更新幅が存在しないからである。言い換えれば、エージェント固有の制約条件を満たす方策パラメータの範囲と、システム全体の制約条件を満たす方策パラメータの範囲に、更新幅の共通部分が存在しないからである。これにより、方策更新部14は、各エージェント固有の制約条件に加え、複数のエージェントの行動結果に依存するようなシステム全体の制約条件に関しても、学習中及び学習後の充足を保証できる。
【0034】
学習更新部15は、学習に用いられるデータを更新する。例えば、学習更新部15は、強化学習で用いられる学習パラメータを更新する。ここでいう学習パラメータは、方策パラメータ以外の学習パラメータのことをいう。また、学習更新部15は、強化学習で用いられる学習エピソードの数をインクリメントする。そして、学習更新部15は、学習エピソードの数が最大の学習エピソード数より小さい場合には、次の学習エピソードにおける学習を実施する。
【0035】
[マルチエージェント強化学習処理のイメージ]
ここで、実施例に係るマルチエージェント強化学習処理のイメージを、
図2Aおよび
図2Bを参照して説明する。
図2Aおよび
図2Bは、実施例に係るマルチエージェント強化学習処理のイメージを示す図である。なお、エージェントは、a,b,cの3個存在するとする。そして、各エージェントの方策パラメータの更新順は、決定部12によってランダムにa,b,cと決定されたとする。そして、エージェントaについて、方策更新部14は、更新後の方策パラメータによる影響度を次の更新順のエージェントbに共有させたとする。
【0036】
すると、算出部13は、次の更新順のエージェントbの固有の制約条件に対する影響度と、前の更新順のエージェントaの更新された方策パラメータによる影響度を共有した、システム全体の制約条件に対する影響度とを算出する。すなわち、算出部13は、エージェントbの固有の制約条件に対する影響度を算出するとともに、エージェントaの更新後の方策パラメータによる影響度を共有してシステム全体の制約条件に対する影響度を算出する。そして、方策更新部14は、自身のエージェントbの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントbの方策パラメータの更新幅が存在するか否かを判定する。言い換えれば、方策更新部14は、自身のエージェントbの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントbの更新後の方策パラメータの取り得る範囲が存在するか否かを判定する。
【0037】
ここでは、
図2Aに示すように、自身のエージェントbの固有の制約条件に対する影響度によって定まる範囲は、符号rbで示される範囲である。かかる範囲は、式(1)の(1.1)および(1.2)の左右両辺によって表される。また、エージェントaの更新後の方策パラメータによる影響度を共有した、システム全体の制約条件に対する影響度で定まる範囲は、符号sbで示される範囲である。かかる範囲は、式(1)の(1.3)の左右両辺によって表される。そして、自身のエージェントbの更新後の方策パラメータの取り得る範囲は、符号mbで示される範囲である。かかる範囲は、式(1)の左右両辺によって表され、エージェントbが取り得る更新後の方策パラメータπ
ihの集合に対応する。すなわち、符号mbで示される範囲は、符号rbで示される範囲と符号sbで示される範囲の重複部分となる。符号mbで示される範囲に、更新後の方策パラメータが1つでもあれば、エージェントbの更新後の方策パラメータの取り得る範囲が存在することとなり、方策パラメータの更新幅が存在することとなる。なお、ここでいう更新幅とは、符号mbで示される範囲内のある点を更新後の方策パラメータとしたときに、この点と更新前の方策パラメータとを結ぶ線分のことをいう。
【0038】
図2Aでは、方策更新部14は、自身のエージェントbの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まる範囲内(mb)に、自身のエージェントbの方策パラメータの更新幅が存在するので、以下の処理を行う。すなわち、方策更新部14は、存在する更新幅で自身のエージェントの方策パラメータを更新する。そして、方策更新部14は、更新後の方策パラメータによる影響度を次の更新順のエージェントに共有させる。
【0039】
すると、算出部13は、次の更新順のエージェントcの固有の制約条件に対する影響度と、前の更新順のエージェントbの更新された方策パラメータによる影響度を共有した、システム全体の制約条件に対する影響度とを算出する。すなわち、算出部13は、エージェントcの固有の制約条件に対する影響度を算出するとともに、エージェントbの更新後の方策パラメータによる影響度を共有してシステム全体の制約条件に対する影響度を算出する。そして、方策更新部14は、自身のエージェントcの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントcの方策パラメータの更新幅が存在するか否かを判定する。言い換えれば、方策更新部14は、自身のエージェントcの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントcの更新後の方策パラメータの取り得る範囲が存在するか否かを判定する。
【0040】
ここでは、
図2Aに示すように、自身のエージェントcの固有の制約条件に対する影響度によって定まる範囲は、符号rcで示される範囲である。また、エージェントbの更新後の方策パラメータによる影響度を共有した、システム全体の制約条件に対する影響度で定まる範囲は、符号scで示される範囲である。そして、自身のエージェントcの更新後の方策パラメータの取り得る範囲は、符号rcで示される範囲と符号scで示される範囲の重複部分となる。かかる範囲に、更新後の方策パラメータが1つでもあれば、エージェントcの更新後の方策パラメータの取り得る範囲が存在することとなり、方策パラメータの更新幅が存在することとなる。
【0041】
図2Aでは、方策更新部14は、自身のエージェントcの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントcの方策パラメータの更新幅が存在するので、以下の処理を行う。すなわち、方策更新部14は、存在する更新幅で自身のエージェントの方策パラメータを更新する。
【0042】
これにより、方策更新部14は、各エージェントの方策パラメータをシステム全体の制約条件を満たす範囲内で更新することができる。この結果、方策更新部14は、複数のエージェントの行動の結果に依存するようなシステム全体の制約条件を考慮した学習を行うことができる。
【0043】
図2Bでは、途中の順番のエージェントで、方策パラメータの更新を打ち切る場合の例である。
図2Bに示すように、方策更新部14は、エージェントbの固有の制約条件に対する影響度で定まる範囲(rb)内に、エージェントbの方策パラメータの更新幅wbが存在し、システム全体の制約条件に対する影響度で定まる範囲(sb)内に、エージェントbの方策パラメータの更新幅wbが存在する。すなわち、方策更新部14は、エージェントbの方策パラメータの更新幅wbが前の更新順のエージェントaの方策の更新に伴うシステム全体の制約条件に対する影響度で定まる方策の範囲(sb)内に存在する。このため、方策更新部14は、エージェントbの方策パラメータを更新し、更新後の方策パラメータによる影響度を次の更新順のエージェントcに共有させる。
【0044】
次に、算出部13は、エージェントcの固有の制約条件に対する影響度を算出するとともに、エージェントbの更新後の方策パラメータによる影響度を共有してシステム全体の制約条件に対する影響度を算出する。そして、方策更新部14は、自身のエージェントcの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントcの方策パラメータの更新幅が存在するか否かを判定する。言い換えれば、方策更新部14は、自身のエージェントcの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まる範囲内に、自身のエージェントcの更新後の方策パラメータの取り得る範囲が存在するか否かを判定する。ここでは、エージェントcの固有の制約条件に対する影響度で定まる範囲(rc)内に、エージェントcの方策パラメータの更新幅wcが存在する。ところが、システム全体の制約条件に対する影響度で定まる範囲(sc)内に、エージェントcの方策パラメータの更新幅wcが存在しない。重複した範囲(rc,sc)に更新幅の共通部分が存在しない。このため、方策更新部14は、エージェントcの方策パラメータを更新しない。また、方策更新部14は、以降の更新順のエージェントの方策パラメータの更新を行わない。
【0045】
これは、方策パラメータの更新可能な更新幅が存在しないからである。言い換えれば、エージェント固有の制約条件を満たす方策パラメータの範囲と、システム全体の制約条件を満たす方策パラメータの範囲との重複した部分に、更新幅の共通部分が存在しないからである。これにより、方策更新部14は、エージェントc以降の方策パラメータの更新を避けることで、各エージェント固有の制約条件に加え、複数のエージェントの行動結果に依存するようなシステム全体の制約条件に関しても、学習中及び学習後の充足を保証できる。
【0046】
[マルチエージェント強化学習処理のフローチャート]
次に、情報処理装置1が実施するマルチエージェント強化学習処理の全体のフローチャートの一例について説明する。
図3A~
図3Cは、実施例に係るマルチエージェント強化学習処理の全体のフローチャートの一例を示す図である。
【0047】
図3Aに示すように、情報処理装置1は、学習パラメータを初期化する(ステップS11)。情報処理装置1は、学習エピソード数を初期化する(ステップS12)。ここでは、情報処理装置1は、学習エピソード数「1」を変数eに設定する。情報処理装置1は、エピソードeとして、一定時間の制御を実行し、その間の状態、行動、報酬の組合せ履歴をエージェントごとに組合せ履歴情報21に保存する(ステップS13)。
【0048】
図3Bに示すように、情報処理装置1は、エージェントの更新順をランダムに決定する(ステップS21)。情報処理装置1は、更新順に各エージェントを例えばi
1,i
2,・・・,i
nと番号付ける(ステップS22)。ここでは、nは、エージェント数であるとする。情報処理装置1は、エージェント更新インデックスhを初期化する(ステップS23)。ここでは、情報処理装置1は、変数hに「1」を設定する。
【0049】
情報処理装置1は、組合せ履歴情報21を用いて、エージェントih固有の制約条件に対する影響度(影響度A)を算出する(ステップS24)。情報処理装置1は、組合せ履歴情報21を用いて、システム全体の制約条件に対する影響度(影響度B)を算出する(ステップS25)。つまり、情報処理装置1は、前の更新順のエージェントにより共有された影響度に基づいてシステム全体の制約条件に対する影響度Bを算出する。
【0050】
情報処理装置1は、影響度Aおよび影響度Bにより定まる範囲内に、エージェントihの方策パラメータの更新幅が存在するか否かを判定する(ステップS26)。影響度Aおよび影響度Bにより定まる範囲内に、エージェントihの方策パラメータの更新幅が存在しないと判定した場合には(ステップS26;No)、情報処理装置1は、以下の処理を行う。すなわち、情報処理装置1は、エージェントihの方策パラメータおよび以降のエージェントの方策パラメータを更新しないで、ステップS41に移行する。
【0051】
一方、影響度Aおよび影響度Bにより定まる範囲内に、エージェントihの方策パラメータの更新幅が存在すると判定した場合には(ステップS26;Yes)、情報処理装置1は、以下の処理を行う。すなわち、情報処理装置1は、影響度Aおよび影響度Bにより定まる範囲内でエージェントihの方策パラメータを更新する(ステップS27)。
【0052】
そして、情報処理装置1は、エージェント更新インデックスhがエージェント数nより小さいか否かを判定する(ステップS28)。hがn以上であると判定した場合には(ステップS28;No)、情報処理装置1は、エージェント数分の処理が終了したので、ステップS41に移行する。
【0053】
hがnより小さいと判定した場合には(ステップS28;Yes)、情報処理装置1は、次の更新順のエージェントih+1に影響度Bを共有させる(ステップS29)。そして、情報処理装置1は、エージェント更新インデックスhを1だけ更新する(ステップS30)。そして、情報処理装置1は、次の更新順のエージェントihの更新処理をすべく、ステップS24に移行する。
【0054】
図3Cに示すように、ステップS41において、情報処理装置1は、方策パラメータを除く学習パラメータを更新する(ステップS41)。情報処理装置1は、学習エピソード数を1だけ更新する(ステップS42)。
【0055】
そして、情報処理装置1は、学習エピソード数eが最大エピソード数より大きいか否かを判定する(ステップS43)。学習エピソード数eが最大エピソード数より大きくないと判定した場合には(ステップS43;No)、情報処理装置1は、次の学習エピソードの処理をすべく、ステップS13に移行する。
【0056】
一方、学習エピソード数eが最大エピソード数より大きいと判定した場合には(ステップS43;Yes)、情報処理装置1は、マルチエージェント強化学習処理を終了する。
【0057】
なお、
図3A~
図3Cでは、情報処理装置1は、エピソードeが更新されると、一定時間の制御を実行し、その間の状態、行動、報酬の組合せ履歴をエージェントごとに組合せ履歴情報21に保存する。そして、情報処理装置1は、この組合せ履歴情報21を用いて、更新されたエピソードeにおける各エージェントの方策更新を行うと説明した。しかしながら、情報処理装置1は、これに限定されず、エピソードeが更新されると、既に組合せ履歴情報21に保存された組合せ履歴を用いて、更新されたエピソードeにおける各エージェントの方策更新を行っても良い。
【0058】
[マルチエージェント強化学習の適用結果の一例]
ここで、実施例に係るマルチエージェント強化学習を適用した結果について、
図4A~
図4Cを参照して説明する。
図4A~
図4Cは、実施例に係るマルチエージェント強化学習の適用結果の一例を示す図である。
図4A~
図4Cでは、(2本の平行したレール上を動く)2台のカートポールの制御のアルゴリズムを学習した場合の実験結果について説明する。
【0059】
図4Aに示すように、2台のカートポールが2本の平行したレール上にそれぞれ搭載されている。各カートポールは、「エージェント」の一例である。両カート間の距離が0.2よりも大きい場合にはコストを「1」とし、それ以外の場合にはコストを「0」とし、各エピソードにおける割引付き累積コスト(以降、「割引コスト」という)を10以下に保つことは、システム全体の「制約条件」の一例である。2台のカート位置・速度およびそのポールの角度・角速度は、「状態」の一例である。カートごとに右に動かすか、左に動かすか(それぞれのカートに、0or1の入力を与えること)は、「行動」の一例である。初期状態から2台の両方のカートともポールが倒れなかった時間は、「報酬(目的関数)」の一例である。かかる時間の最大は200秒であり、初期状態は一定範囲内でランダムに設定する。なお、実験では、問題の簡略化のため、(エージェント固有の制約条件を考慮しないで)システム全体の制約条件のみを考慮した。
【0060】
このような実験条件の下で、マルチエージェント強化学習が試行された。
【0061】
図4Bには、システム全体の制約条件を考慮した学習と考慮しない学習とのエピソードごとの累積した報酬(累積報酬)を示すグラフが表わされている。グラフのX軸は、エピソードの数が示されている。グラフのY軸は、累積報酬が示されている。実線で示される折れ線は、システム全体の制約条件を考慮した学習(Proposed)についてのエピソードに対応する累積報酬の結果である。一点鎖線で示される折れ線は、システム全体の制約条件を考慮しない学習(MATPRO)についてのエピソードに対応する累積報酬の結果である。各折れ線は、それぞれ5回の試行の平均値である。
【0062】
図4Bに示すように、累積報酬は、システム全体の制約条件を考慮した学習の場合も考慮しない場合も、学習により報酬が最大値(200秒)付近まで増加しているのがわかる。
【0063】
また、
図4Cには、システム全体の制約条件を考慮した学習と考慮しない学習とのエピソードごとのシステム全体の制約に対する割引コストを示すグラフが表わされている。グラフのX軸は、エピソードの数が示されている。グラフのY軸は、割引コストが示されている。破線は、閾値であり、システム全体の制約に対する割引コストとして「10」を示している。閾値が「10」であるのは、システム全体の制約条件が各エピソードにおける割引コストを10以下に保つことであるからである。実線で示される折れ線は、システム全体の制約条件を考慮した学習(Proposed)についてのエピソードごとのシステム全体の制約に対する割引コストの結果である。一点鎖線で示される折れ線は、システム全体の制約条件を考慮しない学習(MATPRO)についてのエピソードごとのシステム全体の制約に対する割引コストの結果である。各折れ線は、それぞれ5回の試行の平均値である。
【0064】
図4Cに示すように、システム全体の制約に対する割引コストは、システム全体の制約条件を考慮した学習の場合には、閾値の「10」をほぼ超えない結果が表わされている。つまり、システム全体の制約条件を考慮した学習の場合には、学習途中のエピソードにおいても、システム全体の制約をほぼ充足していることがわかる。これに対して、システム全体の制約条件を考慮しない学習の場合には、ほぼ閾値の「10」を超える結果が表わされている。
【0065】
したがって、実施例に係るマルチエージェント強化学習では、学習中においても学習後においてもシステム全体の制約条件を充足しながら、報酬を増加させる方策を更新する学習を達成することができる。すなわち、実施例に係るマルチエージェント強化学習は、複数のエージェントの行動の結果に依存するようなシステム全体の制約条件を考慮した学習を行うことができる。
【0066】
なお、
図4A~
図4Cでは、マルチエージェント強化学習の適用例として2台のカートポールの制御のアルゴリズムを学習する場合を説明した。しかしながら、マルチエージェント強化学習は、これに限定されるものではない。
【0067】
例えば、マルチエージェント強化学習は、通信ネットワークの基地局(BS)における停波制御のアルゴリズムを学習する場合に適用されても良い。かかる場合には、各エリアのBSに接続している全ユーザの平均満足度を一定以上に保ちながら、全BSの消費電力の総和を最小にするような各BSの停波制御のアルゴリズムを学習する。ここでは、各BSは、「エージェント」の一例である。全ユーザの平均満足度を一定以上に保つことは、システム全体を含む「制約条件」の一例である。時刻、グリッドの需要量、前時刻のBSの負荷、前時刻のBSの消費電力などは、「状態」の一例である。BSを停波するか否か(BSのオン/オフ)は、「行動」の一例である。全BSの消費電力の総和は、「報酬(目的関数)」の一例である。
【0068】
これにより、マルチエージェント強化学習では、学習中においても学習後においてもシステム全体の制約条件を充足しながら、報酬を最小にする方策を更新する学習を達成することができる。加えて、複数エリアに跨る広範囲での協調的なBS停波制御が可能になり、省電力性能が更に向上する。また、マルチエージェント強化学習は、目的関数の重み係数やペナルティ項のチューニングをせずにエリア全体のユーザ満足度の保証を実現し、その学習の試行錯誤にかかる必要工数を削減できる。
【0069】
また、別の例では、マルチエージェント強化学習は、データセンタにおける空調制御のアルゴリズムを学習する場合に適用されても良い。かかる場合には、データセンタ内のサーバの温度を一定値以下に保ちながら、データセンタ内に複数台設置されている全空調機の消費電力の総和を最小にするような各空調機の制御のアルゴリズムを学習する。ここでは、データセンタ内のサーバの温度を一定値以下に保つことは、システム全体を含む「制約条件」の一例である。時刻、サーバの温度、前時刻のサーバの消費電力、前時刻の空調機の設定温度などは、「状態」の一例である。各空調機の設定温度(または設定温度の上げ下げの指令)、空調の強度などは、「行動」の一例である。全空調機の消費電力の総和は、「報酬(目的関数)」の一例である。
【0070】
これにより、マルチエージェント強化学習では、学習中においても学習後においてもシステム全体の制約条件を充足しながら、報酬を最小にする方策を更新する学習を達成することができる。加えて、複数台の空調機の協調的な空調制御が可能になり、省電力性能が更に向上する。また、マルチエージェント強化学習は、目的関数の重み係数やペナルティ項のチューニングをせずにデータセンタ内のサーバの温度を一定値以下であることの保証を実現し、その学習の試行錯誤にかかる必要工数を削減できる。
【0071】
また、別の例では、マルチエージェント強化学習は、複数台のドローンを用いた物資の運搬問題のアルゴリズムを学習する場合に適用されても良い。かかる場合には、各ドローン間の距離を一定以上に保ちながら、物資(運搬物)の運搬時間を最短にするような各ドローンの制御のアルゴリズムを学習する。ここでは、各ドローン間の距離を一定以上に保つことは、システム全体を含む「制約条件」の一例である。各ドローンの位置、速度などは、「状態」の一例である。各ドローンの各プロペラの回転数(または各プロペラのトルク入力)は、「行動」の一例である。物資(運搬物)の運搬時間は、「報酬(目的関数)」の一例である。
【0072】
これにより、マルチエージェント強化学習では、学習中においても学習後においてもシステム全体の制約条件を充足しながら、報酬を最小にする方策を更新する学習を達成することができる。加えて、複数台のドローンによる協調的な飛行や運搬が可能になり、運搬時間が更に短縮する。また、マルチエージェント強化学習は、目的関数の重み係数やペナルティ項のチューニングをせずに各ドローン間の距離一定以上であることの保証を実現し、その学習の試行錯誤にかかる必要工数を削減できる。
【0073】
[実施例の効果]
上記実施例によれば、情報処理装置1は、複数のエージェントが存在する制約条件付き制御問題において、各エージェントの方策パラメータの所定の更新順に従って、自身のエージェントの固有の制約条件に対する影響度と、前の更新順のエージェントの更新された方策パラメータによる影響度を共有した、システム全体の制約条件に対する影響度とを算出する。情報処理装置1は、自身のエージェントの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まるそれぞれの範囲内に、自身のエージェントの方策パラメータの更新幅が存在する場合、自身のエージェントの方策パラメータを更新して、更新後の影響度を次の更新順のエージェントに共有させる。かかる構成によれば、情報処理装置1は、複数のエージェントの行動の結果に依存するようなシステム全体の制約条件を考慮した学習を行うことができる。
【0074】
また、上記実施例によれば、情報処理装置1は、自身のエージェントの固有の制約条件に対する影響度およびシステム全体の制約条件に対する影響度で定まるそれぞれの範囲内に、自身のエージェントの方策パラメータの更新幅が存在しない場合、自身のエージェントおよび以降の更新順のエージェントの方策パラメータの更新を行わない。かかる構成によれば、情報処理装置1は、各エージェント固有の制約条件に加え、複数のエージェントの行動結果に依存するようなシステム全体の制約条件に関しても、学習中及び学習後の充足を保証できる。
【0075】
また、上記実施例によれば、情報処理装置1は、エージェントが共通の報酬の最大化または最小化を目的とした各エージェントの方策パラメータの更新に関して、各エージェントの方策パラメータの更新順をランダムに決定する。情報処理装置1は、決定された更新順に従って、自身のエージェントの固有の制約条件に対する影響度とシステム全体の制約条件に対する影響度とを算出する。かかる構成によれば、情報処理装置1は、各エージェントの方策パラメータの更新順をランダムに決定することで、各エージェントの方策パラメータを万遍なく更新できる。
【0076】
なお、図示した情報処理装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、情報処理装置1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。また、記憶部20を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
【0077】
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、
図1に示した情報処理装置1と同様の機能を実現するマルチエージェント強化学習プログラムを実行するコンピュータの一例を説明する。ここでは、情報処理装置1と同様の機能を実現するマルチエージェント強化学習プログラムを一例として説明する。
図5は、マルチエージェント強化学習プログラムを実行するコンピュータの一例を示す図である。
【0078】
図5に示すように、コンピュータ200は、各種演算処理を実行するCPU(Central Processing Unit)203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信I/F(Interface)217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD(Hard Disk Drive)205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、表示装置209、ドライブ装置213、入力装置215、通信I/F217は、バス219で接続されている。
【0079】
ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、マルチエージェント強化学習プログラム205aおよびマルチエージェント強化学習処理関連情報205bを記憶する。通信I/F217は、ネットワークと装置内部とのインターフェースを司り、他のコンピュータからのデータの入出力を制御する。通信I/F217には、例えば、モデムやLANアダプタなどを採用することができる。
【0080】
表示装置209は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する表示装置である。表示装置209は、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイなどを採用することができる。
【0081】
CPU203は、マルチエージェント強化学習プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは情報処理装置1の各機能部に対応する。マルチエージェント強化学習処理関連情報205bには、例えば、組合せ履歴情報21が含まれる。そして、例えばリムーバブルディスク211が、マルチエージェント強化学習プログラム205aなどの各情報を記憶する。
【0082】
なお、マルチエージェント強化学習プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからマルチエージェント強化学習プログラム205aを読み出して実行するようにしても良い。