説明

学習制御システム及び学習制御方法

【課題】自然勾配法を適用した、計算時間の短い強化学習システム及び強化学習方法を提供する。
【解決手段】学習制御システムは、状態Sに対応する行動価値Oの更新量を求める第1の学習器103と、状態Sをさらに分割した状態Si,jに対応する行動価値Oi,jの更新量を求める第2の学習器105と、第1及び第2の学習器による行動価値の更新量の、行動価値の空間(O,Oi,j)における勾配を自然勾配法の勾配へ変換し、更新前の行動価値に加算することによって行動価値を更新する行動価値決定器107とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、強化学習を使用した学習制御システム及び学習制御方法に関する。
【背景技術】
【0002】
強化学習は、たとえば、未知の環境下でのロボットの行動獲得などに使用されている。しかし、強化学習は学習効率が低く、学習に時間がかかるという問題を有する。
【0003】
強化学習による学習を高速化する手法として、強化学習による学習に自然勾配法を適用することが提案されている(たとえば、特許文献1)。しかし、自然勾配法を、強化学習を使用した学習制御システムに適用する場合に、計算の負荷が大きく計算時間が長くなるという問題がある。
【0004】
他方、本出願の出願時点で未公開の、本出願と同一出願人による、特願2009−141680は、階層型強化学習システムを記載している。このような階層型強化学習についても、さらに学習時間を短くすることが望まれる。
【0005】
このように、自然勾配法を適用した、計算時間の短い強化学習システム及び強化学習方法は開発されていない。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−65929
【発明の概要】
【発明が解決しようとする課題】
【0007】
したがって、自然勾配法を適用した、計算時間の短い強化学習システム及び強化学習方法に対するニーズがある。
【課題を解決するための手段】
【0008】
本発明による学習制御システムは、装置の状態を複数の状態のいずれかに分類し、状態ごとに求めた行動価値に基づいて行動を選択し実行する装置において、行動価値を更新する。本発明による学習制御システムは、状態Sに対応する行動価値Oの更新量を求める第1の学習器と、状態Sをさらに分割した状態Si,jに対応する行動価値Oi,jの更新量を求める第2の学習器と、第1及び第2の学習器による行動価値の更新量の、行動価値の空間(O,Oi,j)における勾配を自然勾配法の勾配へ変換し、更新前の行動価値に加算することによって行動価値を更新する行動価値決定器と、を備える。iは1からNまでの整数であるとして、前記行動価値決定器は、所定のiに属する状態Si,j及び行動に対応して更新されるN個のフィッシャーの逆行列の内、更新される行動価値の更新量に対応するフィッシャーの逆行列を使用して勾配を変換する。
【0009】
本発明による学習制御方法は、装置の状態を複数の状態のいずれかに分類し、状態ごとに求めた行動価値に基づいて行動を選択し実行する装置において、行動価値を学習する。本発明による学習制御方法は、状態Sに対応する行動価値Oの更新量を求めるステップと、状態Sをさらに分割した状態Si,jに対応する行動価値Oi,jの更新量を求めるステップと、行動価値Oの更新量及び行動価値Oi,jの更新量の、行動価値の空間(O,Oi,j)における勾配を自然勾配法の勾配へ変換し、更新前の行動価値に加算することによって行動価値を更新するステップと、含む。前記行動価値を更新するステップにおいて、iは1からNまでの整数であるとして、所定のiに属する状態Si,j及び行動に対応して更新されるN個のフィッシャーの逆行列の内、更新される行動価値の更新量に対応するフィッシャーの逆行列を使用して勾配を変換する。
【0010】
本発明によれば、自然勾配法を使用するので行動価値の学習速度が速くなる。またN個のフィッシャーの逆行列の内、更新される行動価値の更新量に対応するフィッシャーの逆行列を使用して勾配を変換するので計算時間を短くすることができる。
【0011】
本発明の実施形態において、フィッシャーの逆行列の発散防止処理が行われる。
【0012】
本実施形態によれば、フィッシャーの逆行列の計算中の発散が防止される。
【0013】
本発明の実施形態において、更新ごとの更新量の大きさが大きく変化しないように更新量の調整が行われる。
【0014】
本実施形態によれば、フィッシャーの逆行列の発散防止処理をおこなっても、更新ごとの更新量の大きさが大きく変化しない。
【0015】
本発明による学習制御システムは、装置の状態を複数の状態のいずれかに分類し、状態ごとに求めた行動価値に基づいて行動を選択し実行する装置において、行動価値を学習する。本発明による学習制御システムは、複数の階層的な状態分類に対応する複数の行動価値の更新量をそれぞれ求める複数の学習器と、前記複数の学習器による前記複数の行動価値の更新量の、行動価値の空間における勾配を自然勾配法の勾配へ変換し、更新前の行動価値に加算することによって行動価値を更新する行動価値決定器と、を備える。前記行動価値決定器は、所定の個数に分類された状態及び行動に対応して更新される、前記所定の個数のフィッシャーの逆行列の内、更新される行動価値の更新量に対応するフィッシャーの逆行列を使用して勾配を変換する。
【0016】
本発明による学習制御方法は、装置の状態を複数の状態のいずれかに分類し、状態ごとに求めた行動価値に基づいて行動を選択し実行する装置において、行動価値を学習する学習制御方法である。本発明による学習制御方法は、複数の階層的な状態分類に対応して複数の行動価値の更新量を求めるステップと、前記複数の行動価値の更新量の、行動価値の空間における勾配を自然勾配法の勾配へ変換し、更新前の行動価値に加算することによって行動価値を更新するステップと、を含む。前記行動価値を更新するステップにおいて、所定の個数に分類された状態及び行動に対応して更新される、前記所定の個数のフィッシャーの逆行列の内、更新される行動価値の更新量に対応するフィッシャーの逆行列を使用して勾配を変換する。
【0017】
本発明によれば、自然勾配法を使用するので行動価値の学習速度が速くなる。また前記所定の個数のフィッシャーの逆行列の内、更新される行動価値の更新量に対応するフィッシャーの逆行列を使用して勾配を変換するので計算時間を短くすることができる。
【図面の簡単な説明】
【0018】
【図1】本発明の一実施形態による学習制御システムを含む装置の構成を示す図である。
【図2】装置の置かれる環境の一例の状態遷移図である。
【図3】行動選択部の行動選択方法を示す流れ図である。
【図4】学習制御システムの構成を示す図である。
【図5】状態予測器の構成の一例を示す図である。
【図6】Q学習器の入力空間及びQ学習器の入力空間を示す図である。
【図7】状態と行動価値との関係を示す図である。
【図8】学習制御システムの学習方法を示す流れ図である。
【図9】Q学習器及びQ学習器のパラメータO及びOijを軸とする超空間を示す図である。
【図10】状態と行動とF逆行列との関係を示す図である。
【図11】図2に示した環境において、自然勾配法及び勾配法を使用して行動価値Qを求めた結果を示す図である。
【発明を実施するための形態】
【0019】
図1は、本発明の一実施形態による学習制御システム100を含む装置200の構成を示す図である。装置200は、たとえばロボットであってもよい。装置200は、入力情報取得部201、入力情報処理部203、行動選択部205、行動出力部207、記憶部209及び学習制御システム100を含む。
【0020】
図2は、装置100の置かれる環境の一例の状態遷移図である。装置100は、エージェントとも呼称する。環境の入力は、エージェントの行動である。エージェントの行動をa及びaで示す。環境の出力は、エージェントの状態である。エージェントの状態をS、S、G及びGで示す。
【0021】
環境の動作を以下に説明する。前回のエージェントの状態がS(初期値)である場合、環境は、行動a、aによらず1/2の確率で状態S、Sを出力する。前回のエージェントの状態がSまたはSであり、行動aが入力された場合、環境は、状態S、Sの各場合に対し、それぞれ状態G、Gを出力する。前回のエージェントの状態がSまたはSであり、行動aが入力された場合、環境は、状態S、Sの各場合に対し、それぞれ状態S、Sを出力する。
【0022】
入力情報取得部201は、環境300からエージェントの状態S、S、GまたはGを取得する。
【0023】
入力情報処理部203は、エージェントの状態がSまたはSである場合には、報酬値r=0を計算し、状態と報酬値とを学習制御システム100へ伝送する。入力情報処理部203は、エージェントの状態がGである場合には、報酬値r=rを計算し、状態と報酬値とを学習制御システム100へ伝送する。入力情報処理部203は、エージェントの状態がGである場合には、報酬値r=rを計算し、状態と報酬値とを学習制御システム100へ伝送する。ここで、報酬値は、エージェントの目的を達成することを尺度とした評価である。
【0024】
学習制御システム100は、状態ごとに行動価値を学習する。行動価値の学習には、報酬値が使用される。行動価値とは、ある状態である行動をとった場合の報酬値の時間重み付き期待値である。学習制御システム100の動作については、後で詳細に説明する。
【0025】
記憶部209は、入力情報処理部203、行動選択部205及び学習制御システム100で使用する情報を記憶する。
【0026】
行動選択部205は、以下に説明する方法によってエージェントの行動aまたはaを選択する。
【0027】
図3は、行動選択部205の行動選択方法を示す流れ図である。なお、後で説明するように、以下のステップS110乃至ステップS160は、学習制御システム100で実行してもよい。
【0028】
図3のステップS110において、行動選択部205は、入力情報処理部203から状態情報を取得する。
【0029】
図3のステップS120において、行動選択部205は、予定行動aまたはaを生成する。
【0030】
図3のステップS130において、行動選択部205は、記憶部209から現在の状態における予定行動の行動価値O及びOi,jを求める。行動価値O及びOi,jについては後で説明する。
【0031】
図3のステップS140において、行動選択部205は、行動価値O及びOi,jから、現在の状態における予定行動の行動価値O+Oi,jを算出する。行動価値O+Oi,jについては後で説明する。
【0032】
図3のステップS150において、行動選択部205は、全ての行動(a及びa)について処理を行ったかどうか判断する。全ての行動について処理を行っていなければ、ステップS120に進む。全ての行動について処理を行っていれば、ステップS160に進む。
【0033】
図3のステップS160において、行動選択部205は、全ての行動についての行動価値の内、最大値を有するものを定める。
【0034】
図3のステップS170において、行動選択部205は、ε−グリーディー法にしたがって予定行動を選択する。すなわち、通常は、行動価値が最大値を有する予定行動を選択するが、確率εでランダムな行動を選択する。
【0035】
行動出力部207は、行動aまたはaを環境300へ出力する。
【0036】
学習制御システム100について以下に説明する。学習制御システム100は、状態ごとに行動価値O及びOi,jを更新する。更新の詳細な方法(学習方法)は後で説明する。
【0037】
学習システム100への入力がSまたはSであれば、学習制御システム100は、行動価値O及びOi,jを更新した後、行動選択部205が、図3に示した方法を実行するように指示を送る。あるいは、学習制御システム100が、行動価値O及びOi,jを更新した後、図3のステップS110乃至S160を実行し、その後、行動選択部205が図3のステップS170を実行するように構成してもよい。
【0038】
学習システム100への入力がGまたはGであれば、学習制御システム100は、行動価値O及びOi,jの更新のみを行う。
【0039】
図4は、学習制御システム100の構成を示す図である。学習制御システム100は、目標値決定部101、Q学習器103、Q学習器105及び行動価値決定部107を含む。
【0040】
最初に、Q学習器103及びQ学習器105について説明する。Q学習器103は、たとえば、状態S及び行動aに対応する行動価値Oの学習を行なう。Q学習器105は、たとえば、状態Sij及び行動aに対応する行動価値Oijの学習を行なう。ここで、状態Sijは、Sをさらに細分化した状態を示す。
【0041】
図5は、状態予測器2031の構成の一例を示す図である。状態予測器2031は、入力情報処理部203内に設けてもよい。図5において、tは時刻を示し、x(t)、y(t)は、環境のパラメータを示し、a(t)は、エージェントの行動を示す。状態予測器2031は、環境のパラメータ及びエージェントの行動から、次の時刻における環境のパラメータの予測値
【数1】

を求める。また、tにおける環境パラメータの値y(t)と上記予測値との差分
【数2】

が求められる。
【0042】
なお、図2を使用したこれまでの説明においては、理解しやすくするために、環境の出力が、エージェントの状態S、S、G及びGであるとした。しかし、実際の環境では、エージェントの入力情報取得部201が環境のパラメータを取得し、入力情報処理部203が環境のパラメータに基づいてエージェントの状態を定める。
【0043】
図6は、Q学習器103の入力空間及びQ学習器105の入力空間を示す図である。Q学習器103の入力空間は、環境のパラメータ及び行動
【数3】

に基づいて定められるS及びSi+1である。Q学習器105の入力空間は、環境のパラメータ、行動及び状態予測器2031の出力と状態との差分
【数4】

に基づいて定められるSij、S(i+1)j、Si(j+1)及びS(i+1)(j+1)である。Q学習器105の入力空間は、上記差分を使用することによって、Q学習器103の入力空間をさらに細分化した入力空間となっている。
【0044】
ここで、Q学習器103によって学習される行動価値をOによって表し、Q学習器105によって学習される行動価値をOijによって表す。すなわち、Oは、Qに対応し、Oijは、Qに対応する。
【0045】
図7は、状態と行動価値との関係を示す図である。たとえば、行動aに対する行動価値には、状態Sに対応する行動価値Oと、状態Sを細分化した状態Sijに対応する行動価値Oijとがある。行動aに対する行動価値の値は、行動価値Oと行動価値Oijとの和である。たとえば、状態がS11である場合には、行動価値の値は、
【数5】

である。
【0046】
図4は、状態がS11である場合を示している。学習制御システム100の目標値決定部101は、報酬値rと現在の行動価値の値
【数6】

から目標値
【数7】

を求め、Q学習器103及びQ学習器105に目標値を与える。ここで、γは、割引率である。割引率は遠い将来に得られる報酬ほど割り引いて評価するための係数であり、0以上1以下の値である。
【0047】
学習器103及びQ学習器105は、以下の式にしたがって更新量を計算する。
【数8】

【0048】
行動価値決定部107は、現在の行動価値O及びO11と行動価値の更新量
【数9】

から更新された行動価値O及びO11を計算する。計算方法の詳細は以下に説明する。
【0049】
図8は、学習制御システム100の学習方法を示す流れ図である。
【0050】
最初に本学習方法で使用する、フィッシャー情報行列の逆行列(以下の明細書及び図面おいてF逆行列と呼称する)について説明する。
【0051】
図9は、Q学習器103及びQ学習器105のパラメータO及びOijを軸とする超空間を示す図である。図9(a)は、パラメータ軸を直交させたユークリッド空間を示し、図9(b)は、リーマン空間を示す。コスト関数を等高線で示し、パラメータの最適値は、等高線の中心とする。図9(a)に示すように、通常は、等高線に垂直な方向へパラメータを更新すればよい(勾配法)。しかし、図9(b)に示すように、空間自体がねじれている場合には、ねじれを修正しつつ更新を行う必要がある(自然勾配法)。F逆行列は、勾配法で計算された更新の方向、たとえば
【数10】

を自然勾配法の更新の方向へおきなおすための変換行列に相当する。
【0052】
θは、O、Oijを全て含んだベクトルとして、自然勾配法は以下の式で表せる。
【数11】

ここで、tは時刻、ηは更新率、G−1はF逆行列、lは対数尤度関数を示す。また、
【数12】

は、システムへの入力値を示し、
【数13】

は、システムの目標出力値を示す。
【0053】
また、システムの入力ベクトルをIで表し、その際のQの更新目標値
【数14】

が与えられるとする。この入力ベクトルIと更新目標値tとの組合せをサンプルと呼称する。いま、p個のサンプルがあるとして、それらのサンプルに対する尤度、対数尤度は、以下の式によって定義できる。
【数15】

ここでσは、充分に小さな正の値である。
【0054】
なお、式(3)において、F逆行列を単位行列とすれば、式(3)は、従来の勾配法を表す。
【0055】
図8のステップS310において、学習制御システム100の行動価値決定部107は、状態及び行動に対応するF逆行列を更新する。
【0056】
図10は、状態と行動とF逆行列との関係を示す図である。図1の縦の点線の左側は、状態Sにおいて、行動aが選択された場合を示し、この場合にF逆行列
【数16】

が更新される。図1の縦の点線の右側は、状態Sにおいて、行動aが選択された場合を示し、この場合にF逆行列
【数17】

が更新される。
【0057】
本発明の実施形態において、F逆行列は、行動および状態ごとに更新される。たとえば、図7において、F逆行列は、S及びSごとに更新される。したがって、F逆行列の次数が制限され、計算負荷が増加するのが防止される。
【0058】
F逆行列G−1の更新は、以下の式で示す甘利らによる近似解法を使用して行う。甘利らによる近似解法は、文献(Shun-ichi Amari, Heyoung Park, and Kenji Fukumizu: “Adaptive Method of Realizing Natural Gradient Learning For Multilayer Perceptrons”, (1999))に記載されている。ただし、F逆行列G−1の初期状態は、単位行列とする。初期状態を単位行列とすることにより、初期状態では勾配法と同じ更新を行うので、システムが安定する。
【数18】

ここで、tは時刻を示し、εは定数を示す。
【数19】

に対応する
【数20】

は、以下の式によって定義される。
【数21】

ここで、Q(I)は、システム出力であり、以下の式によって定義される。
【数22】

入力Iのもとで、O、Oijが出力Q(I)へ寄与する確率は、
【数23】

であるとする。また、入力Iが得られる確率をq(I)とする。
【0059】
図8のステップS320において、行動価値決定部107は、F逆行列の発散防止処理を行う。具体的には、g11の要素で、F逆行列の全要素を割ることによってg11が常に1となるようにすることによって発散を防止する。他方、式(3)のηは、任意に選択可能な正の値であるので、全要素を同じ値で割っても自然勾配法の意味は保たれる。
【数24】

【0060】
図8のステップS330において、Q学習器103及びQ学習器105は、以下の式にしたがって更新量を計算する。
【数25】

【0061】
図8のステップS340において、行動価値決定部107は、各Oの更新量を計算する。具体的に、Q=O、Q=O11であるので、
【数26】

となる。
【0062】
図8のステップS350において、行動価値決定部107は、F逆行列を使用して以下の式によって勾配の方向を変換する。
【数27】

【0063】
図8のステップS360において、行動価値決定部107は、更新比率を調整する。ステップS320において、F逆行列の全要素をg11で割ることは、式(3)のηを更新することに等しいため、図9の矢印の長さに相当するパラメータの更新率が不安定となる。そこで、
【数28】

の更新量が一定と成るように以下の式によって更新比率を調整する。
【数29】

【0064】
図8のステップS370において、行動価値決定部107は、以下の式によって各Oを更新する。
【数30】

【0065】
図11は、図2に示した環境において、自然勾配法及び勾配法を使用して行動価値Qを求めた結果を示す図である。図11の横軸はステップ数を示し、図2の縦軸は、行動価値の値を示す。図11(a)は自然勾配法を使用した場合を示し、図11(b)は、勾配法を使用した場合を示す。自然勾配法の場合は、勾配法の場合と比較して、行動価値が急速に変化する点(A点)がより早く現れる。また、自然勾配法の場合には、A点通過後にO(a)O12(a)の値がほぼ瞬時に収束している。このように、自然勾配法を使用することにより、収束速度が改善された。
【0066】
図11(a)において、収束後の行動価値の値を確認する。状態Sにおいてaの行動を行う価値は、
(a)+O11(a
であり、個の値は、ほぼ10である。この値は、報酬の値rに対応する。他方、状態Sにおいてaの行動を行う価値は、
(a)+O12(a
であり、この値は、ほぼ1である。この値は、報酬の値rに対応する。
【0067】
上記の実施形態においては、学習制御システムが二階層の学習器を含む場合について説明したが、三階層以上の学習器を含む場合にも本発明を同様に適用することができる。
【符号の説明】
【0068】
100…学習制御システム、101…目標値決定部、103…Q学習器、105…Q学習器、107…行動価値決定部

【特許請求の範囲】
【請求項1】
装置の状態を複数の状態のいずれかに分類し、状態ごとに求めた行動価値に基づいて行動を選択し実行する装置において、行動価値を更新する学習制御システムであって、
状態Sに対応する行動価値Oの更新量を求める第1の学習器と、
状態Sをさらに分割した状態Si,jに対応する行動価値Oi,jの更新量を求める第2の学習器と、
第1及び第2の学習器による行動価値の更新量の、行動価値の空間(O,Oi,j)における勾配を自然勾配法の勾配へ変換し、更新前の行動価値に加算することによって行動価値を更新する行動価値決定器と、を備え、
iは1からNまでの整数であるとして、前記行動価値決定器は、所定のiに属する状態Si,j及び行動に対応して更新されるN個のフィッシャーの逆行列の内、更新される行動価値の更新量に対応するフィッシャーの逆行列を使用して勾配を変換する学習制御システム。
【請求項2】
フィッシャーの逆行列の発散防止処理が行われる請求項1に記載の学習制御システム。
【請求項3】
更新ごとの更新量の大きさが大きく変化しないように更新量の調整が行われる請求項2に記載の学習制御システム。
【請求項4】
装置の状態を複数の状態のいずれかに分類し、状態ごとに求めた行動価値に基づいて行動を選択し実行する装置において、行動価値を学習する学習制御システムであって、
複数の階層的な状態分類に対応する複数の行動価値の更新量をそれぞれ求める複数の学習器と、
前記複数の学習器による前記複数の行動価値の更新量の、行動価値の空間における勾配を自然勾配法の勾配へ変換し、更新前の行動価値に加算することによって行動価値を更新する行動価値決定器と、を備え、
前記行動価値決定器は、所定の個数に分類された状態及び行動に対応して更新される、前記所定の個数のフィッシャーの逆行列の内、更新される行動価値の更新量に対応するフィッシャーの逆行列を使用して勾配を変換する学習制御システム。
【請求項5】
装置の状態を複数の状態のいずれかに分類し、状態ごとに求めた行動価値に基づいて行動を選択し実行する装置において、行動価値を学習する学習制御方法であって、
状態Sに対応する行動価値Oの更新量を求めるステップと、
状態Sをさらに分割した状態Si,jに対応する行動価値Oi,jの更新量を求めるステップと、
行動価値Oの更新量及び行動価値Oi,jの更新量の、行動価値の空間(O,Oi,j)における勾配を自然勾配法の勾配へ変換し、更新前の行動価値に加算することによって行動価値を更新するステップと、含み、
前記行動価値を更新するステップにおいて、iは1からNまでの整数であるとして、所定のiに属する状態Si,j及び行動に対応して更新されるN個のフィッシャーの逆行列の内、更新される行動価値の更新量に対応するフィッシャーの逆行列を使用して勾配を変換する学習制御方法。
【請求項6】
フィッシャーの逆行列の発散防止処理が行われる請求項5に記載の学習制御方法。
【請求項7】
更新ごとの更新量の大きさが大きく変化しないように更新量の調整が行われる請求項6に記載の学習制御方法。
【請求項8】
装置の状態を複数の状態のいずれかに分類し、状態ごとに求めた行動価値に基づいて行動を選択し実行する装置において、行動価値を学習する学習制御方法であって、
複数の階層的な状態分類に対応して複数の行動価値の更新量を求めるステップと、
前記複数の行動価値の更新量の、行動価値の空間における勾配を自然勾配法の勾配へ変換し、更新前の行動価値に加算することによって行動価値を更新するステップと、を含み、
前記行動価値を更新するステップにおいて、所定の個数に分類された状態及び行動に対応して更新される、前記所定の個数のフィッシャーの逆行列の内、更新される行動価値の更新量に対応するフィッシャーの逆行列を使用して勾配を変換する学習制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate