(57)【要約】【課題】学習結果の進捗を考慮することで学習効率を高める。【解決手段】学習装置１００は、コンピュータが、Ｑ学習の所定の環境におけるエージェントの行動それぞれを選択する評価値の最大値と最小値とを抽出する評価値抽出部１２２と、最大値と最小値の比率に基づいて学習結果に従うか否か決定する適用決定部１２４と、適用決定部が決定した結果に基づいて評価値を更新する評価値更新部１２８として機能する。このように、強化学習開始直後には、ランダムな行動を実行させ、強化学習が進行すると、学習結果に従った行動を実行させる。【選択図】図１
2019211806.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
Ｑ学習の所定の環境におけるエージェントの行動それぞれを選択する評価値の最大値と最小値とを抽出する評価値抽出部と、
前記最大値と前記最小値の比率に基づいて学習結果に従うか否か決定する適用決定部と、
前記適用決定部が決定した結果に基づいて評価値を更新する評価値更新部と
して機能する学習装置。
【請求項２】
前記コンピュータが、
前記最大値と前記最小値の比率に基づいて前記Ｑ学習の学習率を決定する学習率決定部として機能する請求項１に記載の学習装置。
【請求項３】
前記適用決定部は、学習結果に従った行動が所定の上限ステップを超えると、前記評価値の前記最大値と前記最小値の比率に拘わらず、所定の確率で学習結果に従わない請求項１または２に記載の学習装置。
【請求項４】
Ｑ学習の所定の環境におけるエージェントの行動それぞれを選択する評価値の最大値と最小値とを抽出し、
最大値と最小値の比率に基づいて学習結果に従うか否か決定し、
その結果に基づいて評価値を更新する学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、強化学習としてＱ学習を行う学習装置および学習方法に関する。
【背景技術】
【０００２】
強化学習（Reinforcement Learning）の一例としてＱ学習（Q-learning）がある。Ｑ学習では、所定の環境ｓの下で、行動ａを選択することの評価値Ｑ（ｓ，ａ）を学習する。Ｑ学習では、行動ａによる環境の変化に基づき報酬を与えることで、正しい評価値Ｑ（ｓ，ａ）を学習することができる（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−０３５３８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
Ｑ学習を実行する際、エージェントを、所定の確率（閾値εに相当）でランダムに行動させるε−ｇｒｅｅｄｙ法を用いる場合がある。かかるε−ｇｒｅｅｄｙ法では、エージェントがランダムに行動する確率が学習の進捗に拘わらず固定されている。換言すれば、Ｑ学習が進行し、評価値Ｑ（ｓ，ａ）の高い行動が特定されたとしても、固定確率で、評価値Ｑ（ｓ，ａ）が低い行動を含むランダムな行動が不要に行われることとなる。したがって、ε−ｇｒｅｅｄｙ法を単に採用するだけでは、不要な行動により学習速度の遅延を招き、エージェントの行動も安定しない。
【０００５】
本発明は、このような課題に鑑み、学習結果の進捗を考慮することで学習効率を高めることが可能な学習装置および学習方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の学習装置は、コンピュータが、Ｑ学習の所定の環境におけるエージェントの行動それぞれを選択する評価値の最大値と最小値とを抽出する評価値抽出部と、最大値と最小値の比率に基づいて学習結果に従うか否か決定する適用決定部と、適用決定部が決定した結果に基づいて評価値を更新する評価値更新部として機能する。
【０００７】
コンピュータが、最大値と最小値の比率に基づいてＱ学習の学習率を決定する学習率決定部として機能してもよい。
【０００８】
適用決定部は、学習結果に従った行動が所定の上限ステップを超えると、評価値の最大値と最小値の比率に拘わらず、所定の確率で学習結果に従わないとしてもよい。
【０００９】
上記課題を解決するために、本発明の学習方法は、Ｑ学習の所定の環境におけるエージェントの行動それぞれを選択する評価値の最大値と最小値とを抽出し、最大値と最小値の比率に基づいて学習結果に従うか否か決定し、その結果に基づいて評価値を更新する。
【発明の効果】
【００１０】
本発明によれば、学習結果の進捗を考慮することで学習効率を高めることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】学習装置の概略的な構成を示した説明図である。
【図２】学習方法の流れを示すフローチャートである。
【図３】強化学習を例示した説明図である。
【図４】ε−ｇｒｅｅｄｙ法との比較結果を示す説明図である。
【図５】ε−ｇｒｅｅｄｙ法との比較結果を示す説明図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【００１３】
図１は、学習装置１００の概略的な構成を示した説明図である。学習装置１００は、中央処理装置（ＣＰＵ）１１０と、プログラム等が格納されたＲＯＭ１１２と、ワークエリアとしてのＲＡＭ１１４とを含む半導体集積回路で構成される。また、中央処理装置１１０は、ＲＯＭ１１２およびＲＡＭ１１４と協働して、初期値設定部１２０、評価値抽出部１２２、適用決定部１２４、学習率決定部１２６、評価値更新部１２８として機能し、強化学習を行う。
【００１４】
ここでは、強化学習の一例としてＱ学習を用いる。Ｑ学習では、所定の環境ｓの下で、エージェント（行動主体）が選択可能な複数の行動ａのうち、選択された行動ａを行う。複数の行動ａそれぞれには、その行動ａを選択する価値を示す評価値Ｑ（ｓ，ａ）が関連付けられる。行動ａが行われると、その結果に基づいて、行動ａを選択する評価値Ｑ（ｓ，ａ）が更新される。
【００１５】
具体的に、下記の数式１で示す更新式を用いて評価値Ｑ（ｓ，ａ）を求める。
【数１】
2019211806.tif 000003
…（数式１）
【００１６】
ここで、ｓｔおよびａｔは時刻ｔにおける環境ｓと行動ａを示す。行動ａｔにより、環境がｓｔからｓｔ＋１に変化する。ｒｔ＋１は、その環境ｓｔ＋１への変化によって与えられる報酬である。また、ｍａｘＱ（ｓｔ＋１，ａ）は、環境ｓｔ＋１の下で最も高い評価値Ｑ（ｓ，ａ）を示す。割引率γは、０<γ≦１の範囲で、例えば、０．９に設定される。学習率（学習係数）αは、０<α≦１の範囲で、例えば、０．１に設定される。
【００１７】
ここで、エージェントがランダムに行動した結果、偶然、その行動ａの評価値Ｑ（ｓ，ａ）が高くなったとする。しかし、たまたま高くなった評価値Ｑ（ｓ，ａ）を即座に学習結果としてしまうと、本来、学習結果とすべき、さらに高い評価値Ｑ（ｓ，ａ）を特定し損ねるおそれがある。
【００１８】
そこで、エージェントを、所定の確率（閾値εに相当）でランダムに行動させ、それ以外の確率で評価値Ｑ（ｓ，ａ）が最大となる行動を行わせるε−ｇｒｅｅｄｙ法を用いる。しかし、ε−ｇｒｅｅｄｙ法では、エージェントがランダムに行動する確率が、学習の進捗に拘わらず固定されている。換言すれば、Ｑ学習が進行し、評価値Ｑ（ｓ，ａ）の高い行動が特定されたとしても、固定確率で、評価値Ｑ（ｓ，ａ）が低い行動を含むランダムな行動が不要に行われることとなる。したがって、ε−ｇｒｅｅｄｙ法を単に採用するだけでは、不要な行動により学習速度の遅延を招き、エージェントの行動も安定しない。ここでは、学習結果の進捗を考慮することで学習効率を高める。
【００１９】
（学習方法）
図２は、学習方法の流れを示すフローチャートである。ここでは、初期値設定部１２０が、Ｑ学習の所定の環境ｓにおけるエージェントの行動それぞれを選択する評価値の初期値Ｑ０（ｓ，ａ）を設定する（初期値設定処理Ｓ２００）。次に、評価値抽出部１２２が、評価値Ｑ（ｓ，ａ）の最大値と最小値とを抽出する（評価値抽出処理Ｓ２０２）。次に、適用決定部１２４が、最大値と最小値の比率に基づいて学習結果に従うか否か決定する（適用決定処理Ｓ２０４）。次に、学習率決定部１２６が、最大値と最小値の比率に基づいてＱ学習の学習率αを決定する（学習率決定処理Ｓ２０６）。次に、評価値更新部１２８が、適用決定部１２４が決定した結果に基づいて評価値Ｑ（ｓ，ａ）を更新し（評価値更新処理Ｓ２０８）、評価値抽出処理Ｓ２０２からの処理を、予め定められた所定の更新回数だけ繰り返す（Ｓ２１０）。以下、各処理を詳述する。
【００２０】
（初期値設定処理Ｓ２００）
初期値設定部１２０は、エージェントが選択可能な行動それぞれに対し評価値Ｑ（ｓ，ａ）を設定し、その評価値の初期値Ｑ０（ｓ，ａ）を、０〜１の範囲で、例えば、０．５に設定する。評価値Ｑ（ｓ，ａ）の数は、所定の環境ｓにおいて選択可能な行動ａの数と等しい。
【００２１】
（評価値抽出処理Ｓ２０２）
数式１に従って強化学習が進むと、複数の評価値Ｑ（ｓ、ａ）それぞれが変化する。ここで、評価値Ｑ（ｓ，ａ）が高いほど、その行動を選択する価値が高いことを示す。一方、評価値Ｑ（ｓ，ａ）が低いほど、その行動を選択する価値が低いことを示すこととなる。ここで、評価値抽出部１２２は、強化学習中の所定の環境ｓにおける評価値Ｑ（ｓ、ａ）の最大値、および、評価値Ｑ（ｓ、ａ）の最小値を抽出する。
【００２２】
（適用決定処理Ｓ２０４）
評価値Ｑ（ｓ、ａ）は、進捗（更新回数の増加）とともに、任意の行動ａ１について高くなり、それとは異なる任意の行動ａ２について低くなる。そうすると、評価値Ｑ（ｓ、ａ）の最大値と最小値は、強化学習開始直後には初期値（例えば０．５）近傍で大凡等しいものの、徐々に差が広がっていくこととなる。したがって、最小値／最大値は、強化学習開始直後には１（０．５／０．５）に近いが、強化学習の進捗に応じて徐々に０（０／１）に近づくこととなる。ここでは、最小値／最大値を用い、強化学習の進捗に応じてエージェントをランダムに行動させる確率を低くする。
【００２３】
適用決定部１２４は、最大値と最小値の比率に基づいて学習結果に従うか否か決定する。具体的に、適用決定部１２４は、０〜１の範囲で乱数を決定し（Ｓ２０４ａ）、閾値εを計算し（２０４ｂ）、乱数と閾値εとを比較する（Ｓ２０４ｃ）。ここで、閾値εは、評価値抽出部１２２が抽出した評価値Ｑ（ｓ、ａ）の最大値、および、評価値Ｑ（ｓ、ａ）の最小値に基づき、閾値の初期値ε０×最小値／最大値として逐次計算される。適用決定部１２４は、取得した乱数が閾値ε以上であれば、学習結果に従って、評価値Ｑ（ｓ、ａ）が最大となる行動ａをエージェントに実行させる（Ｓ２０４ｄ）。一方、取得した乱数が閾値ε未満であれば、学習結果に従わず、選択可能な範囲でランダムな行動ａをエージェントに実行させる（Ｓ２０４ｅ）。
【００２４】
こうして、強化学習開始直後は、高い閾値εにより、エージェントにランダムな行動を比較的多く実行させ、強化学習が進むにつれ、学習結果に従った行動をエージェントに実行させることができる。
【００２５】
かかる構成により、学習結果がまだ確からしくないときには、学習結果に従わないランダムな行動により学習速度を高め、学習結果が十分に確からしくなると、学習結果に従う行動に移行することにより、無駄なランダム行動を抑制することができる。このように、学習結果の進捗を考慮することで学習効率を高めることが可能となる。
【００２６】
ただし、閾値εを１とすると、強化学習開始直後には、学習結果に全く従わないこととなり学習効率が却って悪くなる。したがって、閾値の初期値ε０を一例として０．３（強化学習開始直後の閾値εを０．３）とする。こうして、強化学習開始直後から、７割の確率で学習結果に従い、３割の確率でランダムに行動することになり、学習効率を高めることができる。
【００２７】
また、ここでは、強化学習の進捗により、閾値εが０．３→０といったように徐々に低くなる。こうして、強化学習が進行すると、評価値Ｑ（ｓ、ａ）が最大となる行動ａをとる割合が高くなるので、強化学習の結果を十分かつ効率的に反映することができる。
【００２８】
（学習率決定処理Ｓ２０６）
ところで、学習率αは、数式１を参照して理解できるように、評価値Ｑ（ｓ、ａ）に対する学習結果の反映度合いを示す。したがって、強化学習開始直後においてランダムな行動を行う場合は学習率αを高くし、強化学習が進むにつれ、学習結果を不要に反映しないように学習率αを低くするのが好ましい。
【００２９】
学習率決定部１２６は、学習結果に従うか否かに応じて学習率αを決定する。具体的に、学習率決定部１２６は、適用決定部１２４が決定した乱数が、閾値ε以上であれば（Ｓ２０６ａにおけるＹＥＳ）、学習率αを第１所定値（例えば０．２）として学習結果の反映度合いを低くする（２０６ｂ）。一方、決定された乱数が閾値ε未満であれば（Ｓ２０６ａにおけるＮＯ）、学習率決定部１２６は、学習率αを第１所定値より大きな第２所定値（例えば１）として学習結果の反映度合いを高める（２０６ｃ）。こうして、ランダムな行動を行う場合は、学習率αを高くし、強化学習を早めるとともに、強化学習が進むにつれ、学習結果を不要に反映しないように学習率αを低くして、学習結果の収束を早めることができる。
【００３０】
なお、ここでは、学習率αを強化学習の進捗により、第２所定値から第１所定値に一度に切り替える例を挙げて説明したが、かかる場合に限らず、強化学習の進捗に応じて、第２所定値から第１所定値に徐々に変化させていくとしてもよい。
【００３１】
（評価値更新処理Ｓ２０８）
評価値更新部１２８は、適用決定部１２４が決定した結果に基づいて、報酬ｒｔ＋１を決定する。例えば、評価値更新部１２８は、強化学習の最終的な目的に到達した場合、報酬ｒｔ＋１として所定値（例えば１）を与える。一方、その行動ａの数（ステップ数）が所定値（例えば５００）を超えると、評価値更新部１２８は、報酬ｒｔ＋１としてペナルティ（例えば−０．５）を与える。ペナルティは行動ａの数に応じて絶対値が大きくなるとしてもよい。続いて、評価値更新部１２８は、数式１に従って、評価値Ｑ（ｓｔ＋１、ａｔ＋１）を更新する。
【００３２】
こうして、確からしい行動ａの評価値Ｑ（ｓ、ａ）は高くなり、不確かな行動ａの評価値Ｑ（ｓ、ａ）は低くなる。そして、評価値抽出処理Ｓ２０２からの処理が、予め定められた所定の更新回数だけ繰り返されると（Ｓ２１０）、当該学習方法を終了する。このとき、評価値Ｑ（ｓ、ａ）が最も高い行動ａが最適な行動ａとなる。
【００３３】
なお、ここでは、環境ｓが固定である場合の強化学習を述べたが、環境ｓが必ずしも変化しないとは限らない。しかし、本実施形態では、強化学習の進捗が考慮され、強化学習が進行すると学習結果を反映し難くなっているので、急な環境ｓの変化に対し、ランダムな行動ａが選択される確率が低い。すなわち、環境ｓの変化に対応する新たな学習結果を導きにくい。
【００３４】
そこで、適用決定部１２４は、学習結果に従った行動ａが所定の上限ステップ（行動数）を超えると最大値と最小値の比率に拘わらず、所定の確率（例えば１００％）で学習結果に従わない（学習結果に０％従う）とすることができる。具体的に、環境ｓの変化により、最適であるはずの学習結果に従った行動が、最適ではなくなった場合、０に近くなった閾値εを一旦強制的に１（１００％学習結果に従わない）に設定し、学習結果が収束すると、再び、閾値εを０．３（値閾の初期値ε０＝０．３）に設定し、評価値Ｑ（ｓ、ａ）の最小値／最大値に比例して閾値εを下げる。
【００３５】
こうして、環境の変化に対しても、迅速に対応して、新たな学習結果を高効率で求めることが可能となる。
【００３６】
（実施例）
図３は、強化学習を例示した説明図である。ここでは、図３（ａ）のような８×８の格子状のマス目を、周囲の位置関係を把握できないことを前提に、スタートＳからゴールＧに向かう強化学習を行う。例えば、スタートＳからの行動ａは、右に移動と、下に移動の２つがある。したがって、初期値設定部１２０は、それぞれの行動に対して、評価値Ｑ（ｓ、ａ）を設け、初期値を設定する。同様に、右に移動した後の行動ａは、右に移動と、下に移動と、左に移動の３つがある。このようにして、全てのマス目からの全ての行動に対して、評価値Ｑ（ｓ、ａ）が設定される。続いて、評価値抽出処理Ｓ２０２、適用決定処理Ｓ２０４、学習率決定処理Ｓ２０６、評価値更新処理Ｓ２０８を更新回数である１００回繰り返す。ただし、ここでは、１回の評価値Ｑ（ｓ、ａ）の更新において、５００ステップの行動を実行してもゴールＧに到達しない場合、その時点で行動を強制終了する。ここでは、図３（ａ）に白矢印で示した行動の評価値Ｑ（ｓ、ａ）が最大となる。すなわち、白矢印で示した行動ａが最適な行動ａとなる。
【００３７】
図４は、ε−ｇｒｅｅｄｙ法との比較結果を示す説明図である。例えば、既存のε−ｇｒｅｅｄｙ法では、１００回の強化学習が進むにつれ、図４（ａ）のように、ステップ数が少なくなり、図４（ｂ）のように、ランダムに行動する回数（ランダム数）も少なくなる。ここで、本願発明を適用すると、図４（ｃ）、図４（ｄ）に示すように、ステップ数やランダム数が、図４（ａ）や図４（ｂ）より少なくなり、学習効率が高くなっていることが理解できる。
【００３８】
また、ここで、強化学習の１０１回目に、図３（ｂ）のような壁１５０を設けたとする。また、エージェントは、かかる壁１５０を跨いで行動できないとする。そうすると、環境ｓの変化により、最適であるはずの学習結果に従った行動が、最適ではなくなってしまう。この場合、適用決定部１２４は、最適であるはずの学習結果に従った行動が、最適ではなくなったと判断すると（例えば、最適な行動のステップ数が５００を超えると）、０に近くなった閾値εを一旦強制的に１に設定し、学習結果が収束すると（ステップ数が３００を割ると）、再び、閾値εを０．３（値閾の初期値ε０＝０．３）に設定する。ここでは、例えば、図３（ｂ）に白矢印で示した行動の評価値Ｑ（ｓ、ａ）が最大となる。すなわち、白矢印で示した行動ａが最適な行動ａとなる。
【００３９】
図５は、ε−ｇｒｅｅｄｙ法との比較結果を示す説明図である。例えば、既存のε−ｇｒｅｅｄｙ法では、１００回から２００回へ強化学習が進むにつれ、図５（ａ）のように、ステップ数が少なくなり、図５（ｂ）のように、ランダム数も少なくなる。ここで、本願発明を適用すると、図５（ｃ）、図５（ｄ）に示すように、ステップ数やランダム数が、図５（ａ）や図５（ｂ）より少なくなり、学習効率が高くなっている。こうして、環境の変化に対しても、早期に対応することが可能となる。
【００４０】
以上、説明したように、学習結果の進捗を考慮し、強化学習開始直後には、ランダムな行動を実行させつつ、学習率αを高める。また、強化学習が進行すると、学習結果に従った行動を実行させ、学習率αを低くする。こうして、学習効率を高め、早期に学習結果を得ることが可能となる。
【００４１】
また、コンピュータを学習装置１００として機能させるプログラムや、当該プログラムを記録した、コンピュータで読み取り可能なフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ、ＤＶＤ、ＢＤ等の記憶媒体も提供される。ここで、プログラムは、任意の言語や記述方法にて記述されたデータ処理手段をいう。
【００４２】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【００４３】
本発明は、強化学習としてＱ学習を行う学習装置および学習方法に利用することができる。
【符号の説明】
【００４４】
１００  学習装置
１２０  初期値設定部
１２２  評価値抽出部
１２４  適用決定部
１２６  学習率決定部
１２８  評価値更新部
【図１】
2019211806.tif 000004
【図２】
2019211806.tif 000005
【図３】
2019211806.tif 000006
【図４】
2019211806.tif 000007
【図５】
2019211806.tif 000008