(57)【要約】【課題】経験データの偏りを抑制することができる意思決定装置、無人システム、意思決定方法、及びプログラムを提供する。【解決手段】意思決定装置２は、第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させる行動選択部２００と、前記行動を実行した後の状態を示す第２の状態を取得する状態取得部２０１と、前記第２の状態が望ましいものであるかを示す指標となる報酬を取得する報酬取得部２０２と、前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記行動と関連付けられた記憶部２１に記憶する記憶処理部２０３と、を備える。【選択図】図１
2020004120.tif 000002
【特許請求の範囲】
【請求項１】
第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させる行動選択部と、
前記行動を実行した後の状態を示す第２の状態を取得する状態取得部と、
前記第２の状態が望ましいものであるかを示す指標となる報酬を取得する報酬取得部と、
前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記行動と関連付けられた記憶部に記憶する記憶処理部と、
を備える意思決定装置。
【請求項２】
第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させる行動選択部と、
前記行動を実行した後の状態を示す第２の状態を取得する状態取得部と、
前記第２の状態が望ましいものであるかを示す指標となる報酬を取得する報酬取得部と、
前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記報酬と関連付けられた記憶部に記憶する記憶処理部と、
を備える意思決定装置。
【請求項３】
前記記憶処理部は、前記報酬の値別に関連付けられた前記記憶部に前記経験データを記憶する、
請求項２に記載の意思決定装置。
【請求項４】
前記報酬取得部は、前記報酬とともに当該報酬の演算に用いた演算式を取得し、
前記記憶処理部は、前記報酬の演算式別に関連付けられた前記記憶部に前記経験データを記憶する、
請求項２に記載の意思決定装置。
【請求項５】
前記記憶処理部は、前記報酬の値帯別に関連付けられた前記記憶部に前記経験データを記憶する、
請求項２に記載の意思決定装置。
【請求項６】
前記記憶部に記憶された前記経験データの量が上限値に達している場合、最も古い経験データを削除する削除処理部を更に備える、
請求項１から５の何れか一項に記載の意思決定装置。
【請求項７】
前記記憶部に記憶された前記経験データの量が上限値に達している場合、最も多く学習に使用された経験データを削除する削除処理部を更に備える、
請求項１から５の何れか一項に記載の意思決定装置。
【請求項８】
複数の前記記憶部それぞれから所定数ずつ前記経験データをランダムに選択して学習データとして取り出し、当該学習データに基づいて前記第１の状態において最も価値の高い行動を推測するための学習モデルを更新する学習部を更に備える、
請求項１から７の何れか一項に記載の意思決定装置。
【請求項９】
前記学習部は、複数の前記記憶部それぞれから同数ずつ前記経験データを選択して前記学習データとして取り出す、
請求項８に記載の意思決定装置。
【請求項１０】
前記学習部は、前記記憶部に記憶されている前記経験データが前記所定数に満たない場合、全ての前記経験データを前記学習データとして取り出す、
請求項８又は９に記載の意思決定装置。
【請求項１１】
請求項１から１０の何れか一項に記載の意思決定装置を備える無人システム。
【請求項１２】
第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させるステップと、
前記行動を実行した後の状態を示す第２の状態を取得するステップと、
前記第２の状態が望ましいものであるかを示す指標となる報酬を取得するステップと、
前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記行動と関連付けられた記憶部に記憶するステップと、
を有する意思決定方法。
【請求項１３】
意思決定装置のコンピュータを機能させるプログラムであって、前記コンピュータに、
第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させるステップと、
前記行動を実行した後の状態を示す第２の状態を取得するステップと、
前記第２の状態が望ましいものであるかを示す指標となる報酬を取得するステップと、
前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記行動と関連付けられた記憶部に記憶するステップと、
を実行させるプログラム。
【請求項１４】
第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させるステップと、
前記行動を実行した後の状態を示す第２の状態を取得するステップと、
前記第２の状態が望ましいものであるかを示す指標となる報酬を取得するステップと、
前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記報酬と関連付けられた記憶部に記憶するステップと、
を有する意思決定方法。
【請求項１５】
意思決定装置のコンピュータを機能させるプログラムであって、前記コンピュータに、
第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させるステップと、
前記行動を実行した後の状態を示す第２の状態を取得するステップと、
前記第２の状態が望ましいものであるかを示す指標となる報酬を取得するステップと、
前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記報酬と関連付けられた記憶部に記憶するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、意思決定装置、無人システム、意思決定方法、及びプログラムに関する。
【背景技術】
【０００２】
近年では、計算機等の高性能化により、計算負荷の高いディープラーニングを用いた機械学習が普及しつつある。
例えば、ディープラーニングと強化学習とを組み合わせた技術として、制御対象（環境）のある状態において最適な行動を学習するDeep Q Network（ＤＱＮ）という技術がある。ＤＱＮでは、学習主体であるエージェントは、環境がある状態のときに行った行動により、どのような状態に遷移したかを観測し、この状態遷移に対する報酬を獲得する。エージェントは、これら遷移前の状態、行動、遷移後の状態、及び報酬を関連付けた経験データを多数収集し、経験データに基づいてある状態における行動の価値を求める行動価値関数を多層ニュートラルネットワークで近似する。ＤＱＮでは、このように経験データに基づいて、様々な状態における最適な（最も多く報酬を獲得できると期待できる）行動を推定するための行動価値関数を学習して更新する。
【０００３】
なお、時系列に連続する経験データは強い相関を持つので、例えばエージェントが新しく記憶された経験データばかりを用いて学習を行うと、古い経験データに対する推定精度が低下して、行動価値関数の収束性が悪くなる可能性がある。このため、学習に用いるデータの偏りを抑制するために、過去に蓄積した経験データからランダムに学習データを選択して学習を行う体験再生（Experience Replay）という技術が考えられている。
【０００４】
Experience Replayにおいて蓄積された経験データは、記憶領域が上限に達すると、FIFO（First In First Out）で古い順に削除されるが、そうすると時系列に近い類似データが記憶領域に残されることとなる。
このような経験データの偏りを解消する方法として、例えば特許文献１には、蓄積された経験データそれぞれについて他の経験データとどの程度異なっているかを示すユニークネスパラメータを算出し、ユニークネスパラメータに基づいて他の経験データとの類似度が高い経験データを削除する方法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−００５７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の方法では、例えば行動回数に制限がある場合、ランダムに行動を選択したとしても、一部の行動が実行されない場合がある。そうすると、蓄積される経験データにも偏りが生じてしまう。また、経験データには多様なパラメータが含まれるので、適切なユニークネスパラメータを選定することが困難な場合がある。この結果、記憶領域に蓄積される経験データの偏りを十分に解消することができず、例えば経験データ数が少ない行動については学習の機会が少なくなり、学習の精度が低下する可能性がある。
【０００７】
本発明の少なくとも一実施形態は、このような課題に鑑みてなされたものであって、経験データの偏りを抑制することができる意思決定装置、無人システム、意思決定方法、及びプログラムを提供する。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明は以下の手段を採用している。
本発明の第１の態様によれば、意思決定装置は、第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させる行動選択部と、前記行動を実行した後の状態を示す第２の状態を取得する状態取得部と、前記第２の状態が望ましいものであるかを示す指標となる報酬を取得する報酬取得部と、前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記行動と関連付けられた記憶部に記憶する記憶処理部と、を備える。
このようにすることで、意思決定装置は、記憶部に記憶される経験データが、行動の選択頻度の多寡に応じて偏ってしまうことを抑制することができる。
【０００９】
本発明の第２の態様によれば、意思決定装置は、第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させる行動選択部と、前記行動を実行した後の状態を示す第２の状態を取得する状態取得部と、前記第２の状態が望ましいものであるかを示す指標となる報酬を取得する報酬取得部と、前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記報酬と関連付けられた記憶部に記憶する記憶処理部と、を備える。
通常、強化学習において高い報酬を得る機会は少なく設定されることが多く、高い報酬に関連付けられた経験データを蓄積しづらい。このため、従来の技術では、報酬の低い経験データばかりが偏って記憶されてしまう可能性がある。しかしながら、上述の態様に係る意思決定装置は、報酬別に異なる記憶部に経験データを記憶するので、記憶部における経験データの偏りを抑制することができる。
【００１０】
本発明の第３の態様によれば、上述の第２の態様に係る意思決定装置において、前記記憶処理部は、前記報酬の値別に関連付けられた前記記憶部に前記経験データを記憶する。
このようにすることで、例えば報酬の値が離散値である場合、記憶処理部は、報酬の値別に偏りなく経験データを記憶することができる。
【００１１】
本発明の第４の態様によれば、上述の第２の態様に係る意思決定装置において、前記報酬取得部は、前記報酬とともに当該報酬の演算に用いた演算式を取得し、前記記憶処理部は、前記報酬の演算式別に関連付けられた前記記憶部に前記経験データを記憶する。
このようにすることで、例えば報酬の演算時に、行動の結果として発生したイベント別に異なる演算式を用いる場合であっても、記憶処理部は、演算式別に経験データをサンプリングすることができる。これにより、発生頻度の低いイベント（即ち、使用頻度の少ない演算式）に関する経験データが、発生頻度の多いイベントに関する経験データにより上書きされることがないので、経験データの偏りを抑制することができる。
【００１２】
本発明の第５の態様によれば、上述の第２の態様に係る意思決定装置において、前記記憶処理部は、前記報酬の値帯別に関連付けられた前記記憶部に前記経験データを記憶する。
このようにすることで、例えば報酬の値が連続値であり、且つイベント別に異なる値が設定されている場合であっても、記憶処理部は、報酬の値帯別に偏りなく経験データを記憶することができる。これにより、記憶処理部は、発生頻度が低いものの重要なイベントがあった場合、このイベントに関する経験データをより確実に記憶することができる。
【００１３】
本発明の第６の態様によれば、上述の第１から第５の何れか一の態様に係る意思決定装置は、前記記憶部に記憶された前記経験データの量が上限値に達している場合、最も古い経験データを削除する削除処理部を更に備える。
このようにすることで、意思決定装置は、簡易なアルゴリズムで記憶部それぞれの経験データ量を調整することができる。
【００１４】
本発明の第７の態様によれば、上述の第１から第５の何れか一の態様に係る意思決定装置は、前記記憶部に記憶された前記経験データの量が上限値に達している場合、最も多く学習に使用された経験データを削除する削除処理部を更に備える。
このようにすることで、意思決定装置は、記憶部には学習の頻度が低い経験データを残すことができるので、学習に使用される経験データの偏りを抑制することができる。
【００１５】
本発明の第８の態様によれば、上述の第１から第７の何れか一の態様に係る意思決定装置は、複数の前記記憶部それぞれから所定数ずつ前記経験データをランダムに選択して学習データとして取り出し、当該学習データに基づいて前記第１の状態において最も価値の高い行動を推測するための学習モデルを更新する学習部を更に備える。
このようにすることで、学習部は、複数の行動又は報酬それぞれと関連付けられた経験データを偏りなく選択して学習することができる。
【００１６】
本発明の第９の態様によれば、上述の第８の態様に係る意思決定装置において、前記学習部は、複数の前記記憶部それぞれから同数ずつ前記経験データを選択して前記学習データとして取り出す。
このようにすることで、学習部は、複数の行動それぞれの実行回数、又は複数の報酬の取得回数の多寡にかかわらず、各行動又は各報酬と関連付けられた経験データを偏りなく選択して、全ての行動又は報酬を均等に学習することができる。
【００１７】
本発明の第１０の態様によれば、上述の第８又は第９の態様に係る意思決定装置において、前記学習部は、前記記憶部に記憶されている前記経験データが前記所定数に満たない場合、全ての前記経験データを前記学習データとして取り出す。
このようにすることで、学習部は、例えば学習の初期においてある行動の実行回数、又はある報酬の取得回数が少ない場合であっても、当該行動又は報酬について学習することができる。
【００１８】
本発明の第１１の態様によれば、無人システムは、上述の第１から第１０の何れか一の態様に記載の意思決定装置を備える。
このようにすることで、無人システムは、自動的に最善の行動を学習し、実行することができる。
【００１９】
本発明の第１２の態様によれば、意思決定方法は、第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させるステップと、前記行動を実行した後の状態を示す第２の状態を取得するステップと、前記第２の状態が望ましいものであるかを示す指標となる報酬を取得するステップと、前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記行動と関連付けられた記憶部に記憶するステップと、を有する。
【００２０】
本発明の第１３の態様によれば、意思決定装置のコンピュータを機能させるプログラムは、前記コンピュータに、第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させるステップと、前記行動を実行した後の状態を示す第２の状態を取得するステップと、前記第２の状態が望ましいものであるかを示す指標となる報酬を取得するステップと、前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記行動と関連付けられた記憶部に記憶するステップと、を実行させる。
【００２１】
本発明の第１４の態様によれば、意思決定方法は、第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させるステップと、前記行動を実行した後の状態を示す第２の状態を取得するステップと、前記第２の状態が望ましいものであるかを示す指標となる報酬を取得するステップと、前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記報酬と関連付けられた記憶部に記憶するステップと、を有する。
【００２２】
本発明の第１５の態様によれば、意思決定装置のコンピュータを機能させるプログラムは、前記コンピュータに、第１の状態において取り得る複数の行動のうち何れか一つを選択して環境に実行させるステップと、前記行動を実行した後の状態を示す第２の状態を取得するステップと、前記第２の状態が望ましいものであるかを示す指標となる報酬を取得するステップと、前記第１の状態と、前記行動と、前記第２の状態と、前記報酬とを関連付けた経験データを、複数の記憶部のうち前記報酬と関連付けられた記憶部に記憶するステップと、を実行させる。
【発明の効果】
【００２３】
上述の少なくとも一の態様に係る意思決定装置、無人システム、意思決定方法、及びプログラムによれば、経験データの偏りを抑制することができる。
【図面の簡単な説明】
【００２４】
【図１】第１の実施形態に係る無人システムの機能構成を示す図である。
【図２】第１の実施形態に係る意思決定装置における学習処理の一例を示すフローチャートである。
【図３】第１の実施形態に係る意思決定装置における記憶処理の一例を示すフローチャートである。
【図４】第２の実施形態に係る意思決定装置における記憶処理の一例を示すフローチャートである。
【図５】第３の実施形態に係る意思決定装置における記憶処理の一例を示すフローチャートである。
【図６】第４の実施形態に係る無人システムの一例を示す図である。
【図７】第４の実施形態に係る無人システムの機能を説明するための図である。
【図８】少なくとも一つの実施形態に係る意思決定装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００２５】
＜第１の実施形態＞
以下、本発明の第１の実施形態に係る無人システム１及び意思決定装置２について、図を参照しながら説明する。
【００２６】
（全体構成）
図１は、第１の実施形態に係る無人システムの機能構成を示す図である。
図１に示すように、本実施形態に係る無人システム１は、意思決定装置２と、機器３とを備えている。機器３は、例えば、自動運転車、無人航空機（ＡＡＶ：Automated Aerial Vehicle）などの無人で動作する機器である。
本実施形態に係る意思決定装置２は、機器３の状態に応じた行動を決定する。また、意思決定装置２は、機器３が行動によりどのような状態に遷移したかを観測し、状態に応じて最適な行動を決定するように強化学習を行う「エージェント」として機能する。
機器３は、意思決定装置２が決定した行動を実現するように、アクチュエータ、ロータ等を制御する。機器３は、強化学習において状態の観測対象となる「環境」の一例である。
なお、図１の例では、意思決定装置２が機器３の外部に設けられている態様が示されているが、これに限られることはない。他の実施形態では、意思決定装置２は機器３に内蔵されていてもよい。
【００２７】
（機能構成）
図１に示すように、意思決定装置２は、ＣＰＵ２０と、複数の記憶部２１（２１＿１〜２１＿Ｎ）とを備えている。
【００２８】
ＣＰＵ２０は、意思決定装置２の動作全体を司るプロセッサであり、プログラムに従って動作することにより、行動選択部２００、状態取得部２０１、報酬取得部２０２、記憶処理部２０３、削除処理部２０４、学習部２０５としての機能を発揮する。
【００２９】
行動選択部２００は、第１の状態において取り得る複数の行動のうち何れか一つを選択して機器３に実行させる。
第１の状態とは、ある時間ｔにおける機器３の状態Ｓｔを示す。
【００３０】
状態取得部２０１は、機器３が行動を実行した後の状態を示す第２の状態を取得する。
第２の状態とは、機器３が第１の状態Ｓｔにおいてある行動ａｔを行ったときの、次の時間ｔ＋１における機器３の状態Ｓｔ＋１である。
【００３１】
報酬取得部２０２は、前記第２の状態Ｓｔ＋１が望ましいものであるかを示す指標となる報酬ｒｔ＋１を取得する。
【００３２】
記憶処理部２０３は、第１の状態Ｓｔと、行動ａｔと、第２の状態Ｓｔ＋１と、報酬ｒｔ＋１とを関連付けた経験データ（Ｓｔ，ａｔ，Ｓｔ＋１，ｒｔ＋１）を、複数の記憶部２１のうち行動ａｔと関連付けられた記憶部２１に記憶する。
【００３３】
削除処理部２０４は、記憶部２１に記憶された経験データの量が上限値に達している場合、最も古い経験データを削除する。
【００３４】
学習部２０５は、複数の記憶部２１それぞれから所定数の経験データからランダムに選択した学習データに基づいて、各状態に対する最適な行動を推測するための学習モデルを更新する。
【００３５】
複数の記憶部２１それぞれは、機器３が取り得る複数の行動それぞれに対して割り当てられる。即ち、機器３が取り得る行動の数がｎ個である場合、ｎ個の記憶部２１＿１〜２１＿Ｎが設けられる。
【００３６】
（処理フロー）
図２は、第１の実施形態に係る意思決定装置における学習処理の一例を示すフローチャートである。
図３は、第１の実施形態に係る意思決定装置における記憶処理の一例を示すフローチャートである。
以下、図２〜図３を参照しながら、意思決定装置２における学習処理の一例について説明する。
【００３７】
図２に示すように、まず、意思決定装置２の行動選択部２００は、現在の機器３の状態において取り得る各行動について、行動価値関数Ｑ（Ｓｔ，ａｔ；θ）に基づいて行動価値を演算する（ステップＳ１０）。
ここで、行動価値関数は、ある状態において最適な行動（最も価値が高い行動）を推測するための学習モデルの一例である。Ｓｔは、現在の時間ｔにおける機器３の状態を示す。ａｔは、状態Ｓｔにおいて実行する行動を示す。θは、行動価値関数に入力するパラメータに対する重みであり、学習部２０５により随時学習、更新される。行動価値とは、状態Ｓｔにおいて行った行動ａｔの結果として獲得できる報酬の期待値である。
【００３８】
次に、行動選択部２００は、現在の意思決定装置２のモードが学習モードであるか否かを判断する（ステップＳ１１）。
行動選択部２００は、現在のモードが学習モードである場合（ステップＳ１１：ＹＥＳ）、ステップＳ１２〜Ｓ１９の処理を実行する。
一方、行動選択部２００は、現在のモードが学習モードではない場合（ステップＳ１１：ＮＯ）、ステップＳ２０〜Ｓ２１の処理を実行する。
なお、意思決定装置２は、不図示の切替部が「学習モードＯＮ」に設定されたとき学習モードとなり、「学習モードＯＦＦ」のときは学習モード以外のモードになるとする。
【００３９】
まず、現在のモードが学習モードである（ステップＳ１１：ＹＥＳ）場合について説明する。
このとき、行動選択部２００は、現在の状態Ｓｔにおいて取り得る複数の行動のうち何れか一つの行動ａｔを選択する（ステップＳ１２）。
行動選択部２００は、複数の行動からランダムで行動を選択してもよいし、行動価値が最も高い行動を選択してもよい。行動選択部２００は、学習の進度に応じてランダムで行動を選択する割合と、行動価値が高い行動を選択する割合とを変更するようにしてもよい。この場合、例えば行動選択部２００は、学習の進度が大きいほど、行動価値が高い行動を選択する割合を大きくする。
【００４０】
次に、状態取得部２０１は、行動ａｔを実行した後（次の時間ｔ＋１）の機器３の状態Ｓｔ＋１を取得する（ステップＳ１３）。
【００４１】
次に、報酬取得部２０２は、ステップＳ１３において取得した状態Ｓｔ＋１が望ましいものであるかを示す指標となる報酬ｒｔ＋１を機器３から取得する（ステップＳ１４）。
報酬ｒｔ＋１は、行動ａｔ実行後の時間ｔ＋１における状態Ｓｔ＋１に対して設定される値である。報酬ｒｔ＋１は、定性的には、例えば、望ましい状態Ｓｔ＋１に対しては正の報酬が設定され、望ましくない状態Ｓｔ＋１に対しては負の報酬が設定される。
【００４２】
次に、記憶処理部２０３及び削除処理部２０４は、状態Ｓｔと、報酬ｒｔ＋１と、行動ａｔと、次の状態Ｓｔ＋１とを関連付けた経験データ（Ｓｔ，ｒｔ＋１，ａｔ，Ｓｔ＋１）の記憶処理を実行する（ステップＳ１５）。
具体的な記憶処理（ステップＳ１５）の流れについては、図３を参照しながら説明する。まず、記憶処理部２０３は、図３に示すように、実行した行動ａｔに関連付けられた記憶部２１に上限まで経験データが記憶されているか否かを判断する（ステップＳ１５０Ａ）。
例えば、機器３が実行した行動ａｔが複数の記憶部２１のうち記憶部２１＿１と関連付けられている場合、記憶処理部２０３は、記憶部２１＿１に上限まで経験データが記憶されているか否かを判断する。
【００４３】
記憶部２１＿１に上限まで経験データが記憶されている場合（ステップＳ１５０Ａ）、削除処理部２０４は、記憶部２１＿１に記憶されている経験データのうち、最も古い経験データを削除する（ステップＳ１５０Ｂ）。
そして、記憶処理部２０３は、新たな経験データ（Ｓｔ，ｒｔ＋１，ａｔ，Ｓｔ＋１）を記憶部２１＿１に記憶し（ステップＳ１５０Ｃ）、図２のフローチャートに戻る。
【００４４】
一方、記憶部２１＿１に上限まで経験データが記憶されていない場合（ステップＳ１５０Ａ：ＮＯ）、記憶処理部２０３は、新たな経験データ（Ｓｔ，ｒｔ＋１，ａｔ，Ｓｔ＋１）を記憶部２１＿１に記憶し（ステップＳ１５０Ｃ）、図２のフローチャートに戻る。
【００４５】
次に、図２に示すように、学習部２０５は、複数の記憶部２１それぞれから所定数ずつ経験データをランダムに選択して学習データとして取り出す。なお、所定数は記憶部２１別に異なる値が設定されていてもよい。また、学習部２０５は、複数の記憶部２１それぞれから同数ずつ学習データを選択してもよい。このとき、記憶部２１に所定数の経験データが蓄積されていない場合は、全ての経験データを学習データとして取り出してもよい。
そして、学習部２０５は、取り出した学習データについて、以下の式（１）を用いてＴＤ誤差を算出する（ステップＳ１６）。
【００４６】
【数１】
2020004120.tif 000003
【００４７】
式（１）の１項目は、ある時間ｔにおいて行った行動ａｔに対し得られた報酬ｒｔ＋１（行動ａｔ実行後の状態Ｓｔ＋１に対する報酬ｒｔ＋１）を示す。
式（１）の２項目は、次の時間ｔ＋１における複数の行動のうち、最も行動価値が高いものを示す。なお、γは割引率であり、０から１の間の任意の値が設定される（例えば０．９等）。例えば機器３が目標となる状態に達した時点における報酬が最大であり、この時点から過去に遡るほど価値が減衰するように割引率が設定される。
式（１）の３項目は、時間ｔにおいて行った行動ａｔに対する行動価値である。
また、θ−は、ある時点において学習部２０５が設定した重みθの値で固定した値である。ＴＤ誤差はニューラルネットワークの重みθｔに依存し、収束が安定しない。このため、式（１）では、ある時点における重みθの値に固定されたθ−を使用し、一定周期毎にθ−を更新する。
【００４８】
次に、学習部２０５は、算出したＴＤ誤差に基づいて、行動価値関数Ｑ（Ｓｔ，ａｔ；θ）を更新する（ステップＳ１７）。
本実施形態では、学習部２０５は、学習モードにおいて、行動選択部２００が理想的な行動（行動価値が最大となる行動）を選択できるように、勾配降下法、Ａｄａｍ等の既存の技術を利用して行動価値関数Ｑ（Ｓｔ，ａｔ；θ）の重みθを更新する。
【００４９】
次に、学習部２０５は、前回θ−を更新してから所定期間が経過したか判断する（ステップＳ１８）。
例えば、学習部２０５は、前回θ−を更新してからｎ回以上学習（行動価値関数Ｑの更新）を実行した場合、所定期間を経過したと判断する。このとき、ｎ回は問題設定に応じて、すなわち観測対象となる状態数や遷移数、行動の種類や数など、データとして得られる数値にどの程度バリエーションが存在するかという問題の難しさに応じて、任意の値が設定される。
学習部２０５は、前回θ−を更新してか所定期間が経過している場合（ステップＳ１８：ＹＥＳ）、上述の式（１）で用いられる行動価値関数Ｑ（Ｓｔ，ａｔ；θ−）の重みθ−の値を、ステップＳ１７で更新された重みθの値で更新する（ステップＳ１９）。
一方、学習部２０５は、前回θ−を更新してか所定期間が経過していない場合（ステップＳ１８：ＮＯ）、ステップＳ１０に戻る。
【００５０】
また、現在のモードが学習モード以外である（ステップＳ１１：ＮＯ）場合について説明する。
このとき、行動選択部２００は、現在の状態Ｓｔにおいて取り得る複数の行動のうち、ステップＳ１０において演算された行動価値が最大となる行動ａｔを選択する（ステップＳ２０）。
【００５１】
次に、状態取得部２０１は、行動ａｔを実行した後（次の時間ｔ＋１）の機器３の状態Ｓｔ＋１を取得し（ステップＳ２１）、ステップＳ１０に戻る。
【００５２】
（作用効果）
以上のように、本実施形態に係る意思決定装置２は、第１の状態Ｓｔにおいて取り得る複数の行動のうち何れか一つを選択して環境に実行させる行動選択部２００と、行動ａｔを実行した後の状態を示す第２の状態Ｓｔ＋１を取得する状態取得部２０１と、第２の状態Ｓｔ＋１が望ましいものであるかを示す指標となる報酬ｒｔ＋１を取得する報酬取得部２０２と、第１の状態Ｓｔと、行動ａｔと、第２の状態Ｓｔ＋１と、報酬ｒｔ＋１とを関連付けた経験データを、複数の記憶部２１のうち行動ａｔと関連付けられた記憶部２１に記憶する記憶処理部２０３と、を備える。
従来の技術では、全ての行動に対する経験データが一つの記憶部にまとめて記憶されていた。このため、従来の技術では、実行回数の少ない行動の経験データが、実行回数の多い行動の経験データにより上書きされてしまう可能性がある。そうすると、記憶部には実行回数の多い行動の経験データばかりが偏って蓄積されてしまい、行動価値関数の学習精度が低下する。
しかしながら、本実施形態に係る意思決定装置２は、行動別に異なる記憶部２１に経験データを記憶するので、実行回数の少ない行動の経験データが、実行回数の多い行動の経験データにより上書きされることがない。これにより、記憶部２１に記憶される経験データが、行動の選択頻度の多寡に応じて偏ってしまうことを抑制することができる。
【００５３】
また、意思決定装置２は、記憶部２１に記憶された経験データの量が上限値に達している場合、最も古い経験データを削除する削除処理部２０４を更に備える。
上述のように、意思決定装置２は、行動別に異なる記憶部２１に経験データを記憶するので、ＦＩＦＯ方式でデータを削除したとしても、実行回数の少ない行動の経験データは上限値に達するまで削除されることはない。これにより、意思決定装置２は、簡易なアルゴリズムで記憶部２１それぞれの経験データ量を調整することができる。
【００５４】
また、意思決定装置２は、複数の記憶部２１それぞれから所定数ずつ経験データをランダムに選択して学習データとして取り出し、当該学習データに基づいて第１の状態Ｓｔにおいて最も価値の高い行動ａｔを推測するための学習モデル（行動価値関数）を更新する学習部２０５を更に備える。
このようにすることで、学習部２０５は、複数の行動それぞれと関連付けられた経験データを偏りなく選択して学習することができる。
【００５５】
また、学習部２０５は、複数の記憶部２１それぞれから同数ずつ経験データを選択して学習データとして取り出してもよい。
このようにすることで、学習部２０５は、複数の行動それぞれの実行回数の多寡にかかわらず、各行動と関連付けられた経験データを偏りなく選択して、全ての行動を均等に学習することができる。
【００５６】
また、学習部２０５は、記憶部２１に記憶されている経験データが所定数に満たない場合、全ての経験データを学習データとして取り出してもよい。
このようにすることで、学習部２０５は、例えば学習の初期においてある行動の実行回数が少ない場合であっても、当該行動について学習することができる。
【００５７】
＜第２の実施形態＞
次に、本発明の第２の実施形態に係る無人システム１について説明する。
第１の実施形態と共通の構成要素には同一の符号を付して詳細説明を省略する。
なお、本実施形態では、記憶処理部２０３の機能が第１の実施形態とは異なっている。
【００５８】
本実施形態に係る記憶処理部２０３は第１の状態Ｓｔと、行動ａｔと、第２の状態Ｓｔ＋１と、報酬ｒｔ＋１とを関連付けた経験データ（Ｓｔ，ｒｔ＋１，ａｔ，Ｓｔ＋１）を、複数の記憶部２１のうち報酬ｒｔ＋１と関連付けられた記憶部２１に記憶する。
本実施形態では、報酬取得部２０２が機器３から取得する報酬は離散値（例えば値１又は値２）であるとする。この場合、記憶処理部２０３は、予め報酬の値別に記憶部２１＿１及び２１＿２それぞれを割り当てる。そして、記憶処理部２０３は、取得した報酬の値別に割り当てられた記憶部２１に経験データを記憶する処理を行う。
具体的には、記憶処理部２０３は、図２のステップＳ１５の記憶処理として、図３に示す処理に代えて、図４に示す処理を実行する。
【００５９】
（処理フロー）
図４は、第２の実施形態に係る意思決定装置における記憶処理の一例を示すフローチャートである。
図４に示すように、記憶処理部２０３は、図２のステップＳ１４において取得した報酬ｒｔ＋１に関連付けられた記憶部２１に上限まで経験データが記憶されているか否かを判断する（ステップＳ１５１Ａ）。
例えば、ステップＳ１４において取得した報酬ｒｔ＋１が「値１」であった場合、記憶処理部２０３は、報酬ｒｔ＋１の値「値１」に関連付けられた記憶部２１＿１に上限まで経験データが記憶されているか否かを判断する。
【００６０】
記憶部２１＿１に上限まで経験データが記憶されている場合（ステップＳ１５１Ａ）、削除処理部２０４は、記憶部２１＿１に記憶されている経験データのうち、最も古い経験データを削除する（ステップＳ１５１Ｂ）。
そして、記憶処理部２０３は、新たな経験データ（Ｓｔ，ｒｔ＋１，ａｔ，Ｓｔ＋１）を記憶部２１＿１に記憶し（ステップＳ１５１Ｃ）、図３のフローチャートに戻る。
【００６１】
一方、記憶部２１＿１に上限まで経験データが記憶されていない場合（ステップＳ１５１Ａ：ＮＯ）、記憶処理部２０３は、新たな経験データ（Ｓｔ，ｒｔ＋１，ａｔ，Ｓｔ＋１）を記憶部２１＿１に記憶し（ステップＳ１５１Ｃ）、図３のフローチャートに戻る。
【００６２】
なお、上記説明において、報酬取得部２０２が取得する報酬が離散値であり、記憶処理部２０３が報酬の値別に一つの記憶部２１を割り当てる態様を例として説明したが、これに限られることはない。
他の実施形態では、記憶処理部２０３は、一つの記憶部２１に対し、複数の報酬の値を割り当てるようにしてもよい。例えば報酬の値が１〜１０の１０段階である場合、記憶処理部２０３は、値１〜５を第１の値帯（低報酬となる値の範囲）として記憶部２１＿１に割り当て、値６〜１０を第２の値帯（高報酬となる値の範囲）として記憶部２１＿２に割り当てるようにしてもよい。
更に他の実施形態では、報酬取得部２０２が機器３から取得する報酬は、所定の報酬演算式に基づく連続値であってもよい。この場合、記憶処理部２０３は、報酬の値帯別に割り当てられた記憶部２１に経験データを記憶してもよい。具体的には、記憶処理部２０３は、例えば報酬の取り得る値が０〜１であるとすると、報酬取得部２０２が取得した報酬ｒｔ＋１の値が０．０以上０．１未満の場合は記憶部２１＿１に経験データを記憶し、０．１以上０．２未満の場合は記憶部２１＿２に経験データを記憶するようにしてもよい。このようにすることで、例えば報酬の値が連続値であり、且つイベント別に異なる値が設定されている場合であっても、記憶処理部２０３は、報酬の値帯別に偏りなく経験データを記憶することができる。これにより、記憶処理部２０３は、発生頻度が低いものの重要なイベント（例えば目的を達成したというイベント）があった場合、このイベントに関する経験データをより確実に記憶することができる。
また、機器３は状態Ｓｔ別、又は行動ａｔ別に異なる報酬演算式に基づいて報酬ｒｔ＋１を演算し、報酬取得部２０２は、報酬ｒｔ＋１とともに演算に用いた報酬演算式を機器３から取得するようにしてもよい。この場合、記憶処理部２０３は、報酬演算識別に割り当てられた記憶部２１に経験データを記憶してもよいし、報酬の値帯別に割り当てられた記憶部２１に経験データを記憶してもよい。記憶処理部２０３は、報酬演算式別に記憶部２１を分けることにより、例えば行動の結果として発生したイベント別に異なる報酬演算式を用いた場合であっても、報酬演算式別に経験データをサンプリングすることができる。これにより、発生頻度の低いイベント（即ち、使用頻度の少ない演算式）に関する経験データが、発生頻度の多いイベントに関する経験データにより上書きされることがないので、経験データの偏りを抑制することができる。
【００６３】
（作用効果）
以上のように、本実施形態に係る記憶処理部２０３は、行動ａｔと、第２の状態Ｓｔ＋１と、報酬ｒｔ＋１とを関連付けた経験データを、複数の記憶部２１のうち報酬ｒｔ＋１と関連付けられた記憶部２１に記憶する。
通常、強化学習において高い報酬を得る機会は少なく設定されることが多く、高い報酬に関連付けられた経験データを蓄積しづらい。また、従来の技術では、高い報酬に関連付けられた経験データが、低い報酬に関連付けられた経験データにより上書きされてしまう可能性がある。このため、従来の技術では、低い報酬に関連付けられた経験データばかりが偏って記憶されてしまう可能性がある。
しかしながら、本実施形態に係る意思決定装置２は、報酬別に異なる記憶部２１に経験データを記憶するので、高い報酬に関連付けられた経験データが、低い報酬に関連付けられた経験データにより上書きされることがない。これにより、高い報酬に関連付けられた経験データの獲得頻度が低い場合であっても、記憶部２１に記憶される経験データが偏ってしまうことを抑制することができる。
【００６４】
また、記憶処理部２０３は、報酬の値別に関連付けられた記憶部２１に経験データを記憶する。
このようにすることで、例えば報酬の値が離散値である場合、記憶処理部２０３は、報酬の値別に偏りなく経験データを記憶することができる。
【００６５】
また、報酬取得部２０２は、報酬とともに当該報酬の演算に用いた報酬演算式を取得し、記憶処理部２０３は、報酬演算式別に関連付けられた記憶部２１に経験データを記憶する。
このようにすることで、例えば機器３において複数の報酬演算式を用いて報酬を演算している場合であっても、記憶処理部２０３は、報酬演算式別に経験データをサンプリングすることができる。
【００６６】
また、記憶処理部２０３は、報酬の値帯別に関連付けられた記憶部２１に経験データを記憶する。
このようにすることで、例えば報酬の値が連続値である場合、記憶処理部２０３は、報酬の値帯別に偏りなく経験データを記憶することができる。
【００６７】
また、削除処理部２０４は、記憶部２１に記憶された経験データの量が上限値に達している場合、最も古い経験データを削除する。
上述のように、意思決定装置２は、報酬別に異なる記憶部２１に経験データを記憶するので、ＦＩＦＯ方式でデータを削除したとしても、高い報酬に関連付けられた経験データは上限値に達するまで削除されることはない。これにより、意思決定装置２は、簡易なアルゴリズムで記憶部２１それぞれの経験データ量を調整することができる。
【００６８】
＜第３の実施形態＞
次に、本発明の第３の実施形態に係る無人システム１について説明する。
第１及び第２の実施形態と共通の構成要素には同一の符号を付して詳細説明を省略する。
なお、本実施形態では、削除処理部２０４の機能が第１及び第２の実施形態とは異なっている。
【００６９】
本実施形態に係る削除処理部２０４は、記憶部２１に記憶された経験データの量が上限値に達している場合、最も多く学習に使用された経験データを削除する。
具体的には、削除処理部２０４は、図２のステップＳ１５の記憶処理として、図３又は図４に示す処理に代えて、図５に示す処理を実行する。
【００７０】
（処理フロー）
図５は、第３の実施形態に係る意思決定装置における記憶処理の一例を示すフローチャートである。
図５に示すように、記憶処理部２０３は、記憶部２１に上限まで経験データが記憶されているか否かを判断する（ステップＳ１５２Ａ）。
なお、本実施形態に係る削除処理部２０４を第１の実施形態に適用した場合、ステップＳ１５２Ａの処理は、図３のステップＳ１５０Ａの処理と同様である。また、本実施形態に係る削除処理部２０４を第２の実施形態に適用した場合、ステップＳ１５２Ａの処理は、図４のステップＳ１５１Ａの処理と同様である。
なお、以下の例では、記憶処理の対象となる経験データが記憶部２１＿１に関連付けられているものとする。
【００７１】
記憶部２１＿１に上限まで経験データが記憶されている場合（ステップＳ１５２Ａ）、削除処理部２０４は、記憶部２１＿１に記憶されている経験データのうち、最も使用回数の多い経験データを削除する（ステップＳ１５２Ｂ）。なお、学習部２０５は、図２のステップＳ１６において経験データを学習データとして選択する度に、経験データの使用回数を記録しているものとする。
そして、記憶処理部２０３は、新たな経験データ（Ｓｔ，ｒｔ＋１，ａｔ，Ｓｔ＋１）を記憶部２１＿１に記憶し（ステップＳ１５２Ｃ）、図２のフローチャートに戻る。
【００７２】
一方、記憶部２１＿１に上限まで経験データが記憶されていない場合（ステップＳ１５２Ａ：ＮＯ）、記憶処理部２０３は、新たな経験データ（Ｓｔ，ｒｔ＋１，ａｔ，Ｓｔ＋１）を記憶部２１＿１に記憶し（ステップＳ１５２Ｃ）、図２のフローチャートに戻る。
【００７３】
（作用効果）
以上のように、本実施形態に係る削除処理部２０４は、記憶部２１に記憶された経験データの量が上限値に達している場合、最も多く学習に使用された経験データを削除する。
このようにすることで、意思決定装置２は、記憶部２１には学習の頻度が低い経験データを残すことができるので、学習に使用される経験データの偏りを抑制することができる。
【００７４】
＜第４の実施形態＞
次に、第１〜第３の実施形態で説明した意思決定装置２を無人航空機（ＡＡＶ：Automated Aerial Vehicle）の自動運転に適用した具体例を示す。以下、第１の実施形態に係る意思決定装置２をＡＡＶ３´に適用した例について説明する。
【００７５】
図６は、第４の実施形態に係る無人システムの一例を示す図である。
図６に示すように、本実施形態に係る無人システム１は、ＡＡＶ３´と、意思決定装置２とを備えている。本実施形態では、意思決定装置２はＡＡＶ３´に搭載されているものとする。
また、ＡＡＶ３´には、ＡＡＶ３´の状態を計測するためのセンサ３０が設けられている。センサ３０は、例えば、ＡＡＶ３´の状態として位置情報（緯度、経度、高度）、姿勢を計測するＧＰＳ、ジャイロセンサ、加速度センサ等である。
【００７６】
図７は、第４の実施形態に係る無人システムの機能を説明するための図である。
以下、図２及び図７を参照しながら、ＡＡＶ３´に適用された意思決定装置２における学習処理について説明する。
【００７７】
図２に示すように、まず、意思決定装置２の行動選択部２００は、現在のＡＡＶ３´の状態において取り得る各行動について、行動価値関数Ｑ（Ｓｔ，ａｔ；θ）に基づいて行動価値を演算する（ステップＳ１０）。
図７に示すように、ＡＡＶ３´は、例えば「ａ１（前進）」、「ａ２（左旋回）」、「ａ３（右旋回）」、「ａ４（急速左旋回）」、「ａ５（急速右旋回）」、「ａ６（離陸）」、及び「ａ７（着陸）」の７つの行動を実行可能であるとする。また、現在の時間ｔにおけるＡＡＶ３´の状態Ｓｔは図７の（ａ）に示す状態であるとする。この場合、行動選択部２００は、状態Ｓｔにおいて取り得る全ての行動ａ１〜ａ７に対する行動価値を演算する。
【００７８】
次に、行動選択部２００は、現在の意思決定装置２のモードが学習モードであるか否かを判断する（ステップＳ１１）。
行動選択部２００は、現在のモードが学習モードである場合（ステップＳ１１：ＹＥＳ）、ステップＳ１２〜Ｓ１９の処理を実行する。
一方、行動選択部２００は、現在のモードが学習モードではない場合（ステップＳ１１：ＮＯ）、ステップＳ２０〜Ｓ２１の処理を実行する。
【００７９】
まず、現在のモードが学習モードである（ステップＳ１１：ＹＥＳ）場合について説明する。
このとき、行動選択部２００は、現在の状態Ｓｔにおいて取り得る複数の行動のうち何れか一つの行動ａｔを選択する（ステップＳ１２）。
【００８０】
次に、状態取得部２０１は、行動ａｔを実行した後（次の時間ｔ＋１）のＡＡＶ３´の状態Ｓｔ＋１を取得する（ステップＳ１３）。
例えば、状態Ｓｔにおいて、ＡＡＶ３´が行動ａｔとして行動ａ１（前進）を行った場合、図７の（ｂ）に示す状態を、次の時間ｔ＋１におけるＡＡＶ３´の状態Ｓｔ＋１（ａ１）として取得する。また、状態Ｓｔにおいて、ＡＡＶ３´が行動ａｔとして行動ａ７（着陸）を行った場合、図７の（ｃ）に示す状態を、次の時間ｔ＋１におけるＡＡＶ３´の状態Ｓｔ＋１（ａ７）として取得する。
【００８１】
次に、報酬取得部２０２は、ステップＳ１３において取得した状態Ｓｔ＋１が望ましいものであるかを示す指標となる報酬ｒｔ＋１をＡＡＶ３´から取得する（ステップＳ１４）。
例えば、ＡＡＶ３´が指定された目的地に到達（着陸）することが目標である場合、報酬ｒｔ＋１は、ＡＡＶ３´が目的地に近づくと正の報酬が得られ、目的地から遠ざかる、目的地以外の場所に着陸した場合は負の報酬が得られるように設定される。
【００８２】
次に、記憶処理部２０３及び削除処理部２０４は、状態Ｓｔと、報酬ｒｔ＋１と、行動ａｔと、次の状態Ｓｔ＋１とを関連付けた経験データ（Ｓｔ，ｒｔ＋１，ａｔ，Ｓｔ＋１）の記憶処理を実行する（ステップＳ１５）。
例えば、図７の例のように、ＡＡＶ３´が取り得る行動がａ１〜ａ７の７つである場合、意思決定装置２は行動ａ１〜ａ７それぞれに関連付けられた複数の記憶部２１＿１〜２１＿７を備えているものとする。そして、ＡＡＶ３´が行動ａｔとして行動ａ１（前進）を実行していた場合、記憶処理部２０３は、図３のステップＳ１５０Ａ〜Ｓ１５０Ｃの各処理を実行して、行動ａ１に関連付けられた記憶部２１＿１に経験データを記憶する。
なお、第２の実施形態に係る意思決定装置２をＡＡＶ３´に適用した場合、記憶処理部２０３は、図２のステップＳ１５の記憶処理として、図４のステップＳ１５１Ａ〜Ｓ１５１Ｃの各処理を実行する。また、第３の実施形態に係る意思決定装置２をＡＡＶ３´に適用した場合、記憶処理部２０３は、図２のステップＳ１５の記憶処理として、図５のステップＳ１５２Ａ〜Ｓ１５２Ｃの各処理を実行する。
【００８３】
次に、図２に示すように、学習部２０５は、複数の記憶部２１それぞれから所定数ずつ経験データをランダムに選択して学習データとして取り出す。そして、学習部２０５は、取り出した学習データについて、上述の式（１）を用いてＴＤ誤差を算出する（ステップＳ１６）。
ここで、式（１）の２項目における割引率γは、例えばＡＡＶ３´が目的地に到達した時点における報酬が最大であり、この時点から過去に遡るほど価値が減衰するように割引率が設定される。
【００８４】
次に、学習部２０５は、算出したＴＤ誤差に基づいて、行動価値関数Ｑ（Ｓｔ，ａｔ；θ）を更新する（ステップＳ１７）。
【００８５】
次に、学習部２０５は、前回θ−を更新してから所定期間が経過したか判断する（ステップＳ１８）。
学習部２０５は、前回θ−を更新してか所定期間が経過している場合（ステップＳ１８：ＹＥＳ）、上述の式（１）で用いられる行動価値関数Ｑ（Ｓｔ，ａｔ；θ−）の重みθ−の値を、ステップＳ１７で更新された重みθの値で更新する（ステップＳ１９）。
一方、学習部２０５は、前回θ−を更新してか所定期間が経過していない場合（ステップＳ１８：ＮＯ）、ステップＳ１０に戻る。
【００８６】
また、現在のモードが学習モード以外である（ステップＳ１１：ＮＯ）場合について説明する。
このとき、行動選択部２００は、現在の状態Ｓｔにおいて取り得る複数の行動ａ１〜ａ７のうち、ステップＳ１０において演算された行動価値が最大となる行動を行動ａｔとして選択する（ステップＳ２０）。
【００８７】
次に、状態取得部２０１は、行動ａｔを実行した後（次の時間ｔ＋１）のＡＡＶ３´の状態Ｓｔ＋１を取得し（ステップＳ２１）、ステップＳ１０に戻る。
【００８８】
（作用効果）
以上のように、本実施形態に係る意思決定装置２は、ＡＡＶ３´に搭載される。
このようにすることで、ＡＡＶ３´は、学習モードにおいては自動的に最善の行動を学習し、学習モード以外のモードにおいては、学習した学習モデル（行動価値関数）に基づいて、最善の行動を推定、選択して自動的に実行することができる。
【００８９】
（ハードウェア構成）
図８は、少なくとも一つの実施形態に係る意思決定装置のハードウェア構成の一例を示す図である。
以下、図８を参照して、意思決定装置２のハードウェア構成の一例について説明する。
図８に示すように、コンピュータ９００は、ＣＰＵ９０１、主記憶装置９０２、補助記憶装置９０３、インタフェース９０４を備える。
上述の意思決定装置２は、コンピュータ９００に実装される。そして、上述した各処理部の動作は、プログラムの形式で補助記憶装置９０３に記憶されている。ＣＰＵ９０１（ＣＰＵ２０）は、プログラムを補助記憶装置９０３から読み出して主記憶装置９０２に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ９０１は、プログラムに従って、意思決定装置２が各種処理に用いる記憶領域を主記憶装置９０２に確保する。また、ＣＰＵ９０１は、プログラムに従って、処理中のデータを記憶する記憶領域（記憶部２１）を補助記憶装置９０３に確保する。
【００９０】
補助記憶装置９０３の例としては、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）、半導体メモリ等が挙げられる。補助記憶装置９０３は、コンピュータ９００のバスに直接接続された内部メディアであってもよいし、インタフェース９０４又は通信回線を介してコンピュータ９００に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ９００に配信される場合、配信を受けたコンピュータ９００が当該プログラムを主記憶装置９０２に展開し、上記処理を実行してもよい。少なくとも１つの実施形態において、補助記憶装置９０３は、一時的でない有形の記憶媒体である。
【００９１】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。
更に、当該プログラムは、前述した機能を補助記憶装置９０３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００９２】
以上、本発明の実施形態について詳細に説明したが、本発明の技術的思想を逸脱しない限り、これらに限定されることはなく、多少の設計変更等も可能である。
例えば、上述の実施形態において、意思決定装置２をＡＡＶ３´に適用した態様について説明したが、これに限られることはない。例えば、他の実施形態では、意思決定装置２は、無人で動作する様々な機器に適用されてもよく、例えばロボットアーム、産業用ロボット、自動運転を行う自動車及び運搬車等に適用されてもよい。
【００９３】
また、上述の実施形態において、意思決定装置２の報酬取得部２０２が機器３（ＡＡＶ３´）から報酬を取得する態様について説明したが、これに限られることはない。報酬取得部２０２は、観測対象となる機器３に応じた報酬演算式を予め記憶しておき、報酬演算式を用いて機器３の行動ａｔに対する報酬を演算して取得するようにしてもよい。
【符号の説明】
【００９４】
１  無人システム
２  意思決定装置
２０  ＣＰＵ
２１  記憶部
２００  行動選択部
２０１  状態取得部
２０２  報酬取得部
２０３  記憶処理部
２０４  削除処理部
２０５  学習部
３  機器
３’  無人航空機（ＡＡＶ）
３０  センサ
【図１】
2020004120.tif 000004
【図２】
2020004120.tif 000005
【図３】
2020004120.tif 000006
【図４】
2020004120.tif 000007
【図５】
2020004120.tif 000008
【図６】
2020004120.tif 000009
【図７】
2020004120.tif 000010
【図８】
2020004120.tif 000011