(57)【要約】アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法を提供する。処理実行部の状態、行動、報酬の各情報を格納するデータベースと、データベースに格納された情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、サブ報酬設定情報を含むアノテーション情報を入力して、データベースに格納するアノテーション入力部を有する。学習実行部は、処理実行部から入力する状態、行動、報酬の各情報と、サブ報酬設定情報を適用した学習処理を実行する。学習実行部は、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出し、行動決定則に従って、処理実行部に実行させる行動を決定する。
2018150654.tif 000002
【特許請求の範囲】
【請求項１】
処理実行部の状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記学習実行部は、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理装置。
【請求項２】
前記学習実行部は、
前記学習処理によって、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出する請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、さらに、
前記行動決定則に従って、前記処理実行部に実行させる行動を決定する行動決定部を有する請求項１に記載の情報処理装置。
【請求項４】
前記情報処理装置は、さらに、
前記処理実行部から入力する状態、行動、報酬の各情報を入力するデータ入力部を有し、
前記データベースは、
前記データ入力部の入力データを格納するとともに、前記アノテーション入力部を介して入力されたサブ報酬設定情報を格納する請求項１に記載の情報処理装置。
【請求項５】
前記アノテーション入力部は、ユーザによる任意タイミングでの入力処理が可能なアノテーション入力装置を介して入力されるサブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納する請求項１に記載の情報処理装置。
【請求項６】
前記情報処理装置は、さらに、
前記アノテーション入力時における前記処理実行部の状態、行動の各情報を、前記アノテーションに含まれるサブ報酬設定情報に対応付けてデータベースに格納する制御部を有する請求項１に記載の情報処理装置。
【請求項７】
前記学習実行部は、
前記処理実行部から入力する状態、行動、報酬の各情報と、
前記アノテーション入力部を介して入力されたサブ報酬設定情報に対応付けてデータベースに格納された状態、行動、サブ報酬の各情報の双方を適用した学習処理を実行する請求項６に記載の情報処理装置。
【請求項８】
前記アノテーション入力部を介して入力するサブ報酬設定情報は、
前記処理実行部の実行する処理を観察するユーザによって入力される情報である請求項１に記載の情報処理装置。
【請求項９】
前記アノテーション入力部を介して入力するサブ報酬設定情報は、
前記処理実行部の実行する処理をコントロールするユーザによって入力される情報である請求項１に記載の情報処理装置。
【請求項１０】
前記アノテーション入力部を介して入力するサブ報酬設定情報は、
前記処理実行部の実行する処理を観察するユーザによって入力され、
前記処理実行部の実行する処理が正解であることを確認したユーザによって入力されるプラス報酬値を有する報酬設定情報である請求項１に記載の情報処理装置。
【請求項１１】
前記アノテーション入力部を介して入力するサブ報酬設定情報は、
前記処理実行部の実行する処理を観察するユーザによって入力され、
前記処理実行部の実行する処理が正解でないことを確認したユーザによって入力されるマイナス報酬値を有する報酬設定情報である請求項１に記載の情報処理装置。
【請求項１２】
前記処理実行部は、前記情報処理装置と異なる独立した装置であり、
前記情報処理装置は、前記処理実行部との通信処理によってデータ送受信を行い、前記処理実行部の制御を行う請求項１に記載の情報処理装置。
【請求項１３】
前記アノテーション入力部は、前記情報処理装置と異なる独立したアノテーション入力装置によって入力されるアノテーション情報を入力する構成である請求項１に記載の情報処理装置。
【請求項１４】
情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
処理実行部の状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記学習実行部が、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理方法。
【請求項１５】
情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置は、
処理実行部の状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記プログラムは、前記学習実行部に、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、および情報処理方法、並びにプログラムに関する。特に、機械学習による効率的なデータ処理を実現する情報処理装置、および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、様々な情報処理分野において、機械学習により、人の判断や操作を必要とすることなく、自ら行動制御やデータ処理制御を行う自律型の情報処理装置、例えばロボットやエージェントと呼ばれる情報処理装置が利用されている。【０００３】
なお、これらのロボットやエージェント等の情報処理装置に最適なデータ処理や自律制御を行わせるための処理として機械学習が知られている。
機械学習の手法には、様々な手法がある。
具体的には、例えば教師あり学習、教師なし学習、強化学習等、複数の異なるアルゴリズムがある。【０００４】
教師あり学習は、予め、課題とその正解のセットからなるラベル（教師データ）を用意して、このラベルに基づく学習を行わせることで、課題に対して正解が得られる処理を学習させる学習手法である。【０００５】
教師なし学習は、課題に対する正解のデータが用意されておらず、エージェント（ロボット）等の情報処理装置が実行した行動やデータ処理の結果を検証して、その結果の正解、不正解の判定としての分類処理としてのクラスタリングを行い、正解となる処理を、順次、確認させることで、課題に対して正解が得られる処理を学習させる学習手法である。【０００６】
また、強化学習は、状態（ｓｔａｔｅ）、行動（ａｃｔｉｏｎ）、報酬（ｒｅｗａｒｄ）の３要素を用いた学習手法であり、エージェント（ロボット）等の情報処理装置が、ある状態（ｓｔａｔｅ）において、ある行動（ａｃｔｉｏｎ）を行ったときに、その行動が正解であれば報酬（ｒｅｗａｒｄ）を与えるといった処理を繰り返すことで、様々な状態（ｓｔａｔｅ）、における最適な行動（ａｃｔｉｏｎ）、すなわち正解となる行動を学習させる手法である。【０００７】
この強化学習アルゴリズムの問題点として、報酬の設定態様によって学習効率が低下してしまうという問題がある。
１つの典型的な報酬設定例は、処理開始状態（スタート）から、最終目的を完了した処理終了状態（ゴール）に到達したときに、１つの報酬を与えるという設定である。【０００８】
しかし、処理開始状態から、処理終了状態に到達するまでには、様々な分岐ポイント、例えば複数の行動を選択可能な状態があることが多い。エージェント（ロボット）は、各分岐ポイントで、異なる行動（ａｃｔｉｏｎ）を起こすことが可能であり、正解でない行動（ａｃｔｉｏｎ）を繰り返してしまうと、結果として最終的なゴールに到達するまでに多大な時間を要する。すなわち学習効率が低下するという問題が発生する。【０００９】
このような強化学習における問題点を解決する一つの手法として、非特許文献１（Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation）に記載の手法がある。【００１０】
非特許文献１には、処理開始状態（スタート）から、最終目的を完了した処理終了状態（ゴール）に至るまでの経路途中に報酬を与えるポイントとしてのサブゴールを予め設定した学習プログラムを利用した強化学習処理構成を開示している。
エージェント（ロボット）等の情報処理装置に、このサブゴール設定型の強化学習プログラムに従って学習処理を実行させる。エージェント（ロボット）等の情報処理装置は、開始から終了までの途中の複数ポイントで、正解の行動を確認しながら学習を進めることが可能となり、結果として最終的なゴールに到達するまでの時間を短縮できるというものである。【００１１】
しかし、このようなサブゴール設定学習プログラムは、プログラミング能力を有し、かつ学習プログラムを作成する能力を有するプログラマのみが作成可能であり、プログラミングの知識の乏しい一般人等、普通のユーザが作成できるものではない。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】Tejas D.Kulkarni、外３名、Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation、[online]、30th Conference on Neural Information Processing System(NIPS 2016),Barcelona, Spain、[２０１７年１月２７日検索]、インターネット（https://papers.nips.cc/paper/6233-hierarchical-deep-reinforcement-learning-integrating-temporal-abstraction-and-intrinsic-motivation）
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本開示は、例えば、上記の問題点に鑑みてなされたものであり、特別なプログラミング能力を有していない一般ユーザであっても、効率的な強化学習を実行させることを可能とする情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本開示の第１の側面は、
処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記学習実行部は、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理装置にある。【００１５】
さらに、本開示の第２の側面は、
情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記学習実行部が、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理方法にある。【００１６】
さらに、本開示の第３の側面は、
情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置は、
処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記プログラムは、前記学習実行部に、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行させるプログラムにある。【００１７】
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。【００１８】
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００１９】
本開示の一実施例の構成によれば、アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法が実現される。
具体的には、例えば、処理実行部の状態、行動、報酬の各情報を格納するデータベースと、データベースに格納された情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、サブ報酬設定情報を含むアノテーション情報を入力して、データベースに格納するアノテーション入力部を有する。学習実行部は、処理実行部から入力する状態、行動、報酬の各情報と、サブ報酬設定情報を適用した学習処理を実行する。学習実行部は、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出し、行動決定則に従って、処理実行部に実行させる行動を決定する。
これらの処理により、アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
【図面の簡単な説明】
【００２０】
【図１】強化学習のアルゴリズムについて説明する図である。
【図２】お掃除ロボットの実行する掃除を学習処理によって効率化させる例について説明する図である。
【図３】学習処理を行うエージェント（情報処理装置）が、囲碁や将棋を実行するＰＣである場合の例を説明する図である。
【図４】学習処理を行うエージェント（情報処理装置）が、ゲームを実行するＰＣである場合の例を説明する図である。
【図５】図１に示す学習実行部と、処理実行部の具体的構成例と処理例について説明する図である。
【図６】学習実行装置と、処理実行装置を有する情報処理装置の例について説明する図である。
【図７】学習実行装置と、処理実行装置を有する情報処理装置の例について説明する図である。
【図８】処理開始状態（スタート）から、最終目的を完了した処理終了状態（ゴール）に到達したときに、１つの報酬を与えるという典型的な報酬設定例について説明する図である。
【図９】処理開始状態（スタート）から、最終目的を完了した処理終了状態（ゴール）に到達したときに、１つの報酬を与えるという典型的な報酬設定例について説明する図である。
【図１０】アノテーション（サブ報酬設定情報）を利用した学習処理の例について説明する図である。
【図１１】アノテーション（サブ報酬設定情報）を利用した学習処理の例について説明する図である。
【図１２】アノテーション（サブ報酬設定情報）を利用した学習処理を行う装置の構成例について説明する図である。
【図１３】アノテーション（サブ報酬設定情報）を利用した学習処理を行う装置の構成例について説明する図である。
【図１４】アノテーション（サブ報酬設定情報）を利用した学習処理を行う装置の構成例について説明する図である。
【図１５】アノテーション（サブ報酬設定情報）を利用した学習処理を行う装置の構成例について説明する図である。
【図１６】アノテーション（サブ報酬設定情報）を利用した学習処理を行う装置の構成と処理例について説明する図である。
【図１７】アノテーション（サブ報酬設定情報）を利用した学習処理を行う装置の構成例について説明する図である。
【図１８】アノテーション（サブ報酬設定情報）を構成する具体的なデータ例について説明する図である。
【図１９】情報処理装置の実行する処理シーケンスを説明するフローチャートを示す図である。
【図２０】情報処理装置の実行する処理シーケンスを説明するフローチャートを示す図である。
【図２１】情報処理装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照しながら本開示の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
１．強化学習処理の概要について
２．効率的な学習処理を実現する実施例について
３．情報処理装置の実行する処理のシーケンスについて
４．情報処理装置のハードウェア構成例について
５．本開示の構成のまとめ
【００２２】
［１．強化学習処理の概要について］
まず、強化学習処理の概要について説明する。
前述したように、強化学習は、機械学習の手法の一つである。
機械学習のアルゴリズムを大きく分けると、教師あり学習、教師なし学習、強化学習に分類できる。
【００２３】
教師あり学習は、予め、課題とその正解のセットからなるラベル（教師データ）を用意して、このラベルに基づく学習を行わせることで、課題に対して正解が得られる処理を学習させる学習手法である。
教師なし学習は、課題に対する正解のデータが用意されておらず、エージェント（ロボット）等の情報処理装置が起こした行動やデータ処理の結果を検証して、その結果の正解、不正解の判定としての分類処理としてのクラスタリングを行い、正解となる処理を、順次、確認させることで、課題に対して正解が得られる処理を学習させる学習手法である。
【００２４】
これに対して、強化学習は、状態（ｓｔａｔｅ）、行動（ａｃｔｉｏｎ）、報酬（ｒｅｗａｒｄ）の３要素を用いた学習処理手法である。
図１を参照して強化学習のアルゴリズムについて説明する。
【００２５】
図１には、学習実行部１０と、処理実行部２０から構成される情報処理システムを示している。
なお、図１に示す学習実行部１０と、処理実行部２０は、１つの情報処理装置内に構成することも可能であり、それぞれ異なる装置として設定することも可能である。
【００２６】
学習実行部１０は、処理実行部２０において実行する処理についての学習を実行する。学習が良好に進むと、処理実行部２０は、最適な処理を自律的に実行することが可能となる。
【００２７】
図１に示す学習実行部１０は、処理実行部２０からの観測情報として、状態情報（Ｓｔａｔｅ（Ｓｔ））を入力する。ｔは時間であり、時間ｔの状態情報をＡｔと表記する。
学習実行部１０は、状態情報（Ｓｔａｔｅ（Ｓｔ））の入力に応じて、処理実行部２０に実行させる行動（ａｃｔｉｏｎ（Ａｔ））を決定する。
【００２８】
学習実行部１０の決定した行動（ａｃｔｉｏｎ（Ａｔ））を、処理実行部２０が実行することにより、状態が変化し、あらたな状態情報（Ｓｔａｔｅ（Ｓｔ））が、学習実行部１０に入力される。ただし、状態変化は発生しない場合もある。この場合、状態情報（Ｓｔ）は先行情報と同一となる。
【００２９】
例えば、学習実行部１０には、処理実行部２０の実行した行動（ａｃｔｉｏｎ（Ａｔ））によって発生した状態（Ｓｔａｔｅ（Ｓｔ））に応じた報酬（ｒｅｗａｒｄ（Ｒｔ））が入力される。
具体的には、例えば、処理実行部２０においてゲームプログラムが実行されている場合、ゲーム完了時のスコアが報酬（Ｒｔ）として、学習実行部１０に入力される。
あるいは、以前の状態とのスコアの差分が報酬（Ｒｔ）として、学習実行部１０に入力される。
【００３０】
学習実行部１０は、報酬（ｒｅｗａｒｄ（Ｒｔ））の入力によって、行動（ａｃｔｉｏｎ（Ａｔ））が正解であったことを認識することが可能となる。
ただし、処理実行部２０の実行した行動（ａｃｔｉｏｎ（Ａｔ））が正解の行動でなかった場合、学習実行部１０に対して報酬（ｒｅｗａｒｄ（Ｒｔ））は入力されない。
なお、報酬（ｒｅｗａｒｄ（Ｒｔ））の入力態様は、上記のように、行動（ａｃｔｉｏｎ（Ａｔ））が正解か不正解かによってのみ入力有無が決定される構成に限らない。
例えば、行動（ａｃｔｉｏｎ（Ａｔ））の良さの評価結果に応じて決定される報酬（ｒｅｗａｒｄ（Ｒｔ））を入力する構成もある。
【００３１】
このように、強化学習は、状態（ｓｔａｔｅ）、行動（ａｃｔｉｏｎ）、報酬（ｒｅｗａｒｄ）の３要素を用いた学習処理手法であり、エージェント（ロボット）等の情報処理装置が、ある状態（ｓｔａｔｅ）において、ある行動（ａｃｔｉｏｎ）を行ったときに、その行動が正解あるいは良好であれば報酬（ｒｅｗａｒｄ）を与えるといった処理を繰り返すことで、様々な状態（ｓｔａｔｅ）、における最適な行動（ａｃｔｉｏｎ）、すなわち正解となる行動を学習させる手法である。
【００３２】
学習実行部１０や、処理実行部２０は、例えば、ある作業を行うロボット、あるデータ処理やゲームを実行するＰＣ、お掃除ロボット等、様々な装置によって構成される。
いずれも何らかの特定の処理、例えば、ゲーム、掃除等の処理を、学習によって効率化させる。学習処理の対象となる処理は、装置の種類に応じて異なる処理となる。
【００３３】
強化学習を実行可能なエージェント（情報処理装置）の具体例について図２以下を参照して説明する。
図２は、お掃除ロボット４１の実行する処理である掃除を学習処理によって効率化させる例を説明する図である。
例えば、お掃除ロボット４１は、様々な家具が配置された部屋を掃除する。お掃除ロボット４１に要求される処理は、家具のない床部分を全て走行して掃除を完了させる処理であり、これを効率的に、すなわち短時間で行うことが要求される。
この要求を満たすため、エージェントであるお掃除ロボット４１は掃除を行うために走行する最適ルートを学習処理によって覚えることができる。
【００３４】
図３は、学習処理を行うエージェント（情報処理装置）が、囲碁や将棋を実行するＰＣ４２である場合の例を説明する図である。
図に示すように、ＰＣ４２は、例えば実際の人である対局者５１，５２を相手として囲碁や将棋を行う。
ＰＣ４２は、囲碁や将棋のルールに従った処理実行プログラムに従って対局を進行させる。
このプログラムは、囲碁や将棋の勝負に勝つための最善の手を学習処理によって覚えることができる。
【００３５】
図４は、学習処理を行うエージェント（情報処理装置）が、ゲームを実行するＰＣ４２である場合の例を説明する図である。
図に示すように、ＰＣ４２は、表示部に表示されたゲームを実行する。
ゲームのシーンは、例えば図に示すようにシーン１からシーン４まで進行する。
ゲームは、シーン１でキャラクタが右側の階段を上り、
シーン２で、左上部の雲に乗り、
シーン３で雲の上の星を取って、階段に戻り、
シーン４で、星を木の上に乗せる。
これらの各シーンによって構成される。
【００３６】
シーン４で、星を木の上に乗せることに成功した場合、高得点（ハイスコア）を得ることができる。
このスコアが強化学習における報酬（ｒｅｗａｒｄ）に相当し、スコア（報酬）を高くするための学習を行うことにより、シーン１〜４の処理をより高速に行うことができるようになる。
【００３７】
図２〜図４を参照して説明したように、学習処理によって処理を効率化、高速化可能なエージェント（情報処理装置）は、様々な作業を行うロボット、様々なデータ処理やゲームを実行するＰＣ、お掃除ロボット等、様々な装置が想定される。
エージェント（情報処理装置）は、何らかの目的を達成するために実行すべき処理を学習処理によって学ぶことで、徐々に最適な処理を行うことができるようになる。
【００３８】
エージェント（情報処理装置）に与えられる目的は、各エージェントによって異なる。
例えばお掃除ロボットであれば短時間の効率的な掃除完了、囲碁や将棋であれば勝利、ゲームであれば、ハイスコアの獲得などが目的となる。
【００３９】
この強化学習アルゴリズムによる学習処理における問題点として、前述したように、報酬付与ポイントの設定態様がある。
１つの典型的な報酬設定例は、目的を達成した処理終了状態（ゴール）に到達したときに、１つの報酬を与えるという設定である。
しかし、前述したように、処理開始状態から、処理終了状態に到達するまでには、様々な分岐ポイント、例えば複数の行動を選択可能なポイントがあることが多い。エージェント（ロボット）は、各分岐ポイントで、異なる行動（ａｃｔｉｏｎ）を起こすことが可能であり、正解でない行動（ａｃｔｉｏｎ）を繰り返してしまうと、結果として最終的なゴールに到達するまでに多大な時間を要するという問題が発生する。
【００４０】
先に説明したように、非特許文献１（Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation）は、処理開始状態（スタート）から、最終目的を完了した処理終了状態（ゴール）に至るまでの経路途中に報酬を与えるポイントとしてのサブゴールを予め設定した学習プログラムを利用した強化学習処理構成を開示している。
エージェントやロボット等の情報処理装置に、このサブゴール設定型の強化学習プログラムに従って学習処理を実行させる。エージェントやロボット等の情報処理装置は、開始から終了までの途中の複数ポイントで、正解の行動を確認しながら学習を進めることが可能となり、結果として最終的なゴールに到達するまでの時間を短縮できるというものである。
【００４１】
しかし、このようなサブゴール設定学習プログラムは、プログラミング能力を有し、かつ学習プログラムを作成する能力を有する数少ないプログラマのみが作成可能であり、いわゆる一般人等、普通のユーザが作成できるものではない。
【００４２】
次に、図５を参照して、先に図１を参照して説明した学習実行部１０と、処理実行部２０の具体的構成例と処理例について説明する。
なお、図５においては、図１を参照して説明した学習実行部１０を学習実行装置１１０として示し、図１を参照して説明した処理実行部２０を処理実行装置１２０として示している。
なお、これらの２つの装置は、１つの情報処理装置としても構成可能であり、個別の装置として構成することも可能である。
【００４３】
図５に示す学習実行装置１１０は、前述した強化学習処理を実行する装置である。
また、処理実行装置１２０は、特定の処理を実行する装置である。例えばお掃除ロボットであれば自走して掃除を行う装置である。あるいはゲームプログラムを実行してゲームを行う装置等である。
【００４４】
図５に示す学習実行装置１１０は、データベース１１１、学習実行部１１２、行動決定部１１３、決定行動要求部１１４、行動情報入力部１１５、状態情報入力部１１６、報酬情報入力部１１７を有する。
【００４５】
学習実行装置１１０の学習実行部１１２は、前述した強化学習の学習アルゴリズムに従った学習処理を行う。
具体的には、データベース１１１に格納された例えば時系列の状態（Ｓ）、行動（Ａ）、報酬（Ｒ）のデータを利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則を導出して行動決定則に従った学習処理を行う。
すなわち、行動決定則を規定する以下の（式１）に従った学習処理を行う。
【００４６】
【数１】
2018150654.tif 000003
【００４７】
上記（式１）において、
π＊（ａ｜ｓ）は、状態（ｓ）における最適な戦略、すなわち状態（ｓ）においてとるべき行動（ａ）を返す関数である。
Ｔ（ｓ，ａ，ｓ'）は、状態の変化（Ｔｒａｎｓｉｔｉｏｎ）を表す関数であり、状態（ｓ）において行動（ａ）を行うと状態（ｓ'）に変化することを示す。
ｖ（ｓ'）は、状態（ｓ'）に移行した場合の報酬の総和を意味する。
ａｒｇｍａｘは最大値を選択する関数である。
上記（式１）は、状態ｓから状態ｓ'に遷移する行動ａから、報酬総和ｖ（ｓ'）が最大化するものを選択する数式（行動決定則）である。
すなわち、（式１）は、様々な状態（ｓ）に応じて、期待報酬を最大化する行動（ａ）を決定する行動決定則である。
【００４８】
データベース１１１には、各時間（ｔ）の状態（Ｓ）、行動（Ａ）、報酬（Ｒ）のデータが、処理実行装置１２０から、随時、入力され蓄積される。すなわちデータベースは、随時、更新される。学習実行部１１４は、例えば、データベース１１１のデータ更新ごとに行動決定則（式１）の更新処理を行う。
この更新処理によって、様々な状態に応じた最適な行動、すなわち報酬を高くするための最適な行動が次第に明らかになっていく。
【００４９】
学習実行装置１１０の行動決定部１１３は、学習実行部１１２における学習処理において、随時更新される（式１）によって示される行動決定則を利用して、処理実行部１２０に実行させる次の行動を決定する。
すなわち、上記（式１）に示す行動決定則π＊（ａ｜ｓ）に従って、次の行動を決定する。
【００５０】
決定行動要求部１１４は、行動決定部１１３の決定した行動（Ａ）を処理実行装置１２０に実行させるため、処理実行装置１２０の行動実行部１２１に、決定した行動を実行させるための要求を行う。図に示すように、行動情報（Ａｔ）１０１ａを出力する。ｔは時間を示すパラメータである。
【００５１】
処理実行装置１２０の行動実行部１２１は、学習実行装置１１０の決定行動要求部１１４から入力した行動要求に従った行動、すなわち、行動情報（Ａｔ）１０１ａに従った行動を実行する。
処理実行装置１２０の行動実行部１２１の実行した行動に関する行動情報（Ａｔ）１０１ｂは、学習実行装置１１０の行動情報入力部１１５に入力され、データベース１１１に格納される。
【００５２】
処理実行装置１２０は、さらに、状態情報取得部１２２、報酬情報取得部１２３を有する。
処理実行装置１２０の状態情報取得部１２２は、時間（ｔ）の状態（Ｓ）である状態情報（Ｓｔ）１０２を、随時、取得して、学習実行部１１０の状態情報入力部１１６に出力する。
学習実行部１１０の状態情報入力部１１６は、処理実行装置１２０の状態情報取得部１２２から入力した状態情報（Ｓｔ）１０２をデータベース１１１に格納する。
【００５３】
処理実行装置１２０の状態情報取得部１２２の取得する状態情報とは、例えば、処理実行装置１２０が、お掃除ロボットである場合、お掃除ロボットの位置情報、走行情報（速度、方向）等の情報である。
また、処理実行装置１２０が、ゲーム実行装置である場合、ゲームの場面を示すシーン情報、キャラクタ位置、走行情報（速度、方向）等である。
【００５４】
処理実行装置１２０の報酬情報取得部１２３は、時間（ｔ）の状態（Ｓ）である報酬情報（Ｒｔ）１０３を、随時、取得して、学習実行部１１０の報酬情報入力部１１７に出力する。
学習実行部１１０の報酬情報入力部１１７は、処理実行装置１２０の報酬情報取得部１２３から入力した報酬情報（Ｒｔ）１０３をデータベース１１１に格納する。
【００５５】
処理実行装置１２０の報酬情報取得部１２３の取得する報酬情報とは、例えば、処理実行装置１２０が、ゲーム実行装置である場合、ゲームのスコア等によって構成される。
処理実行装置１２０が、お掃除ロボットである場合、例えば掃除完了に伴って生成される評価情報等である。具体的には、掃除の開始から終了に至るまでの時間情報や、経路情報等に基づく効率性の評価情報等である。
【００５６】
なお、処理実行装置１２０に報酬情報取得部１２３が設定されていない場合、学習実行装置１１０に報酬計算部を設定して、処理実行装置１２０から入力する状態情報と、行動情報に基づいて、予め設定した報酬算出アルゴリズムを適用して報酬を算出する構成としてもよい。
例えば、処理実行装置１２０の行動実行部１２１において実行された行動（ａ）の後に発生した状態（ｓ）に基づく以下の報酬算出式（式２）、
Ｒ＝ｆ（ｓ）・・・（式２）
上記（式２）に従った報酬算出処理を行う。
【００５７】
あるいは、処理実行装置１２０の行動実行部１２１において実行された行動（ａ）の後に発生した状態（ｓ）と、行動（ａ）の２つのパラメータに基づく以下の報酬算出式（式３）、
Ｒ＝ｆ（ｓ，ａ）・・・（式３）
上記（式３）に従った報酬算出処理を行う。
上記の（式２），（式３）いずれの報酬算出式を適用するかについては、予め規定しておく。
この場合、学習実行装置１１０の報酬算出部の算出した報酬（Ｒｔ）が、データベース１１１に格納される。
【００５８】
学習実行装置１１０のデータベース１１１には、行動情報（Ａｔ）、状態情報（Ｓｔ）、報酬情報（Ｒｔ）のデータセットが、随時格納されることになる。
学習実行装置１１０の学習実行部１１２は、データベース１１１に新たに格納されたデータを含むデータ（状態（Ｓ）、行動（Ａ）、報酬（Ｒ））を利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則、
π＊（ａ｜ｓ）・・・（式１）
上記（式１）に従った学習処理を行う。
この処理を繰り返すことで、最も報酬が高くなる設定の行動を予測して、その予測行動に従った処理を実行することが可能となる。
【００５９】
次に、図５に示す学習実行装置１１０と、処理実行装置１２０の具体例について図６以下を参照して説明する。
先に説明したように、学習実行装置１１０と、処理実行装置１２０は１つの情報処理装置として構成することも、個別の装置として構成することも可能である。
【００６０】
図６（Ａ）は、１つの情報処理装置であるＰＣ１３０に学習実行装置１１０と、処理実行装置１２０を有する例である。
ＰＣ１３０は、学習実行装置１１０として機能する学習プログラム実行部を有し、さらに、処理実行装置１２０として、例えばゲームプログラム実行部を有する。
ゲームプログラム実行部は、例えば先に図３や図４を参照して説明したゲームをＰＣ１３０の記憶部に格納されたゲームプログラムを実行して行う。
【００６１】
処理実行装置１２０としてのゲームプログラム実行部によるゲームの実行により、例えば、キャラクタの行動、ゲームシーンやキャラクタの位置等の状態の変化が発生する。これらの行動情報、状態情報が、学習プログラム実行部である学習実行装置１１０に入力されて学習処理が行われることになる。
【００６２】
図６（Ｂ）は、学習実行装置１１０と、処理実行装置１２０が個別の装置によって構成される例を示す図である。
図６（Ｂ）にはお掃除ロボット１３１と、お掃除ロボット１３１の動作制御を行うリモコン１３２、スマホ１３３を示している。
リモコン１３２、またはスマホ１３３は、お掃除ロボット１３１の動作制御を行うコントローラとして機能する。
【００６３】
リモコン１３２、またはスマホ１３３は、学習実行装置１１０として機能する学習プログラム実行部を有する。
お掃除ロボット１３１は、処理実行部１２０として機能する掃除プログラム実行部を有する。
処理実行装置１２０としての掃除プログラム実行部による掃除の実行により、例えば、掃除ロボットの行動、位置、走行情報等の状態の変化が発生する。これらの行動情報、状態情報が、学習プログラム実行部を有するリモコン１３２、またはスマホ１３３に入力されて学習処理が行われることになる。
【００６４】
図７（Ｃ）は、学習実行装置１１０と、処理実行装置１２０をお掃除ロボット１３１の内部に有する設定とした例である。
お掃除ロボット１３１は、学習実行装置１１０として機能する学習プログラム実行部と、処理実行部１２０として機能する掃除プログラム実行部を有する。
処理実行装置１２０としての掃除プログラム実行部による掃除の実行により、例えば、掃除ロボットの行動、位置、走行情報等の状態の変化が発生する。これらの行動情報、状態情報が、お掃除ロボット１３１内の学習プログラム実行部に入力されて学習処理が行われることになる。
図７に示す例において、リモコン１３２、スマホ１３３は、ユーザの意思に従った掃除を行わせたいときのリモコンとしての機能を有する。
【００６５】
図６、図７を参照して説明したように、図５を参照して説明した学習実行装置１１０、処理実行装置１２０は、１つの装置、あるいは個別の装置として実現可能である。
なお、図６、図７を参照して説明した構成の他にも、様々な設定が可能である。
【００６６】
図５を参照して説明した学習実行装置１１０、処理実行装置１２０を利用した強化学習処理により、処理実行装置１２０の実行する処理を、より報酬を高く設定した処理に、徐々に変更させることができる。
しかし、先に説明したように、強化学習アルゴリズムによる学習処理における問題点として、どの状態に、報酬を付与するポイントを設けるかという問題がある。
【００６７】
例えば１つの典型的な報酬設定例としては、処理開始状態（スタート）から、最終目的を完了した処理終了状態（ゴール）に到達したときに、１つの報酬を与えるという設定がある。しかし、このような設定では、学習実行装置は、処理の完了まで全く有効な報酬情報を入力することができないことになる。
【００６８】
処理開始状態から、処理終了状態に到達するまでの様々な分岐ポイント、例えば複数の行動を選択可能なポイントにおいて、エージェント（ロボット）は、異なる行動（ａｃｔｉｏｎ）を起こすことが可能であり、正解でない行動（ａｃｔｉｏｎ）を繰り返してしまうと、結果として最終的なゴールに到達するまでに多大な時間を要することになる。
【００６９】
処理開始状態（スタート）から、最終目的を完了した処理終了状態（ゴール）に到達したときに、１つの報酬を与えるという典型的な報酬設定例について、図８以下を参照して説明する。
図８に示す例は、先に図６（Ａ）を参照して説明したＰＣ１３０、すなわち、１つの情報処理装置であるＰＣ１３０に学習実行装置１１０と、処理実行装置１２０を有する例である。
【００７０】
ＰＣ１３０は、学習実行装置１１０として機能する学習プログラム実行部を有し、さらに、処理実行装置１２０として、例えばゲームプログラム実行部を有する。
ゲームプログラム実行部は、図８に示すゲームを実行する。
【００７１】
図８に示すゲームは、左下のスタート位置のキャラクタ１３５を、右上のゴールに到達させるゲームである。
シーン内のルートに沿って、キャラクタ１３５を左右前後に移動させて、右上のゴールに到達させる。
ルート上の星を多く拾うほど、ゲームスコアが高くなる。このゲームスコアが、強化学習処理における報酬となる。
ルート上には悪キャラ１３６がおり、衝突するとゲーム終了となり、スコア＝０（報酬なし）となる。
【００７２】
キャラクタ１３５を、図８に示す点線ルートに従って進行させてゴールに到達すると、３つの星を拾ってゴールに到着することになり高スコアが得られる。すなわち、報酬が大きくなる。
【００７３】
図９に示す例は、図８に示すルートと異なるルートでゴールに到達する例である。
キャラクタ１３５を、図９に示す点線ルートに従って進行させてゴールに到達すると、１つの星を拾ってゴールに到着することになる。この場合、３つの星を拾った図８に示す設定より、低スコアとなる。すなわち、報酬が小さくなる。
【００７４】
例えば、このような報酬の設定の下で、図５を参照して説明したシステムを利用して強化学習処理を行うと、より高い報酬の得られるルート、すなわち、図８に示すルートを最終的に見つけ出すことができる。
【００７５】
しかし、図８、図９を参照して説明した報酬設定、すなわち、処理開始状態（スタート）から、最終目的を完了した処理終了状態（ゴール）に到達したときに、１つの報酬を与えるという報酬設定とした場合、最終的な高報酬を得るルート（図８に示すルート）を見つけ出すための学習処理時間は長期化してしまう。
【００７６】
図８、図９を参照して理解されるように、スタートからゴールまでのルートとして選択可能なルートは多数あり、強化学習処理では、これらの多数のルートを順次、実行（行動）し、その行動結果の報酬を解析するという処理を繰り返すことが必要となる。
【００７７】
スタートからゴールまでには、多くの分岐ポイント、すなわち複数の行動を選択可能なポイントが多く、存在する。
キャラクタ１３５は、各分岐ポイントで、異なる行動（ａｃｔｉｏｎ）を起こすことが可能であり、正解でない行動（ａｃｔｉｏｎ）を繰り返してしまうと、結果として、最大のスコアの高報酬ルートを見つけ出すまでに多大な時間を要するという問題がある。
【００７８】
［２．効率的な学習処理を実現する実施例について］
以下、本開示の情報処理装置、すなわち、効率的な学習処理を実現する情報処理装置の構成と処理について説明する。
以下に説明する本開示の処理を適用することで、特別なプログラミング能力を有していない一般ユーザであっても、効率的な学習処理、具体的には、行動（Ａ）、状況（Ｓ）、報酬（Ｒ）の各パラメータを適用した強化学習を効率的に実行させることが可能となる。
【００７９】
図１０を参照して、本開示の情報処理装置の実行する学習処理の例について説明する。
図１０に示す情報処理装置の一例であるＰＣ２００は、先に図６（Ａ）や図８、図９を参照して説明したＰＣ１３０と同様、ＰＣ２００に学習実行装置と、処理実行装置を有する。
【００８０】
ＰＣ２００は、学習実行装置として機能する学習プログラム実行部を有し、さらに、処理実行装置として機能するゲームプログラム実行部を有する。
ゲームプログラム実行部は、図１０に示すゲームを実行する。
【００８１】
図１０に示すゲームは、先に図８、図９を参照して説明したゲームと同じゲームデあり、左下のスタート位置のキャラクタ１３５を、右上のゴールに到達させるゲームである。
シーン内のルートに沿って、キャラクタ１３５を左右前後に移動させて、右上のゴールに到達させる。
ルート上の星を多く拾うほど、ゲームスコアが高くなる。このゲームスコアが、強化学習処理における報酬となる。
ルート上には悪キャラがおり、衝突するとゲーム終了となり、スコア＝０（報酬なし）となる。
【００８２】
本開示の情報処理装置の一例であるＰＣ２００は、学習実行装置として機能する学習プログラム実行部と、処理実行装置として機能するゲームプログラム実行部の他、アノテーション入力装置としての機能を有する。
【００８３】
アノテーションとは、処理実行プログラム、本例ではゲーム実行プログラムに本来、設定されていない報酬の設定情報である。
アノテーションによる報酬設定情報をサブ報酬設定情報と呼ぶ。
なお、ゲーム実行プログラムに本来、設定されている報酬の設定情報を基本報酬設定情報と呼ぶことにする。
図８、図９を参照して説明したキャラクタ１３５がゴールに到達した時点で得られる報酬（ゲームスコア）は、ゲーム実行プログラムに本来、設定されている報酬であり、基本報酬設定情報となる。
【００８４】
アノテーションによるサブ報酬設定情報は、本開示の情報処理装置の一例であるＰＣ２００を操作するユーザ２０１によってアノテーション入力装置を介して自由に入力、設定することができる。
なお、図１０に示す構成において、アノテーション入力装置は、ＰＣ２００に構成される。具体的にはＰＣ２００のキーボードやマウス等の入力部がアノテーション入力装置として機能する。
【００８５】
ユーザ２０１は、ＰＣ２００のキーボードやマウス等の入力部を介して自由にアノテーション（サブ報酬設定情報）を入力できる。
例えば、図１０に示すゲーム画面をＰＣ２００の表示部に表示し、キャラクタ１３５を移動させ、所定の位置にキャラクタ１３５が移動したときに、アノテーション（サブ報酬設定情報）を入力する。
【００８６】
図１０を参照して、アノテーション入力手順の一例について説明する。
例えば、図１０に示すゲーム画面のスタート位置にいるキャラクタ１３５は、まず、右方向のルート（○印の設定されたルート）と、上方向のルート（×印の設定されたルート）の２つのルートを選択可能である。
右方向のルート（○印の設定されたルート）は、先に図８を参照して説明した高スコア（高報酬）の得られるルート（正解）に相当するルートである。
【００８７】
ユーザ２０１は、キャラクタ１３５を、右方向の正解ルート（○印設定ルート）に従って移動させ、分岐ポイント（図に示す（二重丸◎Ａｎ１）の位置）に到達させる。
なお、図１０に示す点線ルートや、○、×、◎の各マークは、説明のために示しているのみであり、実際にＰＣ２００の表示画面上に表示されるものではない。
【００８８】
図１０に示すように、キャラクタ１３５が、この分岐ポイント（図に示す（二重丸◎Ａｎ１）の位置）に到達した時点で、アノテーション（サブ報酬設定情報）（Ａｎ１）２１１を入力する。
すなわち、正解ルートに従ったキャラクタ１３５の行動に基づいてサブ報酬を得ることができる設定とする。
ユーザ２０１の入力したアノテーション（サブ報酬設定情報）（Ａｎ１）２１１は、学習実行装置内のデータベースに登録される。
【００８９】
さらに、キャラクタ１３５を正解ルート（図８に示すルート）に従って移動させて、各分岐ポイントに到達した位置において、ユーザ２０１は、順次、アノテーション（サブ報酬設定情報）（Ａｎ２〜Ａｎ９）を、ＰＣ２００のキーボードやマウス等の入力部を介して入力する。
このアノテーション入力処理の結果、図１０に示すように、最も高報酬が得られる正解ルート上に、順次、アノテーション（サブ報酬設定情報）（Ａｎ１〜Ａｎ９）が設定されることになる。
【００９０】
これらのユーザ２０１の入力したアノテーション（サブ報酬設定情報）（Ａｎ１〜Ａｎ９）は、学習実行装置内に登録され、強化学習処理における学習処理、すなわち、期待報酬を最大化する行動決定処理において利用可能な報酬情報となる。
このアノテーション（サブ報酬設定情報）（Ａｎ１〜Ａｎ９）を利用した学習処理を行うことで、効率的に、すなわち短時間で高報酬の得られる理想的なルートを探しだすことが可能となる。
すなわち強化学習処理の効率化が実現されることになる。
【００９１】
なお、ユーザ２０１の入力したアノテーション（サブ報酬設定情報）は、学習実行装置に出力されてデータベースに格納される。
ユーザが入力したアノテーションにより、学習実行装置のデータベースに格納されるデータは、具体的には、例えば、アノテーション設定時の状態（Ｓ）、行動（Ａ）、報酬（Ｒ）各情報の組み合わせからなる情報である。
【００９２】
先に図５を参照して説明したように、学習実行装置１１０は、処理実行装置１２０から、随時、状態（Ｓ）、行動（Ａ）の各情報を入力している。
学習実行装置１１０は、アノテーション入力装置からのアノテーション（サブ報酬設定情報）の入力タイミングにおける最新の状態（Ｓ）、行動（Ａ）の各情報を、アノテーション入力装置から入力したサブ報酬設定情報に対応付けてデータベースに登録する。
なお、アノテーション入力装置から、サブ報酬設定情報とともに状態（Ｓ）や、行動（Ａ）の各情報の少なくともいずれかの情報を併せて入力する設定としてもよい。
【００９３】
このように、ユーザによるアノテーション入力に応じて学習実行装置がデータベースに登録するデータはアノテーション設定時の状態（Ｓ）、行動（Ａ）、サブ報酬（Ｒ）各情報の組み合わせからなるデータである。具体的には、例えば以下のデータによって構成される。
【００９４】
状態情報（Ｓ）は、アノテーション設定時のゲームのシーンの識別情報、アノテーション設定位置等によって構成される。
行動情報（Ａ）は、アノテーション設定時のキャラクタの位置、キャラクタの動き（方向、速度等）の情報によって構成される。
サブ報酬情報（Ｒ）は、様々な設定が可能であるが、最終的なゴールに至ることで得られる基本設定の報酬よりは小さい報酬に設定するのが好ましい。このサブ報酬の値は、予めデフォルト値として規定しておいてもよいし、ユーザのアノテーション入力時に逐次、ユーザが設定可能な構成としてもよい。
【００９５】
また、報酬は、プラスの報酬のみに限らず、マイナスの報酬を設定する構成としてもよい。例えばキャラクタが正解ルートではない「不正解」のルートに進んだ地点でアノテーションを入力して、そのアノテーションを「マイナス報酬」を設定したアノテーションとして学習実行装置のデータベースに登録することも可能である。
例えば、アノテーション入力装置から、任意の報酬の値、例えば−１００〜＋１００等の報酬範囲の報酬値を入力可能な構成として、ユーザが任意に設定した報酬値を学習実行装置のデータベースに登録可能な構成としてもよい。
【００９６】
次に、図１１を参照して、ＰＣ２００が実行する異なるゲームにおけるアノテーション（サブ報酬設定情報）の設定例について説明する。
図１１に示すゲームは、先に図４を参照して説明したゲームと同様のゲームである。
【００９７】
ゲームのシーンは、図に示すようにシーン１からシーン４まで進行する。
ゲームは、シーン１でキャラクタが右側の階段を上り、
シーン２で、左側の雲に乗り、
シーン３で雲の上の星を取って、階段に戻り、
シーン４で、星を木の上に乗せる。
これらの各シーンによって構成される。
【００９８】
シーン４で、星を木の上に乗せることに成功した場合、高得点（ハイスコア）を得ることができる。
ゲームを実行するＰＣ４２は、学習処理によって正解の行動を覚えることができる。
このゲームプログラムに本来、設定されている基本報酬設定情報は、キャラクタがシーン４で、星を木の上に乗せる処理を完了した時点で得られる報酬（ゲームスコア）である。
【００９９】
ユーザ２０１は、この基本報酬設定情報以外のサブ報酬設定情報をアノテーション入力処理によって行うことができる。
ユーザ２０１は、アノテーション（サブ報酬設定情報）をＰＣ２００のキーボードやマウス等の入力部を介した入力処理によって行う。
【０１００】
例えば、図１１に示すシーン１では、キャラクタは、右側の階段を上る正解ルート（○印の設定されたルート）と、左方向のルート（×印の設定されたルート）の２つのルートを選択可能である。
ユーザ２０１は、キャラクタを、右側の階段を上る正解ルート（○印設定ルート）に従って移動させ、移動完了位置または移動途中位置（図に示す（二重丸◎Ａｎ１）の位置）に到達させる。
【０１０１】
図１０に示すように、キャラクタが、図に示す二重丸◎Ａｎ１の位置に到達した時点で、アノテーション（サブ報酬設定情報）（Ａｎ１）２２１を入力する。
すなわち、正解ルートに従ったキャラクタの行動に基づいてサブ報酬を得ることができる設定とする。
ユーザ２０１の入力したアノテーション（サブ報酬設定情報）（Ａｎ１）２２１は、学習実行装置内に登録される。
【０１０２】
次の図１１に示すシーン２では、キャラクタは、左上部の雲に乗る正解ルート（○印の設定されたルート）と、右方向のルート（×印の設定されたルート）の２つのルートを選択可能である。
ユーザ２０１は、キャラクタを、左側の雲に乗る正解ルート（○印設定ルート）に従って移動させ、移動完了位置または移動途中位置（図に示す（二重丸◎Ａｎ２）の位置）に到達させる。
【０１０３】
図１１に示すように、キャラクタが、図に示す二重丸◎Ａｎ２の位置に到達した時点で、アノテーション（サブ報酬設定情報）（Ａｎ２）２２２を入力する。
すなわち、正解ルートに従ったキャラクタの行動に基づいてサブ報酬を得ることができる設定とする。
ユーザ２０１の入力したアノテーション（サブ報酬設定情報）（Ａｎ２）２２２は、学習実行装置内に登録される。
【０１０４】
以下、シーン３，４についても、キャラクタを図に示す二重丸◎Ａｎ３，Ａｎ４の位置に到達させて、アノテーション（サブ報酬設定情報）（Ａｎ３）２２３，（Ａｎ４）２２４を入力する。
すなわち、正解ルートに従ったキャラクタの行動に基づいてサブ報酬を得ることができる設定とする。
【０１０５】
このアノテーション入力処理の結果、図１１に示すように、最もハイスコア（高報酬）が得られる正解ルート上に、順次、アノテーション（サブ報酬設定情報）（Ａｎ１〜Ａｎ４）が設定されることになる。
【０１０６】
これらのユーザ２０１の入力したアノテーション（サブ報酬設定情報）（Ａｎ１〜Ａｎ４）は、学習実行装置のデータベース内に登録され、強化学習処理における学習処理、すなわち、期待報酬を最大化する行動決定処理において利用可能な報酬情報となる。
【０１０７】
このアノテーション（サブ報酬設定情報）（Ａｎ１〜Ａｎ４）を利用した学習処理を行うことで、効率的に、短時間で高報酬の得られる理想的なルートを探しだすことが可能となる。
すなわち強化学習処理の効率化が実現されることになる。
【０１０８】
図１２は、学習実行装置３１０、処理実行装置３２０と、アノテーション入力装置３５０の構成関係の一例を説明する図である。
図１２に示す例は、学習実行装置３１０、処理実行装置３２０、アノテーション入力装置３５０が一つの情報処理装置、すなわちＰＣ２００内に構成されている例である。
これら、学習実行装置３１０、処理実行装置３２０、アノテーション入力装置３５０は、一つの情報処理装置内の構成要素として設定することも可能であり、個別の装置として構成することも可能である。
【０１０９】
図１２に示す例では、アノテーション入力装置３５０は、ＰＣ２００の入力部、すなわちキーボードや、マウス等によって構成される。
ユーザ２０１は、任意タイミングで、アノテーション入力装置３５０から、アノテーション情報（サブ報酬（Ｒｓ）設定情報）３５１を入力することができる。
【０１１０】
入力したアノテーション情報（サブ報酬（Ｒｓ）設定情報）３５１は、学習実行装置３１０に入力されデータベースに格納される。
学習実行装置３１０は、さらに、処理実行装置３２０から、状態情報（Ｓ）３０２、行動情報（Ａ）３０１を逐次、入力する。
学習実行装置３１０は、アノテーション入力装置３５０から入力するアノテーション情報（サブ報酬（Ｒｓ）設定情報）３５１と、このアノテーション情報３５１の入力タイミングに最も近い入力タイミングを持つ状態情報（Ｓ）３０２、行動情報（Ａ）３０１を、対応付けてデータベースに格納する。
【０１１１】
なお、図１２に示す例は一例であり、例えば、アノテーション入力装置２５０からアノテーション情報（サブ報酬（Ｒｓ）設定情報）３５１に併せて、状態情報（Ｓ）や、行動情報（Ａ）を学習実行装置１１０に入力する構成としてもよい。
【０１１２】
図１３は、本開示の情報処理システム（情報処理装置）の構成例を示す図である。
図１３に示す情報処理システムは、先に図５を参照して説明したと同様、学習実行装置３１０と、処理実行装置３２０を有し、さらに、アノテーション（サブ報酬設定情報）入力装置３５０を有している。
なお、これらの３つの装置は、１つの情報処理装置としても構成可能であり、個別の装置として構成することも可能である。
【０１１３】
図１３に示す学習実行装置３１０は、強化学習アルゴリズムに従った学習処理を実行する装置である。
また、処理実行装置３２０は、特定の処理を実行する装置である。例えばお掃除ロボットであれば自走して掃除を行う装置である。あるいはゲームプログラムを実行してゲームを行う装置等である。
【０１１４】
図１３に示す学習実行装置３１０は、先に図５を参照して説明した学習実行装置１１０と同様、以下の構成要素を有する。すなわち、データベース３１１、学習実行部３１２、行動決定部３１３、決定行動要求部３１４、行動情報入力部３１５、状態情報入力部３１６、基本報酬情報入力部３１７を有する。
さらに、図１３に示す学習実行装置３１０は、図５を参照して説明した学習実行装置１１０には無い構成要素である、アノテーション（サブ報酬（Ｒｓ）設定情報）入力部３１８を有する。
【０１１５】
図１３に示す学習実行装置３１０は、図５に示す学習実行装置１１０と異なり、アノテーション（サブ報酬設定情報）入力装置３５０から、アノテーション（サブ報酬設定情報）３５１が入力される。
ユーザ２０１は、任意のタイミングで、アノテーション（サブ報酬設定情報）入力装置３５０から、アノテーション（サブ報酬設定情報）３５１を入力することができる。
【０１１６】
アノテーション（サブ報酬設定情報）３５１とは、先に図１０、図１１を参照して説明したように、ユーザ２０１によって任意に設定できる報酬、すなわちサブ報酬（Ｒｓ）の設定情報である。
学習実行装置３１０は、アノテーション（サブ報酬設定情報）入力装置３５０から入力するアノテーション（サブ報酬設定情報）３５１をアノテーション（サブ報酬設定情報）入力部３１８を介してデータベース３１１に格納する。
【０１１７】
学習実行装置３１０のデータベース３１１に格納されるデータは、先に図５を参照して説明した情報に、アノテーション入力時の状態（Ｓ）、行動（Ａ）、報酬（Ｒ）各情報の組み合わせからなるデータが追加されることになる。
【０１１８】
先に図５を参照して説明した処理と同様、学習実行装置３１０は、処理実行装置３２０から、随時、状態情報（Ｓｔ）３０２、行動情報（Ａｔ）３０１ｂ、基本報酬情報（Ｒｔ）３０３の各情報を入力してデータベース３１１に格納する。
図１３に示す学習実行装置３１０は、この情報に加え、アノテーション入力時の状態（Ｓｔ）、行動（Ａｔ）を、アノテーション（サブ報酬設定情報）入力装置３５０から入力するアノテーション（サブ報酬（Ｒｓ）設定情報）３５１に対応付けてデータベース３１１に格納する。
これらのデータのデータベース格納処理は、図１３には示していないが、学習実行装置３１０内の制御部による制御の下で実行される。
【０１１９】
なお、処理実行装置３２０から入力する報酬と、アノテーション（サブ報酬設定情報）入力装置３５０から入力する報酬を区別するため、
処理実行装置３２０から入力する報酬を、基本報酬（Ｒｔ）とし、
アノテーション（サブ報酬設定情報）入力装置３５０から入力するアノテーション（サブ報酬設定情報）３５１に含まれる報酬をサブ報酬（Ｒｓ）として区別して示している。
【０１２０】
このように、図１３に示す構成において、学習実行装置３１０は、処理実行装置３２０から入力する状態情報（Ｓｔ）３０２、行動情報（Ａｔ）３０１ｂ、基本報酬情報（Ｒｔ）３０３の各情報のみならず、アノテーション（サブ報酬設定情報）入力装置３５０から入力するアノテーション（サブ報酬（Ｒｓ）設定情報）３５１と、そのタイミングの状態情報（Ｓｔ）３０２、行動情報（Ａｔ）３０１ｂもデータベース３１１に格納する。
【０１２１】
なお、ユーザ２０１によるアノテーション３５１の入力に応じて学習実行装置３１０がデータベース３１１に登録するデータは、先に説明したようにアノテーション設定時の状態（Ｓ）、行動（Ａ）、報酬（Ｒ）各情報の組み合わせからなるデータである。具体的には、例えば以下のデータによって構成される。
【０１２２】
状態情報（Ｓ）は、アノテーション設定時のゲームのシーンの識別情報、アノテーション設定位置等によって構成される。
行動情報（Ａ）は、アノテーション設定時のキャラクタの位置、キャラクタの動き（方向、速度等）の情報によって構成される。
報酬情報（Ｒ）は、様々な設定が可能であるが、最終的なゴールに至ることで得られる基本設定の報酬よりは小さい報酬に設定する。このサブ報酬の値は、予めデフォルト値として規定しておいてもよいし、ユーザのアノテーション入力時に逐次、ユーザが設定可能な構成としてもよい。
【０１２３】
また、報酬は、プラスの報酬のみに限らず、マイナスの報酬を設定する構成としてもよい。例えばキャラクタが不正解のルートに進んだ地点にアノテーションを設定して、そのアノテーションを「マイナス報酬」を設定したアノテーションとして学習実行装置のデータベースに登録することも可能である。
例えば、アノテーション入力装置から、任意の報酬の値、例えば−１００〜＋１００等の報酬範囲の報酬値を入力可能な構成として、ユーザが任意に設定した報酬値を学習実行装置のデータベースに登録可能な構成としてもよい。
【０１２４】
図１３に示す学習実行装置３１０の学習実行部３１２は、先に図５を参照して説明した学習実行装置１１０の学習実行部１１２と同様、前述した強化学習の学習アルゴリズムに従った学習処理を行う。
具体的には、データベース３１１に格納された例えば時系列の状態（Ｓ）、行動（Ａ）、報酬（Ｒ）のデータを利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則を導出して行動決定則に従った学習処理を行う。
すなわち、先に図５を参照して説明した行動決定則を規定する以下の（式１）に従った学習処理を行う。
【０１２５】
【数２】
2018150654.tif 000004
【０１２６】
上記（式１）において、
π＊（ａ｜ｓ）は、状態（ｓ）における最適な戦略、すなわち状態（ｓ）においてとるべき行動（ａ）を返す関数である。
Ｔ（ｓ，ａ，ｓ'）は、状態の変化（Ｔｒａｎｓｉｔｉｏｎ）を表す関数であり、状態（ｓ）において行動（ａ）を行うと状態（ｓ'）に変化することを示す。
ｖ（ｓ'）は、状態（ｓ'）に移行した場合の報酬の総和を意味する。
ａｒｇｍａｘは最大値を選択する関数である。
上記（式１）は、状態ｓから状態ｓ'に遷移する行動ａから、報酬総和ｖ（ｓ'）が最大化するものを選択する数式（行動決定則）である。
すなわち、（式１）は、様々な状態（ｓ）に応じて、期待報酬を最大化する行動（ａ）を決定する行動決定則である。
【０１２７】
なお、データベース３１１には、逐次、新たなデータが入力され、新たなデータ入力ごとにデータベース更新処理が実行される。学習実行部３１４は、例えば、データベース３１１のデータ更新ごとに行動決定則（式１）の更新処理を行う。
この更新処理によって、様々な状態に応じた最適な行動、すなわち報酬を高くするための最適な行動が次第に明らかになっていく。
【０１２８】
図１３に示す学習実行装置３１０のデータベース３１１には、処理実行装置３２０から入力する状態情報（Ｓｔ）３０２、行動情報（Ａｔ）３０１ｂ、基本報酬情報（Ｒｔ）３０３の各情報のみならず、アノテーション（サブ報酬設定情報）入力装置３５０から入力するアノテーション（サブ報酬（Ｒｓ）設定情報）３５１と、そのタイミングの状態情報（Ｓｔ）３０２、行動情報（Ａｔ）３０１ｂも格納される。
すなわち、データベース３１１には、先に説明した図５に示す学習実行装置１１０のデータベース１１１より、より密度の高い状態（Ｓ）、行動（Ａ）、報酬（Ｒ）のデータセットが格納される。
【０１２９】
従って、図１３に示す学習実行装置３１０の学習実行部３１２は、より多くのデータ（状態（Ｓ）、行動（Ａ）、報酬（Ｒ））を利用した学習処理を行うことが可能となる。
この結果、学習効率が高められ、報酬を高くするための最適な行動をより早く見つけ出すことが可能となる。
すなわち、学習処理においては、事前にアノテーション（サブ報酬設定情報）入力装置３５０から入力されたアノテーション（サブ報酬（Ｒｓ）設定情報）３５１を利用した学習が可能となる。処理実行装置３２０が例えば自律制御によって行動する場合、処理実行装置３２０が、事前に設定したアノテーションと同一、あるいは類似する状態になった場合、サブ報酬が得られることになる。
なお、処理実行装置３２０の状態がアノテーションと類似する状態であるか否かの判定処理は、例えば処理実行装置３２０から入力する状態（Ｓ）や、行動（Ａ）の解析データを適用して実行することが可能である。例えば状態のメトリクスを作成して解析する等の処理が可能である。
【０１３０】
学習実行装置３１０の行動決定部３１３は、学習実行部３１２における学習処理において、随時更新される（式１）によって示される行動決定則を利用して、処理実行部３２０に実行させる次の行動を決定する。
すなわち、行動決定則π＊（ａ｜ｓ）に従って、次の行動を決定する。
【０１３１】
決定行動要求部３１４は、行動決定部３１３の決定した行動（Ａ）を処理実行装置３２０に実行させるため、処理実行装置３２０の行動実行部３２１に、決定した行動を実行させるための要求を行う。図に示すように、行動情報（Ａｔ）３０１ａを出力する。ｔは時間を示すパラメータである。
【０１３２】
処理実行装置３２０の行動実行部３２１は、学習実行装置３１０の決定行動要求部３１４から入力した行動要求に従った行動、すなわち、行動情報（Ａｔ）３０１ａに従った行動を実行する。
処理実行装置３２０の行動実行部３２１の実行した行動に関する行動情報（Ａｔ）３０１ｂは、学習実行装置１１０の行動情報入力部３１５に入力され、データベース３１１に格納される。
【０１３３】
処理実行装置３２０は、さらに、状態情報取得部３２２、基本報酬情報取得部３２３を有する。
処理実行装置３２０の状態情報取得部３２２は、時間（ｔ）の状態（Ｓ）である状態情報（Ｓｔ）３０２を、随時、取得して、学習実行部３１０の状態情報入力部３１６に出力する。
学習実行部３１０の状態情報入力部３１６は、処理実行装置３２０の状態情報取得部３２２から入力した状態情報（Ｓｔ）３０２をデータベース３１１に格納する。
【０１３４】
処理実行装置３２０の状態情報取得部３２２の取得する状態情報とは、例えば、処理実行装置３２０が、お掃除ロボットである場合、お掃除ロボットの位置情報、走行情報（速度、方向）等の情報によって構成される。
また、処理実行装置３２０が、ゲーム実行装置である場合、ゲームの場面を示すシーン情報、キャラクタ位置、走行情報（速度、方向）等によって構成される。
【０１３５】
また、処理実行装置３２０の基本報酬情報取得部３２３は、時間（ｔ）の状態（Ｓ）である基本報酬情報（Ｒｔ）３０３を、随時、取得して、学習実行部３１０の基本報酬情報入力部３１７に出力する。
学習実行部３１０の基本報酬情報入力部３１７は、処理実行装置３２０の基本報酬情報取得部３２３から入力した基本報酬情報（Ｒｔ）３０３をデータベース３１１に格納する。
【０１３６】
処理実行装置３２０の報酬情報取得部３２３の取得する報酬情報とは、例えば、処理実行装置３２０が、ゲーム実行装置である場合、ゲームのスコア等によって構成される。
処理実行装置３２０が、お掃除ロボットである場合、例えば掃除完了に伴って生成される評価情報等である。具体的には、掃除の開始から終了に至るまでの時間情報や、経路情報等に基づく効率性の評価情報等である。
【０１３７】
なお、先に図５を参照して説明した構成と同様、処理実行装置３２０に基本報酬情報取得部３２３が設定されていない場合、学習実行装置３１０に報酬計算部を設定して、処理実行装置３２０から入力する状態情報と、行動情報に基づいて、予め設定した報酬算出アルゴリズムを適用して報酬を算出する構成としてもよい。
この場合、学習実行装置３１０の報酬算出部の算出した報酬（Ｒｔ）が、データベース３１１に格納される。
【０１３８】
前述したように、図１３に示す学習実行装置３１０のデータベース１１１には、
処理実行装置３２０から入力される状態情報（Ｓｔ）３０２、行動情報（Ａｔ）３０１ｂ、基本報酬情報（Ｒｔ）３０３の各情報、
さらに、アノテーション（サブ報酬設定情報）入力装置３５０から入力するアノテーション（サブ報酬（Ｒｓ）設定情報）３５１と、そのタイミングの状態情報（Ｓｔ）３０２、行動情報（Ａｔ）３０１ｂ、
これらの情報が格納される。
【０１３９】
この結果、データベース３１１には、先に説明した図５に示すデータベース１１１より、より密度の高い状態（Ｓ）、行動（Ａ）、報酬（Ｒ）のデータセットが格納されることになり、学習実行部３１２は、より多くのデータ（状態（Ｓ）、行動（Ａ）、報酬（Ｒ））を利用した学習処理を行うことが可能となる。
この結果、学習効率が高められ、報酬を高くするための最適な行動をより早く明らかにすることが可能となる。
【０１４０】
図１３に示す学習実行装置３１０と、処理実行装置３２０と、アノテーション（サブ報酬設定情報）入力装置３５０は、先に図１２を参照して説明したように、１つの情報処理装置として構成することが可能であるが、個別の装置として構成することも可能である。
個別の装置とした装置構成例について、図１４以下を参照して説明する。
【０１４１】
図１４には、学習実行装置３１０とアノテーション（サブ報酬設定情報）入力装置３５０を一つの装置とし、処理実行装置３２０を別の装置とした構成例を示す図である。
図１４には、お掃除ロボット４０５と、お掃除ロボット４０５の動作制御を行う機器としてのスマホ４０１、リモコン４０２を示している。
スマホ４０１、またはリモコン４０２は、お掃除ロボット４０５の動作制御を行うコントローラとして機能する。
【０１４２】
スマホ４０１、またはリモコン４０２は、学習実行装置３１０として機能する学習プログラム実行部と、アノテーション（サブ報酬設定情報）入力装置３５０として機能する入力部を有する。
図に示すリモコン４０２には、アノテーション（サブ報酬設定情報）入力部４０３Ａ，４０３Ｂが設定されている。
例えば、［ＧＯＯＤ］のボタンからなるアノテーション入力部４０３ａは、プラスの報酬を設定したアノテーションの入力時に利用される。
一方、［ＢＡＤ］のボタンからなるアノテーション入力部４０３ｂは、マイナスの報酬を設定したアノテーションの入力時に利用される。
【０１４３】
お掃除ロボット４０５は、処理実行部４２０として機能する掃除プログラム実行部を有する。
処理実行装置４２０としての掃除プログラム実行部による掃除の実行により、例えば、掃除ロボットの行動、位置、走行情報等の状態の変化が発生する。これらの行動情報、状態情報が、学習プログラム実行部を有するスマホ４０１、またはリモコン４０２に入力されて学習処理が行われることになる。
【０１４４】
さらに、ユーザは、スマホ４０１、またはリモコン４０２の入力部を介して任意のタイミングで、アノテーション（サブ報酬設定情報）の入力処理を行うことができる。
この入力情報も、スマホ４０１、またはリモコン４０２の学習実行装置３１０内のデータベースに格納され、その後の学習処理に利用される。
【０１４５】
図１５は、学習実行装置３１０と処理実行装置３２０を、お掃除ロボット４０５の内部に有する設定とし、スマホ４０１、またはリモコン４０２を、アノテーション（サブ報酬設定情報）入力装置３５０として設定した構成である。
【０１４６】
お掃除ロボット４０５は、学習実行装置３１０として機能する学習プログラム実行部と、処理実行部３２０として機能する掃除プログラム実行部を有する。
処理実行装置３２０としての掃除プログラム実行部による掃除の実行により、例えば、掃除ロボットの行動、位置、走行情報等の状態の変化が発生する。これらの行動情報、状態情報が、お掃除ロボット４０５内の学習プログラム実行部に入力されて学習処理が行われることになる。
【０１４７】
ユーザは、アノテーション（サブ報酬設定情報）入力装置３５０として機能するスマホ４０１、またはリモコン４０２の入力部を介して任意のタイミングで、アノテーション（サブ報酬設定情報）の入力処理を行うことができる。
この入力情報は、お掃除ロボット４０５の学習実行装置３１０として機能する学習プログラム実行部に送信されて、学習実行装置３１０内のデータベースに格納され、その後の学習処理に利用される。
【０１４８】
図１５に示す構成において、リモコン４０２を利用したアノテーション（サブ報酬設定情報）入力処理例について、図１６を参照して説明する。
図１６に示すお掃除ロボット４０５は、学習実行装置３１０と、処理実行装置３２０を内部に有する。
リモコン４０２は、お掃除ロボット４０５のコントローラであり、かつアノテーション（サブ報酬設定情報）入力装置３５０として機能する。
【０１４９】
お掃除ロボット４０５は、リモコン４０２に対するユーザ２０１の操作によって自由に移動することができる。
ユーザ２０１は、部屋内部を効率的に掃除させるためのルートを考えて、そのルートに従ってお掃除ロボット４０５を移動させて掃除をさせる。
さらに、掃除実行中のルート上の複数のポイントで、アノテーション（サブ報酬設定情報）の入力処理を実行する。
【０１５０】
この入力情報は、お掃除ロボット４０５の学習実行装置３１０として機能する学習プログラム実行部に送信されて、学習実行装置３１０内のデータベースに格納される。
その後、このデータが、学習処理に利用される。
この学習処理によって、お掃除ロボット４０５は、サブ報酬の取得可能なルート、すなわちユーザの設定したルートに従って掃除を自律的に行うことが可能となる。
【０１５１】
図１７に示す例は、学習実行装置３１０と、処理実行装置３２０と、アノテーション（サブ報酬設定情報）入力装置３５０をそれぞれ個別の装置とした例である。
処理実行装置３２０が、お掃除ロボット４０５、
学習実行装置３１０が、リモコン４０２、
アノテーション（サブ報酬設定情報）入力装置３５０が、スマホ４０１、
これらの３つの装置が、それぞれ通信を実行して処理を行う。
【０１５２】
お掃除ロボット４０５は、処理実行装置３２０として機能する掃除プログラム実行部により、掃除を実行し、行動（Ａ）、状態（Ｓ）、基本報酬（Ｒ）の各情報をリモコン４０２に送信する。
アノテーション（サブ報酬（Ｒｓ）設定情報）入力装置３５０として機能するスマホ４０１は、ユーザにより、任意のタイミングで、アノテーション（サブ報酬設定情報）の入力処理が行われ、入力情報がリモコン４０２に送信される。
【０１５３】
リモコン４０２は、学習実行装置３１０として機能する学習プログラム実行部を有し、お掃除ロボット４０５から入力する行動（Ａ）、状態（Ｓ）、基本報酬（Ｒ）の各情報をデータベースに格納する。
さらに、アノテーション（サブ報酬設定情報）入力装置３５０として機能するスマホ４０１から入力するアノテーション（サブ報酬（Ｒｓ）設定情報）も、そのタイミングの行動（Ａ）、状態（Ｓ）、報酬（Ｒｓ）の各情報のセットとしてデータベースに格納する。
【０１５４】
リモコン４０２は、学習実行装置３１０として機能する学習プログラム実行部において、データベースに格納されたデータヲ利用した学習処理を実行し、最適なお掃除ルートを学習により、決定する。
その後、リモコン４０２により、お掃除ロボット４０５を起動するのみで、学習したルートに従ったコマンドがリモコン４０２からお掃除ロボット４０５に送信され、最適ルートでの掃除が可能となる。
【０１５５】
次に、図１８を参照して、アノテーション（サブ報酬設定情報）入力装置３５０を利用して入力可能なアノテーション（サブ報酬設定情報）の情報例について説明する。
アノテーション（サブ報酬設定情報）入力装置３５０を利用してアノテーション（サブ報酬設定情報）を入力する場合、先に説明したように、例えば、アノテーション（サブ報酬設定情報）入力装置３５０からは、サブ報酬（Ｒｓ）の設定情報のみを学習実行装置３１０に入力し、その他の情報である、行動（Ａ）、状態（Ｓ）については、処理実行装置３２０からの入力情報を利用してデータベースに格納するという方法がある。
【０１５６】
その他、アノテーション（サブ報酬設定情報）入力装置３５０から、サブ報酬（Ｒｓ）の設定情報のみならず、行動（Ａ）や状態（Ｓ）についての情報を入力してもよい。
図１８に示す例は、これら、アノテーション（サブ報酬設定情報）入力装置３５０から入力する入力情報のバリエーションについて説明する図であるる
【０１５７】
図１８には、アノテーション（サブ報酬設定情報）入力装置３５０から入力するアノテーション（サブ報酬設定情報）の入力情報例として８種類の異なる例を示している。
（１）は、教示行動列と、特定状態対応のアノテーションを併せて入力する例である。
（２）は、アノテーションのついた状態のスナップショットの入力例である。
（１），（２）の各々について（ａ）〜（ｄ）の４種類の具体例を示しているる
【０１５８】
（１）（ａ）は、教示行動列と、特定状態対応のアノテーションを併せて入力する例において、１つの状態（ステート）単位のアノテーションを、順次、入力する例である。
教示行動列は、例えば図（１）（ａ）のデータとして示す矢印の進行ルートであり、このルート上にサブ報酬設定位置を示すアノテーションを設定したデータを生成して、これをアノテーション（サブ報酬設定情報）の入力情報とする例である。
【０１５９】
（１）（ｂ）は、教示行動列と、特定状態対応のアノテーションを併せて入力する例において、連続状態（連続ステート）の複数のアノテーションを入力する例である。
教示行動列は、例えば図（１）（ｂ）のデータとして示す矢印の進行ルートであり、このルート上に連続して、サブ報酬設定位置を示すアノテーションを設定したデータを生成して、これをアノテーション（サブ報酬設定情報）の入力情報とする例である。
この入力処理は、例えば、アノテーション（サブ報酬設定情報）入力装置３５０のアノテーション入力部を連続して押下し続ける処理によって行われる。
【０１６０】
（１）（ｃ）は、（１）（ａ）の例と同様の処理により入力するアノテーションの各々に識別子（ＩＤ）を設定して入力する例である。
識別子（ＩＤ）は、例えばアノテーション（サブ報酬設定情報）入力装置３５０内部で順次生成する識別子や、時間情報を利用することが可能である。
【０１６１】
（１）（ｄ）は、（１）（ｂ）の例と同様の処理により入力するアノテーションの各々に識別子（ＩＤ）を設定して入力する例である。
（１）（ｃ）の例と同様、識別子（ＩＤ）は、例えばアノテーション（サブ報酬設定情報）入力装置３５０内部で順次生成する識別子や、時間情報を利用することが可能である。
【０１６２】
（２）（ａ）は、アノテーションのついた状態のスナップショットの入力例において、１つの状態（ステート）単位のアノテーションを、順次、入力する例である。
例えば図（２）（ａ）に示すように、アノテーションの設定位置におけるスナップショット、例えばゲームのシーンを示すスナップショットを生成して、これをアノテーション（サブ報酬設定情報）の入力情報とする例である。
【０１６３】
（２）（ｂ）は、アノテーションのついた状態のスナップショットの入力例において、連続状態（連続ステート）の複数のアノテーションを入力する例である。
例えば図（２）（ｂ）に示すように、連続するアノテーション設定位置におけるスナップショット、例えばゲームのシーンを示すスナップショットを生成して、これをアノテーション（サブ報酬設定情報）の入力情報とする例である。
この入力処理は、例えば、アノテーション（サブ報酬設定情報）入力装置３５０のアノテーション入力部を連続して押下し続ける処理によって行われる。
【０１６４】
（２）（ｃ）は、（２）（ａ）の例と同様の処理により入力するアノテーションの各々に識別子（ＩＤ）を設定して入力する例である。
識別子（ＩＤ）は、例えばアノテーション（サブ報酬設定情報）入力装置３５０内部で順次生成する識別子や、時間情報を利用することが可能である。
【０１６５】
（２）（ｄ）は、（２）（ｂ）の例と同様の処理により入力するアノテーションの各々に識別子（ＩＤ）を設定して入力する例である。
（２）（ｃ）の例と同様、識別子（ＩＤ）は、例えばアノテーション（サブ報酬設定情報）入力装置３５０内部で順次生成する識別子や、時間情報を利用することが可能である。
【０１６６】
［３．情報処理装置の実行する処理のシーケンスについて］
次に、図１９以下に示すフローチャートを参照して、情報処理装置の実行する処理のシーケンスの例について説明する。
以下において説明する処理シーケンスは、学習実行装置の実行する処理の処理シーケンスである。
【０１６７】
図１３他を参照して説明したアノテーション（サブ報酬設定情報）入力装置を利用した学習実行装置３１０の処理と、アノテーション（サブ報酬設定情報）入力装置を利用しない従来型の図５に示す構成における学習実行装置１１０の処理の違いを理解しやすくするため、図５に示す学習処理装置１１０の処理と、図１３に示す学習処理装置３１０の処理シーケンスについて、順次、説明する。
【０１６８】
まず、図１９に示すフローチャートを参照して、アノテーション（サブ報酬設定情報）入力装置を利用しない従来型の図５に示す構成における学習実行装置１１０の処理のシーケンスについて説明する。
なお、図１９に示すフローに従った処理は、図５に示す学習実行装置１１０のプログラム実行機能を持つＣＰＵ等によって構成されるデータ処理部が、記憶部に格納されたプログラムに従って実行することができる。
以下、図１９に示すフローの各ステップの処理について、順次、説明する。
【０１６９】
（ステップＳ１０１）
まず、学習実行装置１１０のデータ処理部は、ステップＳ１０１において、データベース蓄積データを用いた学習処理により、処理実行装置に実行させる行動を決定する。
この処理は、図５に示す学習実行装置１１０の学習実行部１１２と、行動決定部１１３の実行する処理である。
【０１７０】
先に図５を参照して説明したように、学習実行装置１１０の学習実行部１１２は、前述した強化学習の学習アルゴリズムに従った学習処理を行う。
具体的には、データベース１１１に格納された例えば時系列の状態（Ｓ）、行動（Ａ）、報酬（Ｒ）のデータを利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則を規定する前述の（式１）π＊（ａ｜ｓ）に従った学習処理を行う。
（式１）は、様々な状態（ｓ）に応じて、期待報酬を最大化する行動（ａ）を決定する行動決定則である。
【０１７１】
データベース１１１には、処理実行装置１２０から、随時、入力された各時間（ｔ）の状態（Ｓ）、行動（Ａ）、報酬（Ｒ）のデータが格納されている。
学習実行装置１１０のデータ処理部は、ステップＳ１０１において、データベース蓄積データを用いた学習処理により、処理実行装置に実行させる行動を決定する。
【０１７２】
（ステップＳ１０２）
次に、学習実行装置１１０のデータ処理部は、ステップＳ１０２において、ステップＳ１０１で決定した行動の実行要求を処理実行装置に出力する。
この処理は、図５に示す学習実行装置１１０の決定行動要求部１１４の実行する処理である。
【０１７３】
決定行動要求部１１４は、行動決定部１１３の決定した行動（Ａ）を処理実行装置１２０に実行させるため、処理実行装置１２０の行動実行部１２１に、決定した行動を実行させるための要求を行う。
【０１７４】
（ステップＳ１０３）
次に、学習実行装置１１０のデータ処理部は、ステップＳ１０３において、処理実行装置１２０から、（行動（Ａ），状態（Ｓ）、基本報酬（Ｒ））の各情報を入力する。
なお、これらの情報は、随時、入力可能であり、フローのステップ順に関わらず、任意のタイミングで入力される。
【０１７５】
（ステップＳ１０４）
次に、学習実行装置１１０のデータ処理部は、ステップＳ１０４において、ステップＳ１０３で、処理実行装置１２０から入力した情報、（行動（Ａ），状態（Ｓ）、基本報酬（Ｒ））これらの各情報をデータベース１１１に格納し、データベースの更新処理を行う。
【０１７６】
（ステップＳ１０５）
次に、学習実行装置１１０のデータ処理部は、ステップＳ１０５において、処理が完了、すなわち、処理実行装置１２０における処理が完了したか否かを判定し、処理が終了していない場合は、ステップＳ１０１以下の処理を繰り返し実行する。
【０１７７】
学習実行装置１１０のデータベース１１１には、行動（Ａ）、状態（Ｓ）、報酬（Ｒ）のデータセットが、随時格納されてデータベース更新がなされる。
学習実行装置１１０の学習実行部１１２は、データベース１１１に新たに格納されたデータを含むデータ（状態（Ｓ）、行動（Ａ）、報酬（Ｒ））を利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則、
π＊（ａ｜ｓ）・・・（式１）
上記（式１）に従った学習処理を行う。
この処理を繰り返すことで、最も報酬が高くなる設定の行動を予測して、その予測行動に従った処理を実行することが可能となる。
【０１７８】
この図１９に示すフローは、図５に示す構成の学習実行装置１１０、すなわち、図１３他を参照して説明したアノテーション（サブ報酬設定情報）入力装置を有していないシステムにおける処理フローである。
【０１７９】
次に、図２０に示すフローチャートを参照して、図１３他を参照して説明したアノテーション（サブ報酬設定情報）入力装置を利用した学習実行装置３１０の処理のシーケンスについて説明する。
なお、図２０に示すフローに従った処理は、図１３に示す学習実行装置３１０のプログラム実行機能を持つＣＰＵ等によって構成されるデータ処理部が、記憶部に格納されたプログラムに従って実行することができる。
以下、図２０に示すフローの各ステップの処理について、順次、説明する。
【０１８０】
（ステップＳ３０１）
まず、学習実行装置３１０のデータ処理部は、ステップＳ３０１において、データベース蓄積データを用いた学習処理により、処理実行装置に実行させる行動を決定する。
この処理は、図１３に示す学習実行装置３１０の学習実行部３１２と、行動決定部３１３の実行する処理である。
【０１８１】
先に図１３を参照して説明したように、学習実行装置３１０の学習実行部３１２は、前述した強化学習の学習アルゴリズムに従った学習処理を行う。
具体的には、データベース３１１に格納された例えば時系列の状態（Ｓ）、行動（Ａ）、報酬（Ｒ）のデータを利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則を規定する前述の（式１）π＊（ａ｜ｓ）に従った学習処理を行う。
（式１）は、様々な状態（ｓ）に応じて、期待報酬を最大化する行動（ａ）を決定する行動決定則である。
【０１８２】
データベース３１１には、処理実行装置３２０から、随時、入力された各時間（ｔ）の状態（Ｓ）、行動（Ａ）、基本報酬（Ｒ）のデータが格納されている。
さらに、図１３に示す学習実行装置３１０のデータベース３１１には、図１３に示すアノテーション（サブ報酬（Ｒｓ）設定情報）入力装置３５０からの入力情報であるサブ報酬（Ｒｓ）と、サブ報酬（Ｒｓ）対応の状態（Ｓ）、行動（Ａ）の各情報も記憶されている。
すなわち、図１３に示す学習実行装置３１０のデータベース３１１には、先に説明した図５に示すデータベース１１１より、より密度の高い状態（Ｓ）、行動（Ａ）、報酬（Ｒ）のデータセットが格納されている。
【０１８３】
学習実行装置３１０のデータ処理部は、ステップＳ３０１において、これらのより多くの情報からなるデータベース蓄積データを用いた学習処理により、処理実行装置に実行させる行動を決定する。
図１３に示す学習実行装置３１０の学習実行部３１２は、より多くのデータ（状態（Ｓ）、行動（Ａ）、報酬（Ｒ））を利用した学習処理が可能となり、学習効率が高められ、報酬を高くするための最適な行動をより早く明らかにすることが可能となる。
【０１８４】
（ステップＳ３０２）
次に、学習実行装置３１０のデータ処理部は、ステップＳ３０２において、ステップＳ３０１で決定した行動の実行要求を処理実行装置に出力する。
この処理は、図１３に示す学習実行装置３１０の決定行動要求部３１４の実行する処理である。
【０１８５】
決定行動要求部３１４は、行動決定部３１３の決定した行動（Ａ）を処理実行装置３２０に実行させるため、処理実行装置３２０の行動実行部３２１に、決定した行動を実行させるための要求を行う。
【０１８６】
（ステップＳ３０３）
次に、学習実行装置３１０のデータ処理部は、ステップＳ３０３において、処理実行装置３２０から、（行動（Ａ），状態（Ｓ）、基本報酬（Ｒ））の各情報を入力する。
なお、これらの情報は、随時、入力可能であり、フローのステップ順に関わらず、任意のタイミングで入力される。
【０１８７】
（ステップＳ３０４）
次に、学習実行装置３１０のデータ処理部は、ステップＳ３０４において、ステップＳ３０３で、処理実行装置３２０から入力した情報、（行動（Ａ），状態（Ｓ）、基本報酬（Ｒ））これらの各情報をデータベース３１１に格納し、データベースの更新処理を行う。
【０１８８】
（ステップＳ３０５）
次に、学習実行装置３１０のデータ処理部は、ステップＳ３０５において、アノテーション（サブ報酬（Ｒｓ）設定情報）の入力有無を判定する。
すなわち、アノテーション（サブ報酬設定情報）入力装置３５０からアノテーション（サブ報酬（Ｒｓ）設定情報）が入力されたか否かを判定する。
入力ありの判定がなされた場合は、ステップＳ３０６に進む。
入力ありの判定がなされなかった場合は、ステップＳ３０７に進む。
【０１８９】
（ステップＳ３０６）
ステップＳ３０５において、アノテーション（サブ報酬設定情報）入力装置３５０からのアノテーション（サブ報酬（Ｒｓ）設定情報）入力が検出された場合、学習実行装置３１０のデータ処理部は、ステップＳ３０６において、アノテーション（サブ報酬設定情報）入力装置３５０から入力したアノテーション（サブ報酬（Ｒｓ）設定情報）と、この時点の行動（Ａ），状態（Ｓ）の各情報を取得し、これらをデータベース３１１に格納し、データベース３１１の更新処理を行う。
【０１９０】
この処理によりデータベース３１１には、ユーザ入力に基づくアノテーション（サブ報酬設定情報）に対応する学習用のデータが蓄積されることになる。
【０１９１】
（ステップＳ３０７）
次に、学習実行装置３１０のデータ処理部は、ステップＳ３０７において、処理が完了、すなわち、処理実行装置３２０における処理が完了したか否かを判定し、処理が終了していない場合は、ステップＳ３０１以下の処理を繰り返し実行する。
【０１９２】
先に図１３を参照して説明したように、学習実行装置３１０のデータベース３１１には、処理実行装置３２０から入力される状態情報（Ｓｔ）３０２、行動情報（Ａｔ）３０１ｂ、基本報酬情報（Ｒｔ）３０３の各情報のみならず、アノテーション（サブ報酬設定情報）入力装置３５０から入力するアノテーション（サブ報酬（Ｒｓ）設定情報）３５１と、そのタイミングの状態情報（Ｓｔ）３０２、行動情報（Ａｔ）３０１ｂも格納される。
【０１９３】
すなわち、図１３に示す学習実行装置３１０のデータベース３１１には、先に説明した図５に示すデータベース１１１より、より密度の高い状態（Ｓ）、行動（Ａ）、報酬（Ｒ）のデータセットが格納され、学習実行部３１２は、より多くのデータ（状態（Ｓ）、行動（Ａ）、報酬（Ｒ））を利用した学習処理を行うことが可能となる。
この結果、学習効率が高められ、報酬を高くするための最適な行動をより早く明らかにすることが可能となる。
【０１９４】
［４．情報処理装置のハードウェア構成例について］
次に、図２１を参照して情報処理装置のハードウェア構成例について説明する。
図２１は、本開示の処理を実行する情報処理装置、例えば図１３に示す学習実行装置３１０、処理実行装置３２０、アノテーション入力装置３５０の各装置、あるいはこれら各装置を組み合わせた装置として利用可能な情報処理装置のハードウェア構成例を示す図である。
【０１９５】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２、または記憶部５０８に記憶されているプログラムに従って各種の処理を実行する制御部やデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３には、ＣＰＵ５０１が実行するプログラムやデータなどが記憶される。これらのＣＰＵ５０１、ＲＯＭ５０２、およびＲＡＭ５０３は、バス５０４により相互に接続されている。
【０１９６】
ＣＰＵ５０１はバス５０４を介して入出力インタフェース５０５に接続され、入出力インタフェース５０５には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部５０６、表示部やスピーカなどに対するデータ出力を実行する出力部５０７が接続されている。ＣＰＵ５０１は、入力部５０６から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部５０７に出力する。
【０１９７】
入出力インタフェース５０５に接続されている記憶部５０８は、例えばハードディスク等からなり、ＣＰＵ５０１が実行するプログラムや各種のデータを記憶する。通信部５０９は、Ｗｉ−Ｆｉ通信、ブルートゥース（登録商標）（ＢＴ）通信、その他インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
【０１９８】
入出力インタフェース５０５に接続されているドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア５１１を駆動し、データの記録あるいは読み取りを実行する。
【０１９９】
［５．本開示の構成のまとめ］
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０２００】
なお、本明細書において開示した技術は、以下のような構成をとることができる。
（１）  処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記学習実行部は、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理装置。
【０２０１】
（２）  前記学習実行部は、
前記学習処理によって、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出する（１）に記載の情報処理装置。
【０２０２】
（３）  前記情報処理装置は、さらに、
前記行動決定則に従って、前記処理実行部に実行させる行動を決定する行動決定部を有する（１）または（２）に記載の情報処理装置。
【０２０３】
（４）  前記情報処理装置は、さらに、
前記処理実行部から入力する状態、行動、報酬の各情報を入力するデータ入力部を有し、
前記データベースは、
前記データ入力部の入力データを格納するとともに、前記アノテーション入力部を介して入力されたサブ報酬設定情報を格納する（１）〜（３）いずれかに記載の情報処理装置。
【０２０４】
（５）  前記アノテーション入力部は、ユーザによる任意タイミングでの入力処理が可能なアノテーション入力装置を介して入力されるサブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納する（１）〜（４）いずれかに記載の情報処理装置。
【０２０５】
（６）  前記情報処理装置は、さらに、
前記アノテーション入力時における前記処理実行部の状態、行動の各情報を、前記アノテーションに含まれるサブ報酬設定情報に対応付けてデータベースに格納する制御部を有する（１）〜（５）いずれかに記載の情報処理装置。
【０２０６】
（７）  前記学習実行部は、
前記処理実行部から入力する状態、行動、報酬の各情報と、
前記アノテーション入力部を介して入力されたサブ報酬設定情報に対応付けてデータベースに格納された状態、行動、サブ報酬の各情報の双方を適用した学習処理を実行する（６）に記載の情報処理装置。
【０２０７】
（８）  前記アノテーション入力部を介して入力するサブ報酬設定情報は、
前記処理実行部の実行する処理を観察するユーザによって入力される情報である（１）〜（７）いずれかに記載の情報処理装置。
【０２０８】
（９）  前記アノテーション入力部を介して入力するサブ報酬設定情報は、
前記処理実行部の実行する処理をコントロールするユーザによって入力される情報である（１）〜（８）いずれかに記載の情報処理装置。
【０２０９】
（１０）  前記アノテーション入力部を介して入力するサブ報酬設定情報は、
前記処理実行部の実行する処理を観察するユーザによって入力され、
前記処理実行部の実行する処理が正解であることを確認したユーザによって入力されるプラス報酬値を有する報酬設定情報である（１）〜（９）いずれかに記載の情報処理装置。
【０２１０】
（１１）  前記アノテーション入力部を介して入力するサブ報酬設定情報は、
前記処理実行部の実行する処理を観察するユーザによって入力され、
前記処理実行部の実行する処理が正解でないことを確認したユーザによって入力されるマイナス報酬値を有する報酬設定情報である（１）〜（１０）いずれかに記載の情報処理装置。
【０２１１】
（１２）  前記処理実行部は、前記情報処理装置と異なる独立した装置であり、
前記情報処理装置は、前記処理実行部との通信処理によってデータ送受信を行い、前記処理実行部の制御を行う（１）〜（１１）いずれかに記載の情報処理装置。
【０２１２】
（１３）  前記アノテーション入力部は、前記情報処理装置と異なる独立したアノテーション入力装置によって入力されるアノテーション情報を入力する構成である（１）〜（１２）いずれかに記載の情報処理装置。
【０２１３】
（１４）  情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記学習実行部が、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理方法。
【０２１４】
（１５）  情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置は、
処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記プログラムは、前記学習実行部に、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行させるプログラム。
【０２１５】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０２１６】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０２１７】
以上、説明したように、本開示の一実施例の構成によれば、アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法が実現される。
具体的には、例えば、処理実行部の状態、行動、報酬の各情報を格納するデータベースと、データベースに格納された情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、サブ報酬設定情報を含むアノテーション情報を入力して、データベースに格納するアノテーション入力部を有する。学習実行部は、処理実行部から入力する状態、行動、報酬の各情報と、サブ報酬設定情報を適用した学習処理を実行する。学習実行部は、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出し、行動決定則に従って、処理実行部に実行させる行動を決定する。
これらの処理により、アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法が実現される。
【符号の説明】
【０２１８】
１０  学習実行部
２０  処理実行部
４１  お掃除ロボット
４２  ＰＣ
１１０  学習実行装置
１１１  データベース
１１２  学習実行部
１１３  行動決定部
１１４  決定行動要求部
１１５  行動情報入力部
１１６  状態情報入力部
１１７  報酬情報入力部
１２０  処理実行部
１２１  行動実行部
１２２  状態情報取得部
１２３  報酬情報取得部
１３０  ＰＣ
１３１  お掃除ロボット
１３２  リモコン
１３３  スマホ
２００  ＰＣ
２０１  ユーザ
３１０  学習実行装置
３１１  データベース
３１２  学習実行部
３１３  行動決定部
３１４  決定行動要求部
３１５  行動情報入力部
３１６  状態情報入力部
３１７  報酬情報入力部
３１８  アノテーション入力部
３２０  処理実行装置
３２１  行動実行部
３２２  状態情報取得部
３２３  基本報酬情報取得部
３５０  アノテーション入力装置
４０１  スマホ
４０２  リモコン
４０３  アノテーション入力部
４０５  お掃除ロボット
５０１  ＣＰＵ
５０２  ＲＯＭ
５０３  ＲＡＭ
５０４  バス
５０５  入出力インタフェース
５０６  入力部
５０７  出力部
５０８  記憶部
５０９  通信部
５１０  ドライブ
５１１  リムーバブルメディア
【図１】
2018150654.tif 000005
【図２】
2018150654.tif 000006
【図３】
2018150654.tif 000007
【図４】
2018150654.tif 000008
【図５】
2018150654.tif 000009
【図６】
2018150654.tif 000010
【図７】
2018150654.tif 000011
【図８】
2018150654.tif 000012
【図９】
2018150654.tif 000013
【図１０】
2018150654.tif 000014
【図１１】
2018150654.tif 000015
【図１２】
2018150654.tif 000016
【図１３】
2018150654.tif 000017
【図１４】
2018150654.tif 000018
【図１５】
2018150654.tif 000019
【図１６】
2018150654.tif 000020
【図１７】
2018150654.tif 000021
【図１８】
2018150654.tif 000022
【図１９】
2018150654.tif 000023
【図２０】
2018150654.tif 000024
【図２１】
2018150654.tif 000025
【国際調査報告】
2018150654.tif 000026
2018150654.tif 000027
2018150654.tif 000028
2018150654.tif 000029