JPWO2018150654A1 - 情報処理装置、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
JPWO2018150654A1
JPWO2018150654A1 JP2018567988A JP2018567988A JPWO2018150654A1 JP WO2018150654 A1 JPWO2018150654 A1 JP WO2018150654A1 JP 2018567988 A JP2018567988 A JP 2018567988A JP 2018567988 A JP2018567988 A JP 2018567988A JP WO2018150654 A1 JPWO2018150654 A1 JP WO2018150654A1
Authority
JP
Japan
Prior art keywords
information
reward
input
learning
annotation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018567988A
Other languages
English (en)
Inventor
亮 中橋
亮 中橋
洋貴 鈴木
洋貴 鈴木
拓也 成平
拓也 成平
淳史 野田
淳史 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of JPWO2018150654A1 publication Critical patent/JPWO2018150654A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/46Computing the game score
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/422Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle automatically for the purpose of assisting the player, e.g. automatic braking in a driving game

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Manipulator (AREA)

Abstract

アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法を提供する。処理実行部の状態、行動、報酬の各情報を格納するデータベースと、データベースに格納された情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、サブ報酬設定情報を含むアノテーション情報を入力して、データベースに格納するアノテーション入力部を有する。学習実行部は、処理実行部から入力する状態、行動、報酬の各情報と、サブ報酬設定情報を適用した学習処理を実行する。学習実行部は、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出し、行動決定則に従って、処理実行部に実行させる行動を決定する。

Description

本開示は、情報処理装置、および情報処理方法、並びにプログラムに関する。特に、機械学習による効率的なデータ処理を実現する情報処理装置、および情報処理方法、並びにプログラムに関する。
近年、様々な情報処理分野において、機械学習により、人の判断や操作を必要とすることなく、自ら行動制御やデータ処理制御を行う自律型の情報処理装置、例えばロボットやエージェントと呼ばれる情報処理装置が利用されている。
なお、これらのロボットやエージェント等の情報処理装置に最適なデータ処理や自律制御を行わせるための処理として機械学習が知られている。
機械学習の手法には、様々な手法がある。
具体的には、例えば教師あり学習、教師なし学習、強化学習等、複数の異なるアルゴリズムがある。
教師あり学習は、予め、課題とその正解のセットからなるラベル(教師データ)を用意して、このラベルに基づく学習を行わせることで、課題に対して正解が得られる処理を学習させる学習手法である。
教師なし学習は、課題に対する正解のデータが用意されておらず、エージェント(ロボット)等の情報処理装置が実行した行動やデータ処理の結果を検証して、その結果の正解、不正解の判定としての分類処理としてのクラスタリングを行い、正解となる処理を、順次、確認させることで、課題に対して正解が得られる処理を学習させる学習手法である。
また、強化学習は、状態(state)、行動(action)、報酬(reward)の3要素を用いた学習手法であり、エージェント(ロボット)等の情報処理装置が、ある状態(state)において、ある行動(action)を行ったときに、その行動が正解であれば報酬(reward)を与えるといった処理を繰り返すことで、様々な状態(state)、における最適な行動(action)、すなわち正解となる行動を学習させる手法である。
この強化学習アルゴリズムの問題点として、報酬の設定態様によって学習効率が低下してしまうという問題がある。
1つの典型的な報酬設定例は、処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという設定である。
しかし、処理開始状態から、処理終了状態に到達するまでには、様々な分岐ポイント、例えば複数の行動を選択可能な状態があることが多い。エージェント(ロボット)は、各分岐ポイントで、異なる行動(action)を起こすことが可能であり、正解でない行動(action)を繰り返してしまうと、結果として最終的なゴールに到達するまでに多大な時間を要する。すなわち学習効率が低下するという問題が発生する。
このような強化学習における問題点を解決する一つの手法として、非特許文献1(Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation)に記載の手法がある。
非特許文献1には、処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に至るまでの経路途中に報酬を与えるポイントとしてのサブゴールを予め設定した学習プログラムを利用した強化学習処理構成を開示している。
エージェント(ロボット)等の情報処理装置に、このサブゴール設定型の強化学習プログラムに従って学習処理を実行させる。エージェント(ロボット)等の情報処理装置は、開始から終了までの途中の複数ポイントで、正解の行動を確認しながら学習を進めることが可能となり、結果として最終的なゴールに到達するまでの時間を短縮できるというものである。
しかし、このようなサブゴール設定学習プログラムは、プログラミング能力を有し、かつ学習プログラムを作成する能力を有するプログラマのみが作成可能であり、プログラミングの知識の乏しい一般人等、普通のユーザが作成できるものではない。
Tejas D.Kulkarni、外3名、Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation、[online]、30th Conference on Neural Information Processing System(NIPS 2016),Barcelona, Spain、[2017年1月27日検索]、インターネット(https://papers.nips.cc/paper/6233-hierarchical-deep-reinforcement-learning-integrating-temporal-abstraction-and-intrinsic-motivation)
本開示は、例えば、上記の問題点に鑑みてなされたものであり、特別なプログラミング能力を有していない一般ユーザであっても、効率的な強化学習を実行させることを可能とする情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
本開示の第1の側面は、
処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記学習実行部は、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理装置にある。
さらに、本開示の第2の側面は、
情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記学習実行部が、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理方法にある。
さらに、本開示の第3の側面は、
情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置は、
処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記プログラムは、前記学習実行部に、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行させるプログラムにある。
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本開示の一実施例の構成によれば、アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法が実現される。
具体的には、例えば、処理実行部の状態、行動、報酬の各情報を格納するデータベースと、データベースに格納された情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、サブ報酬設定情報を含むアノテーション情報を入力して、データベースに格納するアノテーション入力部を有する。学習実行部は、処理実行部から入力する状態、行動、報酬の各情報と、サブ報酬設定情報を適用した学習処理を実行する。学習実行部は、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出し、行動決定則に従って、処理実行部に実行させる行動を決定する。
これらの処理により、アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
強化学習のアルゴリズムについて説明する図である。 お掃除ロボットの実行する掃除を学習処理によって効率化させる例について説明する図である。 学習処理を行うエージェント(情報処理装置)が、囲碁や将棋を実行するPCである場合の例を説明する図である。 学習処理を行うエージェント(情報処理装置)が、ゲームを実行するPCである場合の例を説明する図である。 図1に示す学習実行部と、処理実行部の具体的構成例と処理例について説明する図である。 学習実行装置と、処理実行装置を有する情報処理装置の例について説明する図である。 学習実行装置と、処理実行装置を有する情報処理装置の例について説明する図である。 処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという典型的な報酬設定例について説明する図である。 処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという典型的な報酬設定例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理の例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理の例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理を行う装置の構成例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理を行う装置の構成例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理を行う装置の構成例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理を行う装置の構成例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理を行う装置の構成と処理例について説明する図である。 アノテーション(サブ報酬設定情報)を利用した学習処理を行う装置の構成例について説明する図である。 アノテーション(サブ報酬設定情報)を構成する具体的なデータ例について説明する図である。 情報処理装置の実行する処理シーケンスを説明するフローチャートを示す図である。 情報処理装置の実行する処理シーケンスを説明するフローチャートを示す図である。 情報処理装置のハードウェア構成例を示す図である。
以下、図面を参照しながら本開示の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
1.強化学習処理の概要について
2.効率的な学習処理を実現する実施例について
3.情報処理装置の実行する処理のシーケンスについて
4.情報処理装置のハードウェア構成例について
5.本開示の構成のまとめ
[1.強化学習処理の概要について]
まず、強化学習処理の概要について説明する。
前述したように、強化学習は、機械学習の手法の一つである。
機械学習のアルゴリズムを大きく分けると、教師あり学習、教師なし学習、強化学習に分類できる。
教師あり学習は、予め、課題とその正解のセットからなるラベル(教師データ)を用意して、このラベルに基づく学習を行わせることで、課題に対して正解が得られる処理を学習させる学習手法である。
教師なし学習は、課題に対する正解のデータが用意されておらず、エージェント(ロボット)等の情報処理装置が起こした行動やデータ処理の結果を検証して、その結果の正解、不正解の判定としての分類処理としてのクラスタリングを行い、正解となる処理を、順次、確認させることで、課題に対して正解が得られる処理を学習させる学習手法である。
これに対して、強化学習は、状態(state)、行動(action)、報酬(reward)の3要素を用いた学習処理手法である。
図1を参照して強化学習のアルゴリズムについて説明する。
図1には、学習実行部10と、処理実行部20から構成される情報処理システムを示している。
なお、図1に示す学習実行部10と、処理実行部20は、1つの情報処理装置内に構成することも可能であり、それぞれ異なる装置として設定することも可能である。
学習実行部10は、処理実行部20において実行する処理についての学習を実行する。学習が良好に進むと、処理実行部20は、最適な処理を自律的に実行することが可能となる。
図1に示す学習実行部10は、処理実行部20からの観測情報として、状態情報(State(St))を入力する。tは時間であり、時間tの状態情報をAtと表記する。
学習実行部10は、状態情報(State(St))の入力に応じて、処理実行部20に実行させる行動(action(At))を決定する。
学習実行部10の決定した行動(action(At))を、処理実行部20が実行することにより、状態が変化し、あらたな状態情報(State(St))が、学習実行部10に入力される。ただし、状態変化は発生しない場合もある。この場合、状態情報(St)は先行情報と同一となる。
例えば、学習実行部10には、処理実行部20の実行した行動(action(At))によって発生した状態(State(St))に応じた報酬(reward(Rt))が入力される。
具体的には、例えば、処理実行部20においてゲームプログラムが実行されている場合、ゲーム完了時のスコアが報酬(Rt)として、学習実行部10に入力される。
あるいは、以前の状態とのスコアの差分が報酬(Rt)として、学習実行部10に入力される。
学習実行部10は、報酬(reward(Rt))の入力によって、行動(action(At))が正解であったことを認識することが可能となる。
ただし、処理実行部20の実行した行動(action(At))が正解の行動でなかった場合、学習実行部10に対して報酬(reward(Rt))は入力されない。
なお、報酬(reward(Rt))の入力態様は、上記のように、行動(action(At))が正解か不正解かによってのみ入力有無が決定される構成に限らない。
例えば、行動(action(At))の良さの評価結果に応じて決定される報酬(reward(Rt))を入力する構成もある。
このように、強化学習は、状態(state)、行動(action)、報酬(reward)の3要素を用いた学習処理手法であり、エージェント(ロボット)等の情報処理装置が、ある状態(state)において、ある行動(action)を行ったときに、その行動が正解あるいは良好であれば報酬(reward)を与えるといった処理を繰り返すことで、様々な状態(state)、における最適な行動(action)、すなわち正解となる行動を学習させる手法である。
学習実行部10や、処理実行部20は、例えば、ある作業を行うロボット、あるデータ処理やゲームを実行するPC、お掃除ロボット等、様々な装置によって構成される。
いずれも何らかの特定の処理、例えば、ゲーム、掃除等の処理を、学習によって効率化させる。学習処理の対象となる処理は、装置の種類に応じて異なる処理となる。
強化学習を実行可能なエージェント(情報処理装置)の具体例について図2以下を参照して説明する。
図2は、お掃除ロボット41の実行する処理である掃除を学習処理によって効率化させる例を説明する図である。
例えば、お掃除ロボット41は、様々な家具が配置された部屋を掃除する。お掃除ロボット41に要求される処理は、家具のない床部分を全て走行して掃除を完了させる処理であり、これを効率的に、すなわち短時間で行うことが要求される。
この要求を満たすため、エージェントであるお掃除ロボット41は掃除を行うために走行する最適ルートを学習処理によって覚えることができる。
図3は、学習処理を行うエージェント(情報処理装置)が、囲碁や将棋を実行するPC42である場合の例を説明する図である。
図に示すように、PC42は、例えば実際の人である対局者51,52を相手として囲碁や将棋を行う。
PC42は、囲碁や将棋のルールに従った処理実行プログラムに従って対局を進行させる。
このプログラムは、囲碁や将棋の勝負に勝つための最善の手を学習処理によって覚えることができる。
図4は、学習処理を行うエージェント(情報処理装置)が、ゲームを実行するPC42である場合の例を説明する図である。
図に示すように、PC42は、表示部に表示されたゲームを実行する。
ゲームのシーンは、例えば図に示すようにシーン1からシーン4まで進行する。
ゲームは、シーン1でキャラクタが右側の階段を上り、
シーン2で、左上部の雲に乗り、
シーン3で雲の上の星を取って、階段に戻り、
シーン4で、星を木の上に乗せる。
これらの各シーンによって構成される。
シーン4で、星を木の上に乗せることに成功した場合、高得点(ハイスコア)を得ることができる。
このスコアが強化学習における報酬(reward)に相当し、スコア(報酬)を高くするための学習を行うことにより、シーン1〜4の処理をより高速に行うことができるようになる。
図2〜図4を参照して説明したように、学習処理によって処理を効率化、高速化可能なエージェント(情報処理装置)は、様々な作業を行うロボット、様々なデータ処理やゲームを実行するPC、お掃除ロボット等、様々な装置が想定される。
エージェント(情報処理装置)は、何らかの目的を達成するために実行すべき処理を学習処理によって学ぶことで、徐々に最適な処理を行うことができるようになる。
エージェント(情報処理装置)に与えられる目的は、各エージェントによって異なる。
例えばお掃除ロボットであれば短時間の効率的な掃除完了、囲碁や将棋であれば勝利、ゲームであれば、ハイスコアの獲得などが目的となる。
この強化学習アルゴリズムによる学習処理における問題点として、前述したように、報酬付与ポイントの設定態様がある。
1つの典型的な報酬設定例は、目的を達成した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという設定である。
しかし、前述したように、処理開始状態から、処理終了状態に到達するまでには、様々な分岐ポイント、例えば複数の行動を選択可能なポイントがあることが多い。エージェント(ロボット)は、各分岐ポイントで、異なる行動(action)を起こすことが可能であり、正解でない行動(action)を繰り返してしまうと、結果として最終的なゴールに到達するまでに多大な時間を要するという問題が発生する。
先に説明したように、非特許文献1(Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation)は、処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に至るまでの経路途中に報酬を与えるポイントとしてのサブゴールを予め設定した学習プログラムを利用した強化学習処理構成を開示している。
エージェントやロボット等の情報処理装置に、このサブゴール設定型の強化学習プログラムに従って学習処理を実行させる。エージェントやロボット等の情報処理装置は、開始から終了までの途中の複数ポイントで、正解の行動を確認しながら学習を進めることが可能となり、結果として最終的なゴールに到達するまでの時間を短縮できるというものである。
しかし、このようなサブゴール設定学習プログラムは、プログラミング能力を有し、かつ学習プログラムを作成する能力を有する数少ないプログラマのみが作成可能であり、いわゆる一般人等、普通のユーザが作成できるものではない。
次に、図5を参照して、先に図1を参照して説明した学習実行部10と、処理実行部20の具体的構成例と処理例について説明する。
なお、図5においては、図1を参照して説明した学習実行部10を学習実行装置110として示し、図1を参照して説明した処理実行部20を処理実行装置120として示している。
なお、これらの2つの装置は、1つの情報処理装置としても構成可能であり、個別の装置として構成することも可能である。
図5に示す学習実行装置110は、前述した強化学習処理を実行する装置である。
また、処理実行装置120は、特定の処理を実行する装置である。例えばお掃除ロボットであれば自走して掃除を行う装置である。あるいはゲームプログラムを実行してゲームを行う装置等である。
図5に示す学習実行装置110は、データベース111、学習実行部112、行動決定部113、決定行動要求部114、行動情報入力部115、状態情報入力部116、報酬情報入力部117を有する。
学習実行装置110の学習実行部112は、前述した強化学習の学習アルゴリズムに従った学習処理を行う。
具体的には、データベース111に格納された例えば時系列の状態(S)、行動(A)、報酬(R)のデータを利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則を導出して行動決定則に従った学習処理を行う。
すなわち、行動決定則を規定する以下の(式1)に従った学習処理を行う。
Figure 2018150654
上記(式1)において、
π(a|s)は、状態(s)における最適な戦略、すなわち状態(s)においてとるべき行動(a)を返す関数である。
T(s,a,s')は、状態の変化(Transition)を表す関数であり、状態(s)において行動(a)を行うと状態(s')に変化することを示す。
v(s')は、状態(s')に移行した場合の報酬の総和を意味する。
argmaxは最大値を選択する関数である。
上記(式1)は、状態sから状態s'に遷移する行動aから、報酬総和v(s')が最大化するものを選択する数式(行動決定則)である。
すなわち、(式1)は、様々な状態(s)に応じて、期待報酬を最大化する行動(a)を決定する行動決定則である。
データベース111には、各時間(t)の状態(S)、行動(A)、報酬(R)のデータが、処理実行装置120から、随時、入力され蓄積される。すなわちデータベースは、随時、更新される。学習実行部114は、例えば、データベース111のデータ更新ごとに行動決定則(式1)の更新処理を行う。
この更新処理によって、様々な状態に応じた最適な行動、すなわち報酬を高くするための最適な行動が次第に明らかになっていく。
学習実行装置110の行動決定部113は、学習実行部112における学習処理において、随時更新される(式1)によって示される行動決定則を利用して、処理実行部120に実行させる次の行動を決定する。
すなわち、上記(式1)に示す行動決定則π(a|s)に従って、次の行動を決定する。
決定行動要求部114は、行動決定部113の決定した行動(A)を処理実行装置120に実行させるため、処理実行装置120の行動実行部121に、決定した行動を実行させるための要求を行う。図に示すように、行動情報(At)101aを出力する。tは時間を示すパラメータである。
処理実行装置120の行動実行部121は、学習実行装置110の決定行動要求部114から入力した行動要求に従った行動、すなわち、行動情報(At)101aに従った行動を実行する。
処理実行装置120の行動実行部121の実行した行動に関する行動情報(At)101bは、学習実行装置110の行動情報入力部115に入力され、データベース111に格納される。
処理実行装置120は、さらに、状態情報取得部122、報酬情報取得部123を有する。
処理実行装置120の状態情報取得部122は、時間(t)の状態(S)である状態情報(St)102を、随時、取得して、学習実行部110の状態情報入力部116に出力する。
学習実行部110の状態情報入力部116は、処理実行装置120の状態情報取得部122から入力した状態情報(St)102をデータベース111に格納する。
処理実行装置120の状態情報取得部122の取得する状態情報とは、例えば、処理実行装置120が、お掃除ロボットである場合、お掃除ロボットの位置情報、走行情報(速度、方向)等の情報である。
また、処理実行装置120が、ゲーム実行装置である場合、ゲームの場面を示すシーン情報、キャラクタ位置、走行情報(速度、方向)等である。
処理実行装置120の報酬情報取得部123は、時間(t)の状態(S)である報酬情報(Rt)103を、随時、取得して、学習実行部110の報酬情報入力部117に出力する。
学習実行部110の報酬情報入力部117は、処理実行装置120の報酬情報取得部123から入力した報酬情報(Rt)103をデータベース111に格納する。
処理実行装置120の報酬情報取得部123の取得する報酬情報とは、例えば、処理実行装置120が、ゲーム実行装置である場合、ゲームのスコア等によって構成される。
処理実行装置120が、お掃除ロボットである場合、例えば掃除完了に伴って生成される評価情報等である。具体的には、掃除の開始から終了に至るまでの時間情報や、経路情報等に基づく効率性の評価情報等である。
なお、処理実行装置120に報酬情報取得部123が設定されていない場合、学習実行装置110に報酬計算部を設定して、処理実行装置120から入力する状態情報と、行動情報に基づいて、予め設定した報酬算出アルゴリズムを適用して報酬を算出する構成としてもよい。
例えば、処理実行装置120の行動実行部121において実行された行動(a)の後に発生した状態(s)に基づく以下の報酬算出式(式2)、
R=f(s)・・・(式2)
上記(式2)に従った報酬算出処理を行う。
あるいは、処理実行装置120の行動実行部121において実行された行動(a)の後に発生した状態(s)と、行動(a)の2つのパラメータに基づく以下の報酬算出式(式3)、
R=f(s,a)・・・(式3)
上記(式3)に従った報酬算出処理を行う。
上記の(式2),(式3)いずれの報酬算出式を適用するかについては、予め規定しておく。
この場合、学習実行装置110の報酬算出部の算出した報酬(Rt)が、データベース111に格納される。
学習実行装置110のデータベース111には、行動情報(At)、状態情報(St)、報酬情報(Rt)のデータセットが、随時格納されることになる。
学習実行装置110の学習実行部112は、データベース111に新たに格納されたデータを含むデータ(状態(S)、行動(A)、報酬(R))を利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則、
π(a|s)・・・(式1)
上記(式1)に従った学習処理を行う。
この処理を繰り返すことで、最も報酬が高くなる設定の行動を予測して、その予測行動に従った処理を実行することが可能となる。
次に、図5に示す学習実行装置110と、処理実行装置120の具体例について図6以下を参照して説明する。
先に説明したように、学習実行装置110と、処理実行装置120は1つの情報処理装置として構成することも、個別の装置として構成することも可能である。
図6(A)は、1つの情報処理装置であるPC130に学習実行装置110と、処理実行装置120を有する例である。
PC130は、学習実行装置110として機能する学習プログラム実行部を有し、さらに、処理実行装置120として、例えばゲームプログラム実行部を有する。
ゲームプログラム実行部は、例えば先に図3や図4を参照して説明したゲームをPC130の記憶部に格納されたゲームプログラムを実行して行う。
処理実行装置120としてのゲームプログラム実行部によるゲームの実行により、例えば、キャラクタの行動、ゲームシーンやキャラクタの位置等の状態の変化が発生する。これらの行動情報、状態情報が、学習プログラム実行部である学習実行装置110に入力されて学習処理が行われることになる。
図6(B)は、学習実行装置110と、処理実行装置120が個別の装置によって構成される例を示す図である。
図6(B)にはお掃除ロボット131と、お掃除ロボット131の動作制御を行うリモコン132、スマホ133を示している。
リモコン132、またはスマホ133は、お掃除ロボット131の動作制御を行うコントローラとして機能する。
リモコン132、またはスマホ133は、学習実行装置110として機能する学習プログラム実行部を有する。
お掃除ロボット131は、処理実行部120として機能する掃除プログラム実行部を有する。
処理実行装置120としての掃除プログラム実行部による掃除の実行により、例えば、掃除ロボットの行動、位置、走行情報等の状態の変化が発生する。これらの行動情報、状態情報が、学習プログラム実行部を有するリモコン132、またはスマホ133に入力されて学習処理が行われることになる。
図7(C)は、学習実行装置110と、処理実行装置120をお掃除ロボット131の内部に有する設定とした例である。
お掃除ロボット131は、学習実行装置110として機能する学習プログラム実行部と、処理実行部120として機能する掃除プログラム実行部を有する。
処理実行装置120としての掃除プログラム実行部による掃除の実行により、例えば、掃除ロボットの行動、位置、走行情報等の状態の変化が発生する。これらの行動情報、状態情報が、お掃除ロボット131内の学習プログラム実行部に入力されて学習処理が行われることになる。
図7に示す例において、リモコン132、スマホ133は、ユーザの意思に従った掃除を行わせたいときのリモコンとしての機能を有する。
図6、図7を参照して説明したように、図5を参照して説明した学習実行装置110、処理実行装置120は、1つの装置、あるいは個別の装置として実現可能である。
なお、図6、図7を参照して説明した構成の他にも、様々な設定が可能である。
図5を参照して説明した学習実行装置110、処理実行装置120を利用した強化学習処理により、処理実行装置120の実行する処理を、より報酬を高く設定した処理に、徐々に変更させることができる。
しかし、先に説明したように、強化学習アルゴリズムによる学習処理における問題点として、どの状態に、報酬を付与するポイントを設けるかという問題がある。
例えば1つの典型的な報酬設定例としては、処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという設定がある。しかし、このような設定では、学習実行装置は、処理の完了まで全く有効な報酬情報を入力することができないことになる。
処理開始状態から、処理終了状態に到達するまでの様々な分岐ポイント、例えば複数の行動を選択可能なポイントにおいて、エージェント(ロボット)は、異なる行動(action)を起こすことが可能であり、正解でない行動(action)を繰り返してしまうと、結果として最終的なゴールに到達するまでに多大な時間を要することになる。
処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという典型的な報酬設定例について、図8以下を参照して説明する。
図8に示す例は、先に図6(A)を参照して説明したPC130、すなわち、1つの情報処理装置であるPC130に学習実行装置110と、処理実行装置120を有する例である。
PC130は、学習実行装置110として機能する学習プログラム実行部を有し、さらに、処理実行装置120として、例えばゲームプログラム実行部を有する。
ゲームプログラム実行部は、図8に示すゲームを実行する。
図8に示すゲームは、左下のスタート位置のキャラクタ135を、右上のゴールに到達させるゲームである。
シーン内のルートに沿って、キャラクタ135を左右前後に移動させて、右上のゴールに到達させる。
ルート上の星を多く拾うほど、ゲームスコアが高くなる。このゲームスコアが、強化学習処理における報酬となる。
ルート上には悪キャラ136がおり、衝突するとゲーム終了となり、スコア=0(報酬なし)となる。
キャラクタ135を、図8に示す点線ルートに従って進行させてゴールに到達すると、3つの星を拾ってゴールに到着することになり高スコアが得られる。すなわち、報酬が大きくなる。
図9に示す例は、図8に示すルートと異なるルートでゴールに到達する例である。
キャラクタ135を、図9に示す点線ルートに従って進行させてゴールに到達すると、1つの星を拾ってゴールに到着することになる。この場合、3つの星を拾った図8に示す設定より、低スコアとなる。すなわち、報酬が小さくなる。
例えば、このような報酬の設定の下で、図5を参照して説明したシステムを利用して強化学習処理を行うと、より高い報酬の得られるルート、すなわち、図8に示すルートを最終的に見つけ出すことができる。
しかし、図8、図9を参照して説明した報酬設定、すなわち、処理開始状態(スタート)から、最終目的を完了した処理終了状態(ゴール)に到達したときに、1つの報酬を与えるという報酬設定とした場合、最終的な高報酬を得るルート(図8に示すルート)を見つけ出すための学習処理時間は長期化してしまう。
図8、図9を参照して理解されるように、スタートからゴールまでのルートとして選択可能なルートは多数あり、強化学習処理では、これらの多数のルートを順次、実行(行動)し、その行動結果の報酬を解析するという処理を繰り返すことが必要となる。
スタートからゴールまでには、多くの分岐ポイント、すなわち複数の行動を選択可能なポイントが多く、存在する。
キャラクタ135は、各分岐ポイントで、異なる行動(action)を起こすことが可能であり、正解でない行動(action)を繰り返してしまうと、結果として、最大のスコアの高報酬ルートを見つけ出すまでに多大な時間を要するという問題がある。
[2.効率的な学習処理を実現する実施例について]
以下、本開示の情報処理装置、すなわち、効率的な学習処理を実現する情報処理装置の構成と処理について説明する。
以下に説明する本開示の処理を適用することで、特別なプログラミング能力を有していない一般ユーザであっても、効率的な学習処理、具体的には、行動(A)、状況(S)、報酬(R)の各パラメータを適用した強化学習を効率的に実行させることが可能となる。
図10を参照して、本開示の情報処理装置の実行する学習処理の例について説明する。
図10に示す情報処理装置の一例であるPC200は、先に図6(A)や図8、図9を参照して説明したPC130と同様、PC200に学習実行装置と、処理実行装置を有する。
PC200は、学習実行装置として機能する学習プログラム実行部を有し、さらに、処理実行装置として機能するゲームプログラム実行部を有する。
ゲームプログラム実行部は、図10に示すゲームを実行する。
図10に示すゲームは、先に図8、図9を参照して説明したゲームと同じゲームデあり、左下のスタート位置のキャラクタ135を、右上のゴールに到達させるゲームである。
シーン内のルートに沿って、キャラクタ135を左右前後に移動させて、右上のゴールに到達させる。
ルート上の星を多く拾うほど、ゲームスコアが高くなる。このゲームスコアが、強化学習処理における報酬となる。
ルート上には悪キャラがおり、衝突するとゲーム終了となり、スコア=0(報酬なし)となる。
本開示の情報処理装置の一例であるPC200は、学習実行装置として機能する学習プログラム実行部と、処理実行装置として機能するゲームプログラム実行部の他、アノテーション入力装置としての機能を有する。
アノテーションとは、処理実行プログラム、本例ではゲーム実行プログラムに本来、設定されていない報酬の設定情報である。
アノテーションによる報酬設定情報をサブ報酬設定情報と呼ぶ。
なお、ゲーム実行プログラムに本来、設定されている報酬の設定情報を基本報酬設定情報と呼ぶことにする。
図8、図9を参照して説明したキャラクタ135がゴールに到達した時点で得られる報酬(ゲームスコア)は、ゲーム実行プログラムに本来、設定されている報酬であり、基本報酬設定情報となる。
アノテーションによるサブ報酬設定情報は、本開示の情報処理装置の一例であるPC200を操作するユーザ201によってアノテーション入力装置を介して自由に入力、設定することができる。
なお、図10に示す構成において、アノテーション入力装置は、PC200に構成される。具体的にはPC200のキーボードやマウス等の入力部がアノテーション入力装置として機能する。
ユーザ201は、PC200のキーボードやマウス等の入力部を介して自由にアノテーション(サブ報酬設定情報)を入力できる。
例えば、図10に示すゲーム画面をPC200の表示部に表示し、キャラクタ135を移動させ、所定の位置にキャラクタ135が移動したときに、アノテーション(サブ報酬設定情報)を入力する。
図10を参照して、アノテーション入力手順の一例について説明する。
例えば、図10に示すゲーム画面のスタート位置にいるキャラクタ135は、まず、右方向のルート(○印の設定されたルート)と、上方向のルート(×印の設定されたルート)の2つのルートを選択可能である。
右方向のルート(○印の設定されたルート)は、先に図8を参照して説明した高スコア(高報酬)の得られるルート(正解)に相当するルートである。
ユーザ201は、キャラクタ135を、右方向の正解ルート(○印設定ルート)に従って移動させ、分岐ポイント(図に示す(二重丸◎An1)の位置)に到達させる。
なお、図10に示す点線ルートや、○、×、◎の各マークは、説明のために示しているのみであり、実際にPC200の表示画面上に表示されるものではない。
図10に示すように、キャラクタ135が、この分岐ポイント(図に示す(二重丸◎An1)の位置)に到達した時点で、アノテーション(サブ報酬設定情報)(An1)211を入力する。
すなわち、正解ルートに従ったキャラクタ135の行動に基づいてサブ報酬を得ることができる設定とする。
ユーザ201の入力したアノテーション(サブ報酬設定情報)(An1)211は、学習実行装置内のデータベースに登録される。
さらに、キャラクタ135を正解ルート(図8に示すルート)に従って移動させて、各分岐ポイントに到達した位置において、ユーザ201は、順次、アノテーション(サブ報酬設定情報)(An2〜An9)を、PC200のキーボードやマウス等の入力部を介して入力する。
このアノテーション入力処理の結果、図10に示すように、最も高報酬が得られる正解ルート上に、順次、アノテーション(サブ報酬設定情報)(An1〜An9)が設定されることになる。
これらのユーザ201の入力したアノテーション(サブ報酬設定情報)(An1〜An9)は、学習実行装置内に登録され、強化学習処理における学習処理、すなわち、期待報酬を最大化する行動決定処理において利用可能な報酬情報となる。
このアノテーション(サブ報酬設定情報)(An1〜An9)を利用した学習処理を行うことで、効率的に、すなわち短時間で高報酬の得られる理想的なルートを探しだすことが可能となる。
すなわち強化学習処理の効率化が実現されることになる。
なお、ユーザ201の入力したアノテーション(サブ報酬設定情報)は、学習実行装置に出力されてデータベースに格納される。
ユーザが入力したアノテーションにより、学習実行装置のデータベースに格納されるデータは、具体的には、例えば、アノテーション設定時の状態(S)、行動(A)、報酬(R)各情報の組み合わせからなる情報である。
先に図5を参照して説明したように、学習実行装置110は、処理実行装置120から、随時、状態(S)、行動(A)の各情報を入力している。
学習実行装置110は、アノテーション入力装置からのアノテーション(サブ報酬設定情報)の入力タイミングにおける最新の状態(S)、行動(A)の各情報を、アノテーション入力装置から入力したサブ報酬設定情報に対応付けてデータベースに登録する。
なお、アノテーション入力装置から、サブ報酬設定情報とともに状態(S)や、行動(A)の各情報の少なくともいずれかの情報を併せて入力する設定としてもよい。
このように、ユーザによるアノテーション入力に応じて学習実行装置がデータベースに登録するデータはアノテーション設定時の状態(S)、行動(A)、サブ報酬(R)各情報の組み合わせからなるデータである。具体的には、例えば以下のデータによって構成される。
状態情報(S)は、アノテーション設定時のゲームのシーンの識別情報、アノテーション設定位置等によって構成される。
行動情報(A)は、アノテーション設定時のキャラクタの位置、キャラクタの動き(方向、速度等)の情報によって構成される。
サブ報酬情報(R)は、様々な設定が可能であるが、最終的なゴールに至ることで得られる基本設定の報酬よりは小さい報酬に設定するのが好ましい。このサブ報酬の値は、予めデフォルト値として規定しておいてもよいし、ユーザのアノテーション入力時に逐次、ユーザが設定可能な構成としてもよい。
また、報酬は、プラスの報酬のみに限らず、マイナスの報酬を設定する構成としてもよい。例えばキャラクタが正解ルートではない「不正解」のルートに進んだ地点でアノテーションを入力して、そのアノテーションを「マイナス報酬」を設定したアノテーションとして学習実行装置のデータベースに登録することも可能である。
例えば、アノテーション入力装置から、任意の報酬の値、例えば−100〜+100等の報酬範囲の報酬値を入力可能な構成として、ユーザが任意に設定した報酬値を学習実行装置のデータベースに登録可能な構成としてもよい。
次に、図11を参照して、PC200が実行する異なるゲームにおけるアノテーション(サブ報酬設定情報)の設定例について説明する。
図11に示すゲームは、先に図4を参照して説明したゲームと同様のゲームである。
ゲームのシーンは、図に示すようにシーン1からシーン4まで進行する。
ゲームは、シーン1でキャラクタが右側の階段を上り、
シーン2で、左側の雲に乗り、
シーン3で雲の上の星を取って、階段に戻り、
シーン4で、星を木の上に乗せる。
これらの各シーンによって構成される。
シーン4で、星を木の上に乗せることに成功した場合、高得点(ハイスコア)を得ることができる。
ゲームを実行するPC42は、学習処理によって正解の行動を覚えることができる。
このゲームプログラムに本来、設定されている基本報酬設定情報は、キャラクタがシーン4で、星を木の上に乗せる処理を完了した時点で得られる報酬(ゲームスコア)である。
ユーザ201は、この基本報酬設定情報以外のサブ報酬設定情報をアノテーション入力処理によって行うことができる。
ユーザ201は、アノテーション(サブ報酬設定情報)をPC200のキーボードやマウス等の入力部を介した入力処理によって行う。
例えば、図11に示すシーン1では、キャラクタは、右側の階段を上る正解ルート(○印の設定されたルート)と、左方向のルート(×印の設定されたルート)の2つのルートを選択可能である。
ユーザ201は、キャラクタを、右側の階段を上る正解ルート(○印設定ルート)に従って移動させ、移動完了位置または移動途中位置(図に示す(二重丸◎An1)の位置)に到達させる。
図10に示すように、キャラクタが、図に示す二重丸◎An1の位置に到達した時点で、アノテーション(サブ報酬設定情報)(An1)221を入力する。
すなわち、正解ルートに従ったキャラクタの行動に基づいてサブ報酬を得ることができる設定とする。
ユーザ201の入力したアノテーション(サブ報酬設定情報)(An1)221は、学習実行装置内に登録される。
次の図11に示すシーン2では、キャラクタは、左上部の雲に乗る正解ルート(○印の設定されたルート)と、右方向のルート(×印の設定されたルート)の2つのルートを選択可能である。
ユーザ201は、キャラクタを、左側の雲に乗る正解ルート(○印設定ルート)に従って移動させ、移動完了位置または移動途中位置(図に示す(二重丸◎An2)の位置)に到達させる。
図11に示すように、キャラクタが、図に示す二重丸◎An2の位置に到達した時点で、アノテーション(サブ報酬設定情報)(An2)222を入力する。
すなわち、正解ルートに従ったキャラクタの行動に基づいてサブ報酬を得ることができる設定とする。
ユーザ201の入力したアノテーション(サブ報酬設定情報)(An2)222は、学習実行装置内に登録される。
以下、シーン3,4についても、キャラクタを図に示す二重丸◎An3,An4の位置に到達させて、アノテーション(サブ報酬設定情報)(An3)223,(An4)224を入力する。
すなわち、正解ルートに従ったキャラクタの行動に基づいてサブ報酬を得ることができる設定とする。
このアノテーション入力処理の結果、図11に示すように、最もハイスコア(高報酬)が得られる正解ルート上に、順次、アノテーション(サブ報酬設定情報)(An1〜An4)が設定されることになる。
これらのユーザ201の入力したアノテーション(サブ報酬設定情報)(An1〜An4)は、学習実行装置のデータベース内に登録され、強化学習処理における学習処理、すなわち、期待報酬を最大化する行動決定処理において利用可能な報酬情報となる。
このアノテーション(サブ報酬設定情報)(An1〜An4)を利用した学習処理を行うことで、効率的に、短時間で高報酬の得られる理想的なルートを探しだすことが可能となる。
すなわち強化学習処理の効率化が実現されることになる。
図12は、学習実行装置310、処理実行装置320と、アノテーション入力装置350の構成関係の一例を説明する図である。
図12に示す例は、学習実行装置310、処理実行装置320、アノテーション入力装置350が一つの情報処理装置、すなわちPC200内に構成されている例である。
これら、学習実行装置310、処理実行装置320、アノテーション入力装置350は、一つの情報処理装置内の構成要素として設定することも可能であり、個別の装置として構成することも可能である。
図12に示す例では、アノテーション入力装置350は、PC200の入力部、すなわちキーボードや、マウス等によって構成される。
ユーザ201は、任意タイミングで、アノテーション入力装置350から、アノテーション情報(サブ報酬(Rs)設定情報)351を入力することができる。
入力したアノテーション情報(サブ報酬(Rs)設定情報)351は、学習実行装置310に入力されデータベースに格納される。
学習実行装置310は、さらに、処理実行装置320から、状態情報(S)302、行動情報(A)301を逐次、入力する。
学習実行装置310は、アノテーション入力装置350から入力するアノテーション情報(サブ報酬(Rs)設定情報)351と、このアノテーション情報351の入力タイミングに最も近い入力タイミングを持つ状態情報(S)302、行動情報(A)301を、対応付けてデータベースに格納する。
なお、図12に示す例は一例であり、例えば、アノテーション入力装置250からアノテーション情報(サブ報酬(Rs)設定情報)351に併せて、状態情報(S)や、行動情報(A)を学習実行装置110に入力する構成としてもよい。
図13は、本開示の情報処理システム(情報処理装置)の構成例を示す図である。
図13に示す情報処理システムは、先に図5を参照して説明したと同様、学習実行装置310と、処理実行装置320を有し、さらに、アノテーション(サブ報酬設定情報)入力装置350を有している。
なお、これらの3つの装置は、1つの情報処理装置としても構成可能であり、個別の装置として構成することも可能である。
図13に示す学習実行装置310は、強化学習アルゴリズムに従った学習処理を実行する装置である。
また、処理実行装置320は、特定の処理を実行する装置である。例えばお掃除ロボットであれば自走して掃除を行う装置である。あるいはゲームプログラムを実行してゲームを行う装置等である。
図13に示す学習実行装置310は、先に図5を参照して説明した学習実行装置110と同様、以下の構成要素を有する。すなわち、データベース311、学習実行部312、行動決定部313、決定行動要求部314、行動情報入力部315、状態情報入力部316、基本報酬情報入力部317を有する。
さらに、図13に示す学習実行装置310は、図5を参照して説明した学習実行装置110には無い構成要素である、アノテーション(サブ報酬(Rs)設定情報)入力部318を有する。
図13に示す学習実行装置310は、図5に示す学習実行装置110と異なり、アノテーション(サブ報酬設定情報)入力装置350から、アノテーション(サブ報酬設定情報)351が入力される。
ユーザ201は、任意のタイミングで、アノテーション(サブ報酬設定情報)入力装置350から、アノテーション(サブ報酬設定情報)351を入力することができる。
アノテーション(サブ報酬設定情報)351とは、先に図10、図11を参照して説明したように、ユーザ201によって任意に設定できる報酬、すなわちサブ報酬(Rs)の設定情報である。
学習実行装置310は、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬設定情報)351をアノテーション(サブ報酬設定情報)入力部318を介してデータベース311に格納する。
学習実行装置310のデータベース311に格納されるデータは、先に図5を参照して説明した情報に、アノテーション入力時の状態(S)、行動(A)、報酬(R)各情報の組み合わせからなるデータが追加されることになる。
先に図5を参照して説明した処理と同様、学習実行装置310は、処理実行装置320から、随時、状態情報(St)302、行動情報(At)301b、基本報酬情報(Rt)303の各情報を入力してデータベース311に格納する。
図13に示す学習実行装置310は、この情報に加え、アノテーション入力時の状態(St)、行動(At)を、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬(Rs)設定情報)351に対応付けてデータベース311に格納する。
これらのデータのデータベース格納処理は、図13には示していないが、学習実行装置310内の制御部による制御の下で実行される。
なお、処理実行装置320から入力する報酬と、アノテーション(サブ報酬設定情報)入力装置350から入力する報酬を区別するため、
処理実行装置320から入力する報酬を、基本報酬(Rt)とし、
アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬設定情報)351に含まれる報酬をサブ報酬(Rs)として区別して示している。
このように、図13に示す構成において、学習実行装置310は、処理実行装置320から入力する状態情報(St)302、行動情報(At)301b、基本報酬情報(Rt)303の各情報のみならず、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬(Rs)設定情報)351と、そのタイミングの状態情報(St)302、行動情報(At)301bもデータベース311に格納する。
なお、ユーザ201によるアノテーション351の入力に応じて学習実行装置310がデータベース311に登録するデータは、先に説明したようにアノテーション設定時の状態(S)、行動(A)、報酬(R)各情報の組み合わせからなるデータである。具体的には、例えば以下のデータによって構成される。
状態情報(S)は、アノテーション設定時のゲームのシーンの識別情報、アノテーション設定位置等によって構成される。
行動情報(A)は、アノテーション設定時のキャラクタの位置、キャラクタの動き(方向、速度等)の情報によって構成される。
報酬情報(R)は、様々な設定が可能であるが、最終的なゴールに至ることで得られる基本設定の報酬よりは小さい報酬に設定する。このサブ報酬の値は、予めデフォルト値として規定しておいてもよいし、ユーザのアノテーション入力時に逐次、ユーザが設定可能な構成としてもよい。
また、報酬は、プラスの報酬のみに限らず、マイナスの報酬を設定する構成としてもよい。例えばキャラクタが不正解のルートに進んだ地点にアノテーションを設定して、そのアノテーションを「マイナス報酬」を設定したアノテーションとして学習実行装置のデータベースに登録することも可能である。
例えば、アノテーション入力装置から、任意の報酬の値、例えば−100〜+100等の報酬範囲の報酬値を入力可能な構成として、ユーザが任意に設定した報酬値を学習実行装置のデータベースに登録可能な構成としてもよい。
図13に示す学習実行装置310の学習実行部312は、先に図5を参照して説明した学習実行装置110の学習実行部112と同様、前述した強化学習の学習アルゴリズムに従った学習処理を行う。
具体的には、データベース311に格納された例えば時系列の状態(S)、行動(A)、報酬(R)のデータを利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則を導出して行動決定則に従った学習処理を行う。
すなわち、先に図5を参照して説明した行動決定則を規定する以下の(式1)に従った学習処理を行う。
Figure 2018150654
上記(式1)において、
π(a|s)は、状態(s)における最適な戦略、すなわち状態(s)においてとるべき行動(a)を返す関数である。
T(s,a,s')は、状態の変化(Transition)を表す関数であり、状態(s)において行動(a)を行うと状態(s')に変化することを示す。
v(s')は、状態(s')に移行した場合の報酬の総和を意味する。
argmaxは最大値を選択する関数である。
上記(式1)は、状態sから状態s'に遷移する行動aから、報酬総和v(s')が最大化するものを選択する数式(行動決定則)である。
すなわち、(式1)は、様々な状態(s)に応じて、期待報酬を最大化する行動(a)を決定する行動決定則である。
なお、データベース311には、逐次、新たなデータが入力され、新たなデータ入力ごとにデータベース更新処理が実行される。学習実行部314は、例えば、データベース311のデータ更新ごとに行動決定則(式1)の更新処理を行う。
この更新処理によって、様々な状態に応じた最適な行動、すなわち報酬を高くするための最適な行動が次第に明らかになっていく。
図13に示す学習実行装置310のデータベース311には、処理実行装置320から入力する状態情報(St)302、行動情報(At)301b、基本報酬情報(Rt)303の各情報のみならず、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬(Rs)設定情報)351と、そのタイミングの状態情報(St)302、行動情報(At)301bも格納される。
すなわち、データベース311には、先に説明した図5に示す学習実行装置110のデータベース111より、より密度の高い状態(S)、行動(A)、報酬(R)のデータセットが格納される。
従って、図13に示す学習実行装置310の学習実行部312は、より多くのデータ(状態(S)、行動(A)、報酬(R))を利用した学習処理を行うことが可能となる。
この結果、学習効率が高められ、報酬を高くするための最適な行動をより早く見つけ出すことが可能となる。
すなわち、学習処理においては、事前にアノテーション(サブ報酬設定情報)入力装置350から入力されたアノテーション(サブ報酬(Rs)設定情報)351を利用した学習が可能となる。処理実行装置320が例えば自律制御によって行動する場合、処理実行装置320が、事前に設定したアノテーションと同一、あるいは類似する状態になった場合、サブ報酬が得られることになる。
なお、処理実行装置320の状態がアノテーションと類似する状態であるか否かの判定処理は、例えば処理実行装置320から入力する状態(S)や、行動(A)の解析データを適用して実行することが可能である。例えば状態のメトリクスを作成して解析する等の処理が可能である。
学習実行装置310の行動決定部313は、学習実行部312における学習処理において、随時更新される(式1)によって示される行動決定則を利用して、処理実行部320に実行させる次の行動を決定する。
すなわち、行動決定則π(a|s)に従って、次の行動を決定する。
決定行動要求部314は、行動決定部313の決定した行動(A)を処理実行装置320に実行させるため、処理実行装置320の行動実行部321に、決定した行動を実行させるための要求を行う。図に示すように、行動情報(At)301aを出力する。tは時間を示すパラメータである。
処理実行装置320の行動実行部321は、学習実行装置310の決定行動要求部314から入力した行動要求に従った行動、すなわち、行動情報(At)301aに従った行動を実行する。
処理実行装置320の行動実行部321の実行した行動に関する行動情報(At)301bは、学習実行装置110の行動情報入力部315に入力され、データベース311に格納される。
処理実行装置320は、さらに、状態情報取得部322、基本報酬情報取得部323を有する。
処理実行装置320の状態情報取得部322は、時間(t)の状態(S)である状態情報(St)302を、随時、取得して、学習実行部310の状態情報入力部316に出力する。
学習実行部310の状態情報入力部316は、処理実行装置320の状態情報取得部322から入力した状態情報(St)302をデータベース311に格納する。
処理実行装置320の状態情報取得部322の取得する状態情報とは、例えば、処理実行装置320が、お掃除ロボットである場合、お掃除ロボットの位置情報、走行情報(速度、方向)等の情報によって構成される。
また、処理実行装置320が、ゲーム実行装置である場合、ゲームの場面を示すシーン情報、キャラクタ位置、走行情報(速度、方向)等によって構成される。
また、処理実行装置320の基本報酬情報取得部323は、時間(t)の状態(S)である基本報酬情報(Rt)303を、随時、取得して、学習実行部310の基本報酬情報入力部317に出力する。
学習実行部310の基本報酬情報入力部317は、処理実行装置320の基本報酬情報取得部323から入力した基本報酬情報(Rt)303をデータベース311に格納する。
処理実行装置320の報酬情報取得部323の取得する報酬情報とは、例えば、処理実行装置320が、ゲーム実行装置である場合、ゲームのスコア等によって構成される。
処理実行装置320が、お掃除ロボットである場合、例えば掃除完了に伴って生成される評価情報等である。具体的には、掃除の開始から終了に至るまでの時間情報や、経路情報等に基づく効率性の評価情報等である。
なお、先に図5を参照して説明した構成と同様、処理実行装置320に基本報酬情報取得部323が設定されていない場合、学習実行装置310に報酬計算部を設定して、処理実行装置320から入力する状態情報と、行動情報に基づいて、予め設定した報酬算出アルゴリズムを適用して報酬を算出する構成としてもよい。
この場合、学習実行装置310の報酬算出部の算出した報酬(Rt)が、データベース311に格納される。
前述したように、図13に示す学習実行装置310のデータベース111には、
処理実行装置320から入力される状態情報(St)302、行動情報(At)301b、基本報酬情報(Rt)303の各情報、
さらに、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬(Rs)設定情報)351と、そのタイミングの状態情報(St)302、行動情報(At)301b、
これらの情報が格納される。
この結果、データベース311には、先に説明した図5に示すデータベース111より、より密度の高い状態(S)、行動(A)、報酬(R)のデータセットが格納されることになり、学習実行部312は、より多くのデータ(状態(S)、行動(A)、報酬(R))を利用した学習処理を行うことが可能となる。
この結果、学習効率が高められ、報酬を高くするための最適な行動をより早く明らかにすることが可能となる。
図13に示す学習実行装置310と、処理実行装置320と、アノテーション(サブ報酬設定情報)入力装置350は、先に図12を参照して説明したように、1つの情報処理装置として構成することが可能であるが、個別の装置として構成することも可能である。
個別の装置とした装置構成例について、図14以下を参照して説明する。
図14には、学習実行装置310とアノテーション(サブ報酬設定情報)入力装置350を一つの装置とし、処理実行装置320を別の装置とした構成例を示す図である。
図14には、お掃除ロボット405と、お掃除ロボット405の動作制御を行う機器としてのスマホ401、リモコン402を示している。
スマホ401、またはリモコン402は、お掃除ロボット405の動作制御を行うコントローラとして機能する。
スマホ401、またはリモコン402は、学習実行装置310として機能する学習プログラム実行部と、アノテーション(サブ報酬設定情報)入力装置350として機能する入力部を有する。
図に示すリモコン402には、アノテーション(サブ報酬設定情報)入力部403A,403Bが設定されている。
例えば、[GOOD]のボタンからなるアノテーション入力部403aは、プラスの報酬を設定したアノテーションの入力時に利用される。
一方、[BAD]のボタンからなるアノテーション入力部403bは、マイナスの報酬を設定したアノテーションの入力時に利用される。
お掃除ロボット405は、処理実行部420として機能する掃除プログラム実行部を有する。
処理実行装置420としての掃除プログラム実行部による掃除の実行により、例えば、掃除ロボットの行動、位置、走行情報等の状態の変化が発生する。これらの行動情報、状態情報が、学習プログラム実行部を有するスマホ401、またはリモコン402に入力されて学習処理が行われることになる。
さらに、ユーザは、スマホ401、またはリモコン402の入力部を介して任意のタイミングで、アノテーション(サブ報酬設定情報)の入力処理を行うことができる。
この入力情報も、スマホ401、またはリモコン402の学習実行装置310内のデータベースに格納され、その後の学習処理に利用される。
図15は、学習実行装置310と処理実行装置320を、お掃除ロボット405の内部に有する設定とし、スマホ401、またはリモコン402を、アノテーション(サブ報酬設定情報)入力装置350として設定した構成である。
お掃除ロボット405は、学習実行装置310として機能する学習プログラム実行部と、処理実行部320として機能する掃除プログラム実行部を有する。
処理実行装置320としての掃除プログラム実行部による掃除の実行により、例えば、掃除ロボットの行動、位置、走行情報等の状態の変化が発生する。これらの行動情報、状態情報が、お掃除ロボット405内の学習プログラム実行部に入力されて学習処理が行われることになる。
ユーザは、アノテーション(サブ報酬設定情報)入力装置350として機能するスマホ401、またはリモコン402の入力部を介して任意のタイミングで、アノテーション(サブ報酬設定情報)の入力処理を行うことができる。
この入力情報は、お掃除ロボット405の学習実行装置310として機能する学習プログラム実行部に送信されて、学習実行装置310内のデータベースに格納され、その後の学習処理に利用される。
図15に示す構成において、リモコン402を利用したアノテーション(サブ報酬設定情報)入力処理例について、図16を参照して説明する。
図16に示すお掃除ロボット405は、学習実行装置310と、処理実行装置320を内部に有する。
リモコン402は、お掃除ロボット405のコントローラであり、かつアノテーション(サブ報酬設定情報)入力装置350として機能する。
お掃除ロボット405は、リモコン402に対するユーザ201の操作によって自由に移動することができる。
ユーザ201は、部屋内部を効率的に掃除させるためのルートを考えて、そのルートに従ってお掃除ロボット405を移動させて掃除をさせる。
さらに、掃除実行中のルート上の複数のポイントで、アノテーション(サブ報酬設定情報)の入力処理を実行する。
この入力情報は、お掃除ロボット405の学習実行装置310として機能する学習プログラム実行部に送信されて、学習実行装置310内のデータベースに格納される。
その後、このデータが、学習処理に利用される。
この学習処理によって、お掃除ロボット405は、サブ報酬の取得可能なルート、すなわちユーザの設定したルートに従って掃除を自律的に行うことが可能となる。
図17に示す例は、学習実行装置310と、処理実行装置320と、アノテーション(サブ報酬設定情報)入力装置350をそれぞれ個別の装置とした例である。
処理実行装置320が、お掃除ロボット405、
学習実行装置310が、リモコン402、
アノテーション(サブ報酬設定情報)入力装置350が、スマホ401、
これらの3つの装置が、それぞれ通信を実行して処理を行う。
お掃除ロボット405は、処理実行装置320として機能する掃除プログラム実行部により、掃除を実行し、行動(A)、状態(S)、基本報酬(R)の各情報をリモコン402に送信する。
アノテーション(サブ報酬(Rs)設定情報)入力装置350として機能するスマホ401は、ユーザにより、任意のタイミングで、アノテーション(サブ報酬設定情報)の入力処理が行われ、入力情報がリモコン402に送信される。
リモコン402は、学習実行装置310として機能する学習プログラム実行部を有し、お掃除ロボット405から入力する行動(A)、状態(S)、基本報酬(R)の各情報をデータベースに格納する。
さらに、アノテーション(サブ報酬設定情報)入力装置350として機能するスマホ401から入力するアノテーション(サブ報酬(Rs)設定情報)も、そのタイミングの行動(A)、状態(S)、報酬(Rs)の各情報のセットとしてデータベースに格納する。
リモコン402は、学習実行装置310として機能する学習プログラム実行部において、データベースに格納されたデータヲ利用した学習処理を実行し、最適なお掃除ルートを学習により、決定する。
その後、リモコン402により、お掃除ロボット405を起動するのみで、学習したルートに従ったコマンドがリモコン402からお掃除ロボット405に送信され、最適ルートでの掃除が可能となる。
次に、図18を参照して、アノテーション(サブ報酬設定情報)入力装置350を利用して入力可能なアノテーション(サブ報酬設定情報)の情報例について説明する。
アノテーション(サブ報酬設定情報)入力装置350を利用してアノテーション(サブ報酬設定情報)を入力する場合、先に説明したように、例えば、アノテーション(サブ報酬設定情報)入力装置350からは、サブ報酬(Rs)の設定情報のみを学習実行装置310に入力し、その他の情報である、行動(A)、状態(S)については、処理実行装置320からの入力情報を利用してデータベースに格納するという方法がある。
その他、アノテーション(サブ報酬設定情報)入力装置350から、サブ報酬(Rs)の設定情報のみならず、行動(A)や状態(S)についての情報を入力してもよい。
図18に示す例は、これら、アノテーション(サブ報酬設定情報)入力装置350から入力する入力情報のバリエーションについて説明する図であるる
図18には、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬設定情報)の入力情報例として8種類の異なる例を示している。
(1)は、教示行動列と、特定状態対応のアノテーションを併せて入力する例である。
(2)は、アノテーションのついた状態のスナップショットの入力例である。
(1),(2)の各々について(a)〜(d)の4種類の具体例を示しているる
(1)(a)は、教示行動列と、特定状態対応のアノテーションを併せて入力する例において、1つの状態(ステート)単位のアノテーションを、順次、入力する例である。
教示行動列は、例えば図(1)(a)のデータとして示す矢印の進行ルートであり、このルート上にサブ報酬設定位置を示すアノテーションを設定したデータを生成して、これをアノテーション(サブ報酬設定情報)の入力情報とする例である。
(1)(b)は、教示行動列と、特定状態対応のアノテーションを併せて入力する例において、連続状態(連続ステート)の複数のアノテーションを入力する例である。
教示行動列は、例えば図(1)(b)のデータとして示す矢印の進行ルートであり、このルート上に連続して、サブ報酬設定位置を示すアノテーションを設定したデータを生成して、これをアノテーション(サブ報酬設定情報)の入力情報とする例である。
この入力処理は、例えば、アノテーション(サブ報酬設定情報)入力装置350のアノテーション入力部を連続して押下し続ける処理によって行われる。
(1)(c)は、(1)(a)の例と同様の処理により入力するアノテーションの各々に識別子(ID)を設定して入力する例である。
識別子(ID)は、例えばアノテーション(サブ報酬設定情報)入力装置350内部で順次生成する識別子や、時間情報を利用することが可能である。
(1)(d)は、(1)(b)の例と同様の処理により入力するアノテーションの各々に識別子(ID)を設定して入力する例である。
(1)(c)の例と同様、識別子(ID)は、例えばアノテーション(サブ報酬設定情報)入力装置350内部で順次生成する識別子や、時間情報を利用することが可能である。
(2)(a)は、アノテーションのついた状態のスナップショットの入力例において、1つの状態(ステート)単位のアノテーションを、順次、入力する例である。
例えば図(2)(a)に示すように、アノテーションの設定位置におけるスナップショット、例えばゲームのシーンを示すスナップショットを生成して、これをアノテーション(サブ報酬設定情報)の入力情報とする例である。
(2)(b)は、アノテーションのついた状態のスナップショットの入力例において、連続状態(連続ステート)の複数のアノテーションを入力する例である。
例えば図(2)(b)に示すように、連続するアノテーション設定位置におけるスナップショット、例えばゲームのシーンを示すスナップショットを生成して、これをアノテーション(サブ報酬設定情報)の入力情報とする例である。
この入力処理は、例えば、アノテーション(サブ報酬設定情報)入力装置350のアノテーション入力部を連続して押下し続ける処理によって行われる。
(2)(c)は、(2)(a)の例と同様の処理により入力するアノテーションの各々に識別子(ID)を設定して入力する例である。
識別子(ID)は、例えばアノテーション(サブ報酬設定情報)入力装置350内部で順次生成する識別子や、時間情報を利用することが可能である。
(2)(d)は、(2)(b)の例と同様の処理により入力するアノテーションの各々に識別子(ID)を設定して入力する例である。
(2)(c)の例と同様、識別子(ID)は、例えばアノテーション(サブ報酬設定情報)入力装置350内部で順次生成する識別子や、時間情報を利用することが可能である。
[3.情報処理装置の実行する処理のシーケンスについて]
次に、図19以下に示すフローチャートを参照して、情報処理装置の実行する処理のシーケンスの例について説明する。
以下において説明する処理シーケンスは、学習実行装置の実行する処理の処理シーケンスである。
図13他を参照して説明したアノテーション(サブ報酬設定情報)入力装置を利用した学習実行装置310の処理と、アノテーション(サブ報酬設定情報)入力装置を利用しない従来型の図5に示す構成における学習実行装置110の処理の違いを理解しやすくするため、図5に示す学習処理装置110の処理と、図13に示す学習処理装置310の処理シーケンスについて、順次、説明する。
まず、図19に示すフローチャートを参照して、アノテーション(サブ報酬設定情報)入力装置を利用しない従来型の図5に示す構成における学習実行装置110の処理のシーケンスについて説明する。
なお、図19に示すフローに従った処理は、図5に示す学習実行装置110のプログラム実行機能を持つCPU等によって構成されるデータ処理部が、記憶部に格納されたプログラムに従って実行することができる。
以下、図19に示すフローの各ステップの処理について、順次、説明する。
(ステップS101)
まず、学習実行装置110のデータ処理部は、ステップS101において、データベース蓄積データを用いた学習処理により、処理実行装置に実行させる行動を決定する。
この処理は、図5に示す学習実行装置110の学習実行部112と、行動決定部113の実行する処理である。
先に図5を参照して説明したように、学習実行装置110の学習実行部112は、前述した強化学習の学習アルゴリズムに従った学習処理を行う。
具体的には、データベース111に格納された例えば時系列の状態(S)、行動(A)、報酬(R)のデータを利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則を規定する前述の(式1)π(a|s)に従った学習処理を行う。
(式1)は、様々な状態(s)に応じて、期待報酬を最大化する行動(a)を決定する行動決定則である。
データベース111には、処理実行装置120から、随時、入力された各時間(t)の状態(S)、行動(A)、報酬(R)のデータが格納されている。
学習実行装置110のデータ処理部は、ステップS101において、データベース蓄積データを用いた学習処理により、処理実行装置に実行させる行動を決定する。
(ステップS102)
次に、学習実行装置110のデータ処理部は、ステップS102において、ステップS101で決定した行動の実行要求を処理実行装置に出力する。
この処理は、図5に示す学習実行装置110の決定行動要求部114の実行する処理である。
決定行動要求部114は、行動決定部113の決定した行動(A)を処理実行装置120に実行させるため、処理実行装置120の行動実行部121に、決定した行動を実行させるための要求を行う。
(ステップS103)
次に、学習実行装置110のデータ処理部は、ステップS103において、処理実行装置120から、(行動(A),状態(S)、基本報酬(R))の各情報を入力する。
なお、これらの情報は、随時、入力可能であり、フローのステップ順に関わらず、任意のタイミングで入力される。
(ステップS104)
次に、学習実行装置110のデータ処理部は、ステップS104において、ステップS103で、処理実行装置120から入力した情報、(行動(A),状態(S)、基本報酬(R))これらの各情報をデータベース111に格納し、データベースの更新処理を行う。
(ステップS105)
次に、学習実行装置110のデータ処理部は、ステップS105において、処理が完了、すなわち、処理実行装置120における処理が完了したか否かを判定し、処理が終了していない場合は、ステップS101以下の処理を繰り返し実行する。
学習実行装置110のデータベース111には、行動(A)、状態(S)、報酬(R)のデータセットが、随時格納されてデータベース更新がなされる。
学習実行装置110の学習実行部112は、データベース111に新たに格納されたデータを含むデータ(状態(S)、行動(A)、報酬(R))を利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則、
π(a|s)・・・(式1)
上記(式1)に従った学習処理を行う。
この処理を繰り返すことで、最も報酬が高くなる設定の行動を予測して、その予測行動に従った処理を実行することが可能となる。
この図19に示すフローは、図5に示す構成の学習実行装置110、すなわち、図13他を参照して説明したアノテーション(サブ報酬設定情報)入力装置を有していないシステムにおける処理フローである。
次に、図20に示すフローチャートを参照して、図13他を参照して説明したアノテーション(サブ報酬設定情報)入力装置を利用した学習実行装置310の処理のシーケンスについて説明する。
なお、図20に示すフローに従った処理は、図13に示す学習実行装置310のプログラム実行機能を持つCPU等によって構成されるデータ処理部が、記憶部に格納されたプログラムに従って実行することができる。
以下、図20に示すフローの各ステップの処理について、順次、説明する。
(ステップS301)
まず、学習実行装置310のデータ処理部は、ステップS301において、データベース蓄積データを用いた学習処理により、処理実行装置に実行させる行動を決定する。
この処理は、図13に示す学習実行装置310の学習実行部312と、行動決定部313の実行する処理である。
先に図13を参照して説明したように、学習実行装置310の学習実行部312は、前述した強化学習の学習アルゴリズムに従った学習処理を行う。
具体的には、データベース311に格納された例えば時系列の状態(S)、行動(A)、報酬(R)のデータを利用して、強化学習アルゴリズムにおいて規定される期待報酬値を最大化する行動決定則を規定する前述の(式1)π(a|s)に従った学習処理を行う。
(式1)は、様々な状態(s)に応じて、期待報酬を最大化する行動(a)を決定する行動決定則である。
データベース311には、処理実行装置320から、随時、入力された各時間(t)の状態(S)、行動(A)、基本報酬(R)のデータが格納されている。
さらに、図13に示す学習実行装置310のデータベース311には、図13に示すアノテーション(サブ報酬(Rs)設定情報)入力装置350からの入力情報であるサブ報酬(Rs)と、サブ報酬(Rs)対応の状態(S)、行動(A)の各情報も記憶されている。
すなわち、図13に示す学習実行装置310のデータベース311には、先に説明した図5に示すデータベース111より、より密度の高い状態(S)、行動(A)、報酬(R)のデータセットが格納されている。
学習実行装置310のデータ処理部は、ステップS301において、これらのより多くの情報からなるデータベース蓄積データを用いた学習処理により、処理実行装置に実行させる行動を決定する。
図13に示す学習実行装置310の学習実行部312は、より多くのデータ(状態(S)、行動(A)、報酬(R))を利用した学習処理が可能となり、学習効率が高められ、報酬を高くするための最適な行動をより早く明らかにすることが可能となる。
(ステップS302)
次に、学習実行装置310のデータ処理部は、ステップS302において、ステップS301で決定した行動の実行要求を処理実行装置に出力する。
この処理は、図13に示す学習実行装置310の決定行動要求部314の実行する処理である。
決定行動要求部314は、行動決定部313の決定した行動(A)を処理実行装置320に実行させるため、処理実行装置320の行動実行部321に、決定した行動を実行させるための要求を行う。
(ステップS303)
次に、学習実行装置310のデータ処理部は、ステップS303において、処理実行装置320から、(行動(A),状態(S)、基本報酬(R))の各情報を入力する。
なお、これらの情報は、随時、入力可能であり、フローのステップ順に関わらず、任意のタイミングで入力される。
(ステップS304)
次に、学習実行装置310のデータ処理部は、ステップS304において、ステップS303で、処理実行装置320から入力した情報、(行動(A),状態(S)、基本報酬(R))これらの各情報をデータベース311に格納し、データベースの更新処理を行う。
(ステップS305)
次に、学習実行装置310のデータ処理部は、ステップS305において、アノテーション(サブ報酬(Rs)設定情報)の入力有無を判定する。
すなわち、アノテーション(サブ報酬設定情報)入力装置350からアノテーション(サブ報酬(Rs)設定情報)が入力されたか否かを判定する。
入力ありの判定がなされた場合は、ステップS306に進む。
入力ありの判定がなされなかった場合は、ステップS307に進む。
(ステップS306)
ステップS305において、アノテーション(サブ報酬設定情報)入力装置350からのアノテーション(サブ報酬(Rs)設定情報)入力が検出された場合、学習実行装置310のデータ処理部は、ステップS306において、アノテーション(サブ報酬設定情報)入力装置350から入力したアノテーション(サブ報酬(Rs)設定情報)と、この時点の行動(A),状態(S)の各情報を取得し、これらをデータベース311に格納し、データベース311の更新処理を行う。
この処理によりデータベース311には、ユーザ入力に基づくアノテーション(サブ報酬設定情報)に対応する学習用のデータが蓄積されることになる。
(ステップS307)
次に、学習実行装置310のデータ処理部は、ステップS307において、処理が完了、すなわち、処理実行装置320における処理が完了したか否かを判定し、処理が終了していない場合は、ステップS301以下の処理を繰り返し実行する。
先に図13を参照して説明したように、学習実行装置310のデータベース311には、処理実行装置320から入力される状態情報(St)302、行動情報(At)301b、基本報酬情報(Rt)303の各情報のみならず、アノテーション(サブ報酬設定情報)入力装置350から入力するアノテーション(サブ報酬(Rs)設定情報)351と、そのタイミングの状態情報(St)302、行動情報(At)301bも格納される。
すなわち、図13に示す学習実行装置310のデータベース311には、先に説明した図5に示すデータベース111より、より密度の高い状態(S)、行動(A)、報酬(R)のデータセットが格納され、学習実行部312は、より多くのデータ(状態(S)、行動(A)、報酬(R))を利用した学習処理を行うことが可能となる。
この結果、学習効率が高められ、報酬を高くするための最適な行動をより早く明らかにすることが可能となる。
[4.情報処理装置のハードウェア構成例について]
次に、図21を参照して情報処理装置のハードウェア構成例について説明する。
図21は、本開示の処理を実行する情報処理装置、例えば図13に示す学習実行装置310、処理実行装置320、アノテーション入力装置350の各装置、あるいはこれら各装置を組み合わせた装置として利用可能な情報処理装置のハードウェア構成例を示す図である。
CPU(Central Processing Unit)501は、ROM(Read Only Memory)502、または記憶部508に記憶されているプログラムに従って各種の処理を実行する制御部やデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)503には、CPU501が実行するプログラムやデータなどが記憶される。これらのCPU501、ROM502、およびRAM503は、バス504により相互に接続されている。
CPU501はバス504を介して入出力インタフェース505に接続され、入出力インタフェース505には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部506、表示部やスピーカなどに対するデータ出力を実行する出力部507が接続されている。CPU501は、入力部506から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部507に出力する。
入出力インタフェース505に接続されている記憶部508は、例えばハードディスク等からなり、CPU501が実行するプログラムや各種のデータを記憶する。通信部509は、Wi−Fi通信、ブルートゥース(登録商標)(BT)通信、その他インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
入出力インタフェース505に接続されているドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア511を駆動し、データの記録あるいは読み取りを実行する。
[5.本開示の構成のまとめ]
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、本明細書において開示した技術は、以下のような構成をとることができる。
(1) 処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記学習実行部は、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理装置。
(2) 前記学習実行部は、
前記学習処理によって、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出する(1)に記載の情報処理装置。
(3) 前記情報処理装置は、さらに、
前記行動決定則に従って、前記処理実行部に実行させる行動を決定する行動決定部を有する(1)または(2)に記載の情報処理装置。
(4) 前記情報処理装置は、さらに、
前記処理実行部から入力する状態、行動、報酬の各情報を入力するデータ入力部を有し、
前記データベースは、
前記データ入力部の入力データを格納するとともに、前記アノテーション入力部を介して入力されたサブ報酬設定情報を格納する(1)〜(3)いずれかに記載の情報処理装置。
(5) 前記アノテーション入力部は、ユーザによる任意タイミングでの入力処理が可能なアノテーション入力装置を介して入力されるサブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納する(1)〜(4)いずれかに記載の情報処理装置。
(6) 前記情報処理装置は、さらに、
前記アノテーション入力時における前記処理実行部の状態、行動の各情報を、前記アノテーションに含まれるサブ報酬設定情報に対応付けてデータベースに格納する制御部を有する(1)〜(5)いずれかに記載の情報処理装置。
(7) 前記学習実行部は、
前記処理実行部から入力する状態、行動、報酬の各情報と、
前記アノテーション入力部を介して入力されたサブ報酬設定情報に対応付けてデータベースに格納された状態、行動、サブ報酬の各情報の双方を適用した学習処理を実行する(6)に記載の情報処理装置。
(8) 前記アノテーション入力部を介して入力するサブ報酬設定情報は、
前記処理実行部の実行する処理を観察するユーザによって入力される情報である(1)〜(7)いずれかに記載の情報処理装置。
(9) 前記アノテーション入力部を介して入力するサブ報酬設定情報は、
前記処理実行部の実行する処理をコントロールするユーザによって入力される情報である(1)〜(8)いずれかに記載の情報処理装置。
(10) 前記アノテーション入力部を介して入力するサブ報酬設定情報は、
前記処理実行部の実行する処理を観察するユーザによって入力され、
前記処理実行部の実行する処理が正解であることを確認したユーザによって入力されるプラス報酬値を有する報酬設定情報である(1)〜(9)いずれかに記載の情報処理装置。
(11) 前記アノテーション入力部を介して入力するサブ報酬設定情報は、
前記処理実行部の実行する処理を観察するユーザによって入力され、
前記処理実行部の実行する処理が正解でないことを確認したユーザによって入力されるマイナス報酬値を有する報酬設定情報である(1)〜(10)いずれかに記載の情報処理装置。
(12) 前記処理実行部は、前記情報処理装置と異なる独立した装置であり、
前記情報処理装置は、前記処理実行部との通信処理によってデータ送受信を行い、前記処理実行部の制御を行う(1)〜(11)いずれかに記載の情報処理装置。
(13) 前記アノテーション入力部は、前記情報処理装置と異なる独立したアノテーション入力装置によって入力されるアノテーション情報を入力する構成である(1)〜(12)いずれかに記載の情報処理装置。
(14) 情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記学習実行部が、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理方法。
(15) 情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置は、
処理実行部の実行する処理に関する状態、行動、報酬の各情報を格納するデータベースと、
前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
前記プログラムは、前記学習実行部に、
前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行させるプログラム。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本開示の一実施例の構成によれば、アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法が実現される。
具体的には、例えば、処理実行部の状態、行動、報酬の各情報を格納するデータベースと、データベースに格納された情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、サブ報酬設定情報を含むアノテーション情報を入力して、データベースに格納するアノテーション入力部を有する。学習実行部は、処理実行部から入力する状態、行動、報酬の各情報と、サブ報酬設定情報を適用した学習処理を実行する。学習実行部は、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出し、行動決定則に従って、処理実行部に実行させる行動を決定する。
これらの処理により、アノテーションの入力により効率的な強化学習を行わせることを可能とした装置、方法が実現される。
10 学習実行部
20 処理実行部
41 お掃除ロボット
42 PC
110 学習実行装置
111 データベース
112 学習実行部
113 行動決定部
114 決定行動要求部
115 行動情報入力部
116 状態情報入力部
117 報酬情報入力部
120 処理実行部
121 行動実行部
122 状態情報取得部
123 報酬情報取得部
130 PC
131 お掃除ロボット
132 リモコン
133 スマホ
200 PC
201 ユーザ
310 学習実行装置
311 データベース
312 学習実行部
313 行動決定部
314 決定行動要求部
315 行動情報入力部
316 状態情報入力部
317 報酬情報入力部
318 アノテーション入力部
320 処理実行装置
321 行動実行部
322 状態情報取得部
323 基本報酬情報取得部
350 アノテーション入力装置
401 スマホ
402 リモコン
403 アノテーション入力部
405 お掃除ロボット
501 CPU
502 ROM
503 RAM
504 バス
505 入出力インタフェース
506 入力部
507 出力部
508 記憶部
509 通信部
510 ドライブ
511 リムーバブルメディア

Claims (15)

  1. 処理実行部の状態、行動、報酬の各情報を格納するデータベースと、
    前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
    サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
    前記学習実行部は、
    前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理装置。
  2. 前記学習実行部は、
    前記学習処理によって、期待報酬を高くするために実行すべき行動を推定する行動決定則を導出する請求項1に記載の情報処理装置。
  3. 前記情報処理装置は、さらに、
    前記行動決定則に従って、前記処理実行部に実行させる行動を決定する行動決定部を有する請求項1に記載の情報処理装置。
  4. 前記情報処理装置は、さらに、
    前記処理実行部から入力する状態、行動、報酬の各情報を入力するデータ入力部を有し、
    前記データベースは、
    前記データ入力部の入力データを格納するとともに、前記アノテーション入力部を介して入力されたサブ報酬設定情報を格納する請求項1に記載の情報処理装置。
  5. 前記アノテーション入力部は、ユーザによる任意タイミングでの入力処理が可能なアノテーション入力装置を介して入力されるサブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納する請求項1に記載の情報処理装置。
  6. 前記情報処理装置は、さらに、
    前記アノテーション入力時における前記処理実行部の状態、行動の各情報を、前記アノテーションに含まれるサブ報酬設定情報に対応付けてデータベースに格納する制御部を有する請求項1に記載の情報処理装置。
  7. 前記学習実行部は、
    前記処理実行部から入力する状態、行動、報酬の各情報と、
    前記アノテーション入力部を介して入力されたサブ報酬設定情報に対応付けてデータベースに格納された状態、行動、サブ報酬の各情報の双方を適用した学習処理を実行する請求項6に記載の情報処理装置。
  8. 前記アノテーション入力部を介して入力するサブ報酬設定情報は、
    前記処理実行部の実行する処理を観察するユーザによって入力される情報である請求項1に記載の情報処理装置。
  9. 前記アノテーション入力部を介して入力するサブ報酬設定情報は、
    前記処理実行部の実行する処理をコントロールするユーザによって入力される情報である請求項1に記載の情報処理装置。
  10. 前記アノテーション入力部を介して入力するサブ報酬設定情報は、
    前記処理実行部の実行する処理を観察するユーザによって入力され、
    前記処理実行部の実行する処理が正解であることを確認したユーザによって入力されるプラス報酬値を有する報酬設定情報である請求項1に記載の情報処理装置。
  11. 前記アノテーション入力部を介して入力するサブ報酬設定情報は、
    前記処理実行部の実行する処理を観察するユーザによって入力され、
    前記処理実行部の実行する処理が正解でないことを確認したユーザによって入力されるマイナス報酬値を有する報酬設定情報である請求項1に記載の情報処理装置。
  12. 前記処理実行部は、前記情報処理装置と異なる独立した装置であり、
    前記情報処理装置は、前記処理実行部との通信処理によってデータ送受信を行い、前記処理実行部の制御を行う請求項1に記載の情報処理装置。
  13. 前記アノテーション入力部は、前記情報処理装置と異なる独立したアノテーション入力装置によって入力されるアノテーション情報を入力する構成である請求項1に記載の情報処理装置。
  14. 情報処理装置において実行する情報処理方法であり、
    前記情報処理装置は、
    処理実行部の状態、行動、報酬の各情報を格納するデータベースと、
    前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
    サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
    前記学習実行部が、
    前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行する情報処理方法。
  15. 情報処理装置において情報処理を実行させるプログラムであり、
    前記情報処理装置は、
    処理実行部の状態、行動、報酬の各情報を格納するデータベースと、
    前記データベースに格納された状態、行動、報酬の各情報を適用した強化学習アルゴリズムに従った学習処理を実行する学習実行部と、
    サブ報酬設定情報を含むアノテーション情報を入力して、前記データベースに格納するアノテーション入力部を有し、
    前記プログラムは、前記学習実行部に、
    前記処理実行部から入力する状態、行動、報酬の各情報と、前記アノテーション入力部を介して入力されたサブ報酬設定情報を適用した学習処理を実行させるプログラム。
JP2018567988A 2017-02-15 2017-11-09 情報処理装置、および情報処理方法、並びにプログラム Pending JPWO2018150654A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017026205 2017-02-15
JP2017026205 2017-02-15
PCT/JP2017/040356 WO2018150654A1 (ja) 2017-02-15 2017-11-09 情報処理装置、および情報処理方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JPWO2018150654A1 true JPWO2018150654A1 (ja) 2019-12-12

Family

ID=63170138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018567988A Pending JPWO2018150654A1 (ja) 2017-02-15 2017-11-09 情報処理装置、および情報処理方法、並びにプログラム

Country Status (4)

Country Link
US (1) US20190332951A1 (ja)
EP (1) EP3584750A4 (ja)
JP (1) JPWO2018150654A1 (ja)
WO (1) WO2018150654A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210260482A1 (en) * 2018-06-29 2021-08-26 Sony Corporation Information processing device and information processing method
US11801446B2 (en) * 2019-03-15 2023-10-31 Sony Interactive Entertainment Inc. Systems and methods for training an artificial intelligence model for competition matches
KR102273398B1 (ko) * 2019-10-21 2021-07-06 주식회사 코그넷나인 데이터 가공 장치 및 그 방법
US11663522B2 (en) * 2020-04-27 2023-05-30 Microsoft Technology Licensing, Llc Training reinforcement machine learning systems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005238422A (ja) * 2004-02-27 2005-09-08 Sony Corp ロボット装置、並びにその状態遷移モデル構築方法及び行動制御方法
JP5879899B2 (ja) * 2011-10-12 2016-03-08 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
EP3584750A4 (en) 2020-02-26
WO2018150654A1 (ja) 2018-08-23
EP3584750A1 (en) 2019-12-25
US20190332951A1 (en) 2019-10-31

Similar Documents

Publication Publication Date Title
WO2018150654A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
Chernova et al. Robot learning from human teachers
Pardowitz et al. Incremental learning of tasks from user demonstrations, past experiences, and vocal comments
Chernova et al. Confidence-based policy learning from demonstration using gaussian mixture models
JP6453922B2 (ja) ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法
Konidaris et al. Constructing skill trees for reinforcement learning agents from demonstration trajectories
JP2006268812A (ja) 学習制御装置および学習制御方法、並びに、プログラム
CN107644255B (zh) 一种人工智能设备的数据处理方法、装置及系统
US20200409379A1 (en) Machine learning method and mobile robot
US20130066817A1 (en) Information processing apparatus, information processing method and program
JP2020013531A (ja) 任務実行に応じた知能型報酬提供システムおよび方法
Biza et al. Online abstraction with MDP homomorphisms for deep learning
Hu et al. Heterogeneous crowd simulation using parametric reinforcement learning
KR102248365B1 (ko) 사용자의 학습을 조정하는 방법 및 이를 이용한 서버
Langsfeld Learning task models for robotic manipulation of nonrigid objects
Del Duchetto et al. Learning on the Job: Long-Term Behavioural Adaptation in Human-Robot Interactions
Cakmak et al. Active learning with mixed query types in learning from demonstration
Mohammad et al. Learning interaction protocols by mimicking understanding and reproducing human interactive behavior
Stein et al. Learning in context: enhancing machine learning with context-based reasoning
US20220150148A1 (en) Latency mitigation system and method
Freedman et al. Safety in AI-HRI: Challenges complementing user experience quality
WO2021140698A1 (ja) 情報処理装置、方法及びプログラム
Fukunaga et al. Evolving controllers for high-level applications on a service robot: a case study with exhibition visitor flow control
Shukla et al. Proactive, incremental learning of gesture-action associations for human-robot collaboration
Burch A survey of machine learning