(57)【要約】【課題】複雑なタスクであっても対応することができるエージェントを構築することができる。【解決手段】複数の部品タスクの重み付け和で表現される全体タスクを解くエージェントの行動の方策を求めるための価値関数について、複数の部品タスクの各々に対する重みを用いて、前記複数の部品タスクの各々に対する、部品タスクを解く部品エージェントの行動の方策を求めるための予め学習された複数の部品価値関数の重み付き和である全体価値関数を求める。全体価値関数から得た方策を用いて、全体タスクに対するエージェントの行動を決定し、前記エージェントに行動させる。【選択図】図２
2020113192.tif 000002
【特許請求の範囲】
【請求項１】
複数の部品タスクの重み付け和で表現される全体タスクを解くエージェントの行動の方策を求めるための価値関数について、前記複数の部品タスクの各々に対する重みを用いて、前記複数の部品タスクの各々に対する、前記部品タスクを解く部品エージェントの行動の方策を求めるための予め学習された複数の部品価値関数の重み付き和である全体価値関数を求めるエージェント結合部と、
前記全体価値関数から得た方策を用いて、前記全体タスクに対するエージェントの行動を決定し、前記エージェントに行動させる実行部と、
を含むエージェント結合装置。
【請求項２】
前記エージェント結合部は、前記複数の部品タスクの各々についての前記部品価値関数を近似するように予め学習されたニューラルネットワークに対して、前記複数の部品タスクの各々に対する重みで重み付けて出力する層を追加して構成されるニューラルネットワークを、前記全体価値関数を近似するニューラルネットワークとして求め、
前記実行部は、前記全体価値関数を近似するニューラルネットワークから得た方策を用いて、前記全体タスクに対するエージェントの行動を決定し、前記エージェントに行動させる請求項１に記載のエージェント結合装置。
【請求項３】
前記実行部による前記エージェントの行動結果に基づいて、前記全体価値関数を近似するニューラルネットワークを再学習する再学習部を更に含む請求項２に記載のエージェント結合装置。
【請求項４】
前記エージェント結合部は、前記複数の部品タスクの各々についての前記部品価値関数を近似するように予め学習されたニューラルネットワークに対して、前記複数の部品タスクの各々に対する重みで重み付けて出力する層を追加して構成されるニューラルネットワークを、前記全体価値関数を近似するニューラルネットワークとして求め、
前記全体価値関数を近似するニューラルネットワークに対応する、所定の構造となるニューラルネットワークを作成し、
前記実行部は、前記所定の構造となるニューラルネットワークから得た方策を用いて、前記全体タスクに対するエージェントの行動を決定し、前記エージェントに行動させる請求項１に記載のエージェント結合装置。
【請求項５】
前記実行部による前記エージェントの行動結果に基づいて、前記所定の構造となるニューラルネットワークを再学習する再学習部を更に含む請求項４に記載のエージェント結合装置。
【請求項６】
エージェント結合部が、複数の部品タスクの重み付け和で表現される全体タスクを解くエージェントの行動の方策を求めるための価値関数について、前記複数の部品タスクの各々に対する重みを用いて、前記複数の部品タスクの各々に対する、前記部品タスクを解く部品エージェントの行動の方策を求めるための予め学習された複数の部品価値関数の重み付き和である全体価値関数を求めるステップと、
実行部が、前記全体価値関数から得た方策を用いて、前記全体タスクに対するエージェントの行動を決定し、前記エージェントに行動させるステップと、
を含むエージェント結合方法。
【請求項７】
コンピュータを、請求項１〜請求項５のいずれか１項に記載のエージェント結合装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エージェント結合装置、方法、及びプログラムに係り、特に、タスクを解くためのエージェント結合装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
深層学習のブレイクスルーによりＡＩ（Artificial Intelligence）技術が大きく注目されている。中でも強化学習とよばれる自律的な試行錯誤を行う学習フレームワークと組み合わせた深層強化学習が、ゲームＡＩ（コンピュータゲーム、囲碁ｅｔｃ）などの分野で大きな成果を挙げている（非特許文献１参照）。近年では深層強化学習のロボット制御、ドローン制御、信号機の適応制御（非特許文献２参照）などへの応用が進められている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Human-level control through deep reinforcement learning, Mnih,Volodymyr and Kavukcuoglu, Koray and Silver, David and Rusu, Andrei A and Veness, Joel and Bellemare, Marc G and Graves, Alex and Riedmiller,Martin and Fidjeland, Andreas K and Ostrovski, Georg and others,Nature, 2015.
【非特許文献２】Using a deep reinforcement learning agent for traffic signal control, Genders,Wade and Razavi, Saiedeh, arXiv preprint arXiv:1611.01142, 2016.
【非特許文献３】Reinforcement Learning with Deep Energy-Based Policies, Haarnoja, Tuomas and Tang, Haoran and Abbeel, Pieter and Levine, Sergey, ICML, 2017.
【非特許文献４】Composable Deep Reinforcement Learning for Robotic Manipulation,Haarnoja, Tuomas and Pong, Vitchyr and Zhou, Aurick and Dalal, Murtaza and Abbeel, Pieter and Levine, Sergey, arXiv preprint arXiv:1803.06773,2018.
【非特許文献５】Distilling the knowledge in a neural network, Hinton, Geoffrey, and Vinyals,Oriol, and Dean, Jeff, arXiv preprint arXiv:1503.02531 (2015).
【発明の概要】
【発明が解決しようとする課題】
【０００４】
もっとも深層強化学習には次の２つの弱点が存在する。
【０００５】
一つは、エージェントと呼ばれる行動主体（例えばロボット）の試行錯誤が必要であるため一般に長い学習時間を必要とする点である。
【０００６】
もう一つは、強化学習の学習結果は与えられた環境（タスク）に依存するため、環境が変われば（基本的に）ゼロから学習し直しになってしまう点である。
【０００７】
したがって人の目から見れば類似したタスクであっても、環境が変わる度に学習し直しになり、多大な労力（人手コスト、計算コスト）が必要になってしまう。
【０００８】
前述の問題意識のもと、ベースとなるタスクを解くエージェント（それぞれ部品タスク、部品エージェントと呼ぶ）をあらかじめ学習しておき、部品タスクを組み合わせることで、複雑な全体タスクを解くエージェントを作る（構成する）というアプローチが検討されている（非特許文献３、４参照）。しかしながら、この既存手法では、単純平均で表現されるタスクを、部品エージェントの単純平均を用いて構成する場合のみが考察されており、適用シーンが限定されていた。
【０００９】
本発明は、上記事情を鑑みて成されたものであり、複雑なタスクであっても対応することができるエージェントを構築することができるエージェント結合装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、第１の発明に係るエージェント結合装置は、複数の部品タスクの重み付け和で表現される全体タスクを解くエージェントの行動の方策を求めるための価値関数について、前記複数の部品タスクの各々に対する重みを用いて、前記複数の部品タスクの各々に対する、前記部品タスクを解く部品エージェントの行動の方策を求めるための予め学習された複数の部品価値関数の重み付き和である全体価値関数を求めるエージェント結合部と、前記全体価値関数から得た方策を用いて、前記全体タスクに対するエージェントの行動を決定し、前記エージェントに行動させる実行部と、を含んで構成されている。
【００１１】
また、第１の発明に係るエージェント結合装置において、前記エージェント結合部は、前記複数の部品タスクの各々についての前記部品価値関数を近似するように予め学習されたニューラルネットワークに対して、前記複数の部品タスクの各々に対する重みで重み付けて出力する層を追加して構成されるニューラルネットワークを、前記全体価値関数を近似するニューラルネットワークとして求め、前記実行部は、前記全体価値関数を近似するニューラルネットワークから得た方策を用いて、前記全体タスクに対するエージェントの行動を決定し、前記エージェントに行動させるようにしてもよい。
【００１２】
また、第１の発明に係るエージェント結合装置において、前記実行部による前記エージェントの行動結果に基づいて、前記全体価値関数を近似するニューラルネットワークを再学習する再学習部を更に含むようにしてもよい。
【００１３】
また、第１の発明に係るエージェント結合装置において、前記エージェント結合部は、前記複数の部品タスクの各々についての前記部品価値関数を近似するように予め学習されたニューラルネットワークに対して、前記複数の部品タスクの各々に対する重みで重み付けて出力する層を追加して構成されるニューラルネットワークを、前記全体価値関数を近似するニューラルネットワークとして求め、前記全体価値関数を近似するニューラルネットワークに対応する、所定の構造となるニューラルネットワークを作成し、前記実行部は、前記所定の構造となるニューラルネットワークから得た方策を用いて、前記全体タスクに対するエージェントの行動を決定し、前記エージェントに行動させるようにしてもよい。
【００１４】
また、第１の発明に係るエージェント結合装置において、前記実行部による前記エージェントの行動結果に基づいて、前記所定の構造となるニューラルネットワークを再学習する再学習部を更に含むようにしてもよい。
【００１５】
第２の発明に係るエージェント結合方法は、エージェント結合部が、複数の部品タスクの重み付け和で表現される全体タスクを解くエージェントの行動の方策を求めるための価値関数について、前記複数の部品タスクの各々に対する重みを用いて、前記複数の部品タスクの各々に対する、前記部品タスクを解く部品エージェントの行動の方策を求めるための予め学習された複数の部品価値関数の重み付き和である全体価値関数を求めるステップと、実行部が、前記全体価値関数から得た方策を用いて、前記全体タスクに対するエージェントの行動を決定し、前記エージェントに行動させるステップと、を含んで実行することを特徴とする。
【００１６】
第３の発明に係るプログラムは、コンピュータを、第１の発明に記載のエージェント結合装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１７】
本発明のエージェント結合装置、方法、及びプログラムによれば、複雑なタスクであっても対応することができるエージェントを構築することができる、という効果が得られる。
【図面の簡単な説明】
【００１８】
【図１】ＤＱＮによる新たなネットワークの構成例を示す図である。
【図２】本発明の実施の形態に係るエージェント結合装置の構成を示すブロック図である。
【図３】エージェント結合部の構成を示すブロック図である。
【図４】本発明の実施の形態に係るエージェント結合装置におけるエージェント処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１９】
本発明の実施の形態では、上記の課題に鑑みて、重み付き和で表現される全体タスクを、部品エージェントの重み付き和を用いて構成する手法を提案する。重み付きの組み合わせで表現される全体タスクには例えば次に示すシューティングゲームや信号制御が挙げられる。シューティングゲームにおいて、ある敵Ａを撃ち落とすという部品タスクＡを解く学習結果Ａ、ある敵Ｂを撃ち落とすという部品タスクＢを解く学習結果Ｂがすでに得られているとする。このとき、例えば敵Ａを撃ち落とした時に５０ポイント、敵Ｂを撃ち落とした時に１０ポイントが得られるタスクは、部品タスクＡと部品タスクＢの重み付き和として表現される。同様に信号制御において、一般車両を待ち時間短く通過させるという部品タスクＡを解く学習結果Ａ、バスなどの公共車両を待ち時間短く通過させるという部品タスクＢを解く学習結果Ｂがすでに得られているとする。このとき、例えば［一般車両の待ち時間＋公共車両の待ち時間×５］を最小化するというタスクは、部品タスクＡと部品タスクＢの重み付き和として表現される。本発明の実施の形態によって、上記のような重み付き和で表現されるタスクに対しても、学習結果を構成することができるようになり、新たなタスクに対しても部品エージェントを組み合わせるだけで再学習なしで複雑なタスクを解く学習結果を得る、もしくは、ゼロからの再学習よりも短い時間で学習結果を得ることが可能になる。
【００２０】
本発明の実施の形態の詳細を説明する前に、前提となる強化学習の手法について説明する。
【００２１】
［強化学習］
強化学習はマルコフ決定過程（Markov Decision Process，ＭＤＰ）（参考文献１）として定義された設定で最適方策を見つける手法である。
【００２２】
［参考文献１］Reinforcement learning: An introduction, RichardS Sutton and AndrewG Barto, MIT press Cambridge, 1998.
【００２３】
ＭＤＰは、簡単にいえば行動主体（例えばロボット）と外界の相互作用を記述したものであり、ロボットがとりうる状態の集合Ｓ＝｛ｓ１，ｓ２，．．．，ｓＳ｝、ロボットがとりうる行動の集合Ａ＝｛ａ１，ａ２，．．．，ａＡ｝、ロボットがある状態である行動を取った際の状態の遷移の仕方を定める遷移関数Ｐ＝｛ｐａｓｓ′｝ｓ，ｓ′，ａ（ただしΣｓ′ｐａｓｓ′＝１）、ロボットがある状態でとった行動の良さに関する情報を与える報酬関数Ｒ＝｛ｒ１，ｒ２，．．．，ｒＳ｝、未来に受け取る報酬の考慮度合いをコントロールする割引率（ただし、０≦γ＜１）の５つ組（Ｓ，Ａ，Ｐ，Ｒ，γ）で定義される。
【００２４】
このＭＤＰの設定のもと、ロボットには各状態でどの行動を実行するかの自由度が与えられる。このロボットが各状態ｓにいる時に行動ａを実行する確率を定める関数を方策と呼び、πと書く。状態ｓが与えられたときの行動ａの方策πは（Σａπ（ａ｜ｓ）＝１）と表す。強化学習では複数存在する方策のうち、最も現在から将来にいたるまでに得られる報酬の期待割引和を最大化する方策である最適方策π＊ｓｔｄを求める。
2020113192.tif 000003
【００２５】
最適方策を導く際に重要な役割を果たすのが価値関数Ｑπである。
【００２６】
2020113192.tif 000004
【００２７】
価値関数Ｑπは、状態ｓで行動ａを実行し、実行後は方策πにしたがって無限に行動し続けた場合に得られる報酬の期待割引和を表している。方策πが最適方策であったとき、最適方策における価値関数Ｑ＊（最適価値関数）は以下の関係を満たすことが知られ、この式のことをベルマン最適方程式と呼ぶ。
【００２８】
2020113192.tif 000005
【００２９】
Ｑ学習に代表される強化学習の多くの手法は、上記の式の関係性を利用して、この最適価値関数をまず推定し、推定結果を用いて、以下のように設定することで最適方策π＊を得ている。
【００３０】
2020113192.tif 000006
【００３１】
ただし、δ（・）はデルタ関数を表す。
【００３２】
［最大エントロピー強化学習］
上記の標準的な強化学習をベースに最大エントロピー強化学習と呼ばれるアプローチが提案されている（非特許文献３）。学習結果を結合して新たな方策を構成するうえでは、このアプローチを利用する必要がある。
【００３３】
最大エントロピー強化学習では、標準的な強化学習と異なり、最も現在から将来にいたるまで得られる報酬と方策のエントロピーの期待割引和を最大化する最適方策π＊ｍｅを求める。
【００３４】
2020113192.tif 000007
【００３５】
ただし、αは重みパラメタ、Ｈ（π（・｜Ｓｋ））が状態Ｓｋにいるときの各行動の選択確率を定める分布｛π（ａ１｜Ｓｋ），．．．，π（ａＡ｜Ｓｋ）｝のエントロピーを表す。前節と同様に最大エントロピー強化学習における（最適）価値関数Ｑ＊ｓｏｆｔは以下（１）式のように定義できる。
【００３６】
2020113192.tif 000008
【００３７】
この価値関数を用いて、最適方策は次の（２）式で与えられる。
【００３８】
2020113192.tif 000009
【００３９】
ただし、Ｖ＊ｓｏｆｔは以下である。
【００４０】
2020113192.tif 000010
【００４１】
このように最大エントロピー強化学習では、最適方策が確率的な方策として表現される。なお、通常の強化学習と同様、価値関数の推定には、最大エントロピー強化学習における以下のベルマン方程式を利用することで推定することができる。
【００４２】
2020113192.tif 000011
【００４３】
［単純平均による方策の構成（既存手法）］
まず上記の既存手法による学習結果の結合方法について述べる。報酬関数のみ異なる２つのＭＤＰ、ＭＤＰ−１（Ｓ，Ａ，Ｐ，Ｒ１，γ）とＭＤＰ−２（Ｓ，Ａ，Ｐ，Ｒ２，γ）を考え、最大エントロピー強化学習の最適価値関数となる（１）式を、ＭＤＰ−１及びＭＤＰ−２についてのそれぞれの部品価値関数Ｑ１，Ｑ２と書く。それぞれのＭＤＰに対応するタスクはすでに学習されており、Ｑ１，Ｑ２については既知であるとする。これらを用いて、単純平均で定義される報酬Ｒ３＝（Ｒ１＋Ｒ２）／２を持つ目標となるＭＤＰ−３（Ｓ，Ａ，Ｐ，Ｒ３，γ）の方策を構成することを考える。
【００４４】
既存手法（非特許文献４）では、上記の設定において、全体価値関数ＱΣを以下のように定義する。
【００４５】
2020113192.tif 000012
【００４６】
全体価値関数ＱΣをＭＤＰ−３の最適価値関数Ｑ３だと仮定して、（２）式に代入することで、結合した方策πΣを求める。当然ＱΣは一般にＭＤＰ−３の最適価値関数Ｑ３とは一致しないため、上記の結合の方法によって作られた方策πΣとＭＤＰ−３の最適方策π＊３は一致しない。しかし、πΣに従って行動するときの価値関数ＱπΣとＱ３の間に成り立つ数式があることが示されており（非特許文献４）、良い近似とまでは言えないまでも両者の値には関係があることが明らかになっている。そこで既存手法では、πΣをＭＤＰ−３で学習する際の初期方策として利用することで、ゼロから学習し直すよりも短い学習回数で学習可能となることを実験的示している。このように価値関数ＱΣを、複数の部品タスクの重み付け和で表現される全体タスクを解くエージェントの行動の方策を求めるために用いる。
【００４７】
しかしながら、既存手法では単純平均で表現されるタスクを、部品エージェントの単純平均を用いて構成する場合のみが考察されており、適用シーンが限定されていた。
【００４８】
＜本発明の実施の形態の原理＞
【００４９】
以下、本発明の実施の形態で用いる方策の構成法について説明する。
【００５０】
［重み付き和方策の構成］
まず既存研究と同様に、報酬関数のみ異なる２つのＭＤＰ、ＭＤＰ−１：（Ｓ，Ａ，Ｐ，Ｒ１，γ）とＭＤＰ−２：（Ｓ，Ａ，Ｐ，Ｒ２，γ）があり、このＭＤＰにおける最大エントロピー強化学習の部品価値関数はすでに学習済みであって、Ｑ１，Ｑ２については既知であるとする。
【００５１】
この設定のもと、本発明の実施の形態では重み付き和で定義される報酬Ｒ３＝β１Ｒ１＋β２Ｒ２を持つ目標となるＭＤＰ−３：（Ｓ，Ａ，Ｐ，Ｒ３，γ）の方策を構成することを考える。β１，β２は既知の重みパラメタである。
【００５２】
本発明の実施の形態で提案する方法は次の（３）式のように定義する。
【００５３】
2020113192.tif 000013
【００５４】
ＱΣをＭＤＰ−３の最適価値関数Ｑ３だと思って、（２）式に代入することで、結合した方策πΣを求める。ＱΣは一般にＭＤＰ−３の最適価値関数Ｑ３とは一致しないが、上記の結合の方法によってつくられた方策πΣとＭＤＰ−３の最適方策π＊３は一致しない。上述したようにπΣに従って行動するときの価値関数ＱπΣとＱ３の間に成り立つ数式がある。そこで、πΣをＭＤＰ−３に対応するタスクを解くための方策として利用することを想定する。また、ＭＤＰ−３で学習する際の初期方策として利用することで、ゼロから学習し直すよりも短い学習回数で学習可能となりうる。
【００５５】
［再学習をする場合］
再学習を行う具体例として、部品価値関数Ｑ１、Ｑ２を近似するニューラルネットワーク（以下、ネットワークとも記載する）がＤｅｅｐ  Ｑ−Ｎｅｔｗｏｒｋ（ＤＱＮ）（非特許文献２）で学習済みの時にこれを組み合わせて再学習の初期値を作る例を示す。
【００５６】
大きく次の２通りの方法が考えられる。１つ目はネットワークの単純結合をそのまま用いる方法である。学習済みのＱ１の値を返すネットワークとＱ２の値を返すネットワークの出力層の上にそれらの値を（３）式のように重み付けて出力する層を追加した新たなネットワークを作成する。このネットワークを価値関数を返す関数の初期値として利用することで、再学習を行う。図１にＤＱＮによる新たなネットワークの構成例を示す。
【００５７】
２つ目は蒸留（非特許文献５）と呼ばれる手法を利用する。この手法では、Ｔｅａｃｈｅｒ  Ｎｅｔｗｏｒｋと呼ばれる学習結果となるネットワークが与えられた状況で、このＴｅａｃｈｅｒ  Ｎｅｔｗｏｒｋとは異なるネットワークの層数や活性化関数などを用いるＳｔｕｄｅｎｔ  Ｎｅｔｗｏｒｋが、  Ｔｅａｃｈｎｅｒ  Ｎｅｔｗｏｒｋと同様の入出力関係を持つように学習される。１つ目の方法のように単純結合で作成したネットワークをＴｅａｃｈｅｒ  ＮｅｔｗｏｒｋとしてＳｔｕｄｅｎｔ  Ｎｅｔｗｏｒｋを作成することで、初期値として利用するネットワークを作成できる。
【００５８】
１つ目のアプローチを用いる場合、Ｑ１とＱ２のネットワークのパラメタ数を足した分だけのパラメタ数を新たに作成したネットワークは持つことになるため、パラメタ数が大きい問題の場合には問題が生じる場合がある。しかしその変わりに新たなネットワークは単純に作ることができる。その逆に２つ目のアプローチはＳｔｕｄｅｎｔ  Ｎｅｔｗｏｒｋを学習する必要があるため、新たなネットワーク作成には手間がかかるが、パラメタ数の少ない新たなネットワークを作ることができる。
【００５９】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００６０】
＜本発明の実施の形態に係るエージェント結合装置の構成＞
【００６１】
次に、本発明の実施の形態に係るエージェント結合装置の構成について説明する。図２に示すように、本発明の実施の形態に係るエージェント結合装置１００は、ＣＰＵと、ＲＡＭと、後述するエージェント処理ルーチンを実行するためのプログラム及び各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このエージェント結合装置１００は、機能的には図２に示すようにエージェント結合部３０と、実行部３２と、再学習部３４とを備えている。
【００６２】
実行部３２は、方策取得部４０と、行動決定部４２と、作動部４４と、関数出力部４６とを含んで構成されている。
【００６３】
エージェント結合部３０は、図３に示すように、重みパラメタ処理部３１０と、部品エージェント処理部３２０と、結合エージェント作成部３３０と、結合エージェント処理部３４０と、重みパラメタ記録部３５１と、部品エージェント記録部３５２と、結合エージェント記録部３５３とを含んで構成されている。本発明の実施の形態では、部品タスクの部品価値関数Ｑ１，Ｑ２や全体価値関数ＱΣは、上記ＤＱＮ等の手法により、価値関数を近似するように予め学習されたニューラルネットワークとして構成するものとする。なお、簡単に表現できる場合には線形和などを用いてもよい。
【００６４】
エージェント結合部３０は、以下の各処理部による処理により、複数の部品タスクの各々についての部品価値関数（Ｑ１，Ｑ２）を近似するように予め学習されたニューラルネットワークに対して、複数の部品タスクの各々に対する重みで重み付けて出力する層を追加して構成されるニューラルネットワークを、全体価値関数ＱΣを近似するニューラルネットワークとして求める。
【００６５】
重みパラメタ処理部３１０は、部品タスクを結合する際に利用する予め定められた重みパラメタβ１，β２を重みパラメタ記録部３５１に格納する。
【００６６】
部品エージェント処理部３２０は、部品タスクの部品価値関数に関する情報（部品価値関数Ｑ１，Ｑ２そのもの、またはＤＱＮなどを用いて得たそれらを近似するネットワークのパラメタなど）を部品エージェント記録部３５２に格納する。
【００６７】
結合エージェント作成部３３０は、重みパラメタ記録部３５１の重みパラメタβ１，β２と、部品エージェント記録部３５２のＱ１，Ｑ２とを入力とし、重み付き結合結果である全体価値関数ＱΣ＝β１Ｑ１＋β２Ｑ２に関する情報（ＱΣそのもの、またはＱΣを近似するニューラルネットワークのパラメタなど）を結合エージェント記録部３５３に格納する。
【００６８】
結合エージェント処理部３４０は、結合エージェント記録部３５３の全体価値関数ＱΣに対応するネットワークパラメタを実行部３２に出力する。
【００６９】
実行部３２は、以下に説明する各処理部によって、全体価値関数ＱΣに対応するネットワークから得た方策を用いて、全体タスクに対するエージェントの行動を決定し、エージェントに行動させる。
【００７０】
方策取得部４０は、エージェント結合部３０から出力された全体価値関数ＱΣに対応するネットワークに基づいて、上記（２）式のＱ＊ｓｏｆｔを全体価値関数ＱΣに対応するネットワークに置き換えて、方策πΣを取得する。
【００７１】
行動決定部４２は、方策取得部４０が取得した方策に基づいて、全体タスクに対するエージェントの行動を決定する。
【００７２】
作動部４４は、決定された行動を行うようにエージェントを制御する。
【００７３】
関数出力部４６は、エージェントの行動結果に基づく状態Ｓｋを取得して、再学習部３４に出力する。なお、所定の回数の行動後に、関数出力部４６によりエージェントの行動結果を取得し、再学習部３４によって全体価値関数ＱΣを近似するニューラルネットワークを再学習させる。
【００７４】
再学習部３４は、実行部３２によるエージェントの行動結果に基づく状態Ｓｋに基づいて、報酬関数Ｒ３＝β１Ｒ１＋β２Ｒ２の値が高くなるように、全体価値関数ＱΣを近似するニューラルネットワークを再学習する。
【００７５】
実行部３２は、再学習された全体価値関数ＱΣを近似するニューラルネットワークを用いて、予め定めた条件を満たすまで、方策取得部４０、行動決定部４２、及び作動部４４の処理を繰り返す。
【００７６】
＜本発明の実施の形態に係るエージェント結合装置の作用＞
【００７７】
次に、本発明の実施の形態に係るエージェント結合装置１００の作用について説明する。エージェント結合装置１００は、図４に示すエージェント処理ルーチンを実行する。
【００７８】
まず、ステップＳ１００では、エージェント結合部３０は、複数の部品タスクの各々についての部品価値関数（Ｑ１，Ｑ２）を近似するように予め学習されたニューラルネットワークに対して、複数の部品タスクの各々に対する重みで重み付けて出力する層を追加して構成されるニューラルネットワークを、全体価値関数ＱΣを近似するニューラルネットワークとして求める。
【００７９】
次に、ステップＳ１０２では、方策取得部４０は、上記（２）式のＱ＊ｓｏｆｔを、全体価値関数ＱΣを近似するネットワークに置き換えて、方策πΣを取得する。
【００８０】
ステップＳ１０４では、行動決定部４２は、方策取得部４０が取得した方策に基づいて、全体タスクに対するエージェントの行動を決定する。
【００８１】
ステップＳ１０６では、作動部４４は、決定された行動を行うようにエージェントを制御する。
【００８２】
ステップＳ１０８では、関数出力部４６は、所定の回数の行動を行ったかを判定し、所定の回数の行動を行っていればステップＳ１１０へ移行し、行っていなければステップＳ１０２に戻って処理を繰り返す。
【００８３】
ステップＳ１１０では、関数出力部４６は、予め定めた条件を満たすかを判定し、条件を満たしていれば処理を終了し、満たしていなければステップＳ１１２に移行する。
【００８４】
ステップＳ１１２では、関数出力部４６は、エージェントの行動結果に基づく状態Ｓｋを取得して、再学習部３４に出力する。
【００８５】
ステップＳ１１４では、再学習部３４は、実行部３２によるエージェントの行動結果に基づく状態Ｓｋに基づいて、報酬関数Ｒ３＝β１Ｒ１＋β２Ｒ２の値が高くなるように、全体価値関数ＱΣを近似するニューラルネットワークを再学習し、ステップＳ１０２に戻る。
【００８６】
以上説明したように、本発明の実施の形態に係るエージェント結合装置によれば、多様なタスクに対応することができる。
【００８７】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００８８】
例えば、上述した実施の形態では、再学習において、部品価値関数Ｑ１、Ｑ２を近似するニューラルネットワークを単純結合して作成したニューラルネットワークのパラメタを学習する場合を説明したが、これに限定されるものではない。蒸留の手法を利用する場合には、結合エージェント処理部３４０は、まず、部品価値関数Ｑ１、Ｑ２を近似するニューラルネットワークを単純結合して全体価値関数を近似するニューラルネットワークを作成し、蒸留の手法を利用して、全体価値関数を近似するニューラルネットワークに対応するように、所定の構造となるニューラルネットワークのパラメタを学習し、所定の構造となるニューラルネットワークのパラメタの初期値とする。そして、実行部３２は、所定の構造となるニューラルネットワークから得た方策を用いて、全体タスクに対するエージェントの行動を決定し、エージェントに行動させる。再学習部３４は、実行部３２によるエージェントの行動結果に基づいて、所定の構造となるニューラルネットワークのパラメタを再学習する。そして、実行部３２によるエージェントの行動の決定及び実行と、再学習部３４による再学習とを繰り返すようにすればよい。
【００８９】
また、再学習部３４による再学習を行わずに、エージェント結合部３０、及び実行部３２のみでエージェントの行動を制御するようにしてもよい。この場合には、結合エージェント処理部３４０は、結合エージェント記録部３５３の全体価値関数ＱΣを実行部３２に出力し、実行部３２は、全体価値関数ＱΣから得た方策を用いて、全体タスクに対するエージェントの行動を決定し、エージェントに行動させるようにしてもよい。具体的には、方策取得部４０は、エージェント結合部３０から出力された全体価値関数ＱΣに基づいて、上記（２）式のＱ＊ｓｏｆｔをＱΣに置き換えて、方策πΣを取得するようにしてもよい。
【符号の説明】
【００９０】
３０   エージェント結合部
３２   実行部
３４   再学習部
４０   方策取得部
４２   行動決定部
４４   作動部
４６   関数出力部
１００ エージェント結合装置
３１０ パラメタ処理部
３２０ 部品エージェント処理部
３３０ 結合エージェント作成部
３４０ 結合エージェント処理部
３５１ パラメタ記録部
３５２ 部品エージェント記録部
３５３ 結合エージェント記録部
【図１】
2020113192.tif 000014
【図２】
2020113192.tif 000015
【図３】
2020113192.tif 000016
【図４】
2020113192.tif 000017