(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024071272
(43)【公開日】2024-05-24
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
B25J 13/00 20060101AFI20240517BHJP
G06Q 50/10 20120101ALI20240517BHJP
G06T 7/00 20170101ALI20240517BHJP
G06V 20/52 20220101ALI20240517BHJP
G06N 20/00 20190101ALI20240517BHJP
【FI】
B25J13/00 Z
G06Q50/10
G06T7/00 350B
G06V20/52
G06N20/00
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022182126
(22)【出願日】2022-11-14
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】枌 尚弥
(72)【発明者】
【氏名】寺尾 真
【テーマコード(参考)】
3C707
5L049
5L050
5L096
【Fターム(参考)】
3C707KS21
3C707LV14
3C707LW03
3C707LW12
3C707LW15
5L049CC12
5L050CC12
5L096AA06
5L096BA03
5L096BA05
5L096CA04
5L096FA67
5L096FA69
5L096GA30
5L096GA34
5L096HA11
5L096JA03
5L096KA04
(57)【要約】
【課題】制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことのできる技術を提供する。
【解決手段】情報処理装置(1)は、制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得する取得部(11)と、前記状態情報と前記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成する生成部(12)と、前記状態列を用いて前記取得手段が取得した計画列の成功確率を算出する算出部(13)と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得する取得手段と、
前記状態情報と前記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成する生成手段と、
前記状態列を用いて前記取得手段が取得した計画列の成功確率を算出する算出手段と、
を備える情報処理装置。
【請求項2】
前記算出手段は、前記状態列と機械学習により生成された第2の学習済モデルとを用いて、前記取得手段が取得した計画列の成功確率を算出する、
請求項1に記載の情報処理装置。
【請求項3】
前記算出手段は、前記状態列に含まれる最後尾の状態情報を前記第2の学習済モデルに入力することにより前記成功確率を算出する、
請求項2に記載の情報処理装置。
【請求項4】
前記算出手段は、
前記状態列に含まれる状態情報を、前記第2の学習済モデルに入力することにより前記状態情報のそれぞれの成功確率を算出し、
算出した前記状態情報毎の成功確率の統計結果に基づき、前記計画列の成功確率を算出する、
請求項2に記載の情報処理装置。
【請求項5】
前記算出手段は、
前記状態列に含まれる状態情報である状態ベクトルの平均ベクトルを算出し、
算出した平均ベクトルを第2の学習済モデルに入力することにより前記成功確率を算出する、
請求項2に記載の情報処理装置。
【請求項6】
前記状態情報は、画像から得られる特徴量、ロボットアームの関節角度、並びに画像中の物体の位置及び姿勢、の少なくともいずれかを示す情報を含む、
請求項1又は2に記載の情報処理装置。
【請求項7】
前記制御計画は、複数の行動クラスを含む行動クラス群から選択された行動クラス、及びロボット関節への入力値、の少なくともいずれかを含む、
請求項1又は2に記載の情報処理装置。
【請求項8】
前記制御計画は、前記環境の状態を示す情報を含む、
請求項1又は2に記載の情報処理装置。
【請求項9】
(i)制御対象に対する制御計画の時系列である計画列、並びに、当該計画列に含まれる各制御計画の実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態情報の列である状態列と、(ii)当該計画列に含まれる各制御計画の実行により当該制御対象によるタスクが成功したか否かを示すラベルと、の組を含む訓練データを取得する取得手段と、
前記訓練データを用いた教師あり学習により、制御対象に対する制御計画の時系列である計画列の成功確率を出力する学習済モデルを生成する生成手段と、
を備える情報処理装置。
【請求項10】
(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む訓練データを取得する取得手段と、
第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とする学習済モデルを、前記訓練データを用いた教師あり学習により生成する生成手段と、
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御対象に対する制御計画を生成するための技術に関する。
【背景技術】
【0002】
TAMP(Task and Motion Planning)と最適制御とを用いて、複雑で長期的なタスクをロボットアームで実行する計画を生成する技術が提案されている。このような技術では計画の成功率を高めるために制約条件を人手で設計する必要があるが、必要な制約条件を網羅することは困難であり、また、制約条件の不足により実現不可能な計画を立ててしまう場合もある。そこで、制約条件の設計を行うことなく計画案を生成する技術として、例えば非特許文献1には、ランダムサンプリングしたロボットモーターへの複数の入力値のなかで、初期画像及び現在の画像と共にニューラルネットワークに入力したときに、このニューラルネットワークの出力値(計画の成功確率)が高くなる入力値を採用し、これを繰り返すことで、ロボットの行動を実施することが記載されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Levine, Sergey, et al., "Learning hand-eye coordination for robotic grasping with deep learning and large-scale data collection", The International journal of robotics research 37.4-5 (2018): 421-436
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に記載の技術では、1時刻分の情報(現在の画像)のみしか考慮しておらず、長期的な影響を考慮できないという問題がある。
【0005】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことのできる技術を提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様に係る情報処理装置は、制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得する取得手段と、前記状態情報と前記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成する生成手段と、前記状態列を用いて前記取得手段が取得した計画列の成功確率を算出する算出手段と、を備える。
【0007】
また、本発明の一態様に係る情報処理装置は、(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む訓練データを取得する取得手段と、第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とする学習済モデルを、前記訓練データを用いた教師あり学習により生成する生成手段と、を備える。
【0008】
また、本発明の一態様に係る情報処理装置は、少なくとも1つのプロセッサが、制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得することと、前記状態情報と前記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成することと、前記状態列を用いて前記計画列の成功確率を算出することと、を含む。
【0009】
また、本発明の一態様に係る情報処理方法は、少なくとも1つのプロセッサが、(i)制御対象に対する制御計画の時系列である計画列、並びに、当該計画列に含まれる各制御計画の実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態情報の列である状態列と、(ii)当該計画列に含まれる各制御計画の実行により当該制御対象によるタスクが成功したか否かを示すラベルと、の組を含む訓練データを取得することと、前記訓練データを用いた教師あり学習により、制御対象に対する制御計画の時系列である計画列の成功確率を出力する学習済モデルを生成することと、を含む。
【0010】
また、本発明の一態様に係る情報処理方法は、少なくとも1つのプロセッサが、(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む訓練データを取得することと、
第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とする学習済モデルを、前記訓練データを用いた教師あり学習により生成することと、を含む。
【0011】
また、本発明の一態様に係るプログラムは、コンピュータに、制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得する処理と、前記状態情報と前記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成する処理と、前記状態列を用いて前記計画列の成功確率を算出する処理と、を実行させる。
【0012】
また、本発明の一態様に係るプログラムは、コンピュータに、(i)制御対象に対する制御計画の時系列である計画列、並びに、当該計画列に含まれる各制御計画の実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態情報の列である状態列と、(ii)当該計画列に含まれる各制御計画の実行により当該制御対象によるタスクが成功したか否かを示すラベルと、の組を含む訓練データを取得する処理と、前記訓練データを用いた教師あり学習により、制御対象に対する制御計画の時系列である計画列の成功確率を出力する学習済モデルを生成する処理と、を実行させる。
【0013】
また、本発明の一態様に係るプログラムは、コンピュータに、(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む訓練データを取得する処理と、第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とする学習済モデルを、前記訓練データを用いた教師あり学習により生成する処理と、を実行させる。
【発明の効果】
【0014】
本発明の一態様によれば、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことができる。
【図面の簡単な説明】
【0015】
【
図1】例示的実施形態1に係る情報処理装置の構成を示すブロック図である。
【
図2】例示的実施形態1に係る情報処理方法の流れを示すフロー図である。
【
図3】例示的実施形態2に係る情報処理装置が行う計画列の評価処理の概要を説明するための図である。
【
図4】例示的実施形態2に係る情報処理装置の構成を示すブロック図である。
【
図5】例示的実施形態2に係る情報処理装置が行う処理の流れの一例を示す図である。
【
図6】例示的実施形態2に係る情報処理装置が行う処理の流れの一例を示す図である。
【
図7】例示的実施形態2に係る情報処理装置が行う処理の流れの一例を示す図である。
【
図8】例示的実施形態2に係る未来予測部の構成の一例を示す図である。
【
図9】例示的実施形態2に係る成否予測部の構成の一例を示す図である。
【
図10】例示的実施形態2に係る成否予測部が行う処理の具体例を示す図である。
【
図11】例示的実施形態2に係る成否予測部が行う処理の具体例を示す図である。
【
図12】例示的実施形態2に係る成否予測部が行う処理の具体例を示す図である。
【
図13】例示的実施形態2に係る成否予測部が行う処理の具体例を示す図である。
【
図14】例示的実施形態3に係る情報処理装置の構成を示すブロック図である。
【
図15】例示的実施形態3に係る訓練データの具体例を示す図である。
【
図16】例示的実施形態3に係る第1学習済モデルの学習方法の一例を示す図である。
【
図17】例示的実施形態3に係る第1学習済モデル及び第2学習済モデルの学習方法の一例を示す図である。
【
図18】例示的実施形態3に係る第2学習済モデルの学習方法の一例を示す図である。
【
図19】各例示的実施形態に係る情報処理装置として機能するコンピュータの構成を示すブロック図である。
【発明を実施するための形態】
【0016】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0017】
(情報処理装置の構成)
本例示的実施形態に係る情報処理装置1の構成について、
図1を参照して説明する。
図1は、情報処理装置1の構成を示すブロック図である。情報処理装置1は、取得部11(取得手段)、生成部12(生成手段)、算出部13(算出手段)を備える。
【0018】
取得部11は、制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得する。取得部11は、入出力装置を介して入力される状態情報と計画列とを取得してもよいし、情報処理装置1のユーザが指定した格納先(情報処理装置1の記憶装置内であってもよいし、情報処理装置1外の記憶装置であってもよい)から状態情報と計画列とを取得してもよい。
【0019】
生成部12は、上記状態情報と上記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成する。算出部13は、上記状態列を用いて取得部11が取得した計画列の成功確率を算出する。
【0020】
以上のように、本例示的実施形態に係る情報処理装置1においては、制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得する取得部11と、上記状態情報と上記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成する生成部12と、上記状態列を用いて取得部11が取得した計画列の成功確率を算出する算出部13とを備える構成が採用されている。算出部13が算出する成功確率は計画列を評価するための指標であるということもできる。すなわち、本例示的実施形態に係る情報処理装置1によれば、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことができるという効果が得られる。
【0021】
(プログラム)
上述の情報処理装置1の機能は、プログラムによって実現することもできる。本例示的実施形態に係るプログラムは、コンピュータに、制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得する処理と、上記状態情報と上記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成する処理と、上記状態列を用いて上記計画列の成功確率を算出する処理と、を実行させるためのプログラムである。このプログラムによれば、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことができるという効果が得られる。
【0022】
(情報処理方法の流れ)
本例示的実施形態に係る情報処理方法S1の流れについて、
図2を参照して説明する。
図2は、情報処理方法S1の流れを示すフロー図である。なお、情報処理方法S1における各ステップの実行主体は、情報処理装置1が備えるプロセッサであってもよいし、他の装置が備えるプロセッサであってもよい。
【0023】
S11では、少なくとも1つのプロセッサが、制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得する。S12では、少なくとも1つのプロセッサが、上記状態情報と上記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成する。S13では、少なくとも1つのプロセッサが、上記状態列を用いて上記計画列の成功確率を算出する。
【0024】
以上のように、本例示的実施形態に係る情報処理方法S1は、少なくとも1つのプロセッサが、制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得することと、上記状態情報と上記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成することと、上記状態列を用いて上記計画列の成功確率を算出することと、を含む。このため、本例示的実施形態に係る情報処理方法S1によれば、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことができるという効果が得られる。
【0025】
(情報処理装置の構成)
本例示的実施形態に係る情報処理装置2の構成について、
図1を参照して説明する。情報処理装置2は、取得部21(取得手段)及び生成部22(生成手段)を備える。
【0026】
取得部21は訓練データを取得する。訓練データは、(i)制御対象に対する制御計画の時系列である計画列、並びに、当該計画列に含まれる各制御計画の実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態情報の列である状態列と、(ii)当該計画列に含まれる各制御計画の実行により当該制御対象によるタスクが成功したか否かを示すラベルと、の組を含む。取得部21は、入出力装置を介して入力される訓練データを取得してもよいし、情報処理装置2のユーザが指定した格納先(情報処理装置2の記憶装置内であってもよいし、情報処理装置2外の記憶装置であってもよい)から訓練データを取得してもよい。
【0027】
生成部22は、上記訓練データを用いた教師あり学習により学習済モデルを生成する。学習済モデルは、制御対象に対する制御計画の時系列である計画列の成功確率を出力するモデルである。
【0028】
以上のように、本例示的実施形態に係る情報処理装置2においては、(i)制御対象に対する制御計画の時系列である計画列、並びに、当該計画列に含まれる各制御計画の実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態情報の列である状態列と、(ii)当該計画列に含まれる各制御計画の実行により当該制御対象によるタスクが成功したか否かを示すラベルと、の組を含む訓練データを取得する取得部21と、上記訓練データを用いた教師あり学習により、制御対象に対する制御計画の時系列である計画列の成功確率を出力する学習済モデルを生成する生成部22とを備える構成が採用されている。本例示的実施形態に係る情報処理装置2が生成する学習済モデルを用いることにより、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことができるという効果が得られる。
【0029】
(プログラム)
上述の情報処理装置2の機能は、プログラムによって実現することもできる。本例示的実施形態に係るプログラムは、コンピュータに、(i)制御対象に対する制御計画の時系列である計画列、並びに、当該計画列に含まれる各制御計画の実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態情報の列である状態列と、(ii)当該計画列に含まれる各制御計画の実行により当該制御対象によるタスクが成功したか否かを示すラベルと、の組を含む訓練データを取得する処理と、上記訓練データを用いた教師あり学習により、制御対象に対する制御計画の時系列である計画列の成功確率を出力する学習済モデルを生成する処理と、を実行させるためのプログラムである。このプログラムにより生成される学習済モデルを用いることにより、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことができるという効果が得られる。
【0030】
(情報処理方法の流れ)
本例示的実施形態に係る情報処理方法S2の流れについて、
図2を参照して説明する。なお、情報処理方法S2における各ステップの実行主体は、情報処理装置2が備えるプロセッサであってもよいし、他の装置が備えるプロセッサであってもよい。
【0031】
S21では、少なくとも1つのプロセッサが、訓練データを取得する。訓練データは、(i)制御対象に対する制御計画の時系列である計画列、並びに、当該計画列に含まれる各制御計画の実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態情報の列である状態列と、(ii)当該計画列に含まれる各制御計画の実行により当該制御対象によるタスクが成功したか否かを示すラベルと、の組を含む。
【0032】
S22では、少なくとも1つのプロセッサが、上記訓練データを用いた教師あり学習により学習済モデルを生成する。学習済モデルは、制御対象に対する制御計画の時系列である計画列の成功確率を出力するモデルである。
【0033】
以上のように、本例示的実施形態に係る情報処理方法S2は、少なくとも1つのプロセッサが、(i)制御対象に対する制御計画の時系列である計画列、並びに、当該計画列に含まれる各制御計画の実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態情報の列である状態列と、(ii)当該計画列に含まれる各制御計画の実行により当該制御対象によるタスクが成功したか否かを示すラベルと、の組を含む訓練データを取得することと、上記訓練データを用いた教師あり学習により、制御対象に対する制御計画の時系列である計画列の成功確率を出力する学習済モデルを生成することと、を含む。本例示的実施形態に係る情報処理方法S2により生成された学習済モデルを用いることにより、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことができるという効果が得られる。
【0034】
(情報処理装置の構成)
本例示的実施形態に係る情報処理装置3の構成について、
図1を参照して説明する。情報処理装置3は、取得部31(取得手段)及び生成部32(生成手段)を備える。
【0035】
取得部31は訓練データを取得する。訓練データは、(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む。取得部31は、入出力装置を介して入力される訓練データを取得してもよいし、情報処理装置3のユーザが指定した格納先(情報処理装置3の記憶装置内であってもよいし、情報処理装置3外の記憶装置であってもよい)から訓練データを取得してもよい。
【0036】
生成部32は、上記訓練データを用いた教師あり学習により学習済モデルを生成する。学習済モデルは、第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とするモデルである。
【0037】
以上のように、本例示的実施形態に係る情報処理装置3においては、(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む訓練データを取得する取得部31と、第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とする学習済モデルを、上記訓練データを用いた教師あり学習により生成する生成部32と、を備える構成が採用されている。本例示的実施形態に係る情報処理装置3が生成する学習済モデルを用いることにより、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことができるという効果が得られる。
【0038】
(プログラム)
上述の情報処理装置3の機能は、プログラムによって実現することもできる。本例示的実施形態に係るプログラムは、コンピュータに、(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む訓練データを取得する処理と、第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とする学習済モデルを、上記訓練データを用いた教師あり学習により生成する処理と、を実行させるためのプログラムである。このプログラムにより生成される学習済モデルを用いることにより、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことができるという効果が得られる。
【0039】
(情報処理方法の流れ)
本例示的実施形態に係る情報処理方法S3の流れについて、
図2を参照して説明する。なお、情報処理方法S3における各ステップの実行主体は、情報処理装置3が備えるプロセッサであってもよいし、他の装置が備えるプロセッサであってもよい。
【0040】
S31では、少なくとも1つのプロセッサが訓練データを取得する。訓練データは、(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む。
【0041】
S32では、少なくとも1つのプロセッサが、上記訓練データを用いた教師あり学習により学習済モデルを生成する。学習済モデルは、第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とするモデルである。
【0042】
以上のように、本例示的実施形態に係る情報処理方法S3は、少なくとも1つのプロセッサが、(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む訓練データを取得することと、第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とする学習済モデルを、上記訓練データを用いた教師あり学習により生成することと、を含む。本例示的実施形態に係る情報処理方法S3により生成された学習済モデルを用いることにより、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことができるという効果が得られる。
【0043】
〔例示的実施形態2〕
(情報処理装置の概要)
本例示的実施形態に係る情報処理装置1Aは、制御対象に対する制御計画の時系列である計画列を評価する装置である。ここで、制御対象としては、例えばロボットアームが挙げられるが、これに限定されない。制御計画は、制御対象に対してどのような制御を行うかを示すものであり、例えば、複数の行動クラスを含む行動クラス群から選択された行動クラス、及びロボット関節への入力値、の少なくともいずれかを含む。ここで、行動クラスは、例えば「把持する」、「移動する」、等のロボットアームの行動を示すクラスである。ロボット関節への入力値は、例えば、入力速度、加速度、トルク値などの少なくとも1つ以上を含む。ただし、制御計画は上述した例に限定されない。また、制御計画は、制御対象の環境の状態を示す情報を含んでもよい。ここで、環境の状態は、例えば制御対象がオブジェクトを移動させるロボットアームである場合において、シミュレータで予測した移動後のオブジェクトの位置、姿勢等を含む。ただし、環境の状態は上述した例に限定されない。
【0044】
図3は、情報処理装置1Aが行う計画列の評価処理の概要を説明するための図である。
図3において、情報処理装置1Aは、まず、初期状態の環境を撮影した初期画像等を含む初期状態データI
0から特徴を抽出して初期状態を表す状態情報s
0を生成し、生成した状態情報s
0と、制御対象に対する制御計画a
1とを未来予測器である第1学習済モデルLM1に入力することにより、未来の状態を示す状態情報s
1を予測する。また、情報処理装置1Aは、第1学習済モデルLM1を用いて未来の状態を予測することにより状態情報s
tの時系列である状態列(s
1,s
2,…,s
T)を生成し、生成した状態列(s
1,s
2,…,s
T)を用いて、制御計画の時系列である計画列(a
1,a
2,a
3,…)の成功確率を予測する。
【0045】
ここで、状態情報st(t=0,1,2,…T;Tは1以上の整数)は、制御対象及び環境の少なくともいずれかの状態を示す情報であり、一例として、画像から得られる特徴量、ロボットアームの関節角度、並びに画像中の物体の位置及び姿勢、の少なくともいずれかを示す情報を含む。画像から得られる特徴量は、一例として、制御対象及び/又は環境を撮影した初期画像をニューラルネットワークなどの学習済モデルに入力して得られる特徴量である。画像中の物体は、一例として、ロボットアームの動作(把持、移動、等)の対象である物体である。ただし、状態情報は上述した例に限定されず、状態情報は他の情報を含んでいてもよい。
【0046】
成功確率は、計画列(a1,a2,a3,…)が成功する確率である。情報処理装置1Aが算出する成功確率は、例えばロボットアーム等の制御対象を動作させるための計画列作成のために用いられる。例えば、情報処理装置1Aは、算出した成功確率を用いて計画列(a1、a2、a3、…)の最適化処理を実行することにより、ロボットアームに指示する制御計画を決定する。ただし、情報処理装置1Aが算出する成功確率の用途は上述した例に限定されない。
【0047】
本例示的実施形態に係る情報処理装置1Aは、初期の状態のみから計画の成功確率を算出するのではなく、初期の状態から未来の状態を予測し、予測した未来の状態列を用いて計画列を評価する。これにより、本例示的実施形態によれば、長期的な影響を考慮した評価を行うことができる。
【0048】
(情報処理装置の構成)
図4は情報処理装置1Aの構成を示すブロック図である。
図4に示すように、情報処理装置1Aは、制御部10A、記憶部20A、通信部30A及び入出力部40Aを備える。
【0049】
(通信部)
通信部30Aは、情報処理装置1Aの外部の装置と通信回線を介して通信する。通信回線の具体的構成は本例示的実施形態を限定するものではないが、通信回線は一例として、無線LAN(Local Area Network)、有線LAN、WAN(Wide Area Network)、公衆回線網、モバイルデータ通信網、又は、これらの組み合わせである。通信部30Aは、制御部10Aから供給されたデータを他の装置に送信したり、他の装置から受信したデータを制御部10Aに供給したりする。
【0050】
(入出力部)
入出力部40Aには、キーボード、マウス、ディスプレイ、プリンタ、タッチパネル等の入出力機器が接続される。入出力部40Aは、接続された入力機器から情報処理装置1Aに対する各種の情報の入力を受け付ける。また、入出力部40Aは、制御部10Aの制御の下、接続された出力機器に各種の情報を出力する。入出力部40Aとしては、例えばUSB(Universal Serial Bus)などのインタフェースが挙げられる。
【0051】
(制御部)
制御部10Aは、
図4に示すように、状態記述部11A、未来予測部12A、成否予測部13A及び計画作成部15Aを備える。
【0052】
状態記述部11Aは、制御対象及び環境の初期状態を示す初期状態データI0から状態情報を生成し、状態情報s0として記憶部20Aに記憶する。初期状態データI0は、制御対象及び環境の初期状態を表すデータであり、一例として、制御対象及び環境を撮影した画像、ロボットの姿勢、等を示すデータを含む。また、初期状態データI0は例えば、ロボットアームのタスク(把持する、移動させる、等)の対象である物品の位置及び姿勢を示すデータを含んでいてもよい。また、初期状態データI0は上述した例に限定されず、初期状態データI0は他のデータを含んでいてもよい。
【0053】
状態情報s0は、初期状態データI0から生成される情報であり、一例として、(i)初期状態の環境及び制御対象を撮影した画像をニューラルネットワーク等の学習済モデルに入力して得られた特徴量の集合、(ii)ロボットアームの関節角度の集合、(iii)画像中の物体の位置及び姿勢の集合、を結合したものである。状態情報s0としては例えば状態を表すベクトルを用いることができるが、状態情報はベクトルに限られず、他の情報であってもよい。
【0054】
計画作成部15Aは、制御対象に対する制御計画の時系列である計画列を生成し、生成した計画列を計画列PSとして記憶部20Aに記憶する。計画列PSは、一例として、時刻t=1からTのT個の制御計画at(t=1,2,…,T)の列である。
【0055】
未来予測部12Aは、状態情報s0と計画列PSに含まれる制御計画とを第1学習済モデルLM1に入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成する。未来予測部12Aは、本明細書に係る取得手段及び生成手段の一例である。未来予測部12Aは、生成した状態列を状態列SSとして記憶部20Aの状態記憶部21Aに記憶する。
【0056】
成否予測部13Aは、状態列SSを用いて計画列PSの成功確率を算出する。成否予測部13Aは、本明細書に係る算出手段の一例である。成否予測部13Aは一例として、未来予測部12Aが生成した状態列と、機械学習により生成された第2学習済モデルLM2とを用いて、計画作成部15Aが生成した計画列PSの成功確率を算出する。ただし、成否予測部13Aは、第2学習済モデルLM2を用いることなく成功確率を算出する構成であってもよい。例えば、成否予測部13Aは、未来予測部12Aが生成した状態列SSと、予め用意された成功状態の状態情報群との比較結果に基づき、成功確率を算出してもよい。ここで、成功状態の状態情報は、過去に制御計画が実際に実行されることにより遷移した状態(すなわち遷移後の状態)を示す状態情報の列である。成否予測部13Aが行う処理の詳細については後述する。
【0057】
成否予測部13Aは、算出した成功確率を入出力部40Aを介して接続された出力装置に出力してもよいし、通信部30Aを介して上記成功確率を送信してもよい。また、成否予測部13Aは、上記成功確率を情報処理装置1Aのユーザが指定した格納先(情報処理装置1Aの記憶装置内であってもよいし、情報処理装置1A外の記憶装置であってもよい)に書き込むことにより上記情報を出力してもよい。また、成否予測部13Aは、制御対象を制御するための制御情報を生成する制御情報生成部(図示略)に上記成功確率を供給してもよい。
【0058】
(記憶部)
記憶部20Aには、初期状態データI0及び状態情報s0が記憶される。また、記憶部20Aには、計画作成部15Aが生成する計画列PS及び未来予測部12Aが生成する状態列SSが記憶される。また、記憶部20Aには、第1学習済モデルLM1及び第2学習済モデルLM2が記憶される。ここで、記憶部20Aに第1学習済モデルLM1及び第2学習済モデルLM2が記憶されるとは、第1学習済モデルLM1を定めるパラメータ及び第2学習済モデルLM2を定めるパラメータが記憶部20Aに記憶されることをいう。
【0059】
(第1学習済モデル)
第1学習済モデルLM1は、未来予測部12Aが未来の状態の予測に用いるモデルである。第1学習済モデルLM1は、確定的な手法を用いるものであってもよく、また、確率的な手法を用いたものであってもよい。第1学習済モデルLM1は一例として、リカレントニューラルネットワーク及びグラフニューラルネットワークの少なくともいずれかを含む。リカレントニューラルネットワークとしては例えば、RNN(Recurrent Neural Network)、LSTM(Long short-term memory)、GRU(Gated Recurrent Unit)が挙げられるが、これらに限定されない。また、第1学習済モデルLM1は例えば、変分オートエンコーダ(VAE)を含んでもよい。
【0060】
第1学習済モデルLM1の入力は一例として、時刻tの制御計画atと、時刻(t-1)の状態情報st-1とを含む。換言すると、第1学習済モデルLM1の入力は、制御対象に対する制御計画atと、制御計画atが実行される前の制御対象及び環境の少なくともいずれかの状態を示す状態情報st-1を含む。状態情報st-1は、本明細書に係る第3の状態情報の一例である。また、第1学習済モデルLM1の出力は一例として、時刻tの状態情報stを含む。換言すると、第1学習済モデルLM1の出力は、状態情報st-1の遷移後の状態を示す状態情報stを含む。第1学習済モデルLM1の出力である状態情報stは、上述したように、計画列(a1,a2,…,aT)の成功確率の算出処理に用いられる。
【0061】
(第2学習済モデル)
第2学習済モデルLM2は、成否予測部13Aが計画列PSの成功確率の算出のために用いるモデルであり、訓練データを用いた機械学習により構築された学習済モデルである。第2学習済モデルLM2の機械学習の手法は限定されず、一例として、決定木ベース、線形回帰、又はニューラルネットワークの手法が用いられてもよく、また、これらのうちの2以上の手法が用いられてもよい。第2学習済モデルLM2の入力及び出力については後述する。
【0062】
(情報処理装置が行う処理の流れ)
図5~
図7はそれぞれ、情報処理装置1Aが行う処理の流れの一例を示す図である。なお、図中の一方向性の矢印は、ある信号(データ)の流れの方向を端的に示したものであり、双方向性を排除するものではない。
【0063】
図5において、状態記述部11Aは、初期状態データI
0から特徴を抽出し、状態情報s
0を生成する。また、計画作成部15Aは、計画列(a
1,a
2,…,a
T)を生成する。未来予測部12Aは、状態記述部11Aが生成した状態情報s
0と、計画作成部15Aが生成した計画列(a
1,a
2,…,a
T)とを用いて、状態列(s
1,s
2,…,s
T)を生成する。成否予測部13Aは、状態列(s
1,s
2,…,s
T)を用いて成功確率pを算出する。
【0064】
また、
図6の例では、未来の状態列(s
1,s
2,…,s
T)に加えて、計画作成部15Aが生成した計画列(a
1,a
2,…,a
T)が成否予測部13Aに入力される。この場合、成否予測部13Aは、未来の状態列(s
1,s
2,…,s
T)と計画列(a
1,a
2,…,a
T)とを用いて成功確率pを算出する。成否予測部13Aが行う成功確率pの算出処理については後述する。
【0065】
また、
図7の例では、成否予測部13Aは、時系列である計画列(a
1,a
2,…,a
T)全体の成功確率pではなく、各時刻tの成功確率p
tを算出し、出力する。このとき、成否予測部13Aは、各時刻tの成功確率p
tに加えて、各時刻tにおいて予測される状態情報s
tを出力してもよい。
【0066】
(未来予測部の構成例)
図8は、未来予測部12Aの構成の一例を示す図である。
図8の例で、未来予測部12Aは、状態予測部121A及び状態記憶部21Aを含む。状態予測部121Aは、初期状態を示す状態情報s
0と、計画作成部15Aから得られる計画列(a
1,a
2,…,a
T)と、第1学習済モデルLM1を用いて、1ステップずつ未来の状態を予測する。状態記憶部21Aは、状態予測部121Aが予測した未来の状態列(s
1,s
2,…,s
T)を記憶しておき、成否予測部13Aへ渡す。
【0067】
(成否予測部の構成例)
図9は、成否予測部13Aの構成の一例を示す図である。
図9の例で、成否予測部13Aは、特徴抽出部131A及び成否判断部132Aを含む。特徴抽出部131Aは、未来予測部12Aから得られる未来の状態列(s
1,s
2,…,s
T)に基づき、特徴量を算出する。特徴抽出部131Aが算出する特徴量としては例えば、状態列(s
1,s
2,…,s
T)に含まれる複数の状態情報s
tの平均、各状態情報s
tの成功確率p
t、等が挙げられるが、これらに限定されない。また、
図9において、特徴抽出部131Aに計画列(a
1,a
2,…,a
T)が入力されてもよい。この場合、特徴抽出部131Aは、未来の状態列(s
1,s
2,…,s
T)と計画列(a
1,a
2,…,a
T)とに基づき特徴量を算出する。成否判断部132Aは、特徴抽出部131Aが抽出した特徴量に基づき成功確率pを算出する。
【0068】
(成否予測部の具体例1~4)
成否予測部13Aの具体例1~4について、
図10~
図13を参照しつつ説明する。
図10~
図13は、成否予測部13Aが行う処理の具体例を示す図である。
図10~
図13では、状態情報s
tが状態を表すベクトルである場合の例を示している。以下では、説明の便宜上、状態を表すベクトルを「状態ベクトル」ともいう。
【0069】
(成否予測部の具体例1)
図10の例において、特徴抽出部131Aは、未来の状態列(s
1,s
2,…,s
T)に含まれる最後尾の状態情報s
Tを第2学習済モデルLM2に入力することにより成功確率p
Tを算出する。この場合、第2学習済モデルLM2は一例として、状態情報と状態情報が目標状態に到達した否か(制御対象が実行したタスクが成功したか否か、等)を示すラベルとのセットを複数含む訓練データを用いた機械学習により構築された学習済モデルである。この場合、第2学習済モデルLM2の入力は、状態列(s
1,s
2,…,s
T)に含まれる最後尾の状態情報s
Tを含む。ここで、第2学習済モデルLM2の入力は、計画列(a
1,a
2,…,a
T)を含んでもよい。また、第2学習済モデルLM2の出力は、成功確率p
Tを含む。第2学習済モデルLM2としては、例えば全結合層を多段に積み重ねたニューラルネットワークを用いることができる。
【0070】
図10の例では、成否判断部132Aは、特徴抽出部131Aから受け取った成功確率p
Tをそのまま成功確率pとして出力する。
【0071】
(成否予測部の具体例2)
次に、
図11の例において、特徴抽出部131Aは、状態列(s
1,s
2,…,s
T)に含まれる状態情報s
tのそれぞれを第2学習済モデルLM2に入力することにより、状態情報s
tのそれぞれの成功確率p
tを算出し、算出した状態情報s
t毎の成功確率p
tの統計結果に基づき、計画列(a
1,a
2,…,a
T)の成功確率pを算出する。
【0072】
この例で、第2学習済モデルLM2は一例として、状態情報と当該状態情報が目標状態に到達しているか否かを示すラベルとを含む訓練データを用いた機械学習により構築された学習済モデルである。この場合、第2学習済モデルLM2の入力は、状態列(s1,s2,…,sT)を含み、第2学習済モデルLM2の出力は、成功確率p1,p2,…,pTを含む。また、第2学習済モデルLM2の入力は、計画列(a1,a2,…,aT)を含んでもよい。
【0073】
成否判断部132Aは一例として、特徴抽出部131Aから受け取った成功確率p1,p2,…,pTの積を算出し、最終的な成功確率pとする。ただし、成否判断部132Aが成功確率p1,p2,…,pTから成功確率pを算出する手法は上述した例に限定されない。成否判断部132Aは例えば、成功確率p1,p2,…,pTの和に基づき成功確率pを算出してもよく、また、成功確率p1,p2,…,pTのそれぞれに重み値αtを乗算した値の総和に基づき、成功確率pを算出してもよい。
【0074】
(成否予測部の具体例3)
図12の例では、特徴抽出部131Aが状態列(s
1,s
2,…,s
T)に含まれるT個の状態ベクトルの平均ベクトルを算出し、成否判断部132Aが、特徴抽出部131Aが算出した平均ベクトルを第2学習済モデルLM2に入力することにより成功確率pを算出する。この例で、第2学習済モデルLM2は一例として、状態列に含まれる状態ベクトルの平均である平均ベクトルと、状態が目標状態に到達しているか否かを示すラベルと、を含む訓練データを用いた機械学習により構築された学習済モデルである。この場合、第2学習済モデルLM2の入力は平均ベクトルを含み、第2学習済モデルLM2の出力は成功確率pを含む。また、第2学習済モデルLM2の入力は、計画列(a
1,a
2,…,a
T)を含んでもよい。第2学習済モデルLM2としては、例えば多層パーセプトロン(Multilayer perceptron;MLP)などのニューラルネットワークを用いることができる。
【0075】
(成否予測部の具体例4)
図13の例では、成否予測部13Aは、未来予測部12Aが生成した状態列(s
1,s
2,…,s
T)と、予め用意された成功データに含まれる状態情報群との差分に基づき、成功確率pを算出する。ここで、成功データとは、制御計画が実行されることにより実際に遷移した状態を示すデータである。
【0076】
特徴抽出部131Aは一例として、保存しておいた成功データの状態ベクトル群{x
1,x
2,…x
N}と状態ベクトルs
tとの最小距離を、状態ベクトルs
tの特徴量d
tとして算出する。すなわち、特徴抽出部131Aは、特徴量d
tを以下の式で算出する。ここで、i=1,2,…,Nであり、Nは成功データの状態ベクトルの総数である。
【数1】
【0077】
また、成否判断部132Aは、特徴抽出部131Aが算出した特徴量d
1,d
2,…,d
Tを用いて成功確率pを算出する。成否判断部132Aは一例として、以下の式を用いて、特徴量d
1,d
2,…,d
Tの最大値を成功確率pとして算出する。
【数2】
【0078】
(情報処理装置の効果)
以上説明したように本例示的実施形態に係る情報処理装置1Aは、成否予測部13Aは、状態列(s1,s2,…,sT)と第2学習済モデルLM2とを用いて、計画列(a1,a2,…,aT)の成功確率pを算出する。このように1時刻分の状態情報s0だけでなく未来の状態を予測した結果を利用して確率pを算出することにより、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列(a1,a2,…,aT)の評価を行うことができる。
【0079】
また、本例示的実施形態に係る成否予測部13Aは、状態列(s1,s2,…,sT)に含まれる最後尾の状態情報sTを第2学習済モデルLM2に入力することにより、成功確率pを算出する。このため、本例示的実施形態に係る情報処理装置1Aによれば、初期の状態情報s0だけを用いた評価では得られない長期的な影響を考慮した評価を行うことができる。
【0080】
また、本例示的実施形態に係る成否予測部13Aは、状態列(s1,s2,…,sT)に含まれる状態情報stを、第2学習済モデルLM2に入力することにより状態情報stのそれぞれの成功確率ptを算出し、出した成功確率ptの統計結果に基づき、計画列(a1,a2,…,aT)の成功確率pを算出する。このため、本例示的実施形態に係る情報処理装置1Aによれば、状態情報s1~sTに含まれる途中の状態の影響も加味した評価を行うことができる。
【0081】
また、本例示的実施形態に係る成否予測部13Aは、状態列(s1,s2,…,sT)に含まれる状態ベクトルstの平均ベクトルを算出し、算出した平均ベクトルを第2学習済モデルLM2に入力することにより成功確率pを算出する。このため、本例示的実施形態に係る情報処理装置1Aによれば、状態ベクトルs1~sTの示す状態の影響を加味した評価を行うことができる。
【0082】
また、本例示的実施形態に係る情報処理装置1Aにおいて、状態情報stは、画像から得られる特徴量、ロボットアームの関節角度、並びに画像中の物体の位置及び姿勢、の少なくともいずれかを示す情報を含む。このため、本例示的実施形態に係る情報処理装置1Aによれば、画像から得られる特徴量、ロボットアームの関節角度、並びに画像中の物体の位置及び姿勢等の長期的な影響を考慮した評価を行うことができる。
【0083】
また、本例示的実施形態に係る情報処理装置1Aにおいて、制御計画atは、複数の行動クラスを含む行動クラス群から選択された行動クラス、及びロボット関節への入力値、の少なくともいずれかを含む。このため、本例示的実施形態に係る情報処理装置1Aによれば、長期的な影響を考慮して行動クラス、ロボット関節への入力値等の評価を行うことができる。
【0084】
また、本例示的実施形態に係る情報処理装置1Aにおいて、制御計画atは、環境の状態を示す情報を含む。このため、本例示的実施形態に係る情報処理装置1Aによれば、環境の状態を含む制御計画atを用いて成功確率pを算出することにより、計画列の評価をより精度よく行うことができる。
【0085】
〔例示的実施形態3〕
本発明の第3の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態2にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付記し、その説明を繰り返さない。
【0086】
図14は、例示的実施形態3に係る情報処理装置1Bの構成を示すブロック図である。情報処理装置1Bは、制御部10B、記憶部20A、通信部30A及び入出力部40Aを備える。制御部10Bは、推定フェーズ実行部110B及び学習フェーズ実行部120Bを備える。推定フェーズ実行部110Bは、状態記述部11A、未来予測部12A、成否予測部13A及び計画作成部15Aを備える。
【0087】
学習フェーズ実行部120Bは、第1取得部16B、第1生成部17B、第2取得部18B及び第2生成部19Bを備える。第1取得部16B及び第2取得部18Bは、本明細書に係る取得手段の一例である。第1生成部17B及び第2生成部19Bは、本明細書に係る生成手段の一例である。学習フェーズ実行部120Bは、データセットを用いた機械学習により第1学習済モデルLM1及び第2学習済モデルLM2を生成する。
【0088】
図15は、第1学習済モデルLM1、第2学習済モデルLM2、及び/又は第3学習済モデルLM3(
図16参照)の学習に用いられるデータセットの具体例を示す図である。ここで、第3学習済モデルLM3は、状態記述部11Aが状態情報の生成に用いる第3学習済モデルであり、例えばニューラルネットワークである。
図15の例で、データセットは、(i)制御対象に対する制御計画b
tの時系列である計画列(b
1,b
2,b
3,…)と、計画列(b
1,b
2,b
3,…)に含まれる各制御計画b
tの実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態データの列(J
0,J
1,J
2,…)とのペアと、(ii)計画列(b
1,b
2,b
3,…)に含まれる各制御計画b
tの実行により当該制御対象が実行したタスクが成功したか否かを示す2値のラベルと、のセットを複数含む。
【0089】
第1取得部16Bは、データセットを取得し、取得したデータセットから訓練データを生成する。第1取得部16Bは、入出力部40Aを介して入力されるデータセットを取得してもよいし、情報処理装置1Bのユーザが指定した格納先(情報処理装置1Bの記憶部20A内であってもよいし、情報処理装置1B外の記憶装置であってもよい)からデータセットを取得してもよい。訓練データは、計画列(b1,b2,b3,…)と、状態データJ0,J1,J2,…のそれぞれから生成された状態情報q1,q2,q3,…とを含む。第1生成部17Bは、訓練データを用いた機械学習により第1学習済モデルLM1を生成する。
【0090】
図16は、第1学習済モデルLM1の学習方法の一例を示す図である。
図16の例において、第1生成部17Bは、制御計画b
1,b
2,b
3,…を実際に実行することにより遷移した状態を示す状態情報q
1,…,q
Tと、第1学習済モデルLM1が予測する状態情報s^
1,…,s^
Tとの差分が小さくなるように、第1学習済モデルLM1(又は、第1学習済モデルLM1及び第3学習済モデルLM3)を学習させる。より具体的には、第1生成部17Bは例えば、実際の状態を示す状態情報q
tと予測した状態を示す状態情報s^
tとの平均二乗誤差を用いて第1学習済モデルLM1等を規定するパラメータを更新する。
【0091】
換言すると、この例において、第1学習済モデルLM1の学習に用いる訓練データは、(i)制御対象及び環境の少なくともいずれかの状態を示す状態情報q0、及び当該制御対象に対する制御計画btの時系列である計画列(b1,b2,b3,…)と、(ii)当該計画列(b1,b2,b3,…)に含まれる各制御計画btの実行により得られた状態情報q1,q2,q3,…と、を含む。状態情報q0は本明細書に係る第1の状態情報の一例であり、状態情報q1,q2,q3,…は、本明細書に係る第2の状態情報の一例である。
【0092】
第2取得部18Bは、第2学習済モデルLM2の学習に用いる訓練データを生成する。訓練データは、計画列(b1,b2,b3,…)と、状態データJ0,J1,J2,…のそれぞれから生成された状態情報q1,q2,q3,…とを含む。第2生成部19Bは、訓練データを用いた教師あり学習により、制御対象に対する制御計画の時系列である計画列の成功確率を出力する第2学習済モデルLM2を生成する。
【0093】
図17は、第2学習済モデルLM2の学習方法の一例を示す図である。
図17の例において、第2学習済モデルLM2は、状態列(s
1,s
2,…,s
T)に含まれる状態情報s
tを入力とし、成功確率pを出力とする学習済モデルである。また、第2学習済モデルLM2の入力には計画列(a
1,a
2,…,a
T)が含まれてもよい。この例で、第2生成部19Bは、第2学習済モデルLM2が出力する成功確率pが訓練データに含まれる教師ラベルに整合するように第2学習済モデルLM2を学習させる。換言すると、第2生成部19Bは、第2学習済モデルLM2が出力する成功確率が訓練データに含まれるラベルと整合するように第2学習済モデルLM2を学習させる。このとき、第2生成部19Bは、第2学習済モデルLM2だけでなく、状態記述部11Aが状態情報の生成に用いる第3学習済モデルLM3及び/又は第1学習済モデルLM1もあわせて学習させてもよい。例えば、第2生成部19Bはクロスエントロピー誤差を用いて第2学習済モデルLM2等を学習させる。
【0094】
図18は、第2学習済モデルLM2の学習方法の一例を示す図である。
図18の例において、第2学習済モデルLM2は、状態列(s^
1,s^
2,…,s^
T)に含まれる状態情報s^
tを入力とし、成功確率pを出力とする学習済モデルである。また、第2学習済モデルLM2の入力には計画列(a
1,a
2,…,a
T)が含まれてもよい。この例で、第2生成部19Bは、第1学習済モデルLM1が出力する状態情報s^
tと訓練データに含まれる状態情報q
tとの差分を小さくしつつ、第2学習済モデルLM2が出力する成功確率が訓練データに含まれるラベルと整合するように、第1学習済モデルLM1及び第2学習済モデルLM2を学習させる。このとき、第2生成部19Bは、第1学習済モデルLM1及び第2学習済モデルLM2に加えて、第3学習済モデルLM3もあわせて学習させてもよい。例えば第2生成部19Bは、状態情報s^
tと実際の状態を示す状態情報q
tとの差分を小さくするためにq
tとs^
tとを用いて平均自乗誤差を計算し、第2学習済モデルLM2が出力する成功確率が訓練データに含まれるラベルと整合させるために出力した成功確率とラベルとを用いてクロスエントロピー誤差を計算し、第2学習済モデルLM2等の学習を行う。
【0095】
(情報処理装置の効果)
以上のように、本例示的実施形態に係る情報処理装置1Bにおいては、第2学習済モデルLM2は、状態列に含まれる状態情報を入力とし、成功確率pを出力とする学習済モデルであり、第2生成部19Bは、第2学習済モデルLM2が出力する成功確率pが訓練データに含まれるラベルと整合するように、第2学習済モデルLM2を学習させる構成が採用されている。本例示的実施形態に係る情報処理装置1Bが生成した第2学習済モデルLM2を用いて計画列(a1,a2,a3,…,aT)の成功確率pを算出することにより、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことができる。
【0096】
また、本例示的実施形態に係る情報処理装置1Bにおいては、第2学習済モデルLM2は、状態列(s1,s2,…,sT)に含まれる状態情報を入力とし、成功確率pを出力とする学習済モデルであり、第2生成部19Bは、第1学習済モデルLM1が出力する状態情報と訓練データに含まれる状態情報との差分を小さくしつつ、第2学習済モデルLM2が出力する成功確率が訓練データに含まれるラベルと整合するように、第1学習済モデルLM1及び第2学習済モデルLM2を学習させる構成が採用されている。本例示的実施形態に係る情報処理装置1Bが生成した第1学習済モデルLM1及び第2学習済モデルLM2を用いて計画列(a1,a2,…,aT)の成功確率pを算出することにより、制御対象に対する制御計画の評価として、長期的な影響を考慮した計画列の評価を行うことができる。
【0097】
〔ソフトウェアによる実現例〕
情報処理装置1、1A、1B、2、3の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0098】
後者の場合、情報処理装置1、1A、1B、2、3は、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を
図19に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置1、1A、1B、2、3として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置1、1A、1B、2、3の各機能が実現される。
【0099】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(Tensor Processing Unit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0100】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0101】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0102】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0103】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
(付記1)
制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得する取得手段と、前記状態情報と前記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成する生成手段と、前記状態列を用いて前記取得手段が取得した計画列の成功確率を算出する算出手段と、を備える情報処理装置。
【0104】
(付記2)
前記算出手段は、前記状態列と機械学習により生成された第2の学習済モデルとを用いて、前記取得手段が取得した計画列の成功確率を算出する、付記1に記載の情報処理装置。
【0105】
(付記3)
前記算出手段は、前記状態列に含まれる最後尾の状態情報を前記第2の学習済モデルに入力することにより前記成功確率を算出する、付記2に記載の情報処理装置。
【0106】
(付記4)
前記算出手段は、前記状態列に含まれる状態情報を、前記第2の学習済モデルに入力することにより前記状態情報のそれぞれの成功確率を算出し、算出した前記状態情報毎の成功確率の統計結果に基づき、前記計画列の成功確率を算出する、付記2に記載の情報処理装置。
【0107】
(付記5)
前記算出手段は、前記状態列に含まれる状態情報である状態ベクトルの平均ベクトルを算出し、算出した平均ベクトルを第2の学習済モデルに入力することにより前記成功確率を算出する、付記2に記載の情報処理装置。
【0108】
(付記6)
前記状態情報は、画像から得られる特徴量、ロボットアームの関節角度、並びに、画像中の物体の位置及び姿勢、の少なくともいずれかを示す情報を含む、付記1~5のいずれか一項に記載の情報処理装置。
【0109】
(付記7)
前記制御計画は、複数の行動クラスを含む行動クラス群から選択された行動クラス、及びロボット関節への入力値、の少なくともいずれかを含む、付記1~6のいずれか一項に記載の情報処理装置。
【0110】
(付記8)
前記制御計画は、前記環境の状態を示す情報を含む、付記1~7のいずれか一項に記載の情報処理装置。
【0111】
(付記9)
(i)制御対象に対する制御計画の時系列である計画列、並びに、当該計画列に含まれる各制御計画の実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態情報の列である状態列と、(ii)当該計画列に含まれる各制御計画の実行により当該制御対象によるタスクが成功したか否かを示すラベルと、の組を含む訓練データを取得する取得手段と、前記訓練データを用いた教師あり学習により、制御対象に対する制御計画の時系列である計画列の成功確率を出力する学習済モデルを生成する生成手段と、を備える情報処理装置。
【0112】
(付記10)
(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む訓練データを取得する取得手段と、第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とする学習済モデルを、前記訓練データを用いた教師あり学習により生成する生成手段と、を備える情報処理装置。
【0113】
(付記11)
前記学習済モデルは、前記状態列に含まれる状態情報を入力とし、前記成功確率を出力とする学習済モデルであり、前記生成手段は、前記学習済モデルが出力する成功確率が前記訓練データに含まれるラベルと整合するように前記学習済モデルを学習させる、付記9に記載の情報処理装置。
【0114】
(付記12)
前記学習済モデルは、前記状態列に含まれる状態情報を入力とし、前記成功確率を出力とする第2学習済モデルであり、前記生成手段は、状態情報を入力とし当該状態情報の遷移後の状態を示す状態情報を出力する第1学習済モデルが出力する状態情報と前記訓練データに含まれる状態情報との差分を小さくしつつ、前記第2学習済モデルが出力する成功確率が前記訓練データに含まれるラベルと整合するように、前記第1学習済モデル及び前記第2学習済モデルを学習させる、付記11に記載の情報処理装置。
【0115】
(付記13)
少なくとも1つのプロセッサが、制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得することと、前記状態情報と前記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成することと、前記状態列を用いて前記計画列の成功確率を算出することと、を含む情報処理方法。
【0116】
(付記14)
少なくとも1つのプロセッサが、(i)制御対象に対する制御計画の時系列である計画列、並びに、当該計画列に含まれる各制御計画の実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態情報の列である状態列と、(ii)当該計画列に含まれる各制御計画の実行により当該制御対象によるタスクが成功したか否かを示すラベルと、の組を含む訓練データを取得することと、前記訓練データを用いた教師あり学習により、制御対象に対する制御計画の時系列である計画列の成功確率を出力する学習済モデルを生成することと、を含む情報処理方法。
【0117】
(付記15)
少なくとも1つのプロセッサが、(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む訓練データを取得することと、第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とする学習済モデルを、前記訓練データを用いた教師あり学習により生成することと、を含む情報処理方法。
【0118】
(付記16)
コンピュータに、制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得する処理と、前記状態情報と前記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成する処理と、前記状態列を用いて前記計画列の成功確率を算出する処理と、を実行させるためのプログラム。
【0119】
(付記17)
コンピュータに、(i)制御対象に対する制御計画の時系列である計画列、並びに、当該計画列に含まれる各制御計画の実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態情報の列である状態列と、(ii)当該計画列に含まれる各制御計画の実行により当該制御対象によるタスクが成功したか否かを示すラベルと、の組を含む訓練データを取得する処理と、前記訓練データを用いた教師あり学習により、制御対象に対する制御計画の時系列である計画列の成功確率を出力する学習済モデルを生成する処理と、を実行させるためのプログラム。
【0120】
(付記18)
コンピュータに、(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む訓練データを取得する処理と、第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とする学習済モデルを、前記訓練データを用いた教師あり学習により生成する処理と、を実行させるためのプログラム。
【0121】
(付記19)
少なくとも1つのプロセッサを備え、前記プロセッサは、制御対象及び環境の少なくともいずれかの状態を示す状態情報と、当該制御対象に対する制御計画の時系列である計画列とを取得する取得処理と、前記状態情報と前記計画列とを学習済モデルに入力して得られる出力を用いて、予測される未来の状態を示す状態情報の時系列である状態列を生成する生成処理と、前記状態列を用いて前記取得手段が取得した計画列の成功確率を算出する算出処理とを実行する情報処理装置。
【0122】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記生成処理と、前記算出処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【0123】
(付記20)
少なくとも1つのプロセッサを備え、(i)制御対象に対する制御計画の時系列である計画列、並びに、当該計画列に含まれる各制御計画の実行により得られた、当該制御対象及び環境の少なくともいずれかの状態を示す状態情報の列である状態列と、(ii)当該計画列に含まれる各制御計画の実行により当該制御対象によるタスクが成功したか否かを示すラベルと、の組を含む訓練データを取得する取得処理と、前記訓練データを用いた教師あり学習により、制御対象に対する制御計画の時系列である計画列の成功確率を出力する学習済モデルを生成する生成処理とを実行する情報処理装置。
【0124】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記生成処理と、前記算出処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【0125】
(付記21)
少なくとも1つのプロセッサを備え、(i)第1の制御対象及び環境の少なくともいずれかの状態を示す第1の状態情報、及び当該第1の制御対象に対する制御計画の時系列である計画列と、(ii)当該計画列に含まれる各制御計画の実行により得られた第2の状態情報と、を含む訓練データを取得する取得処理と、第2の制御対象に対する制御計画と、当該制御計画が実行される前の当該第2の制御対象及び環境の少なくともいずれかの状態を示す第3の状態情報とを入力とし、当該第3の状態情報の遷移後の状態を示す第4の状態情報であって当該制御計画の時系列である計画列の成功確率の算出処理に用いられる第4の状態情報を出力とする学習済モデルを、前記訓練データを用いた教師あり学習により生成する生成処理とを実行する情報処理装置。
【0126】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記生成処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0127】
1、1A、1B、2、3 情報処理装置
11、21、31 取得部
11A 状態記述部
12、22、32 生成部
12A 未来予測部
13 算出部
13A 成否予測部
15A 計画作成部
16B 第1取得部
17B 第1生成部
18B 第2取得部
19B 第2生成部
S1、S2、S3 情報処理方法