IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2024-118220強化学習プログラム、情報処理装置および強化学習方法
<>
  • 特開-強化学習プログラム、情報処理装置および強化学習方法 図1
  • 特開-強化学習プログラム、情報処理装置および強化学習方法 図2
  • 特開-強化学習プログラム、情報処理装置および強化学習方法 図3
  • 特開-強化学習プログラム、情報処理装置および強化学習方法 図4
  • 特開-強化学習プログラム、情報処理装置および強化学習方法 図5
  • 特開-強化学習プログラム、情報処理装置および強化学習方法 図6
  • 特開-強化学習プログラム、情報処理装置および強化学習方法 図7
  • 特開-強化学習プログラム、情報処理装置および強化学習方法 図8
  • 特開-強化学習プログラム、情報処理装置および強化学習方法 図9
  • 特開-強化学習プログラム、情報処理装置および強化学習方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024118220
(43)【公開日】2024-08-30
(54)【発明の名称】強化学習プログラム、情報処理装置および強化学習方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240823BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023024535
(22)【出願日】2023-02-20
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】檀 隼人
(72)【発明者】
【氏名】石川 菜月
(72)【発明者】
【氏名】大川 佳寛
(72)【発明者】
【氏名】小川 雅俊
(57)【要約】
【課題】学習データにはない文章入力に対しても、認識精度を向上させる。
【解決手段】情報処理装置1は、強化学習におけるポリシーの最適化問題において、信頼領域を設定してポリシーの更新を行う際に、更新前後のポリシーの差を観測し、観測した差が信頼領域のある範囲内に留まるように、ポリシーの更新に至るアルゴリズムの動作に応じて、前記信頼領域の閾値を調整する。かかる情報処理装置1の処理は、例えば、携帯基地局の通信品質を担保しながら、省電力を行う制約条件付きのCPOに適用することができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
強化学習におけるポリシーの最適化問題において、
信頼領域を設定してポリシーの更新を行う際に、更新前後のポリシーの差を観測し、
観測した差が信頼領域のある範囲内に留まるように、ポリシーの更新に至るアルゴリズムの動作に応じて、前記信頼領域の閾値を調整する
処理をコンピュータに実行させることを特徴とする強化学習プログラム。
【請求項2】
前記閾値を調整する処理は、
前記ポリシーの近似解と更新前のポリシーとの差が前記閾値以下であるという制約条件を満たすかどうかを判定し、前記制約条件を満たさないと判定した場合には前記ポリシーの近似解を前記更新前のポリシーに近づけて判定処理を繰り返し、前記制約条件を満たすと判定した場合には前記ポリシーの近似解を更新するという前記アルゴリズムの動作に基づいて、前記閾値を調整する
ことを特徴とする請求項1に記載の強化学習プログラム。
【請求項3】
前記閾値を調整する処理は、最初の前記判定処理で前記制約条件を満たすと判定した場合には、前記閾値を大きくし、最初の前記判定処理で前記制約条件を満たさないと判定した場合でも2回目以降の前記判定処理で前記制約条件を満たすと判定した場合には、前記閾値を所定値分小さくし、2回目以降の前記判定処理で前記制約条件を満たさないと判定した場合には、前記閾値を所定値分大きくする
ことを特徴とする請求項2に記載の強化学習プログラム。
【請求項4】
前記閾値を調整する処理は、前記アルゴリズムの動作により得られた、前記閾値に対する更新前後のポリシーの差に基づいて、前記閾値を調整する
ことを特徴とする請求項1に記載の強化学習プログラム。
【請求項5】
前記閾値を調整する処理は、前記閾値に対する更新前後のポリシーの差が第1の基準値以上である場合に、前記閾値を所定値分大きくし、前記閾値に対する更新前後のポリシーの差が前記第1の基準値未満である場合に、前記閾値を所定値分小さくする
ことを特徴とする請求項4に記載の強化学習プログラム。
【請求項6】
前記閾値を調整する処理は、
前記ポリシーの近似解と更新前のポリシーとの差が前記閾値以下であるという制約条件を満たすかどうかを判定し、前記制約条件を満たさないと判定した場合には前記ポリシーの近似解を前記更新前のポリシーに近づけて判定処理を繰り返し、前記制約条件を満たすと判定した場合には前記ポリシーの近似解を更新するという前記アルゴリズムにおける更新に至る繰り返し回数に基づいて、前記閾値を調整する
ことを特徴とする請求項1に記載の強化学習プログラム。
【請求項7】
前記閾値を調整する処理は、前記繰り返し回数が第2の基準値以上である場合に、前記閾値を所定値分小さくし、前記繰り返し回数が前記第2の基準値未満である場合に、前記閾値を所定値分大きくする
ことを特徴とする請求項6に記載の強化学習プログラム。
【請求項8】
強化学習におけるポリシーの最適化問題において、
信頼領域を設定してポリシーの更新を行う際に、更新前後のポリシーの差を観測する観測部と、
前記観測部によって観測された差が信頼領域のある範囲内に留まるように、ポリシーの更新に至るアルゴリズムの動作に応じて、前記信頼領域の閾値を調整する調整部と、
を有することを特徴とする情報処理装置。
【請求項9】
強化学習におけるポリシーの最適化問題において、
信頼領域を設定してポリシーの更新を行う際に、更新前後のポリシーの差を観測し、
観測した差が信頼領域のある範囲内に留まるように、ポリシーの更新に至るアルゴリズムの動作に応じて、前記信頼領域の閾値を調整する
処理をコンピュータが実行することを特徴とする強化学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、強化学習プログラムなどに関する。
【背景技術】
【0002】
従来、ある環境に対してポリシーに基づき行動を決定し、その結果得られる報酬を基にポリシーを更新することで、報酬が最適化されるようにポリシーを更新(改善)していく強化学習(Reinforcement learning)の技術がある。
【0003】
ポリシーを更新する手法として、例えば、信頼領域ポリシー最適化(TRPO:Trust Region Policy Optimization)が知られている。かかるTRPOは、以下の式(1)のように、強化学習におけるポリシーの更新を、更新前と更新後とのポリシー間のKL距離(Kullback-Leibler divergence)の制約条件付き最適化問題として捉える。なお、πold,πnewは、更新前,更新後のポリシー(確率分布)である。J(・)は、報酬期待値である。E[DKL(πnew||πold)]は、更新前と更新後とのポリシー間のKL距離の期待値である。
【数1】
【0004】
KL(πnew||πold)で表されるKL距離は、2つの確率分布間の差を表す指標である。したがって、TRPOは、更新前と更新後とのポリシーの差に上限δを設けたうえで、報酬期待値の向上幅が最大となるポリシーπnewを求めるアルゴリズムといえる。なお、実際、報酬期待値J(・)やKL距離の期待値E[DKL(πnew||πold)]を厳密に求めることは困難であるので、更新前のポリシーで収集したデータを用いたポリシーの近似値を使用して報酬期待値やKL距離の期待値を求める。この際、更新前と更新後とのポリシーが大きく異なっていると、近似が使用できないので、信頼できる領域としてKL距離に上限δが設けられている。
【0005】
また、TRPOの派生アルゴリズムとしてCPO(Constrained Policy Optimizaion)がある。CPOは、ポリシーに対して物理的な制約などを考慮する際に用いられるアルゴリズムである。CPOも、TRPOと同様に、KL距離に上限を設けた最適化問題を考慮し、ポリシーの更新を行う。
【0006】
また、強化学習において、方策(ポリシー)を改善することに関する技術が開示されている(例えば、特許文献1,2参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2021-064222号公報
【特許文献2】特開2021-033332号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、信頼領域ポリシー最適化(TRPO)のようなKL距離に上限を設けた強化学習において、KL距離の上限δの値によって学習の進み方が変化することが知られている。しかしながら、学習には多大な時間がかかるため、様々な上限δの値で学習を行い、様々な上限δの値の中で最適な値を見つけるという作業は非効率である。すなわち、学習に最適な上限δの値を自動的に調整するのは難しいという問題がある。
【0009】
本発明は、1つの側面では、KL距離に上限を設けた強化学習において、学習に最適な上限の値を自動的に調整することを目的とする。
【課題を解決するための手段】
【0010】
1つの態様では、強化学習プログラムは、強化学習におけるポリシーの最適化問題において、信頼領域を設定してポリシーの更新を行う際に、更新前後のポリシーの差を観測し、観測した差が信頼領域のある範囲内に留まるように、ポリシーの更新に至るアルゴリズムの動作に応じて、前記信頼領域の閾値を調整する、処理をコンピュータに実行させる。
【発明の効果】
【0011】
1実施態様によれば、KL距離に上限を設けた強化学習において、学習に最適な上限の値を自動的に調整することができる。
【図面の簡単な説明】
【0012】
図1図1は、実施例1に係る情報処理装置の機能構成の一例を示す図である。
図2図2は、実施例1に係る学習で実施されるポリシー更新を説明する図である。
図3図3は、実施例1に係るδの調整を説明する図である。
図4図4は、実施例1に係る強化学習処理のフローチャートの一例を示す図である。
図5図5は、実施例1に係る調整処理のフローチャートの一例を示す図である。
図6図6は、実施例2に係る調整処理のフローチャートの一例を示す図である。
図7図7は、実施例3に係る調整処理のフローチャートの一例を示す図である。
図8図8は、実施例1~3に係る強化学習処理の検証結果の一例を示す図である。
図9図9は、強化学習プログラムを実行するコンピュータの一例を示す図である。
図10図10は、上限δを変えて学習の進み方を示すグラフである。
【発明を実施するための形態】
【0013】
以下に、本願の開示する強化学習プログラム、情報処理装置および強化学習方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
【0014】
まず、強化学習について説明する。強化学習は、ある環境に対してポリシーに基づき行動を決定し、その結果得られる報酬を基にポリシーを更新することで、報酬が最適化されるようにポリシーを更新していく。すなわち、強化学習は、行動や報酬などの履歴をもとにより良いポリシーに更新すべく学習する。
【0015】
強化学習には、信頼領域ポリシー最適化(TRPO)の手法がある。TRPOの手法は、強化学習におけるポリシーの更新を、更新前と更新後とのポリシー間のKL距離の制約条件付き最適化問題として捉える。TRPOは、前述した式(1)を用いたアルゴリズムである。すなわち、TRPOは、更新前と更新後のポリシーの差に上限値(式(1)のδ)を設けたうえで、報酬期待値(式(1)のJ(・))の向上幅が最大となるポリシーを求めるアルゴリズムである。
【0016】
実際、報酬期待値(式(1)のJ(・))やKL距離の期待値(式(1)のE[DKL(πnew||πold)])を厳密に求めることは困難であるので、TRPOは、更新前のポリシーで収集したデータを用いたポリシーの近似値を使用して報酬期待値やKL距離の期待値を求める。この際、更新前と更新後とのポリシーが大きく異なっていると、近似が使用できないので、信頼できる領域としてKL距離に上限δが設けられている。
【0017】
ここで、TRPOのようなKL距離に上限を設けた強化学習において、KL距離の上限δの値によって学習の進み方が変化することが知られている。
【0018】
図10は、上限δを変えて学習の進み方を示すグラフである。各グラフは、上限δの値を「10-1」,「10-2」,「10-3」,「10-4」,「10-5」とした場合の学習結果である。各グラフは、横軸をポリシー更新回数とし、縦軸を報酬とする。各グラフは、同じ学習を3回実施した結果であり、平均および分散が表されている。黒の実線が平均である。
【0019】
これによると、報酬が早く(少ないポリシー更新回数で)安定的に上昇するのは、上限δが「10-3」の場合である。上限δが「10-1」については、報酬は上昇しているが、不安定である。上限δが「10-2」については、報酬は上昇しているが、分散(ばらつき)が大きい。また、上限δが「10-4」や「10-5」については、報酬は少しずつ上昇しているものの、学習速度が遅い。このように、上限δは、ポリシー最適化の学習に最適な値があることが示唆される。また、上限δは、対象の問題ごとに異なることが予想される。
【0020】
一般に、学習には多大な時間がかかるため、様々な上限δの値で学習を行い、最適な上限δの値を見つけるという作業は非効率である。すなわち、学習に最適な上限δの値を自動的に調整するのは難しい。
【0021】
そこで、以降の実施例では、更新前と更新後のポリシーの差の上限値δをポリシー最適化の学習と並行して動的に調整して、最適な上限値を探索する手法について説明する。
【実施例0022】
図1は、実施例に係る情報処理装置の機能構成の一例を示すブロック図である。図1に示される情報処理装置1は、強化学習において、信頼領域を設定してポリシーの更新を行う際に、更新前と更新後のポリシーの差を観測し、観測した差が信頼領域のある範囲内に留まるように、信頼領域の閾値(上限値δ)を調整する。すなわち、情報処理装置1は、更新前と更新後のポリシーの差の上限値δをポリシー最適化の学習と並行して動的に調整する。
【0023】
情報処理装置1は、制御部10と、記憶部20とを有する。制御部10は、学習部11と、調整部12とを有する。記憶部20は、学習データ21を有する。なお、学習部11は、観測部の一例である。調整部12は、調整部の一例である。
【0024】
学習データ21は、学習で用いられるデータを記憶する。学習データ21は、ポリシーに基づいて行った行動、行動を行った際の環境の状態、得られた報酬をポリシーごとに記憶したログデータである。学習データ21は、Trajectoryということがある。
【0025】
学習部11は、信頼領域を設定してポリシーの更新を行う。例えば、学習部11は、学習データ21から現在のポリシーに基づきTrajectoryを収集する。そして、学習部11は、収集したTrajectoryを用いて、式(1)の最適化問題を満たすようにポリシーを更新する。すなわち、学習部11は、式(1)に基づいて、更新前と更新後とのポリシーの差DKL(π||πold)(KL距離)が上限δ以下となるような制約条件を設けたうえで、報酬期待値J(・)の向上幅が最大となるポリシーπnewを求めて更新する。なお、制約条件(式(1)右式参照)は、信頼領域の一例である。制約条件の上限値δは、信頼領域の閾値の一例である。
【0026】
実際のアルゴリズムでは、式(1)の最適化問題のポリシーπの厳密解を求めることは困難である。このため、学習部11は、求解可能である近似した最適化問題の解π newを用いたうえで、以下の処理を行う。学習部11は、解π newが更新前の解πoldとの関係で最適化問題の制約条件を満たすかどうかを判定する。すなわち、学習部11は、近似解π newと更新前の解πoldとの差がδ以下であるという制約条件を満たすかどうかを判定する。そして、学習部11は、近似解π newが更新前の解πoldとの関係で最適化問題の制約条件を満たさない場合には、近似解π newを更新前の解πoldに近づけて、再度判定処理を行う。そして、学習部11は、近似解π newが更新前の解πoldとの関係で最適化問題の制約条件を満たせば、ポリシーを近似解π newに更新する。すなわち、学習部11は、判定処理を繰り返すことで、式(1)の最適化問題の制約条件を満たすことを保証する。なお、繰り返しの回数は、δの値によって変化する。このように、更新前の解πoldと近似解π newとのライン間で制約条件を満たす近似解を探索する処理のことを「ラインサーチ(Line search)」という。
【0027】
ここで、学習部11の学習で実施されるポリシー更新を、図2を参照して説明する。図2は、実施例1に係る学習で実施されるポリシー更新を説明する図である。図2で示すπoldは、更新前のポリシーである。図2で示すπ newは、πnewの近似解である(例えば式(1)左式参照)。なお、π newは、ラインサーチに応じてπoldとの関係で報酬期待値の向上幅が最大となる近似解となる。
【0028】
このような状況の下、学習部11は、π newが更新前のπoldとの関係で最適化問題の制約条件を満たすかどうかを判定する(例えば式(1)右式参照)。学習部11は、近似解π newが更新前の解πoldとの関係で最適化問題の制約条件を満たさない場合には、ラインサーチを実行する。すなわち、学習部11は、近似解π newを更新前の解πoldに近づけて(符号a1)、新たなπ newが更新前のπoldとの関係で最適化問題の制約条件を満たすかどうかの判定処理を再び行う(例えば式(1)右式参照)。そして、学習部11は、近似解π newが制約条件を満たせば、ポリシーを近似解π newに更新する。学習部11は、近似解π newが制約条件を満たさなければ、近似解π newが制約条件を満たすまでラインサーチを繰り返す(符号a2)。なお、学習部11は、最初のπ newが更新前のπoldとの関係で最適化問題の制約条件を満たす場合には、ラインサーチに入らないで、更新後のポリシーを最初の近似解π newに更新する。
【0029】
図1に戻って、調整部12は、1回分のポリシーの更新に基づいて、信頼領域の閾値を調整する。例えば、調整部12は、ラインサーチの動作に着目して、制約条件の上限値δを調整する。
【0030】
一例として、調整部12は、ラインサーチに入らないで(最初の判定処理で)ポリシーを更新した場合には、上限値δを予め定められた所定値分大きくする。これは、ラインサーチに入らないでも近似解π newを更新できたということは、近似の精度が十分であるといえるので、学習速度を向上させるために上限値δを大きくする。なお、所定値は、例えば、上限値δの大きさに応じて予め定義されれば良い。
【0031】
また、調整部12は、ラインサーチに入ってポリシーの更新に成功した場合には、上限値δを所定値分小さくする。これは、ラインサーチに入って近似解π newを更新したということは、近似の精度が十分でないといえるので、近似の精度を良くして正確なポリシーの更新を行わせるために、上限値δを小さくする。
【0032】
また、調整部12は、ラインサーチでポリシーの更新に失敗した場合には、上限値δを所定値分大きくする。これは、ラインサーチを繰り返した結果π newが更新前のπoldに戻ってしまい、良いポリシーがみつからなかったので、ラインサーチの探索範囲を広げるべく、上限値δを大きくする。
【0033】
ここで、上限値δの調整について、図3を参照して説明する。図3は、実施例1に係るδの調整を説明する図である。図3に示すように、調整部12は、学習部11による1回のポリシー更新の都度、上限値δを調整する。すなわち、調整部12は、上限値δを学習と並行して動的に調整し、最適な値を探索する。ここでは、図3左は、予め定められた上限値δを変更しないで、ポリシーを更新した場合のグラフである。これに対して、図3右は、1回のポリシー更新の結果を踏まえて、上限値δを動的に調整した場合のグラフである。上限値δを動的に調整した場合には、ポリシー更新の回数を重ねるにつれて、上限値δは最適値に向かって調整される。
【0034】
図4は、実施例1に係る強化学習処理のフローチャートの一例を示す図である。なお、図4では、学習部11は、強化学習の更新前のポリシーとしてπoldを受け付けたとする。
【0035】
すると、学習部11は、更新前のポリシーに基づき、学習データ21からTrajectoryを収集する(ステップS11)。そして、学習部11は、最適化問題(1´)を定式化する(ステップS12)。例えば、学習部11は、収集したTrajectoryおよび式(1)を用いて、最適化問題を定式化する。
【0036】
そして、学習部11は、最適化問題(1´)の解π newを求める(ステップS13)。例えば、学習部11は、式(1)左式を用いて、πoldとの関係で報酬期待値の向上幅が最大となる近似解π newを求める。
【0037】
そして、学習部11は、ラインサーチを実行し、ポリシーを更新する(ステップS14)。例えば、学習部11は、近似解π newと更新前の解πoldとの差が上限値δ以下であるという制約条件を満たすかどうかを判定する。そして、学習部11は、近似解π newが更新前の解πoldとの関係で最適化問題の制約条件を満たさない場合には、近似解π newを更新前の解πoldに近づけて、再度判定処理を行う。そして、学習部11は、近似解π newが更新前の解πoldとの関係で最適化問題の制約条件を満たせば、ポリシーを近似解π newに更新する。
【0038】
続いて、調整部12は、上限値を示すδの値を調整する(ステップS15)。なお、δの値を調整する処理は、後述する。
【0039】
そして、学習部11は、ポリシー更新回数が最大か否かを判定する(ステップS16)。ポリシー更新回数が最大でないと判定した場合には(ステップS16;No)、学習部11は、次のポリシー更新の回の処理をすべく、ステップS11に移行する。
【0040】
一方、ポリシー更新回数が最大であると判定した場合には(ステップS16;Yes)、学習部11は、強化学習処理を終了する。
【0041】
図5は、実施例1に係る調整処理のフローチャートの一例を示す図である。図5に示すように、調整部12は、学習部11によるポリシー更新について、ラインサーチ(Line search)に入ったか否かを判定する(ステップS21)。すなわち、調整部12は、ラインサーチに入ってポリシー更新をしたか否かを判定する。
【0042】
ラインサーチに入っていないと判定した場合には(ステップS21;No)、調整部12は、上限値δを所定値分大きくする(ステップS22)。これは、ラインサーチに入らないでも近似解π newを更新できたということは、近似の精度が十分であるといえるので、学習速度を向上させるために上限値δを大きくする。そして、調整部12は、調整処理を終了する。
【0043】
一方、ラインサーチに入ったと判定した場合には(ステップS21;Yes)、調整部12は、ラインサーチでポリシーの更新に成功したか否かを判定する(ステップS23)。ラインサーチでポリシーの更新に成功しなかった(失敗した)と判定した場合には(ステップS23;No)、調整部12は、上限値δを所定値分大きくする(ステップS24)。これは、ラインサーチを繰り返した結果π newが更新前のπoldに戻ってしまい、良いポリシーがみつからなかったので、ラインサーチの探索範囲を広げるべく、上限値δを大きくする。そして、調整部12は、調整処理を終了する。
【0044】
一方、ラインサーチでポリシーの更新に成功したと判定した場合には(ステップS23;Yes)、調整部12は、上限値δを所定値分小さくする(ステップS25)。これは、ラインサーチに入って近似解π newを更新したということは、近似の精度が十分でないといえるので、近似の精度を良くして正確なポリシーの更新を行わせるために、上限値δを小さくする。そして、調整部12は、調整処理を終了する。
【0045】
[実施例1の効果]
上記実施例1によれば、情報処理装置1は、強化学習におけるポリシーの最適化問題において、信頼領域を設定して1回のポリシーの更新を行う際に、更新前後のポリシーの差を観測する。情報処理装置1は、観測した差が信頼領域のある範囲内に留まるように、ポリシーの更新に至るアルゴリズムの動作に応じて、信頼領域の閾値を調整する。かかる構成によると、情報処理装置1は、強化学習に最適な信頼領域の閾値を自動的に調整できる。
【0046】
また、上記実施例1によれば、情報処理装置1では、閾値を調整する処理が、ポリシーの近似解と更新前のポリシーとの差が閾値以下であるという制約条件を満たすかどうかを判定する。閾値を調整する処理は、制約条件を満たさないと判定した場合にはポリシーの近似解を更新前のポリシーに近づけて判定処理を繰り返す。閾値を調整する処理は、制約条件を満たすと判定した場合にはポリシーの近似解を更新する。閾値を調整する処理は、かかるアルゴリズムの動作に基づいて、閾値を調整する。かかる構成によると、情報処理装置1は、ポリシーを更新するアルゴリズムの動作に着目して信頼領域の閾値を調整できる。
【0047】
また、上記実施例1によれば、情報処理装置1では、閾値を調整する処理が、最初の判定処理で制約条件を満たすと判定した場合には、閾値を所定値分大きくする。閾値を調整する処理は、最初の判定処理で制約条件を満たさないと判定した場合でも2回目以降の判定処理で制約条件を満たすと判定した場合には、閾値を所定値分小さくする。閾値を調整する処理は、2回目以降の判定処理で制約条件を満たさないと判定した場合には、閾値を大きくする。かかる構成によると、情報処理装置1は、ポリシーを更新するアルゴリズムの動作に基づいて最適な信頼領域の閾値を調整できる。
【実施例0048】
ところで、実施例1に係る情報処理装置1では、調整部12が、1回のポリシーの更新の際のラインサーチの動作(過程)に着目して、制約条件の上限値δを調整すると説明した。しかしながら、調整部12は、これに限定されず、1回のポリシーの更新の際のラインサーチの動作により得られる更新後のポリシーと更新前のポリシーとの差(KL距離)に着目して、制約条件の上限値δを調整しても良い。
【0049】
そこで、実施例2では、情報処理装置1における調整部12が、1回のポリシーの更新の際のラインサーチの動作により得られる更新後のポリシーと更新前のポリシーとの差(KL距離)に着目して、制約条件の上限値δを調整する場合を説明する。なお、実施例2に係る情報処理装置1の機能構成は、図1に示す情報処理装置1と同一の構成であるので、その説明を省略する。
【0050】
実施例2に係る調整部12は、1回分のポリシーの更新に基づいて、信頼領域の閾値を調整する。例えば、調整部12は、ラインサーチの動作により得られる更新後のポリシーと更新前のポリシーとの差(KL距離)に着目して、制約条件の上限値δを調整する。
【0051】
一例として、調整部12は、ラインサーチの動作により得られた更新後のポリシーと更新前のポリシーとの差であってラインサーチで用いられた制約条件の上限値δに対する差を計算する。すなわち、調整部12は、E[DKL(π new||πold)]/δを計算する。
【0052】
そして、調整部12は、計算した値が第1の基準値以下である場合には、上限値δを予め定められた所定値分小さくする。これは、上限値δに対して実際の更新幅が小さく、正確のポリシーの更新を行うためには、もう少し小さな幅で更新を行う必要があると考えられるので、上限値δを小さくする。なお、所定値は、例えば、上限値δの大きさに応じて予め定義されれば良い。また、第1の基準値は、例えば、上限値δの大きさおよびKL距離の大きさに応じて予め定義されれば良い。
【0053】
また、調整部12は、計算した値が第1の基準値より大きい場合には、上限値δを予め定められた所定値分大きくする。これは、上限値δに対して実際の更新幅が大きく、現在の上限値δで十分正確なポリシーの更新ができていると考えられるので、学習速度を向上させるために上限値δを大きくする。
【0054】
ここで、実施例2に係る調整処理のフローチャートについて説明する。なお、実施例2に係る強化学習処理のフローチャートについては、図4に示す強化学習処理のフローチャートと同一の処理であるので、その説明を省略する。
【0055】
図6は、実施例2に係る調整処理のフローチャートの一例を示す図である。なお、調整部12による調整処理は、学習部11による強化学習処理から1回のポリシー更新の更新後のポリシーπ newを受け付けたとする。
【0056】
図6に示すように、調整部12は、E[DKL(π new||πold)]/δを計算する(ステップS31)。そして、調整部12は、計算した値が基準値以下であるか否かを判定する(ステップS32)。計算した値が基準値以下であると判定した場合には(ステップS32;Yes)、調整部12は、上限値δを所定値分小さくする(ステップS33)。これは、上限値δに対して実際の更新幅が小さく、正確のポリシーの更新を行うためには、もう少し小さな幅で更新を行う必要があると考えられるので、上限値δを小さくする。そして、調整部12は、調整処理を終了する。
【0057】
一方、計算した値が基準値以下でないと判定した場合には(ステップS32;No)、調整部12は、上限値δを所定値分大きくする(ステップS34)。これは、上限値δに対して実際の更新幅が大きく、現在の上限値δで十分正確なポリシーの更新ができていると考えられるので、学習速度を向上させるために上限値δを大きくする。そして、調整部12は、調整処理を終了する。
【0058】
[実施例2の効果]
上記実施例2によれば、情報処理装置1では、閾値を調整する処理が、強化学習におけるポリシーの最適化問題において、信頼領域を設定して1回のポリシーの更新を行う際に、更新前後のポリシーの差を観測する。情報処理装置1は、観測した差が信頼領域のある範囲内に留まるように、ポリシーの更新に至るアルゴリズムの動作により得られた、信頼領域の閾値に対する更新前後のポリシーの差に基づいて、当該閾値を調整する。かかる構成によると、情報処理装置1は、信頼領域の閾値に対する更新前後のポリシーの差を用いることで、信頼領域の閾値を自動的に調整できる。
【0059】
また、上記実施例2によれば、情報処理装置1では、閾値を調整する処理が、閾値に対する更新前後のポリシーの差が第1の基準値以上である場合に、閾値を所定値分大きくし、閾値に対する更新前後のポリシーの差が第1の基準値未満である場合に、閾値を所定値分小さくする。かかる構成によれば、情報処理装置1は、信頼領域の閾値に対する更新前後のポリシーの差を用いることで最適な信頼領域の閾値を調整できる。
【実施例0060】
ところで、実施例1に係る情報処理装置1では、調整部12が、1回のポリシーの更新の際のラインサーチにおける更新の動作に着目して、制約条件の上限値δを調整すると説明した。しかしながら、調整部12は、これに限定されず、1回のポリシーの更新の際のラインサーチにおける繰り返し回数に着目して、制約条件の上限値δを調整しても良い。ここでいうラインサーチにおける繰り返し回数は、ラインサーチで行われる、解π newが制約条件を満たすまでの判定処理の繰り返しの回数のことをいう。
【0061】
そこで、実施例3では、情報処理装置1における調整部12が、1回のポリシーの更新に至るまでのラインサーチでの繰り返し回数に着目して、制約条件の上限値δを調整する場合を説明する。なお、実施例3に係る情報処理装置1の機能構成は、図1に示す情報処理装置1と同一の構成であるので、その説明を省略する。
【0062】
実施例3に係る調整部12は、1回分のポリシーの更新に基づいて、信頼領域の閾値を調整する。例えば、調整部12は、1回のポリシーの更新に至るまでのラインサーチでの繰り返し回数に着目して、制約条件の上限値δを調整する。
【0063】
一例として、調整部12は、1回のポリシーの更新に至るまでのラインサーチでの繰り返し回数が第2の基準値以上である場合には、上限値δを予め定められた所定値分小さくする。これは、近似の精度が十分でないといえるので、近似の精度を良くして正確なポリシーの更新を行わせるために、上限値δを小さくする。なお、所定値は、例えば、上限値δの大きさに応じて予め定義されれば良い。また、第2の基準値は、例えば、ラインサーチで判定処理を繰り返す際に行われる解π newをπoldに近づける近づけ値に応じて予め定義されれば良い。
【0064】
また、調整部12は、1回のポリシーの更新に至るまでのラインサーチでの繰り返し回数が第2の基準値未満である場合には、上限値δを予め定められた所定値分大きくする。これは、近似の精度が十分であるといえるので、学習速度を向上させるために上限値δを大きくする。
【0065】
ここで、実施例3に係る調整処理のフローチャートについて説明する。なお、実施例3に係る強化学習処理のフローチャートについては、図4に示す強化学習処理のフローチャートと同一の処理であるので、その説明を省略する。
【0066】
図7は、実施例2に係る調整処理のフローチャートの一例を示す図である。なお、調整部12による調整処理は、学習部11による強化学習処理から1回のポリシーの更新におけるラインサーチの繰り返し回数を受け付けたとする。
【0067】
図6に示すように、調整部12は、ラインサーチの繰り返し回数が第2の基準値以上であるか否かを判定する(ステップS41)。ラインサーチの繰り返し回数が第2の基準値以上であると判定した場合には(ステップS41;Yes)、調整部12は、上限値δを所定値分小さくする(ステップS42)。これは、近似の精度が十分でないといえるので、近似の精度を良くして正確なポリシーの更新を行わせるために、上限値δを小さくする。そして、調整部12は、調整処理を終了する。
【0068】
一方、ラインサーチの繰り返し回数が第2の基準値未満であると判定した場合には(ステップS41;No)、調整部12は、上限値δを所定値分大きくする(ステップS43)。これは、近似の精度が十分であるといえるので、学習速度を向上させるために上限値δを大きくする。そして、調整部12は、調整処理を終了する。
【0069】
[実施例3の効果]
上記実施例3によれば、情報処理装置1では、閾値を調整する処理が、ポリシーの近似解と更新前のポリシーとの差が閾値以下であるという制約条件を満たすかどうかを判定し、制約条件を満たさないと判定した場合にはポリシーの近似解を更新前のポリシーに近づけて判定処理を繰り返し、制約条件を満たすと判定した場合にはポリシーの近似解を更新するというアルゴリズムにおける更新に至る繰り返し回数に基づいて、当該閾値を調整する。かかる構成によると、情報処理装置1は、ポリシー更新に至るアルゴリズムの繰り返し回数を用いることで、信頼領域の閾値を自動的に調整できる。
【0070】
また、上記実施例3によれば、情報処理装置1では、閾値を調整する処理が、繰り返し回数が第2の基準値以上である場合に、閾値を所定値分小さくし、繰り返し回数が第2の基準値未満である場合に、閾値を所定値分大きくする。かかる構成によれば、情報処理装置1は、ポリシー更新に至るアルゴリズムの繰り返し回数を用いることで、最適な信頼領域の閾値を調整できる。
【0071】
ここで、実施例1~3に係る強化学習処理の検証結果の一例を、図8を参照して説明する。図8は、実施例1~3に係る強化学習処理の検証結果の一例を示す図である。なお、図8では、上限値δの調整なしとしては、δが固定値10-1の場合、δが固定値10-3の場合の強化学習で検証した。そして、上限値δの調整ありとしては、実施例2に係る調整処理で上限値δを調整した場合の強化学習で検証した。
【0072】
このような状況の下、上図には、各ケースにおけるポリシー更新回数に対応する上限値δを表したグラフである。すなわち、各グラフは、横軸としてポリシー更新回数、縦軸として上限値δを表したものである。上図左は、上限値δが固定値10-1の場合の調整なしのグラフである。ここでは、ポリシー更新回数が上がっても、上限値δは10-1のままである。上図中は、上限値δが固定値10-3の場合の調整なしのグラフである。ここでは、ポリシー更新回数が上がっても、上限値δは10-3のままである。これに対して、上図右は、上限値δを調整した調整ありのグラフである。ここでは、上限値δは変動する。そして、上限値δは、収束後(20000ポリシー更新回数以降)減少している。なお、学習は、同じケースで3回実施されているので、グラフには、同じポリシー更新回数に対して3個の上限値が含まれている。
【0073】
下図には、各場合におけるポリシー更新回数に対応する報酬を表したグラフである。すなわち、各グラフは、横軸としてポリシー更新回数、縦軸として報酬を表したものである。なお、学習は、同じケースで3回実施され、各グラフには、平均と標準偏差が表されている。黒の実線が平均である。
【0074】
下図左は、上限値δが固定値10-1の場合の調整なしのグラフである。下図中は、上限値δが固定値10-3の場合の調整なしのグラフである。ここでは、固定値10-3の場合の調整なしのグラフの方が固定値10-1の場合の調整なしのグラフより、ポリシー更新回数が上がるにつれて報酬が上がっていることがわかる。これに対して、下図右は、上限値δを調整した調整ありのグラフである。ここでは、調整ありのグラフは、固定値10-3の場合の調整なしのグラフと同様、ポリシー更新回数が上がるにつれて報酬が上がっていることがわかる。つまり、情報処理装置1は、上限値δの調整機構によって、学習に最適な上限値δを自動的に調整することができる。
【0075】
加えて、調整ありのグラフは、固定値10-3の場合の調整なしのグラフより学習ごとの分散を抑えていることがわかる。特に、ポリシー更新回数が20000ステップ以降はδを減少させ(上図右参照)、学習ごとの分散が抑制されている。つまり、情報処理装置1は、上限値δの調整によって学習ごとの分散を抑制することができる。また、情報処理装置1は、上限値δの変更幅(所定値)を小さくすることで、δの微調整をすることも可能となる。
【0076】
なお、学習の初期、すなわちポリシー更新回数が小さい時期に、報酬が下がる現象が発生している。これは、制約条件付きの強化学習によって検証が行われているためである。制約条件付きの強化学習は、学習の初期では、報酬を下げてでも制約条件を守る方向に進む特性があるからである。
【0077】
[その他]
なお、図示した情報処理装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、情報処理装置1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。また、記憶部20を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
【0078】
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示した情報処理装置1と同様の機能を実現する強化学習プログラムを実行するコンピュータの一例を説明する。ここでは、情報処理装置1と同様の機能を実現する強化学習プログラムを一例として説明する。図9は、強化学習プログラムを実行するコンピュータの一例を示す図である。
【0079】
図9に示すように、コンピュータ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で接続されている。
【0080】
ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、強化学習プログラム205aおよび強化学習処理関連情報205bを記憶する。通信I/F217は、ネットワークと装置内部とのインターフェースを司り、他のコンピュータからのデータの入出力を制御する。通信I/F217には、例えば、モデムやLANアダプタなどを採用することができる。
【0081】
表示装置209は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する表示装置である。表示装置209は、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイなどを採用することができる。
【0082】
CPU203は、強化学習プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは情報処理装置1の各機能部に対応する。強化学習処理関連情報205bには、例えば、学習データ21が含まれる。そして、例えばリムーバブルディスク211が、強化学習プログラム205aなどの各情報を記憶する。
【0083】
なお、強化学習プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらから強化学習プログラム205aを読み出して実行するようにしても良い。
【0084】
また、上記実施例1~3で説明した情報処理装置1が行う強化学習処理は、例えば、携帯基地局の省電力のために、携帯基地局のスリープ制御に適用可能である。強化学習処理は、携帯基地局の通信品質を担保しながら、省電力を行う制約条件付きのCPO(Constrained Policy Optimization)に適用することができる。
【符号の説明】
【0085】
1 情報処理装置
10 制御部
11 学習部
12 調整部
20 記憶部
21 学習データ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10