(57)【要約】【課題】報酬が得られる状態に到達できる確率が低い環境でも、効率的に学習する。【解決手段】移動物の行動を決定するためのネットワーク学習装置であって、決定された移動物の行動を行うように移動物を制御し、行動後の移動物の環境を表す状態データ、及び行動に対する報酬を取得し、行動に対する報酬と、移動物の環境を表す状態データとに基づいて、状態データが過去に経験した状態データに対応しているかどうかを表す探索評価値を計算し、行動に対する報酬と、計算された探索評価値とに基づいて、移動物の行動を決定するための多層ニューラルネットワークのモデルパラメタを更新し、移動物の環境を表す入力データを入力として、多層ニューラルネットワークの各要素を計算し、その出力層の値に基づいて、移動物の行動を決定する。【選択図】図１
2018198012.tif 000002
【特許請求の範囲】
【請求項１】
移動物の行動を決定するためのネットワーク学習装置であって、
決定された移動物の行動を行うように前記移動物を制御する行動制御部と、
行動後の前記移動物の環境を表す状態データ、及び行動に対する報酬を取得するデータ取得部と、
前記行動に対する報酬と、前記移動物の環境を表す状態データとに基づいて、前記状態データが過去に経験した状態データに対応しているかどうかを表す探索評価値を計算する探索評価値計算部と、
前記行動に対する報酬と、前記計算された探索評価値とに基づいて、前記移動物の行動を決定するための多層ニューラルネットワークのモデルパラメタを更新するパラメタ更新部と、
前記移動物の環境を表す入力データを入力として、前記多層ニューラルネットワークの各要素を計算するネットワーク計算部と、
前記多層ニューラルネットワークの出力層の値に基づいて、前記移動物の行動を決定する行動決定部と、
予め定められた反復終了条件を満たすまで、前記行動制御部による制御、前記データ取得部による取得、前記探索評価値計算部による計算、前記パラメタ更新部による更新、前記ネットワーク計算部による計算、及び前記行動決定部による決定を繰り返させる終了判定部と、
を含むネットワーク学習装置。
【請求項２】
前記探索評価値計算部は、前記行動に対する報酬と、現時点の時刻と、前記移動物の環境を表す状態データに対応する状態データの経験回数とに基づいて、前記探索評価値を計算する請求項１記載のネットワーク学習装置。
【請求項３】
前記パラメタ更新部は、前記行動に対する報酬に基づいて、前記移動物の行動を決定するための行動決定用の多層ニューラルネットワークのモデルパラメタを更新し、前記計算された探索評価値に基づいて、前記移動物の行動を決定するための探索用の多層ニューラルネットワークのモデルパラメタを更新し、
前記ネットワーク計算部は、前記移動物の環境を表す入力データを入力として、前記探索用の多層ニューラルネットワークの各要素を計算し、
前記行動決定部は、前記探索用の多層ニューラルネットワークの出力層の値に基づいて、前記移動物の行動を決定する請求項１又は２記載のネットワーク学習装置。
【請求項４】
移動物の行動を決定するための行動決定装置であって、
決定された移動物の行動を行うように前記移動物を制御する行動制御部と、
行動後の前記移動物の環境を表す状態データを取得するデータ取得部と、
前記移動物の環境を表す入力データを入力として、請求項３記載のネットワーク学習装置によって得られた前記行動決定用の多層ニューラルネットワークの各要素を計算するネットワーク計算部と、
前記行動決定用の多層ニューラルネットワークの出力層の値に基づいて、前記移動物の行動を決定する行動決定部と、
予め定められた反復終了条件を満たすまで、前記行動制御部による制御、前記データ取得部による取得、前記ネットワーク計算部による計算、及び前記行動決定部による決定を繰り返させる終了判定部と、
を含む行動決定装置。
【請求項５】
行動制御部、データ取得部、探索評価値計算部、パラメタ更新部、ネットワーク計算部、行動決定部、及び終了判定部を含む、移動物の行動を決定するためのネットワーク学習装置であって、
前記行動制御部が、決定された移動物の行動を行うように前記移動物を制御するステップと、
データ取得部が、行動後の前記移動物の環境を表す状態データ、及び行動に対する報酬を取得するデータ取得部と、
前記探索評価値計算部が、前記行動に対する報酬と、前記移動物の環境を表す状態データとに基づいて、前記状態データが過去に経験した状態データに対応しているかどうかを表す探索評価値を計算するステップと、
前記パラメタ更新部が、前記行動に対する報酬と、前記計算された探索評価値とに基づいて、前記移動物の行動を決定するための多層ニューラルネットワークのモデルパラメタを更新するステップと、
前記ネットワーク計算部が、前記移動物の環境を表す入力データを入力として、前記多層ニューラルネットワークの各要素を計算するステップと、
前記行動決定部が、前記多層ニューラルネットワークの出力層の値に基づいて、前記移動物の行動を決定するステップと、
前記終了判定部が、予め定められた反復終了条件を満たすまで、前記行動制御部による制御、前記データ取得部による取得、前記探索評価値計算部による計算、前記パラメタ更新部による更新、前記ネットワーク計算部による計算、及び前記行動決定部による決定を繰り返させるステップと、
を含むネットワーク学習方法。
【請求項６】
コンピュータを、請求項１〜請求項３の何れか１項に記載のネットワーク学習装置、又は請求項４に記載の行動決定装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械を実環境で制御し、自律的に行動させる際に用いるネットワーク学習装置、行動決定装置、ネットワーク学習方法、及びプログラムであって、特に、自律的に行動させるために必要な行動決定の方策を実データから自動的に学習するネットワーク学習装置、行動決定装置、ネットワーク学習方法、及びプログラムに関する。
【背景技術】
【０００２】
自律的に活動する機械（ロボット）を実現することは、近年発展が著しい人工知能研究の重要な課題である。ここでは、自動車の自動運転、ドローンの自動飛行等、実環境で人間が介在しない状況で機械が自動で活動する状況を想定する。
【０００３】
この場合、センサーデータ、画像データ、ＧＰＳ（位置）データ等を入力とし、機械（自動車、ドローン等）が、現時点の状況からどのような行動（加速、減速、右折、左折）を選択するのが適切か、時々刻々と変化する状況に合わせて、逐次選択していく問題と言える。
【０００４】
このような機械の自律的な行動には、周囲の環境と自身の状態とを把握し、どのような行動を選択すればよいかを逐次判断することが機械に求められる。任意の環境に対して、適切な行動を行うために、環境に対してどのような行動をすべきかを、何らかの形で機械に与えなくてはいけない。
【０００５】
人間が作成するルールのようなもので、あらゆる状況を網羅し適切な行動を選択させるのは困難であるため、一般的には、実データから機械学習法などを用いて行動を学習する。このような行動を学習する場合には、必ずしも「正解」と呼べる行動が唯一存在するわけではない。
【０００６】
しかし、一連の行動の結果、各々の行動が良かったか悪かったかといった絶対的あるいは相対的な評価を行うことは可能な場合が多い。このような問題設定の場合に、実データから機械が取るべき最良の行動を自動的に学習する方法論の一つとして、強化学習の枠組みが知られている。特に、近年は深層学習の枠組みを用いて強化学習を行うＤｅｅｐ  Ｑ−Ｎｅｔｗｏｒｋｓ（ＤＱＮ）等の出現により、限定された環境では、人間よりもより適切に機械を動かすことが可能であることも徐々に示されつつある（非特許文献３を参照）。
【０００７】
また、非特許文献３に開示されている技術をさらに改良した、分散並列処理により学習を高速化させるａｓｙｎｃｈｒｏｎｏｕｓ  ａｄｖａｎｔａｇｅ  ａｃｔｏｒ−ｃｒｉｔｉｃ（Ａ３Ｃ）と呼ばれる方法も提案されている（非特許文献２を参照）。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Tze Leung Lai and Herbert Robbins. Asymptotically efficient adaptive allocation rules. Advances in applied mathematics, 6(1):4-22, 1985.
【非特許文献２】Volodymyr Mnih, Adria Puigdomenech Badia, Mehdi Mirza, Alex Graves, Timothy P Lillicrap, Tim Harley, David Silver, and Koray Kavukcuoglu. Asynchronous methods for deep reinforcement learning. In International Conference on Machine Learning, 2016.
【非特許文献３】Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Andrei A Rusu, Joel Veness, Marc G Bellemare, Alex Graves, Martin Riedmiller, Andreas K Fidjeland, Georg Ostrovski, et al. Human-level control through deep reinforcement learning. Nature, 518(7540):529-533, 2015.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
機械が行動決定する際に利用する「行動決定の方策」を実データから自動的に学習する「学習フェーズ」と、学習フェーズで得られた行動決定の方策を用いて、実環境で実際に行動をおこなう「評価フェーズ」と、の大きく分けて二つの状況を含む場合について考える。
【００１０】
この場合、ある環境下での機械が適切な行動をとれるような行動決定の方策を学習する課題に取り組む。また、そのためのベースとなる方法論として上述したＡ３Ｃによる学習の枠組みを用いる。
【００１１】
非特許文献２では、画像を入力信号とし、入力信号から得られる画素情報から次の行動を選択する。行動決定の方策は、多層ニューラルネットワークにより表現される。よって、学習は、事前に構築された多層ニューラルネットワークのパラメタを適切に決定するプロセスとなる。また、学習時には、行動が適切であったかどうかを数値的に評価する評価値が与えられ、この評価値の期待値が高くなる行動を選択しやすくするように、多層ニューラルネットワークのパラメタを決定することになる。
【００１２】
ここでは、例えば、環境内を自由に移動している任意の物体にぶつからないようにスタート地点からより多くのチェックポイントへ移動できるかという問題を考える。ただし、移動可能な範囲が非常に広大であると想定する。また、チェックポイント、ぶつからないように回避すべき物体等が、環境の広さに対して非常に少ない環境を想定する。このような設定の場合は、強化学習の観点では、報酬（ペナルティ（マイナスの値）含む）を得る状態になる確率がかなり低い。つまり、機械が取れる選択肢の自由度が非常に大きいため、学習が効率的に行われない可能性があるという問題点がある。
【００１３】
実際に、このような自由度が非常に高い場合は、従来法で学習を行っても、報酬が得られる状態に到達しないために、その場から大きく動くことなく、所望するチェックポイントの方へ行動をおこすことがない、といったことがしばしば発生する。
【００１４】
本発明は、以上のような事情に鑑みてなされたものであり、報酬が得られる状態に到達できる確率が低い環境でも、効率的に学習することができるネットワーク学習装置、行動決定装置、ネットワーク学習方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、本発明のネットワーク学習装置は、移動物の行動を決定するためのネットワーク学習装置であって、決定された移動物の行動を行うように前記移動物を制御する行動制御部と、行動後の前記移動物の環境を表す状態データ、及び行動に対する報酬を取得するデータ取得部と、前記行動に対する報酬と、前記移動物の環境を表す状態データとに基づいて、前記状態データが過去に経験した状態データに対応しているかどうかを表す探索評価値を計算する探索評価値計算部と、前記行動に対する報酬と、前記計算された探索評価値とに基づいて、前記移動物の行動を決定するための多層ニューラルネットワークのモデルパラメタを更新するパラメタ更新部と、前記移動物の環境を表す入力データを入力として、前記多層ニューラルネットワークの各要素を計算するネットワーク計算部と、前記多層ニューラルネットワークの出力層の値に基づいて、前記移動物の行動を決定する行動決定部と、予め定められた反復終了条件を満たすまで、前記行動制御部による制御、前記データ取得部による取得、前記探索評価値計算部による計算、前記パラメタ更新部による更新、前記ネットワーク計算部による計算、及び前記行動決定部による決定を繰り返させる終了判定部と、を含む。
【００１６】
なお、前記探索評価値計算部は、前記行動に対する報酬と、現時点の時刻と、前記移動物の環境を表す状態データに対応する状態データの経験回数とに基づいて、前記探索評価値を計算するようにしても良い。
【００１７】
また、前記パラメタ更新部は、前記行動に対する報酬に基づいて、前記移動物の行動を決定するための行動決定用の多層ニューラルネットワークのモデルパラメタを更新し、前記計算された探索評価値に基づいて、前記移動物の行動を決定するための探索用の多層ニューラルネットワークのモデルパラメタを更新し、前記ネットワーク計算部は、前記移動物の環境を表す入力データを入力として、前記探索用の多層ニューラルネットワークの各要素を計算し、前記行動決定部は、前記探索用の多層ニューラルネットワークの出力層の値に基づいて、前記移動物の行動を決定するようにしても良い。
【００１８】
上記目的を達成するために、本発明の行動決定装置は、移動物の行動を決定するための行動決定装置であって、決定された移動物の行動を行うように前記移動物を制御する行動制御部と、行動後の前記移動物の環境を表す状態データを取得するデータ取得部と、前記移動物の環境を表す入力データを入力として、請求項３記載のネットワーク学習装置によって得られた前記行動決定用の多層ニューラルネットワークの各要素を計算するネットワーク計算部と、前記行動決定用の多層ニューラルネットワークの出力層の値に基づいて、前記移動物の行動を決定する行動決定部と、予め定められた反復終了条件を満たすまで、前記行動制御部による制御、前記データ取得部による取得、前記ネットワーク計算部による計算、及び前記行動決定部による決定を繰り返させる終了判定部と、を含む。
【００１９】
上記目的を達成するために、本発明のネットワーク学習方法は、行動制御部、データ取得部、探索評価値計算部、パラメタ更新部、ネットワーク計算部、行動決定部、及び終了判定部を含む、移動物の行動を決定するためのネットワーク学習装置であって、前記行動制御部が、決定された移動物の行動を行うように前記移動物を制御するステップと、データ取得部が、行動後の前記移動物の環境を表す状態データ、及び行動に対する報酬を取得するデータ取得部と、前記探索評価値計算部が、前記行動に対する報酬と、前記移動物の環境を表す状態データとに基づいて、前記状態データが過去に経験した状態データに対応しているかどうかを表す探索評価値を計算するステップと、前記パラメタ更新部が、前記行動に対する報酬と、前記計算された探索評価値とに基づいて、前記移動物の行動を決定するための多層ニューラルネットワークのモデルパラメタを更新するステップと、前記ネットワーク計算部が、前記移動物の環境を表す入力データを入力として、前記多層ニューラルネットワークの各要素を計算するステップと、前記行動決定部が、前記多層ニューラルネットワークの出力層の値に基づいて、前記移動物の行動を決定するステップと、前記終了判定部が、予め定められた反復終了条件を満たすまで、前記行動制御部による制御、前記データ取得部による取得、前記探索評価値計算部による計算、前記パラメタ更新部による更新、前記ネットワーク計算部による計算、及び前記行動決定部による決定を繰り返させるステップと、を有する。
【００２０】
上記目的を達成するために、本発明のプログラムは、コンピュータを、本発明のネットワーク学習装置を構成する各部、又は本発明の行動決定装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００２１】
本発明によれば、報酬が得られる状態に到達できる確率が低い環境でも、効率的に学習することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】実施形態に係る移動物、移動障害物、及び環境の一例を示す模式図である。
【図２】実施形態に係る移動物の行動の一例を示す模式図である。
【図３】実施形態に係る行動決定装置に入力されるカメラ画像の一例を示す模式図である。
【図４】実施形態に係る行動決定装置に用いられる多層ニューラルネットワークの一例を示す模式図である。
【図５】実施形態に係る行動決定装置の構成の一例を示す機能ブロック図である。
【図６】実施形態に係る行動決定装置により実行される学習処理の流れを示すフローチャートである。
【図７】実施形態に係る行動決定装置により実行される行動決定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態について図面を用いて説明する。
【００２４】
強化学習により自動で行動決定の方策を得るためには、なんとかして報酬が得られる状態に到達し、その経験を学習に結びつける以外に方法はない。つまり、たとえ報酬（ペナルティ含む）が得られる状態に到達する確率が低い環境だとしても、何かしらの方法で、報酬が得られる状態を見つけ出さなくてはいけない。
【００２５】
本実施形態では、実際に得られる真の報酬とは別に、対象とする環境をどの程度探索できたか、という擬似的な報酬を定義する。その擬似報酬は、真の報酬と違い、全ての状態で０よりも大きい値をもつように定義する。また、各状態での評価値は相対的に探索がどの程度進んでいるかを示す値と考える。
【００２６】
より具体的には、現在到達した状態と同じ、或いは、ほぼ等価とみなしてよい状態を過去に経験したか否かを基準に評価する。その評価値が相対的に高ければこれまでにあまり経験したことのない状態と考える。逆に、評価値が低ければこれまでに経験したことがあるとみなす。
【００２７】
従来の強化学習ではより高い報酬が得られる方向に行動をとるように行動決定の方策は更新されていく。つまり、擬似的な探索スコアが高い方向に行動決定の方策は更新されていくことになるので、結果として探索があまり進んでいない状態に向かって行動していくような行動決定方策を学習することになる。この結果、今までに到達していない状態に向かってより行動を起こしやすくなる。また、最終的に報酬が得られる状態まで到達する可能性が高まる。
【００２８】
このような仕組みにより、報酬が得られる状態をいくつか発見できれば、その経験に基づいて学習を行うことが可能となる。このことから、効果的な探索の評価方法をいかに決定し、それを計算するかが大きなポイントとなる。本実施形態では、この効果的な探索の評価方法として、非特許文献１に開示されている、ｕｐｐｅｒ  ｃｏｎｆｉｄｅｎｃｅ  ｂｏｕｎｄ（ＵＣＢ）と呼ばれる計算式に基づいた新しい評価計算式を導入する。
【００２９】
また、探索の評価値をより効果的に利用するために、探索の評価値と真の報酬とはパラメタを共有しているが、別の方策として学習する処理方式を用いる。
【００３０】
本実施形態の説明とその効果を簡単に述べるために、非常に限定された状況と条件下で、機械が自動で行動選択を行う方法と、その行動選択の方策をデータから自動的に学習する方法を述べる。
【００３１】
ここでは、一例として図１及び図２に示すように、制御対象となる自律機械が、環境内に一台存在する状況を想定する。また、制御対象ではない、同様の自律機械が、環境内に複数存在することとする。全ての自律機械が取れる行動
2018198012.tif 000003
は、簡単のため、「右に回転」、「左に回転」、「前進」、及び「動かない」の４種類とする。
2018198012.tif 000004
【００３２】
なお、簡単のため、ここでは制御対処の自律機械を「移動物」、環境内のそれ以外の自律機械を「移動障害物」と呼ぶ。
【００３３】
この設定で移動物が、移動障害物に接触せずにチェックポイントとする複数の地点へより多く到達するよう行動を決定する方策を自動的に獲得する問題に取り組む。これは、現実の世界での車やドローンの自動運転を簡略化した設定だと想定しており、移動障害物に接触することは、すなわち現実世界で車同士が接触することを意味するので、非常に大きな問題となる。よって、接触せずに行動する方策を自動的に獲得する方法を構築することは非常に重要な課題である。
【００３４】
移動物の周囲の環境は、移動物に付属された前方が確認できるカメラ映像（画像）とする。
【００３５】
また、移動障害物は、積極的に移動物を妨害するようなことはなく、正面のカメラに移動物がいれば、移動物同様に接触しないように適切と思われる行動をとる。ただし、カメラの範囲に移動物がいなければ、当然回避行動は行われる保証はない。
【００３６】
一例として図３に示すように、時刻をｔとし、ここでは、一時刻単位として、１／６０秒のように非常に短い時間単位を想定する。つまり、カメラで撮影される１／６０秒毎の映像データを１枚の画像データとして扱う。また、各時刻ｔでは、４単位時刻前までの４枚の画像をまとめて入力として扱う。つまり、１回に入力される画像データは、１／１５秒分のデータとなっていると言える。
【００３７】
具体的な報酬として、ここでは、移動障害物に接触した場合、チェックポイント（目標の一つ）に到達した場合、及び、それ以外の場合の３種類を用いる。また、前述のように、現実の状況に即して移動障害物に接触することは非常に問題が大きいことから、障害物に接触する場合の報酬は大きい負の値とし、さらに強制的に終了条件を満たしたと判定され、そこで終了となる。例えば、取り得る報酬の値集合
2018198012.tif 000005
を
2018198012.tif 000006
と設定する。
【００３８】
移動物の実態は、一例として図４に示すように、行動決定のための多層ニューラルネットワークである。ここでは、多層ニューラルネットワーク全体をＭθで表す。また、利用する多層ニューラルネットワークの最終層に相当する部分が、行動を決定する方策πと価値関数ｖとなる。
【００３９】
行動決定の方策πは、現在の状態から、とり得る行動
2018198012.tif 000007
に対して、その行動をとるべきかそうでないかを確率値（以下、「評価値」という。）によりモデル化する。一方、価値関数ｖは、現在の状態に対する報酬を学習したものとする。つまり、その状態に到達すべきと判断される場合は、高い値となり、そうでない場合は低い値をとる。
【００４０】
次に、θｖを価値関数ｖ用のモデルパラメタとし、θπを行動選択の方策π用のモデルパラメタとする。
【００４１】
本実施形態では、さらに探索用の行動決定の方策
2018198012.tif 000008
を用意する。実態は、πと同等であるが、πと同じものを２つ用意したことに相当する。
【００４２】
2018198012.tif 000009
を探索用の行動選択の方策
2018198012.tif 000010
用のモデルパラメタとする。
【００４３】
ここで、図５に示すように、本実施形態に係る行動決定装置１０は、入力部１２、データ取得部１４、１４ａ、探索評価値計算部１６、パラメタ更新部１８、パラメタ記憶部２０、終了判定部２２、２２ａ、ネットワーク計算部２４、２４ａ、行動決定部２６、２６ａ、及び、行動制御部２８、２８ａを備える。
【００４４】
入力部１２は、移動物に搭載されたカメラによって撮像されたカメラ画像を入力する。
【００４５】
データ取得部１４、１４ａは、移動物の行動毎に、入力されたカメラ画像を、行動後の移動物の環境を表す状態データとし、また、カメラ画像から、行動に対する報酬を取得する。
【００４６】
探索評価値計算部１６は、行動に対する報酬と、現時点の時刻と、移動物の環境を表す状態データの経験回数とに基づいて、状態データが過去に経験した状態データに対応しているかどうかを表す探索評価値を計算する。
【００４７】
本実施形態では、上述したＵＣＢと呼ばれる計算式に対応する計算式に基づいて、探索評価値を算出する。ＵＣＢは、下記（１）式に従って計算される。
【００４８】
【数１】
2018198012.tif 000011
……（１）
【００４９】
ここでは、ｒ（ａｔ）を時刻ｔで選択した行動ａｔに対して得られた報酬とし、ｎ（ａｔ）を、時刻ｔで選択した行動ａｔと同じ行動をこれまでに選択した回数とする。ＵＣＢに基づく行動選択を無限回行うと、最も良い行動を得るような評価値となることが知られている。
【００５０】
このＵＣＢの評価値に従って、時刻ｔでの状態ｓｔに対する探索評価値ｅｔを下記（２）式に従って計算する。
【００５１】
2018198012.tif 000012
……（２）
【００５２】
直感的には、訪れた状態から算出される値が分母側にあるので，その状態を経験すればするほど評価値は減少する。一方、任意の状態に訪問した回数から算出される値が分子側にあるので、分子側は単調に増加する関数となっている。つまり、選択されない状態に関しては徐々に評価値が大きくなっていく仕組みになっている。
【００５３】
また、一定回数、探索が行われた状態に対しても、他の状態の探索が進むに連れて、次第にまた値が大きくなっていくため、改めて探索が行われるような仕組みになっている。
【００５４】
このような探索の評価値を用いることで、真の報酬が０であった場合でも、これまでに到達したことがありそうな状態か、そうでないかを、評価値として利用することができる。
【００５５】
次に、状態の選択回数ｎ（ｓｔ）の評価方法を考える。現実の状態は、離散的な記号のようにきっちり他と分離して定義できるようなものではない。実際、ここでの例でも、入力画像に基づいて状態が定義されるので、連続的な要素をもっている。ここでは、入力画像を何かしらの離散変換を行い状態の選択回数を計算できるようにする。具体的には、例えば、画像の画素情報から計算できるハッシュ値などを用いればよい。
【００５６】
ただし、この離散変換は、状態を精度良く切り分けることができればどのような処理を用いてもよい。
【００５７】
パラメタ更新部１８は、行動に対する報酬と、計算された探索評価値とに基づいて、移動物の行動を決定するための多層ニューラルネットワークのモデルパラメタを更新し、更新したモデルパラメタをパラメタ記憶部２０に記憶させる。
【００５８】
本実施形態では、多層ニューラルネットワークの学習時に、ネットワークのモデルパラメタを更新するための値を算出する。具体的には、入力として、実際にとった行動、ネットワークによって予測した価値、実際に得られた報酬、探索の評価値の４つの情報を受け取る。その４つの情報から、より良い行動が選択できるように多層ニューラルネットワークのモデルパラメタを更新するための値を算出する。
【００５９】
ただし、上述したように、実際に適用する環境ではあまり報酬が得られない設定となっているため、基本的に得られる真の報酬は０の場合がほとんどと考えられる。そのため、ほとんどの学習データが報酬０の場合に偏って学習されることとなる。報酬０の場合を不当に多く学習しても、実際の行動決定としては得られるものは少ない。
【００６０】
そこで、真の報酬の学習は、非零の報酬が得られた時のみと考える。まず、Ｒｔ−ｉ，ｔを時刻ｔからｉ時刻前までの間に得られた報酬の（重み付き）総和とする。同様に、Ｅｔ−ｉ，ｔを時刻ｔ−ｉから時刻ｔの間に獲得した探索の評価値の（重み付き）総和とする。このとき、３種のモデルパラメタを以下のように更新する。
【００６１】
（１）報酬Ｒｔ−ｉ，ｔを用いて行動決定の方策πのモデルパラメタθπを更新する。
【００６２】
（２）探索評価値Ｅｔ−ｉ，ｔを用いて行動決定の方策
2018198012.tif 000013
のモデルパラメタ
2018198012.tif 000014
を更新する。
【００６３】
（３）探索評価値Ｅｔ−ｉ，ｔを用いて価値関数ｖのモデルパラメタθｖを更新する。
【００６４】
具体的には、θｖ、
2018198012.tif 000015
、θπの勾配は下記（３）乃至（５）式で求められる。なお、下記（３）乃至（５）式における価値関数ｖは、時刻ｔ−ｉにおける価値関数である。
【００６５】
2018198012.tif 000016
……（３）
2018198012.tif 000017
……（４）
2018198012.tif 000018
……（５）
【００６６】
これらの値を用いて、勾配法に基づく最適化法の一つを用いてモデルパラメタθｖ、
2018198012.tif 000019
、θπを更新する。
【００６７】
パラメタ記憶部２０は、パラメタ更新部１８により更新されたモデルパラメタθｖ、
2018198012.tif 000020
、θπを記憶する。
【００６８】
終了判定部２２は、行動の決定に関して終了状態であるか否かを判定し、終了状態であると判定されるまで、データ取得部１４による取得、探索評価値計算部１６による計算、パラメタ更新部１８による更新、ネットワーク計算部２４による計算、及び行動決定部２６による決定、及び行動制御部２８による制御を繰り返させる。
【００６９】
終了判定部２２ａは、行動の決定に関して終了状態であるか否かを判定し、終了状態であると判定されるまで、データ取得部１４ａによる取得、ネットワーク計算部２４ａによる計算、及び行動決定部２６ａによる決定、及び行動制御部２８ａによる制御を繰り返させる。
【００７０】
ネットワーク計算部２４は、移動物の環境を表す状態データを入力として、モデルパラメタ
2018198012.tif 000021
を用いた多層ニューラルネットワークの各要素を計算する。
【００７１】
ネットワーク計算部２４ａは、移動物の環境を表す状態データを入力として、モデルパラメタθπを用いた多層ニューラルネットワークの各要素を計算する。
【００７２】
行動決定部２６、２６ａは、多層ニューラルネットワークの出力層の値に基づいて、移動物の行動を決定する。
【００７３】
行動制御部２８、２８ａは、決定された移動物の行動を行うように移動物を制御する。
【００７４】
なお、本実施形態に係る行動決定装置１０は、例えば、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、各種プログラムを記憶するＲＯＭ（Read Only Memory）を備えたコンピュータ装置で構成される。また、行動決定装置１０を構成するコンピュータは、ハードディスクドライブ、不揮発性メモリ等の記憶部を備えていても良い。本実施形態では、ＣＰＵがＲＯＭ、ハードディスク等の記憶部に記憶されているプログラムを読み出して実行することにより、上記のハードウェア資源とプログラムとが協働し、上述した機能が実現される。
【００７５】
以上のような機能を備えた行動決定装置１０によって実行される処理は、多層ニューラルネットワークの学習方式と、行動決定方式と、に分けられる。
【００７６】
多層ニューラルネットワークの学習方式における学習処理には、入力部１２、データ取得部１４、探索評価値計算部１６、パラメタ更新部１８、パラメタ記憶部２０、終了判定部２２、ネットワーク計算部２４、行動決定部２６、及び、行動制御部２８が用いられる。また、行動決定方式における行動決定処理には、入力部１２、データ取得部１４ａ、パラメタ記憶部２０、終了判定部２２ａ、ネットワーク計算部２４ａ、行動決定部２６ａ、及び、行動制御部２８ａが用いられる。すなわち、行動決定方式における行動決定処理を行う場合には、ネットワーク計算部２４ａの代わりにネットワーク計算部２４による処理が行われ、探索評価値計算部１６による処理、及びパラメタ更新部１８による処理は行われない。
【００７７】
まず、本実施形態に係る行動決定装置１０による学習方式における学習処理の流れの概要を、図６に示すフローチャートを用いて説明する。
【００７８】
ステップＳ１０１では、入力部１２が、移動物に搭載されたカメラで撮像されたカメラ画像を入力する。
【００７９】
ステップＳ１０３では、データ取得部１４が、入力されたカメラ画像を、行動後の移動物の環境を表す状態データとし、また、入力されたカメラ画像から、行動に対する報酬を取得すると共に、終了状態であるか否かを示す終了フラグｆｔを取得する。
【００８０】
ステップＳ１０５では、探索評価値計算部１６が、行動に対する報酬と、移動物の環境を表す状態データとに基づいて、探索の評価値を計算する。
【００８１】
ステップＳ１０７では、パラメタ更新部１８が、行動に対する報酬と、計算された探索評価値とに基づいて、移動物の行動を決定するための多層ニューラルネットワークのモデルパラメタθｖ、
2018198012.tif 000022
、θπを更新し、更新したモデルパラメタをパラメタ記憶部２０に記憶させる。
【００８２】
ステップＳ１０９では、終了判定部２２が、取得された終了フラグｆｔに基づいて、行動の決定に関して終了状態であるか否かを判定する。ステップＳ１０９で行動の決定に関して終了状態であると判定した場合（Ｓ１０９，Ｙ）は、本学習処理のプログラムの実行を終了する。また、ステップＳ１０９で行動の決定に関して終了状態でないと判定した場合（Ｓ１０９，Ｎ）は、ステップＳ１１１に移行する。
【００８３】
ステップＳ１１１では、ネットワーク計算部２４が、移動物の環境を表す状態データを入力として、モデルパラメタ
2018198012.tif 000023
を用いた多層ニューラルネットワークの各要素を計算する。
【００８４】
ステップＳ１１３では、行動決定部２６が、多層ニューラルネットワークの出力層の値に基づいて、移動物の行動を決定する。
【００８５】
ステップＳ１１５では、行動制御部２８が、決定された移動物の行動を行うように移動物を制御し、ステップＳ１０１に戻る。
【００８６】
次に、本実施形態に係る行動決定装置１０による行動決定方式における行動決定処理の流れの概要を、図７に示すフローチャートを用いて説明する。
【００８７】
ステップＳ２０１では、入力部１２が、移動物に搭載されたカメラで撮像されたカメラ画像を入力する。
【００８８】
ステップＳ２０３では、データ取得部１４ａが、入力されたカメラ画像を、行動後の移動物の環境を表す状態データとすると共に、終了状態であるか否かを示す終了フラグｆｔを取得する。
【００８９】
ステップＳ２０５では、終了判定部２２ａが、取得された終了フラグｆｔに基づいて、行動の決定に関して終了状態であるか否かを判定する。ステップＳ２０５で行動の決定に関して終了状態であると判定した場合（Ｓ２０５，Ｙ）は、本行動決定処理のプログラムの実行を終了する。また、ステップＳ２０５で行動の決定に関して終了状態でないと判定した場合（Ｓ２０５，Ｎ）は、ステップＳ２０７に移行する。
【００９０】
ステップＳ２０７では、ネットワーク計算部２４ａが、移動物の環境を表す状態データを入力として、モデルパラメタθπを用いた多層ニューラルネットワークの各要素を計算する。
【００９１】
ステップＳ２０９では、行動決定部２６ａが、多層ニューラルネットワークの出力層の値に基づいて、移動物の行動を決定する。
【００９２】
ステップＳ２１１では、行動制御部２８ａが、決定された移動物の行動を行うように移動物を制御し、ステップＳ２０１に戻る。
【００９３】
以上のように、本実施形態に係る行動決定装置１０は、決定された移動物の行動を行うように移動物を制御した際に、行動後の移動物の環境を表す状態データ、及び行動に対する報酬を取得する。また、行動に対する報酬と、移動物の環境を表す状態データとに基づいて、状態データが過去に経験した状態データに対応しているかどうかを表す探索評価値を計算すると共に、行動に対する報酬と、計算された探索評価値とに基づいて、移動物の行動を決定するための多層ニューラルネットワークのモデルパラメタを更新する。また、移動物の環境を表す入力データを入力として、多層ニューラルネットワークの各要素を計算し、多層ニューラルネットワークの出力層の値に基づいて、移動物の行動を決定する。予め定められた反復終了条件を満たすまで、行動制御部２８による制御、データ取得部１４による取得、探索評価値計算部１６による計算、パラメタ更新部１８による更新、ネットワーク計算部２４による計算、及び行動決定部２６による決定を繰り返させる。
【００９４】
これにより、本来得られる報酬とは別に、環境に対する探索がどの程度進んでいるかを評価する擬似報酬を現時点までの情報だけでなく、未来に起こる状況を推定しながら、適切な硬度を選択することが可能となる。これにより、例えば、局所的にはよい行動でも大局的に見るとよくない行動を選択するといった可能性が減り、より無駄の少ない機械の行動制御が可能となる。また、これは、無駄な行動を選択することが減ることに繋がる。実世界においては、機械が行動するためには、電力や燃料の消費といった全ての行動にコストが発生するので，省エネルギーによる機械の自律的な行動が可能になることが期待できる。
【００９５】
なお、本実施形態では、行動決定装置１０によって、多層ニューラルネットワークの学習方式の処理と、行動決定方式の処理とが行われる場合を例に説明したが、これに限定されるものではなく、多層ニューラルネットワークの学習方式の処理と、行動決定方式の処理とが別々の装置によって行われてもよい。例えば、多層ニューラルネットワークの学習方式の処理を行うネットワーク学習装置と、行動決定方式の処理とを行う行動決定装置とに分けてもよい。この場合には、ネットワーク学習装置は、入力部１２、データ取得部１４、探索評価値計算部１６、パラメタ更新部１８、パラメタ記憶部２０、終了判定部２２、ネットワーク計算部２４、行動決定部２６、及び、行動制御部２８を備えていればよく、行動決定装置は、入力部１２、データ取得部１４ａ、パラメタ記憶部２０、終了判定部２２ａ、ネットワーク計算部２４ａ、行動決定部２６ａ、及び、行動制御部２８ａを備えていればよい。
【００９６】
また、図１に示す機能の構成要素の動作をプログラムとして構築し、行動決定装置１０として利用されるコンピュータにインストールして実行させるが、これに限らず、ネットワークを介して流通させても良い。
【００９７】
また、構築されたプログラムをハードディスクやフレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールしたり、配布したりしても良い。
【符号の説明】
【００９８】
１０  行動決定装置
１２  入力部
１４、１４ａ  データ取得部
１６  探索評価値計算部
１８  パラメタ更新部
２０  パラメタ記憶部
２２、２２ａ  終了判定部
２４、２４ａ  ネットワーク計算部
２６、２６ａ  行動決定部
２８、２８ａ  行動制御部
【図１】
2018198012.tif 000024
【図２】
2018198012.tif 000025
【図３】
2018198012.tif 000026
【図４】
2018198012.tif 000027
【図５】
2018198012.tif 000028
【図６】
2018198012.tif 000029
【図７】
2018198012.tif 000030