(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024120254
(43)【公開日】2024-09-05
(54)【発明の名称】報酬計算装置、報酬計算方法、およびプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240829BHJP
G06N 3/092 20230101ALN20240829BHJP
【FI】
G06N20/00
G06N3/092
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023026924
(22)【出願日】2023-02-24
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【弁理士】
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】林 昭伸
(72)【発明者】
【氏名】森平 尚樹
(57)【要約】
【課題】内部報酬を計算する際の計算効率を向上させることができる報酬計算装置、報酬計算方法、およびプログラムを提供することを目的とする。
【解決手段】報酬計算装置は、タスクを実行する装置の状態量とタスクを実行される対象物体の状態量を取得する取得部と、内部報酬に用いる複数の状態量のサブセットを格納してある格納部と、格納部が格納する複数の状態量のサブセットの中から1つを、選択基準に基づいて選択する選択部と、サブセットと状態量を用いて内部報酬と外部報酬を計算する報酬計算部と、内部報酬と外部報酬に基づいて状態量のサブセットの選択基準を更新する更新部と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
与えられたタスクを解決するための報酬である外部報酬と、タスク非依存の報酬である内部報酬を用いて学習する学習装置における報酬計算装置であって、
前記タスクを実行する装置の状態量とタスクを実行される対象物体の状態量を取得する取得部と、
前記内部報酬に用いる複数の状態量のサブセットを格納してある格納部と、
前記格納部が格納する前記複数の状態量のサブセットの中から1つを、選択基準に基づいて選択する選択部と、
前記サブセットと前記状態量を用いて前記内部報酬と前記外部報酬を計算する報酬計算部と、
前記内部報酬と前記外部報酬に基づいて前記状態量のサブセットの前記選択基準を更新する更新部と、
を備える報酬計算装置。
【請求項2】
前記更新部は、多腕バンディットモデルを用いて外部報酬を評価し、評価の高い外部報酬で使われた前記内部報酬を選択するように前記選択基準を更新する、
請求項1に記載の報酬計算装置。
【請求項3】
前記更新部は、前記外部報酬の方策と、前記状態量のサブセットに紐付く内部報酬の方策のうちの1つを確率的に選択して前記装置の行動を生成し、生成した前記行動を前記装置が実施した場合の前記状態量を取得して、取得した結果と前記選択基準と前記外部報酬に基づいて、前記内部報酬の計算に用いる前記状態量のサブセットに紐付く内部報酬の方策を選択する、
請求項1または請求項2に記載の報酬計算装置。
【請求項4】
前記選択基準は、UCB(Upper Confidence Bound)手法のUCB値、Thompson sampling手法における確率、およびMED(Minimum Empirical Divergence)におけるのうちのいずれかである、
請求項1または請求項2に記載の報酬計算装置。
【請求項5】
与えられたタスクを解決するための報酬である外部報酬と、タスク非依存の報酬である内部報酬を用いて学習する学習装置における報酬計算装置の報酬計算方法であって、
取得部が、前記タスクを実行する装置の状態量とタスクを実行される対象物体の状態量を取得し、
格納部が、前記内部報酬に用いる複数の状態量のサブセットを格納し、
選択部が、前記複数の状態量のサブセットの中から1つを、選択基準に基づいて選択し、
報酬計算部が、前記サブセットと前記状態量を用いて前記内部報酬と前記外部報酬を計算し、
更新部が、前記内部報酬と前記外部報酬に基づいて前記状態量のサブセットの前記選択基準を更新する、
報酬計算方法。
【請求項6】
与えられたタスクを解決するための報酬である外部報酬と、タスク非依存の報酬である内部報酬を用いて学習する学習装置における報酬計算装置のコンピュータに、
前記タスクを実行する装置の状態量とタスクを実行される対象物体の状態量を取得させ、
前記内部報酬に用いる複数の状態量のサブセットを格納させ、
前記複数の状態量のサブセットの中から1つを、選択基準に基づいて選択させ、
前記サブセットと前記状態量を用いて前記内部報酬と前記外部報酬を計算させ、
前記内部報酬と前記外部報酬に基づいて前記状態量のサブセットの前記選択基準を更新させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、報酬計算装置、報酬計算方法、およびプログラムに関する。
【背景技術】
【0002】
強化学習では,タスク解決のための外部報酬と,タスク解決とは直接関係ない内部報酬(珍しい状況を好む等)の両方を用いて学習させるアプローチがある(例えば、特許文献1参照)。なお、機械学習では、報酬を最大化するように学習を繰り返す。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、内部報酬を計算する際に、すべての状態量や特徴量を使って評価すると、探索空間が大きくなり、またタスク解決の学習に全く関係ない状況を探索することも起こりうる。設計者が、仮に内部報酬を計算する特徴量を事前に選択した場合は、選択されていない特徴量の情報が失われる。
【0005】
本発明は、上記の問題点に鑑みてなされたものであって、内部報酬を計算する際の計算効率を向上させることができる報酬計算装置、報酬計算方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
(1)上記目的を達成するため、本発明の一態様に係る報酬計算装置は、与えられたタスクを解決するための報酬である外部報酬と、タスク非依存の報酬である内部報酬を用いて学習する学習装置における報酬計算装置であって、前記タスクを実行する装置の状態量とタスクを実行される対象物体の状態量を取得する取得部と、前記内部報酬に用いる複数の状態量のサブセットを格納してある格納部と、前記格納部が格納する前記複数の状態量のサブセットの中から1つを、選択基準に基づいて選択する選択部と、前記サブセットと前記状態量を用いて前記内部報酬と前記外部報酬を計算する報酬計算部と、前記内部報酬と前記外部報酬に基づいて前記状態量のサブセットの前記選択基準を更新する更新部と、を備える報酬計算装置である。
【0007】
(2)(1)の報酬計算装置において、前記更新部は、多腕バンディットモデルを用いて外部報酬を評価し、評価の高い外部報酬で使われた前記内部報酬を選択するように前記選択基準を更新するようにしてもよい。
【0008】
(3)(1)または(2)の報酬計算装置において、前記更新部は、前記外部報酬の方策と、前記状態量のサブセットに紐付く内部報酬の方策のうちの1つを確率的に選択して前記装置の行動を生成し、生成した前記行動を前記装置が実施した場合の前記状態量を取得して、取得した結果と前記選択基準と前記外部報酬に基づいて、前記内部報酬の計算に用いる前記状態量のサブセットに紐付く内部報酬の方策を選択するようにしてもよい。
【0009】
(4)(1)から(3)のうちのいずれか1つの報酬計算装置において、前記選択基準は、UCB(Upper Confidence Bound)手法のUCB値、およびThompson sampling手法における確率のうちのいずれかであるようにしてもよい。
【0010】
(5)上記目的を達成するため、本発明の一態様に係る報酬計算方法は、与えられたタスクを解決するための報酬である外部報酬と、タスク非依存の報酬である内部報酬を用いて学習する学習装置における報酬計算装置の報酬計算方法であって、取得部が、前記タスクを実行する装置の状態量とタスクを実行される対象物体の状態量を取得し、格納部が、前記内部報酬に用いる複数の状態量のサブセットを格納し、選択部が、前記複数の状態量のサブセットの中から1つを、選択基準に基づいて選択し、報酬計算部が、前記サブセットと前記状態量を用いて前記内部報酬と前記外部報酬を計算し、更新部が、前記内部報酬と前記外部報酬に基づいて前記状態量のサブセットの前記選択基準を更新する、報酬計算方法である。
【0011】
(6)上記目的を達成するため、本発明の一態様に係るプログラムは、与えられたタスクを解決するための報酬である外部報酬と、タスク非依存の報酬である内部報酬を用いて学習する学習装置における報酬計算装置のコンピュータに、前記タスクを実行する装置の状態量とタスクを実行される対象物体の状態量を取得させ、前記内部報酬に用いる複数の状態量のサブセットを格納させ、前記複数の状態量のサブセットの中から1つを、選択基準に基づいて選択させ、前記サブセットと前記状態量を用いて前記内部報酬と前記外部報酬を計算させ、前記内部報酬と前記外部報酬に基づいて前記状態量のサブセットの前記選択基準を更新させる、プログラムである。
【発明の効果】
【0012】
上記(1)~(6)によれば、内部報酬を計算する際の計算効率を向上させることができる。
【図面の簡単な説明】
【0013】
【
図1】多腕バンディットモデルを説明するための図である。
【
図2】実施形態に係る報酬計算装置の構成例を示す図である。
【
図3】実施形態に係る操作方法の訓練時の処理の概要を示す図である。
【
図4】実施形態に係るサブセットの例を示す図である。
【
図5】実施形態に係る報酬計算装置による学習時の処理手順のフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明に用いる図面では、各部材を認識可能な大きさとするため、各部材の縮尺を適宜変更している。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0015】
(概要)
従来技術では、内部報酬を計算する際に、すべての状態量(含む特徴量)を使って評価すると、探索空間が大きくなり、またタスク解決の学習に全く関係ない状況を探索することも起こりうるという課題があった。また、従来技術では、設計者が、仮に内部報酬を計算する状態量を事前に選択した場合は、選択されていない状態量の情報が失われるという課題があった。
このため、本実施形態では、全部の探索を探索せず、かつ色々な可能性を取りこぼさないようにするために、全ての状態量の中から内部報酬に用いる状態量のサブセットを確率的に選択する。本実施形態では、外部報酬への影響も考慮しながら、状態量の選択確率を更新する。これにより、本実施形態では、全ての組み合わせを計算することなく、有効な内部報酬を選択する。
【0016】
(多腕バンディットモデルの概要)
まず、
図1を用いて多腕バンディット(Multi-Armed Bandit)モデルの概要を説明する。
図1は、多腕バンディットモデルを説明するための図である。
多腕バンディットモデルは、複数のアームと呼ばれる候補から最も良いものを逐次的に探す問題である。予測者は、いくつかのスロットマシンを与えられ、それぞれのスロットマシンを引くと対応した報酬が得られる。ただし、それぞれのマシンの報酬は未知である。繰り返す試行(アームの選択)を通じて得られる報酬を最大化するのが、予測者の目標である。
【0017】
多腕バンディットモデルでは、探索と活用のトレードオフが発生する。短期的には、現時点での経験期待報酬が高いアームを引くのが良い(情報の活用)。しかし、真の期待報酬が高いアームが、これまでたまたま運悪く少ない期待報酬しか得られていなかったということが低確率で発生する。これを防ぐためには、すべてのアームを全体的に引く必要がある(情報の探索)。予測者は、良いアルゴリズムに従って情報の活用と探索をバランスする必要がある。報酬最大化(=後悔の最小化)のアルゴリズムは、確率的定式化(確率的バンディット問題)として、例えば、信頼上界による手法であるUCB(Upper Confidence Bound)アルゴリズム、事後確率サンプルによる手法であるThompson samplingアルゴリズム、経験尤度による手法であるMED(Minimum Empirical Divergence)アルゴリズム等が知られている。なお、割引定式化(割引バンディット問題)の各アルゴリズムや、敵対的定式化(敵対的バンディット問題)のアルゴリズムを用いて、多腕バンディット問題を定式化してもよい。
【0018】
UCBアルゴリズムでは、UCB値を用いて選択する。選択肢iにUCB値は、UCBi=Qi+C(√(2ln(n)/ni))で定義される。なお、Qiは選択肢iを選択して得られた報酬の平均値、nは全試行回数、niは選択試行回数、Cは定数である(例えば、参考文献1参照)。
Thompson samplingアルゴリズムでは、報酬が平均・分散が未知の正規分布に従うと仮定し、事後分布を導出する。すなわち、「ある腕の報酬の期待値が他のどのアームの報酬の期待値よりも高い」確率に従って,そのアームを選択する。平均に対する事前分布は正規分布を用い、分散に対する事前分布はscaled inverse chi-squared分布を用いる。これによって事前分布が共役事前分布となる(例えば、参考文献2参照)。
MEDアルゴリズムでは、現在のデータからパラメータに対して一致性のある推定パラメータを作り、推定パラメータが真のパラメータだと仮定し、その結果最適なアーム配置の尤度を計算し、有意水準1=t以下で最適な配置を決定できた場合にのみ活用を行い、それ以外では探索を行う(例えば、参考文献3参照)。
【0019】
参考文献1;P. Auer, N. Cesa-Bianchi and P.Fischer, “Finite-time analysis of the multiarmed bandit problem”, Machine learning, 47(2), 235-256, 2002
参考文献2;WR Thompson “On the likelihood that one unknown probability exceeds another in view of the evidence of two samples”. Biometrika, 25(3-4):285-294, 1933.
参考文献3;Junya Honda, Akimichi Takemura, “An Asymptotically Optimal Bandit Algorithm for Bounded Support Model”, Machine Learning 85 (2011) 361-391, 2011
【0020】
(強化学習のアプローチ)
次に、強化学習のアプローチ例を説明する。
機械学習では、内部報酬と外部報酬を同時に考慮しながら、探索・試行錯誤に利用するアプローチがある。なお、内部報酬とは、タスク非依存の報酬であり、例えば、状態の珍しさや、状態に対する自信や不確実性等である。また、外部報酬とは、与えられたタスクを解決するための報酬である。
また、内部報酬の計算に用いる手法としては、ランダムに初期化して固定化したターゲットネットワークと、訓練対象のネットワークとの出力差が小さくなるように訓練する(例えば、参考文献4参照)。
【0021】
参考文献4;Yuri Burda, et al., ”EXPLORATION BY RANDOM NETWORK DISTILLATION”, arXiv:1810.12894 , 2018
【0022】
(報酬計算装置の構成例)
次に、報酬計算装置の構成例を説明する。
図2は、本実施形態に係る報酬計算装置の構成例を示す図である。報酬計算システム5は、報酬計算装置1と、ロボット2と、環境センサ3を備える。
報酬計算装置1は、例えば、取得部11と、学習部12(更新部)と、格納部13と、選択部14と、報酬計算部15と、更新部16と、モデル記憶部17を備える。
ロボット2は、例えば、撮影部21と、センサ22と、制御部23と、通信部24を備える。
【0023】
撮影部21は、例えば、ロボット2の頭部やハンドに取り付けられている。
センサ22は、ロボットの各関節に取り付けられている位置や姿勢を検出するセンサ、指やハンドに取り付けられている力センサや触覚センサ等である。
制御部23は、ロボット2の動作を制御する。
通信部24は、無線または有線で報酬計算装置1と情報の送受信を行う。
なお、ロボット2は、不図示のアクチュエータ、駆動部、記憶部、電源部等を備えている。
【0024】
ロボット2は、撮影部21が撮影した画像と、センサ22が検出した検出値(物体位置と姿勢、力センサや触覚センサが検出した検出値等)を、有線または無線で報酬計算装置1へ出力する。
なお、ロボット2は、不図示の記憶部、電源、駆動部等を備えている。
【0025】
環境センサ3は、例えば、深度情報Dも測定可能なRGB(赤緑青)D撮影装置である。環境センサ3は、例えば、物体やロボット2を撮影可能な範囲に設置される。環境センサ3は、複数であってもよい。なお、環境センサ3は、不図示の通信部を備える。
【0026】
取得部11は、ロボット2と環境センサ3から状態量を取得する。これにより、取得部11は、タスクを実行する装置とタスクを実行される対象物体の状態量を取得する。
【0027】
学習部12は、学習時(訓練時)、内部報酬計算用のモデルと内部報酬計算用の方策と外部報酬用の方策を初期化する。学習部12は、学習時(訓練時)、外部報酬の方策か、内部報酬の方策かを確率的に選択して、行動を生成する。学習部12は、生成した行動を、環境(シミュレーションモデルまたは実機環境)内で1ステップ実行する。
【0028】
格納部13は、内部報酬に用いる状態量のサブセットを格納する。格納部13は、サブセットに紐付けて内部報酬の方策を格納する。なお、サブセットは、報酬計算装置1が予め作成してもよく、作業者が予め作成してもよい。
【0029】
選択部14は、格納部の中から特定のサブセットを確率的に選択する。
【0030】
報酬計算部15は、サブセットと状態量から内部報酬と外部報酬を計算する。
【0031】
更新部16は、訓練時、内部報酬を用いて第1方策を更新し、外部報酬を用いて第2方策を更新する。更新部16は、探索時、内部報酬と外部報酬に基づいて、選択可能な状態量のサブセット(以下、「状態量サブセット」という)の選択確率を更新する。なお、更新部16は、多腕バンディットモデルを用いて、タスクを解決するための報酬である外部報酬を評価し、評価の高い外部報酬で使われた内部報酬を選択する。なお、本実施形態では、各サブセットを、多腕バンディットモデルにおけるスロットマシン1つずつと見なして、多腕バンディットモデルを用いる。
【0032】
モデル記憶部17は、多腕バンディットモデルを記憶する。モデル記憶部17は、例えば、カーネル関数のパラメータ、RNDのパラメータ、第1方策、第2方策等を記憶する。
【0033】
図3は、本実施形態に係る操作方法の訓練時の処理の概要を示す図である。
報酬計算装置1は、ロボット2と環境センサ3から状態量(物体の位置を示す情報、物体の姿勢を示す情報、力覚センサの検出値、触覚センサの検出値、撮影部21または環境センサ3が撮影した画像)を取得する。
【0034】
本実施形態では、選択可能な状態量のサブセット、およびサブセットの組み合わせを予め設計して与える。そして、本実施形態では、各サブセットを、多腕バンディットモデルにおけるマシンの1つと考えて用いる。すなわち、内部報酬に用いる状態量は、多腕バンディットモデルを用いて選択する。
このため、状態量のサブセットをRND351に入力して、内部報酬を算出する。なお、RND351のネットワークは、例えば上述した参考文献4の手法を用いて、内部報酬を算出する。なお、内部報酬の算出は、カーネル法等で行ってもよい。RND351は、ある接触状態が入力されると,内部報酬を出力する。例えば、状態stで行動atをとった場合は、環境354(Env)が出力する次の状態st+1のうち接触状態だけをRND351に入力され、RND351が内部報酬を計算する。なお、内部報酬は、例えば、ニューラルネットワークやカーネル法などを用いて計算する。内部報酬の計算に用いる手法としては、例えば、ランダムにパラメータを初期化して固定化したターゲットのニューラルネットワークと、訓練対象のニューラルネットワークとの出力差が小さくなるように訓練対象のネットワークのパラメータを訓練する(例えば、参考文献4参照(RND))手法がある。この手法においては、訓練されたデータが入力された場合は、2つのネットワークが同じような値を出力するようになり、未知のデータが入力された場合は2つのネットワークが異なる値を出力する。なお、内部報酬に用いる入力は、全ての状態のうちの一部の情報を用いる。また、本実施形態では、内部報酬の計算にRND(Random Network Distillation)を用いる例を説明するが、他の手法を用いてもよい。
【0035】
第1方策352は、外部報酬のみを考慮した方策(ポリシー)である。第1方策352は、外部報酬によって訓練され更新される。第1方策352には、取得されたロボットの状態量が入力される。第1方策352の出力は、行動である。
【0036】
第2方策353は、内部報酬のみを考慮した方策である。第2方策353は、内部報酬によって訓練され更新される。第2方策353には、取得されたロボットの状態量が入力される。第2方策部253は、N個(Nは2以上の整数)のサブセットそれぞれに紐付けられているN個の方策によって構成される。第2方策353の出力は、行動である。なお、外部報酬の計算は、設定されたタスクによって異なる。例えば、物体の位置を変えるタスクの場合は、状態量の一部(物体の位置)の情報だけから外部報酬を算出する。また、他のタスクの場合は、状態量の全ての情報から外部報酬を算出する。
【0037】
なお、第1方策352、第2方策353の更新は、例えば、所定回数の行動を行わせ、行動毎の報酬を一時記憶し、記憶された報酬の中で例えば最も高い報酬の際の行動に基づいて、方策のネットワークのパラメータを更新するようにしてもよい。
【0038】
環境354(Env)は、第1方策352と第2方策353の出力を確率的に選択して、方策が出力した行動を環境モデルで実行する。なお、選択する確率は、例えば、第1方策352が40%、第2方策353が60%である。なお、環境354(Env)の出力は、ロボットの状態量や物体情報、接触情報に基づいて算出された外部報酬だけである。例えば、環境354(Env)は、状態stと行動atが入力されると、次の状態st+1と外部報酬r^Extを出力する。環境354(Env)は、第1方策352が出力した行動が入力されても、第2方策353が出力した行動が入力されても、次の状態st+1と外部報酬r^Extを出力する。また、第1方策352と第2方策353が出力するスケールが異なる場合は、スケールのレンジが同じようになるように例えば正規化して用いる。なお、環境354の出力は、ロボットの状態量や物体情報、接触情報に基づいて算出された外部報酬である。
【0039】
なお、各方策の個数は、1つとは限らない。例えば、ゴールが複数ある場合は、方策をゴール毎に設けるようにしてもよい。または、複数のゴールを1つの方策に入力して用いてもよい。すなわち、方策は、並列化されていてもよく、ゴール条件付きで用いられるようにしてもよい。
【0040】
なお、外部報酬は、記憶させておき、訓練時にそのままの値で使うことができる。オンポリシーの場合は、内部報酬も一時的に記憶しておき、そのままの値で訓練に使用するが、訓練後は破棄する。オフポリシーの場合の内部報酬は、その時点までに経験したデータから考えて、珍しいか否かを判定する。このため、データ数が増えた後は、再計算が必要になる。
そして、外部報酬を用いた訓練では、モデル記憶部17から状態st、行動at、外部報酬r^Ext、行動後の状態st+1を複数のtに対して取り出して、これらを基に方策ネットワークのパラメータを更新する。
内部報酬を用いる訓練では、モデル記憶部17から状態st、行動at、行動後の状態st+1を複数のtに対して取り出して、st+1に対して内部報酬r^Intを再計算し、これらを基に方策ネットワークのパラメータを更新する。
【0041】
このように環境354(Env)は、外部報酬を計算する。また、RND351は、内部報酬を計算する。このため、報酬計算部15に、例えば、RND351と、環境354が対応する。なお、環境モデルを用いてロボットの行動をシミュレーションしてもよく、実機で動作を行わせてもよい。このため、環境は、シミュレーション環境であってもよく、実機環境であってもよい。
【0042】
(サブセット)
ここで、サブセットの例を説明する。
図4は、本実施形態に係るサブセットの例を示す図である。第1のサブセットは、例えば、状態量Aと、状態量Bと、状態量Cと、状態量Dの組である。この第1のサブセットには、第1の方策(第1方策)が紐付けられている。第2のサブセットは、状態量Aと、状態量Bの組である。この第2のサブセットには、第2の方策(第2方策)が紐付けられている。
なお、状態量Aは、例えば物体の位置を示す情報である。状態量Bは、例えば物体の姿勢を示す情報である。状態量Cは、力覚センサの検出値である。状態量Dは、例えば触覚センサの検出値である。状態量Eは、例えば撮影された画像である。
なお、
図4に示したサブセットの組み合わせや個数、状態量等の例は一例であり、これに限らない。
【0043】
(報酬計算装置の処理手順例)
次に、報酬計算装置1による時の処理手順例を説明する。
図5は、本実施形態に係る報酬計算装置による学習時の処理手順のフローチャートである。
【0044】
(ステップS1)学習部12は、内部報酬の計算用に選択可能な情報量のサブセットと、サブセットの組み合わせN種類を予め設計して格納部13に格納する。
【0045】
(ステップS2)学習部12は、内部報酬計算用のモデル(例えばニューラルネットワーク;NN)をN個と、内部報酬計算用の方策をN個と、外部報酬用の方策を1個、初期化する。なお、内部報酬計算用のモデルは、選択した情報のサブセットに対して内部報酬を計算することだけに使用する。また、内部報酬計算用の方策とは、その内部報酬に基づいて行動を決定するネットワークのことである。
【0046】
(ステップS3)取得部11は、ロボット2と環境センサ3から、現在の状態量を取得する。
【0047】
(ステップS4)選択部14は、全ての内部報酬の方策を一度は選択したか否かを判別する。なお、選択部14は、N個のサブセットのうちのいずれか1つを選択し、選択したサブセットに紐付けられている内部報酬計算用の報酬を選択する。また、選択部14は、どの方策が何回選択されたか記憶する。選択部14は、全ての内部報酬の方策を一度は選択した場合(ステップS4;YES)、ステップS5の処理に進める。選択部14は、一度も選択していない内部報酬の方策がある場合(ステップS4;NO)、ステップS7の処理に進める。
【0048】
(ステップS5)選択部14は、まだ一度も選ばれていない内部報酬の方策を選択する。選択部14は、処理後、ステップS7の処理に進める。
【0049】
(ステップS6)選択部14は、N個の方策が全て選択された後、例えば、UCB(Upper Confidence Bound)アルゴリズムで計算し、外部報酬を用いて、計算結果が最大となるサブセットと、サブセットと紐付けられている方策を選ぶ。なお、多腕バンディットの評価で用いるのは、外部報酬である。すなわち、本実施形態では、内部報酬のための選択の良い悪いの評価を、外部報酬を用いて行い、外部報酬が増えそうなサブセットと、サブセットと紐付けられている方策を選ぶ。なお、本実施形態では、UCB値UCBi=Qi+C(√(2ln(n)/ni))において、Qiに外部報酬を用いる。また、選択肢は、上述したN個の情報のサブセットである。
【0050】
(ステップS7)更新部16は、選択したk番目(kは1からNのうちの1つの整数)の内部報酬計算用のモデルを更新する。報酬計算部15は、内部報酬を計算する。報酬計算部15は、状態量の一部または全部を用いて外部報酬を計算する。
【0051】
(ステップS8)更新部16は、内部報酬に基づいてサブセットとサブセットに紐付く内部報酬の方策と更新し、外部報酬に基づいて外部報酬の方策を更新する。
【0052】
(ステップS9)学習部12は、外部報酬の方策か、選択したk番目の内部報酬の方策かを確率的に選択して、行動を生成する。学習部12は、生成した行動を、環境(シミュレーションモデル)内で1ステップ実行する。
【0053】
(ステップS10)学習部12は、例えば、所定回数の処理を行い、学習が終了したか否かを判別する。学習部12は、学習が終了したと判別した場合(ステップS10;YES)、学習処理を終了する。学習部12は、学習が終了していない判別した場合(ステップS10;NO)、ステップS3に処理を戻す。
【0054】
ここで、ステップS6の処理について、さらに説明する。
選択部14は、一度、一通りの方策を試した結果、案配がようさそうな方策と紐付けられているサブセットを選択する。この場合、選択部14は、複数のサブセットの中から1つを選択基準に基づいて選択することになる。
または、選択部14は、Thompson sampling手法を用いて方策を選択する。この場合、選択部14は、複数のサブセットの中から1つを確率的に選択することになる。
【0055】
このように、ステップS6の処理の方策が一通り選ばれた後、かつ第1の方策が選ばれた後の次回のループでは、例えば、第1の方策は2度選ばれた報酬となり、第2の報酬は1度選ばれた報酬となり、・・・、その状態でUCBが最大となるものが選ばれる処理が繰り返されることで、学習が行われる。
【0056】
また、本実施形態では、外部報酬の方策か、内部報酬のサブセットと(サブセットに紐付く)方策かを、確率的に選択して生成した行動を実行し、実行した行動の状態量を取得して、それに基づいて状態量サブセットの選択基準を更新している。すなわち、更新部16は、内部報酬と外部報酬に基づいて状態量サブセットの選択基準を更新する。
【0057】
以上のように、本実施形態では、内部報酬と外部報酬を用い、内部報酬を計算するための情報量を多腕バンディットモデルによって選択するようにした。
【0058】
これにより、本実施形態によれば、タスク解決のための外部報酬への影響も考慮しながら内部報酬に用いる状態量の選択を自動で選択することで、外部報酬では考慮されていないがタスク解決の学習に役立つ内部報酬が選択され、目的のタスク解決学習の効率が上がる。
【0059】
なお、上述した例では、状態量をロボットやロボットハンドから取得する例を説明したが、状態量を取得する対象は、これに限らない。状態量の取得対象は、タスクを解決する装置であればよく、例えば自動運転する車両等であってもよい。
【0060】
なお、本発明における報酬計算装置1の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより報酬計算装置1が行う処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0061】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0062】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【0063】
1…報酬計算装置、2…ロボット、3…環境センサ、5…報酬計算システム、11…取得部、12…学習部、13…格納部、14…選択部、15…報酬計算部、16…更新部、17…モデル記憶部、21…撮影部、22…センサ、23…制御部、24…通信部