(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023173643
(43)【公開日】2023-12-07
(54)【発明の名称】情報処理装置、情報処理方法、および情報処理プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20231130BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022086041
(22)【出願日】2022-05-26
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】皆本 岳
(72)【発明者】
【氏名】金子 敏充
(57)【要約】
【課題】機器に適用しながら強化学習を行う。
【解決手段】情報処理装置10Aは、取得部40Aと、第1行動価値関数特定部40Bと、第2行動価値関数特定部40Cと、行動決定部40Dと、を備える。取得部40Aは、機器の一例である移動ロボット20の現在状態を取得する。第1行動価値関数特定部40Bは、第1推論モデルを強化学習により学習する学習機能を有し、現在状態と第1推論モデルとに基づいて、移動ロボット20の第1行動価値関数を特定する。第2行動価値関数特定部40Cは、現在状態とパラメータ更新対象外の第2推論モデルに基づいて、移動ロボット20の第2行動価値関数を特定する。行動決定部40Dは、第1行動価値関数および第2行動価値関数に基づいて、移動ロボット20の第1行動を決定する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
機器の現在状態を取得する取得部と、
第1推論モデルを強化学習により学習する機能を有し、前記現在状態と前記第1推論モデルとに基づいて、前記機器の第1行動価値関数を特定する第1行動価値関数特定部と、
前記現在状態とパラメータ更新対象外の第2推論モデルに基づいて、前記機器の第2行動価値関数を特定する第2行動価値関数特定部と、
前記第1行動価値関数および前記第2行動価値関数に基づいて、前記機器の第1行動を決定する行動決定部と、
を備える情報処理装置。
【請求項2】
前記行動決定部は、
前記第1行動価値関数および前記第2行動価値関数の何れか一方を第3行動価値関数として選択し、選択した前記第3行動価値関数に基づいて前記第1行動を決定する、
請求項1に記載の情報処理装置。
【請求項3】
前記行動決定部は、
前記第1推論モデルの学習時間に応じて、前記第1行動価値関数を前記第3行動価値関数として選択する第1選択確率と、前記第2行動価値関数を前記第3行動価値関数として選択する第2選択確率と、を変化させ、
学習時間が短いほど前記第1選択確率を低く且つ前記第2選択確率を高くし、
学習時間が長いほど前記第1選択確率を高く且つ前記第2選択確率を低くする、
請求項2に記載の情報処理装置。
【請求項4】
前記行動決定部は、
前記第1行動価値関数と前記第2行動価値関数とを合成した第3行動価値関数を特定する第3行動価値関数特定部と、
前記第3行動価値関数に基づいて前記第1行動を選択する行動選択部と
を有する、請求項1に記載の情報処理装置。
【請求項5】
前記第3行動価値関数特定部は、
前記第1行動価値関数と前記第2行動価値関数との最大関数を前記第3行動価値関数として特定する、
請求項4に記載の情報処理装置。
【請求項6】
前記行動決定部は、
前記第1行動価値関数を前記第2行動価値関数に基づいて補正した第4行動価値関数を特定する行動価値関数補正部を有し、
前記第3行動価値関数特定部は、
前記第4行動価値関数と前記第2行動価値関数との最大関数を前記第3行動価値関数として特定する、
を備える請求項4に記載の情報処理装置。
【請求項7】
前記行動価値関数補正部は、
前記第1行動価値関数を、前記第1行動価値関数によって表される行動に対する行動価値が前記第2行動価値関数によって表される行動に対する行動価値の最大値と最小値との間の値となるように補正した前記第4行動価値関数を特定する、
請求項6に記載の情報処理装置。
【請求項8】
前記行動価値関数補正部は、
前記第1推論モデルの学習開始時の、前記第2行動価値関数を前記第3行動価値関数として選択する第2選択確率が予め定めた選択確率となるように、前記第1行動価値関数を補正した前記第4行動価値関数を特定する、
請求項6に記載の情報処理装置。
【請求項9】
前記行動価値関数補正部は、
ユーザによって入力された前記選択確率となるように前記第1行動価値関数を補正した前記第4行動価値関数を特定する、
請求項8に記載の情報処理装置。
【請求項10】
前記行動価値関数補正部は、
前記第1行動価値関数を、前記第1行動価値関数によって表される行動に対する行動価値が前記第2行動価値関数によって表される行動に対する行動価値の最大値と最小値との間の、ユーザによって入力された値となるように補正した前記第4行動価値関数を特定する、
請求項7に記載の情報処理装置。
【請求項11】
前記第1行動価値関数特定部は、
前記現在状態と前記現在状態の報酬と前記第1行動とを用いて前記第1推論モデルを強化学習によって学習し、
前記第3行動価値関数の特定に前記第4行動価値関数が用いられた時の前記第1行動を用いて、前記第1推論モデルを強化学習により学習する、
請求項6に記載の情報処理装置。
【請求項12】
前記第2推論モデルは、
前記現在状態と第1ルールに基づく前記機器の行動のデータにより予め学習されている、請求項1に記載の情報処理装置。
【請求項13】
複数の前記第2行動価値関数特定部を備える、
請求項1に記載の情報処理装置。
【請求項14】
前記第1推論モデルの学習の進捗、前記第1行動価値関数および前記第2行動価値関数の少なくとも一方の前記行動決定部による選択確率、前記第1行動価値関数および前記第2行動価値関数の少なくとも一方の前記行動決定部による選択回数、前記第1行動が前記第1行動価値関数および前記第2行動価値関数の何れによって表される行動価値を最大にする行動であるか、前記第2行動価値関数によって表される行動価値を最大にする行動が前記第1行動として選択された選択確率、および、前記選択確率の推移、の少なくとも1つを表す情報を表示部に表示する表示制御部を備える、
請求項1に記載の情報処理装置。
【請求項15】
機器の現在状態を取得するステップと、
第1推論モデルを強化学習により学習する学習機能を有し、前記現在状態と前記第1推論モデルとに基づいて、前記機器の第1行動価値関数を特定するステップと、
前記現在状態とパラメータ更新対象外の第2推論モデルに基づいて、前記機器の第2行動価値関数を特定するステップと、
前記第1行動価値関数および前記第2行動価値関数に基づいて、前記機器の第1行動を決定するステップと、
を含む情報処理方法。
【請求項16】
機器の現在状態を取得するステップと、
第1推論モデルを強化学習により学習する学習機能を有し、前記現在状態と前記第1推論モデルとに基づいて、前記機器の第1行動価値関数を特定するステップと、
前記現在状態とパラメータ更新対象外の第2推論モデルに基づいて、前記機器の第2行動価値関数を特定するステップと、
前記第1行動価値関数および前記第2行動価値関数に基づいて、前記機器の第1行動を決定するステップと、
をコンピュータに実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【0002】
強化学習を用いた行動学習が行われている。強化学習では、様々な行動を試行錯誤して繰り返すことで機器の最適な行動を学習する。ロボットなどの機器を実際に用いて学習を行う場合、機器が意図せぬ状態に陥り、学習中に事故や故障が発生する場合がある。このため、学習中の安全性の確保が求められている。
【0003】
例えば、ルールベースで安全動作の枠組みを決定し、決定された枠組み内で強化学習により行動パラメータを決定する方法が開示されている。また、学習ベースのアルゴリズムによって生成された制御量を、ルールベースで生成した制御量から逸脱しないように修正する方法が提案されている。
【0004】
しかし、枠組み内の強化学習時にはランダムな行動探索が行われるため、従来技術では学習開始直後の性能が低く、必要な性能に達するまで時間を要していた。このため、従来技術では、機器に適用しながら機器の行動を強化学習によって学習することは困難であった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2019-105891号公報
【特許文献2】特許第6663822号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、上記に鑑みてなされたものであって、機器に適用しながら強化学習が可能な、情報処理装置、情報処理方法、および情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態の情報処理装置は、取得部と、第1行動価値関数特定部と、第2行動価値関数特定部と、行動決定部と、を備える。取得部は、機器の現在状態を取得する。第1行動価値関数特定部は、第1推論モデルを強化学習により学習する学習機能を有し、前記現在状態と前記第1推論モデルとに基づいて、前記機器の第1行動価値関数を特定する。第2行動価値関数特定部は、前記現在状態とパラメータ更新対象外の第2推論モデルに基づいて、前記機器の第2行動価値関数を特定する。行動決定部は、前記第1行動価値関数および前記第2行動価値関数に基づいて、前記機器の第1行動を決定する。
【図面の簡単な説明】
【0008】
【
図3A】学習初期段階の第1行動価値関数の模式図。
【
図4】第1選択確率と第2選択確率の推移の説明図。
【
図8】情報処理装置が実行する情報処理の流れのフローチャート。
【
図9】移動ロボットが実行する情報処理の流れのフローチャート。
【
図12A】学習初期段階の第1行動価値関数の模式図。
【
図12B】学習初期段階の第2行動価値関数の模式図。
【
図12C】学習初期段階の第3行動価値関数と第1行動価値関数および第2行動価値関数との関係の模式図。
【
図13A】学習進行段階の第1行動価値関数の模式図。
【
図13B】学習進行段階の第2行動価値関数の模式図。
【
図13C】学習進行段階の第3行動価値関数と第1行動価値関数および第2行動価値関数との関係の模式図。
【
図16】情報処理装置が実行する情報処理の流れのフローチャート。
【
図19A】学習初期段階の第1行動価値関数の模式図。
【
図19B】学習初期段階の第2行動価値関数の模式図。
【
図19C】第1行動価値関数と第4行動価値関数との関係の説明図。
【
図20】情報処理装置が実行する情報処理の流れのフローチャート。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、情報処理装置、情報処理方法、および情報処理プログラムの実施形態を詳細に説明する。
【0010】
(第1実施形態)
図1は、本実施形態の情報処理システム1の一例を示す説明図である。
【0011】
情報処理システム1は、情報処理装置10Aと、移動ロボット20と、運行管理システム30と、を備える。情報処理装置10と、移動ロボット20と、運行管理システム30とは、無線または有線により通信可能に接続されている。
【0012】
情報処理装置10Aは、情報処理装置10の一例である。情報処理装置10は、移動ロボット20の行動を強化学習により学習する情報処理装置である。
【0013】
移動ロボット20は、機器の一例である。機器とは、情報処理装置10によって学習した行動を実行する物である。行動は、動作と称される場合もある。機器は、少なくとも一部の機構が動作する移動体である。機器は、コンピュータによって制御されることで動作する。移動体は、少なくとも一部の機構が動作すればよく、移動体の本体の位置が移動する形態、移動体の本体の位置が移動せず固定された形態、の何れであってもよい。機器は、例えば、マニピュレータを有する作業ロボット、位置移動機構を有する移動ロボット、自動車、船舶、飛翔体、などである。自動車は、具体的には、自律走行する自動運転車などである。飛翔体は、例えば、ドローンなどである。
【0014】
本実施形態では、機器が移動ロボット20である形態を一例として説明する。
【0015】
移動ロボット20は、例えば、予め定められた機能を有する。
図1には、移動ロボット20が、工場や倉庫などの予め定められた領域内で自律的に移動しながら荷物などを運搬する運搬機能を有する例を示す。例えば、移動ロボット20は、出発地点Aから目的地点Bに向かって自律的に移動する。出発地点Aは、移動ロボット20の待機場所などである。目的地点Bは、運搬対象の荷物の保管場所などである。
【0016】
出発地点Aを表す出発地点情報および目的地点Bを表す目的地点情報は、例えば、運行管理システム30から移動ロボット20へ送信される。運行管理システム30は、移動ロボット20の運行を管理する情報処理装置である。
【0017】
出発地点Aから目的地点Bまでの間には、例えば、様々な障害物Cや進入禁止領域Dなどが存在する。障害物Cは、移動ロボット20の移動の障害となる物である。障害物Cは、例えば、他の移動ロボット、壁、棚、扉、人、などである。進入禁止領域Dは、移動ロボット20の侵入を禁止する領域である。移動ロボット20は、障害物Cとの衝突を回避し、且つ、進入禁止領域Dへの侵入を回避しながら、走行可能領域Eを安全に且つ効率よく移動する必要がある。
【0018】
情報処理装置10Aは、移動ロボット20の行動を強化学習により学習する。本実施形態の情報処理装置10Aは、事前に学習するのではなく、実機である移動ロボット20を現場適用しながら移動ロボット20の行動を強化学習により学習する。
【0019】
図2は、情報処理システム1Aの一例の機能ブロック図である。情報処理システム1Aは、情報処理システム1の一例である。
【0020】
情報処理システム1は、情報処理装置10Aと、移動ロボット20と、運行管理システム30と、を備える。情報処理装置10A、移動ロボット20、および運行管理システム30は、ネットワークNなどを介して通信可能に接続されている。
【0021】
移動ロボット20は、制御部22と、通信部24と、センサ26と、記憶部28と、を備える。制御部22、通信部24、センサ26および記憶部28は、バス29などを介して通信可能に接続されている。
【0022】
制御部22は、移動ロボット20において情報処理を実行する。制御部22は、移動ロボット20の行動を制御する。通信部24は、ネットワークNなどを介して情報処理装置10Aおよび運行管理システム30と通信する通信インターフェースである。
【0023】
センサ26は、移動ロボット20および移動ロボット20の周辺環境を検出する。本実施形態では、センサ26は、移動ロボット20の位置情報、車速情報、加速度情報、環境情報、などを検出する。環境情報は、移動ロボット20の周囲の状態を表す情報である。環境情報は、例えば、移動ロボット20の周囲の撮影画像、移動ロボット20の周囲の障害物Cなどの物体の検出結果、などを表す情報である。
【0024】
センサ26は、移動ロボット20および移動ロボット20の周辺環境を検出可能なセンサであればよい。センサ26は、例えば、カメラ、レーダ装置、レーザーレンジファインダー、車速センサ、加速度センサなどである。
【0025】
センサ26は、移動ロボット20および移動ロボット20の周辺環境を検出可能であればよく、配置位置および配置数は限定されない。また、センサ26は、移動ロボット20の外部に搭載されていてもよい。例えば、センサ26は、移動ロボット20が移動する移動環境に設置されていてもよい。また、センサ26は、移動ロボット20および移動ロボット20の移動環境の双方に設置されていてもよい。
【0026】
制御部22は、センサ26の検出結果を情報処理装置10Aへ送信する。本実施形態では、制御部22は、所定時間ごとにセンサ26の検出結果を情報処理装置10Aへ送信する。すなわち、移動ロボット20の制御部22は、時系列に連続する検出結果を情報処理装置10Aへ順次送信する。
【0027】
記憶部28は、各種のデータを記憶する。記憶部28は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。
【0028】
運行管理システム30は、移動ロボット20の運行を管理する情報処理装置である。本実施形態では、運行管理システム30は移動ロボット20へ地図情報を送信する。なお、運行管理システム30は、移動ロボット20および情報処理装置10Aの双方へ地図情報を送信してもよい。
【0029】
地図情報は、出発地点情報、目的地点情報、進入禁止領域情報、走行可能領域情報、障害物情報、などを含む。出発地点情報は、出発地点を表す情報である。目的地点情報は、目的地点を表す情報である。進入禁止領域情報は、進入禁止領域を表す情報である。走行可能領域情報は、移動ロボット20の走行可能な走行可能領域を表す情報である。具体的には、出発地点情報、目的地点情報、進入禁止領域情報、および走行可能領域情報は、
図1中、出発地点A、目的地点B、進入禁止領域D、および走行可能領域Eの各々を表す情報である。
【0030】
障害物情報は、障害物Cを表す情報である。本実施形態では、地図情報に含まれる障害物情報は、移動する可能性の低いまたは移動頻度の低い障害物Cを表す情報である。移動する可能性の低いまたは移動頻度の低い障害物Cは、例えば、壁、棚、扉、などである。
【0031】
情報処理装置10Aは、制御部40と、記憶部42と、入力部44と、表示部46と、通信部48と、を備える。制御部40、記憶部42、入力部44、表示部46、および通信部48は、バス49などを介して通信可能に接続されている。
【0032】
記憶部42は、各種のデータを記憶する。記憶部42は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、記憶部42は、情報処理装置10Aの外部に設けられた記憶装置であってもよい。また、記憶部42は、プログラムや各種の情報を、LAN(Local Area Network)やインターネットなどを介してダウンロードして記憶または一時記憶した記憶媒体であってもよい。
【0033】
入力部44は、ユーザによる各種の操作を受付ける。入力部44は、例えば、キーボードおよびマウスなどのポインティングデバイス、マイクロフォン、などである。
【0034】
表示部46は、各種の情報を表示する。表示部46は、例えば、移動ロボット20に関する設定、移動ロボット20の状態、および移動ロボット20による作業状況などを表示する。
【0035】
表示部46と入力部44とを一体的に構成し、タッチパネルとして構成してもよい。また、入力部44および表示部46は、情報処理装置10Bとは別体として構成されていてもよい。この場合、入力部44および表示部46と、情報処理装置10Bとを、通信可能に接続した構成とすればよい。
【0036】
通信部48は、ネットワークNなどを介して移動ロボット20および運行管理システム30と通信する通信インターフェースである。
【0037】
記憶部42および制御部40の少なくとも一方を、ネットワークNおよび通信部48を介して接続されたサーバ装置などの外部の情報処理装置に搭載した構成としてもよい。また、制御部40に含まれる後述する機能部の少なくとも1つを、ネットワークNおよび通信部48を介して制御部40に接続された、サーバ装置などの外部の情報処理装置に搭載してもよい。
【0038】
制御部40は、情報処理装置10Aにおいて各種の情報処理を実行する。
【0039】
制御部40は、取得部40Aと、第1行動価値関数特定部40Bと、第2行動価値関数特定部40Cと、行動決定部40Dと、表示制御部40Eと、送信制御部40Fと、を備える。
【0040】
取得部40A、第1行動価値関数特定部40B、第2行動価値関数特定部40C、行動決定部40D、表示制御部40E、および送信制御部40Fは、1つまたは複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2つ以上を実現してもよい。
【0041】
取得部40Aは、移動ロボット20の現在状態を取得する。取得部40Aは、移動ロボット20から受信したセンサ26の検出結果および運行管理システム30から受信した地図情報を用いて、移動ロボット20の現在状態を取得する。なお、取得部40Aは、移動ロボット20から地図情報を受信してもよい。
【0042】
移動ロボット20の現在状態とは、移動ロボット20の現在の状態情報である。状態情報は、移動ロボット20本体の状態情報、周辺障害物の状態情報、および地図情報を含む。
【0043】
移動ロボット20本体の状態情報とは、移動ロボット20本体の状態を表す情報である。移動ロボット20本体の状態情報は、例えば、移動ロボット20の位置情報、車速情報、加速度情報、などである。
【0044】
例えば、取得部40Aは、移動ロボット20から取得した検出結果に含まれる複数のカメラの撮影画像を解析することで、移動ロボット20の位置情報を取得する。例えば、取得部40Aは、移動ロボット20の移動環境に設置された複数のセンサ26によって撮影された移動ロボット20の撮影画像を画像解析することで、移動ロボット20の位置座標を特定する。そして、取得部40Aは、特定した位置座標を、移動ロボット20の位置情報として取得する。
【0045】
また、例えば、取得部40Aは、移動ロボット20から取得した検出結果に含まれる車速情報および加速度情報を特定することで、移動ロボット20の車速情報および加速度情報を取得する。取得部40Aは、移動ロボット20の時系列の撮影画像などを解析することで、移動ロボット20の車速情報および加速度情報を取得してもよい。
【0046】
周辺障害物の状態情報とは、移動ロボット20の周辺に存在する障害物Cの状態を表す情報である。周辺障害物の状態情報は、例えば、移動ロボット20の周辺に存在する障害物Cの位置情報および速度情報を含む。取得部40Aは、カメラおよびレーダ装置などのセンサ26の検出結果を解析することで、障害物Cの位置情報および速度情報を取得する。なお、取得部40Aは、移動ロボット20に対する障害物Cの相対位置および相対速度を、障害物Cの位置情報および速度情報として取得してもよい。また、取得部40Aは、移動ロボット20の周辺の撮影画像を、周辺障害物の状態情報として取得してもよい。また、取得部40Aは、地図情報に含まれる障害物情報を特定することで、周辺障害物の状態情報を取得してもよい。
【0047】
取得部40Aは、移動ロボット20の現在状態を取得すると、取得した現在状態の報酬を算出する。報酬とは、後述する第1行動価値関数特定部40Bに設けられた第1推論モデルの強化学習で用いられる報酬である。
【0048】
取得部40Aは、移動ロボット20の行動の結果である現在状態の好ましさに基づいて、第1推論モデルの強化学習で用いる報酬を算出する。
【0049】
詳細には、取得部40Aは、移動ロボット20の行動の結果である現在状態が好ましい状態を表すほど、より大きな値の報酬を算出する。一方、取得部40Aは、移動ロボット20の行動の結果である現在状態が好ましくない状態を表すほど、より小さい値の報酬を算出する。
【0050】
好ましい状態とは、移動ロボット20が予め定められた基準に沿って行動した状態を意味する。基準は、予め定めればよい。例えば、好ましい状態は、障害物Cへの衝突を回避、進入禁止領域Dへの侵入を回避、目的地点Bへの到達、目的地点Bへの短い所要時間での到達、出発地点Aから目的地点Bまでの複数回数の往復移動、などを表す。
【0051】
取得部40Aは、取得した移動ロボット20の現在状態に基づいて、移動ロボット20の行動が好ましい状態であるか否かを判別することで、報酬を算出する。
【0052】
例えば、以下の場合、取得部40Aは、移動ロボット20の行動が好ましい状態であると判別し、より大きな値の報酬を算出する。例えば、取得部40Aが、取得した現在状態に基づいて、移動ロボット20が目的地点Bに到達したと判別した場合を想定する。この場合、取得部40Aは、大きな値の報酬を算出する。また、取得部40Aが、取得した現在状態に基づいて、出発地点Aから目的地点Bに到達するまでに要した所要時間を特定した場合を想定する。この場合、取得部40Aは、所要時間が短いほど大きな値の報酬を算出する。また、取得部40Aが、取得した現在状態に基づいて出発地点Aから目的地点Bまでの単位時間あたりの往復回数を算出した場合を想定する。この場合、取得部40Aは、往復回数が多いほど大きな値の報酬を算出する。
【0053】
また、例えば、以下の場合、取得部40Aは移動ロボット20の行動が好ましくない状態であると判別し、より小さい値、例えば、負の値の報酬を算出する。例えば、取得部40Aが、取得した現在状態に基づいて移動ロボット20が好ましくない状態にあると判別した場合を想定する。例えば、取得部40Aが、現在状態に基づいて、目的地点Bへの到達不可能、移動ロボット20の進入禁止領域Dへの侵入、移動ロボット20の障害物Cへの衝突、などを判別した場合を想定する。この場合、取得部40Aは、より小さい値の報酬を算出する。
【0054】
次に、第1行動価値関数特定部40Bについて説明する。第1行動価値関数特定部40Bは、第1推論モデルを強化学習により学習する学習機能を有する。第1行動価値関数特定部40Bは、現在状態と第1推論モデルとに基づいて、移動ロボット20の第1行動価値関数を特定する。
【0055】
第1推論モデルとは、現在状態に基づいて第1行動価値関数を出力する機械学習モデルである。すなわち、第1推論モデルは、現在状態を入力とし、第1行動価値関数を出力とする機械学習モデルである。また、第1推論モデルは、第1行動価値関数特定部40Bによる強化学習対象の機械学習モデルである。第1推論モデルは、例えば、ニューラルネットワークで構成される。
【0056】
第1行動価値関数とは、第1推論モデルから出力される行動価値関数である。
【0057】
行動価値関数とは、強化学習で用いられる公知の行動価値関数であり、タイミングtの試行において行動aを選択した場合の行動価値を表す関数である。タイミングtは、試行回数を表す。タイミングtは、時刻であってもよい。本実施形態では、タイミングtが時刻tである形態を想定して説明する。
【0058】
行動価値とは、現在状態で行動aを選択した結果として獲得できる割引累積報酬の期待値である。例えば、強化学習アルゴリズムDQN(Deep Q-Network)では、行動価値関数に基づいて行動aの選択が行われる。
【0059】
第1行動価値関数は、例えば、Q1(s,a)と表される。sは現在状態を表し、aは行動を表す。
【0060】
図3Aは、学習初期段階の第1行動価値関数の一例を示す模式図である。学習初期段階とは、第1推論モデルが学習初期の段階にあることを表す。
図3A中、横軸は行動を表し、縦軸は行動価値を表す。線
図51は第1行動価値関数を表す。
【0061】
【0062】
第1行動価値関数特定部40Bは、取得部40Aで取得した移動ロボット20の現在状態と報酬とを用いて、第1行動価値関数を出力するように、第1推論モデルを強化学習によって学習する。
【0063】
報酬は、上述したように、取得した移動ロボット20の現在状態に基づいて取得部40Aによって算出される。移動ロボット20は、後述する行動決定部40Dによって順次決定される第1行動に沿って行動する。
【0064】
第1行動とは、移動ロボット20が次にとる行動を表す情報である。第1行動は、後述する行動決定部40Dによって決定される。すなわち、第1行動とは、情報処理装置10Aによって決定される、移動ロボット20が次にとる行動を表す情報である。第1行動は、例えば、移動ロボット20の進行方向を示す情報である。進行方向は、例えば、右、左、直進、および停止、の何れか1つを表す。なお、第1行動は、移動ロボット20の進行方向および目標速度を表す情報であってもよい。また、第1行動は、移動ロボット20が次にとる行動を表す情報であればよく、進行方向および目標速度に限定されない。例えば、第1行動は、移動ロボット20などの機器の動作機構に応じて決定すればよい。
【0065】
移動ロボット20による第1行動に沿った行動によって、移動ロボット20の現在状態は変化する。このため、報酬は、移動ロボット20へ出力された第1行動に応じた値となる。
【0066】
そこで、第1行動価値関数特定部40Bは、取得部40Aで取得した移動ロボット20の現在状態と、報酬と、該報酬の算出に用いられた現在状況の制御に用いられた移動ロボット20の第1行動と、を用いて、第1推論モデルを強化学習により学習する。
【0067】
詳細には、第1行動価値関数特定部40Bは、取得部40Aで時刻tに取得した移動ロボット20の現在状態st、報酬rt、該報酬rtの算出に用いられた移動ロボット20の現在状況の制御に用いられた行動at、および、次の時刻t+1に取得部40Aで取得した現在状態st+1、を含む経験データを記憶部42に記憶する。そして、第1行動価値関数特定部40Bは、経験データを用いて、第1推論モデルを強化学習により学習する。
【0068】
強化学習のアルゴリズムには、公知の強化学習アルゴリズムを使用すればよい。強化学習のアルゴリズムには、例えば、DQN(Deep Q-Network)、Sarsa、Actor-Critic等が用いられる。
【0069】
DQNにより強化学習を行う場合を想定する。また、経験データx=(st,at,rt,st+1)がサンプリングされた場面を想定する。この場合、第1行動価値関数特定部40Bは、以下の式(1)によって表される損失関数を用いてバックプロパゲーションを行うことで、第1推論モデルに含まれる複数のパラメータの各々の更新量を決定する。
【0070】
L=(rt+γmax{Q1(st+1,at+1)}-Q1(st,at))2 式(1)
【0071】
式(1)中、Lは損失関数を表す。rtは時刻tの報酬を表す。γは、強化学習において割引率と呼ばれる値である。Q1(st+1,at+1)は、次の時刻t+1の第1行動価値関数を表す。Q1(st,at)は、時刻tの第1行動価値関数を表す。stは時刻tの現在状態sを表す。atは時刻tの行動を表す。
【0072】
バックプロパゲーションとは、機械学習において、ニューラルネットワークを学習させる際に用いられるアルゴリズムである。バックプロパゲーションは、誤差逆伝播法と称される場合もある。
【0073】
第1行動価値関数特定部40Bは、上記処理によって強化学習した第1推論モデルに取得部40Aで取得した現在状態を入力することで、該第1推論モデルからの出力として、時刻tで用いるための第1行動価値関数を特定する。
【0074】
第1行動価値関数特定部40Bは、第1推論モデルを用いて特定した第1行動価値関数を行動決定部40Dへ出力する。
【0075】
次に、第2行動価値関数特定部40Cについて説明する。第2行動価値関数特定部40Cは、現在状態と第2推論モデルとに基づいて、移動ロボット20の第2行動価値関数を特定する。
【0076】
第2推論モデルは、現在状態に基づいて第2行動価値関数を出力するモデルである。すなわち、第2推論モデルは、現在状態を入力とし、第2行動価値関数を出力とするモデルである。また、第2推論モデルは、パラメータ更新対象外のモデルである。すなわち、第2推論モデルは、強化学習対象外のモデルである。例えば、第2推論モデルは、機械学習モデル、統計モデルなどである。
【0077】
本実施形態では、第2推論モデルが、ニューラルネットワーク等により構成された機械学習モデルである形態を一例として説明する。また、本実施形態では、第2推論モデルが、事前学習された学習済の機械学習モデルである形態を一例として説明する。第2推論モデルの事前学習には、公知の学習アルゴリズムを使用すればよい。第2推論モデルの事前学習には、例えば、オフライン強化学習のアルゴリズムConservative Q Learning等が用いられる。
【0078】
第2推論モデルの事前学習に用いる学習データは、どのように収集されたデータであってもよい。例えば、学習データは、人間がロボットを操作することによって収集した経験データ、ランダム方策による経験データ、等を用いればよい。
【0079】
本実施形態では、第2推論モデルが、第1ルールに基づく移動ロボット20の行動のデータにより予め学習されている場合を一例として説明する。
【0080】
第1ルールに基づく移動ロボット20の行動とは、移動ロボット20が次にとる行動を表す情報である。言い換えると、第1ルールに基づく移動ロボット20の行動は、ルールベースで決定される行動を表す情報である。第1ルールに基づく移動ロボット20の行動は、例えば、第1行動と同様に移動ロボット20の進行方向を表す情報であってもよい。また、該行動は、第1行動と同様に移動ロボット20の進行方向および目標速度などを表す情報であってもよい。
【0081】
第1ルールとは、移動ロボット20の行動に関する最低要求性能を満たすルールである。最低要求性能とは、移動ロボット20の管理者などによって予め定められた、移動ロボット20に対する最低基準の要求性能である。
【0082】
例えば、第1ルールは、出発地点情報と目的地点情報と地図情報からA*(A-star)法などの探索アルゴリズムにより決定される経路に沿って進行することを表すルールである。また、第1ルールは、障害物Cが存在する場合には、障害物Cの手前で停止または障害物Cを避けた進行を表すルールである。なお、障害物Cの手前で停止するルールとした場合、障害物Cへの衝突は回避される。しかし、移動ロボット20が目的地点Bに到達するまでに検出される障害物Cの数が多いほど、単位時間あたりの移動ロボット20の行動効率は低下する。このため、安全性担保および最低要求性能の双方を満たすルールとなるように、第1ルールを設定することが好ましい。
【0083】
第2行動価値関数とは、第2推論モデルから出力される行動価値関数である。行動価値関数の定義は、上述したため、ここでは説明を省略する。第2行動価値関数は、例えば、Q2(s,a)と表される。sは現在状態を表し、aは行動を表す。
【0084】
図3Bは、第2行動価値関数の一例を示す模式図である。
図3B中、横軸は行動を表し、縦軸は行動価値を表す。線
図52は、第2行動価値関数を表す。
【0085】
【0086】
第2行動価値関数特定部40Cは、取得部40Aで取得した現在状態を第2推論モデルへ入力することで、該第2推論モデルからの出力として、時刻tで用いるための第2行動価値関数を特定する。
【0087】
上述したように、本実施形態では、第2行動価値関数特定部40Cは、第1ルールに基づく移動ロボット20の行動のデータにより予め学習されている第2推論モデルを用いて、第2行動価値関数を特定する。このため、現在状態において第2行動価値関数によって表される行動価値を最大にする行動は、第1ルールによるルールベースで決定された行動を表すものとなる。
【0088】
第2行動価値関数特定部40Cは、第2推論モデルを用いて特定した第2行動価値関数を行動決定部40Dへ出力する。
【0089】
次に、行動決定部40Dについて説明する。
【0090】
行動決定部40Dは、第1行動価値関数および第2行動価値関数に基づいて、移動ロボット20の第1行動を決定する。第1行動は、上述したように、移動ロボット20が次にとる行動を表す情報である。
【0091】
例えば、行動決定部40Dは、第1行動価値関数によって表される行動価値、および、第2行動価値関数によって表される行動価値、の何れか一方を最大にする行動を、第1行動として決定する。言い換えると、行動決定部40Dは、第1行動価値関数によって表される行動価値の内、最大の行動価値に対応する行動、または、第2行動価値関数によって表される行動価値の内、最大の行動価値に対応する行動を、第1行動として決定する。
【0092】
また、行動決定部40Dは、第1行動価値関数および第2行動価値関数の何れか一方を第3行動価値関数として選択し、選択した第3行動価値関数に基づいて第1行動を決定してよい。第3行動価値関数は、例えば、Q3(s,a)と表される。sは現在状態を表し、aは行動を表す。
【0093】
例えば、行動決定部40Dは、第1推論モデルの学習時間に応じて、第1行動価値関数を第3行動価値関数として選択する第1選択確率と、第2行動価値関数を第3行動価値関数として選択する第2選択確率と、を変化させる。学習時間が長いほど、第1推論モデルの学習の進捗がより進行していることを意味する。学習時間が長いとは、より学習の進捗が進行していることを表す。学習時間は、例えば、第1推論モデルの試行回数または累積計算時間によって表される。
【0094】
第1選択確率とは、行動決定部40Dが第1行動価値関数を第3行動価値関数として選択する選択確率を表す。言い換えると、第1選択確率は、第1行動価値関数によって表される行動価値の内の最大の行動価値に対応する行動が、第1行動として選択される選択確率を表す。
【0095】
第2選択確率とは、行動決定部40Dが第2行動価値関数を第3行動価値関数として選択する選択確率を表す。言い換えると、第2選択確率は、第2行動価値関数によって表される行動価値の内の最大の行動価値に対応する行動が、第1行動として選択される選択確率を表す。
【0096】
この場合、行動決定部40Dは、学習時間が短いほど第1選択確率を低く且つ第2選択確率を高くし、学習時間が長いほど第1選択確率を高く且つ第2選択確率を低くする。
【0097】
すなわち、行動決定部40Dは、学習開始時には第1選択確率を第2選択確率より低く設定する。そして、行動決定部40Dは、第1選択確率を学習時間の経過に応じて線形に増加させる。
【0098】
図4は、第1選択確率と第2選択確率の推移の一例の説明図である。第1選択確率をεとし、第2選択確率を1-εとする。学習時間をtとする。
図4中の縦軸は第1選択確率を表し、横軸は学習時間を表す。
【0099】
例えば、学習開始時刻すなわちt=0の時刻の第1選択確率をε=ε0とする。最大学習時間をtmaxとし、時刻tにおける第1選択確率をε=ε0(t/tmax)とする。この場合、第2選択確率は、1-ε=ε0(1-t/tmax)となる。
【0100】
行動決定部40Dは、学習開始時点では、第1選択確率を低く設定する。例えば、ε=ε
0=0.05とする。そして、行動決定部40Dは、学習時間が経過するほど、第1選択確率を高くし、第2選択確率を低くする。このため、行動決定部40Dが第1行動価値関数を第3行動価値関数として選択する第1選択確率εは、例えば、
図4に示す線
図50によって表される。
【0101】
このため、第1推論モデルの学習が不十分な学習初期段階では、第2行動価値関数が第3行動価値関数として選択される確率が高くなる。そして、第1推論モデルの学習の進捗が進行するほど、第1行動価値関数が第3行動価値関数として選択される確率が高くなる。
【0102】
そして、行動決定部40Dは第3行動価値関数に基づいて第1行動を決定する。例えば、第3行動価値関数における最大の行動価値に対応する行動を、第1行動として決定する。具体的には、第1行動は、下記式(A)によって表される。
【0103】
arg max{Q1(s,a)} 式(A)
【0104】
なお、行動決定部40Dによる探索方法は、本方法に限定されない。例えば、行動決定部40Dは、第3行動価値関数を用いたボルツマン探索を行ってもよい。この探索により、行動決定部40Dは、最も選択確率の高い行動、すなわち第3行動価値関数における最大の行動価値に対応する行動を、第1行動として決定する確率が高くなる。また、例えば、行動決定部40Dは、第3行動価値関数を用いたイプシロングリーディ探索により、第1行動を決定してもよい。
【0105】
第3行動価値関数を用いたボルツマン探索を行う場合、現在状態sで行動aを選択する選択確率p(a|s)は、下記式(2)によって表される。
【0106】
p(a|s)=exp(Q3(s,a)/T)/Σexp(Q3(s,b)/T)
式(2)
【0107】
式(2)中、Q3(s,a)は第3行動価値関数を表す。Tはボルツマン温度を表す。Σは取り得る行動b∈AについてのQ3(s,b)の和を計算することを表す。Aは取り得る行動の集合、すなわち行動空間を示す。sは現在状態を表す。aは行動を表す。Q3(s,b)のbは、行動空間Aの要素、すなわち取り得る行動のどれか1つである。
【0108】
これらの処理により、行動決定部40Dは、第3行動価値関数として選択した第1行動価値関数、または、第3行動価値関数として選択した第2行動価値関数における、最大の行動価値に対応する行動を第1行動として決定する。
【0109】
このため、行動決定部40Dが第1推論モデルの学習時間に応じて第1選択確率と第2選択確率を変化させることで、学習初期の段階では第2行動価値関数における最大の行動価値に対応する行動が第1行動として決定される確率が高くなる。また、学習時間が経過し、学習の進捗が進行するほど、第1行動価値関数における最大の行動価値に対応する行動が第1行動として決定される確率が高くなる。
【0110】
本実施形態では、第2行動価値関数の特定に用いられる第2推論モデルは、移動ロボット20の行動に関する最低要求性能を満たすルールである第1ルールに基づく移動ロボット20の行動のデータにより予め学習されている。
【0111】
このため、行動決定部40Dは、学習の進捗に拘わらず第1行動を決定する場合に比べて、獲得できる報酬の高い行動を第1行動として選択することができる。言い換えると、行動決定部40Dは、第1推論モデルの学習の初期の段階から学習が十分に進行した段階の全般にわたって、移動ロボット20の行動に関する最低要求性能を満たしながら第1推論モデルを学習可能な第1行動を決定することができる。
【0112】
なお、
図4には、学習時間に対して第1選択確率を線形に変化させる形態を一例として示した。しかし、第1選択確率の変化は、線形に変化させる形態に限定されない。また、第1選択確率の変化は、ユーザによる入力部44の操作指示などによって適宜変更可能としてもよい。
【0113】
【0114】
表示制御部40Eは、各種の画像を表示部46に表示する。
【0115】
本実施形態では、表示制御部40Eは、第1推論モデルの学習の進捗、第1行動価値関数および第2行動価値関数の少なくとも一方の行動決定部40Dによる選択確率、第1行動価値関数および第2行動価値関数の少なくとも一方の行動決定部40Dによる選択回数、および、第1行動が第1行動価値関数および第2行動価値関数の何れによって表される行動価値を最大にする行動であるか、の少なくとも1つを表す情報を、表示部46に表示する。
【0116】
表示制御部40Eが表示する第1推論モデルの学習の進捗は、現在時刻における進捗である。例えば、表示制御部40Eは、第1推論モデルの学習時間、第1推論モデルの学習終了までの時間、などを現在時刻における進捗として表示する。このため、表示制御部40Eは、現在時刻における第1推論モデルの学習の進捗状況を、ユーザに対して容易に確認可能に提供することができる。
【0117】
表示制御部40Eが表示する選択確率は、現在時刻における、行動決定部40Dが第1行動価値関数を第3行動価値関数として選択する第1選択確率、および、第2行動価値関数を第3行動価値関数として選択する第2選択確率、の少なくとも一方である。上述したように、第1選択確率および第2選択確率は、学習の進捗に応じて変化する。このため、表示制御部40Eが、選択確率を表示することで、現在時刻における第1選択確率および第2選択確率の少なくとも一方を、ユーザに対して容易に確認可能に提供することができる。
【0118】
表示制御部40Eが表示する選択回数は、第1推論モデルの学習開始時から現在時刻までの期間における、行動決定部40Dが第1行動価値関数を第3行動価値関数として選択した選択回数、および、第2行動価値関数を第3行動価値関数として選択した選択回数、の少なくとも一方である。上述したように、第1選択確率および第2選択確率は、学習の進捗に応じて変化する。このため、第1行動価値関数および第2行動価値関数の各々の選択回数も学習の進捗に応じて変化する。このため、表示制御部40Eが、選択回数を表示することで、現在時刻における第1行動価値関数および第2行動価値関数の行動決定部40Dによる選択状況を、ユーザに対して容易に確認可能に提供することができる。
【0119】
表示制御部40Eが表示する、第1行動が第1行動価値関数および第2行動価値関数の何れによって表される行動価値を最大にする行動であるかを表す情報は、現在時刻において行動決定部40Dが選択した第1行動を表す情報である。このため、表示制御部40Eは、現在時刻において移動ロボット20が次にとる行動が、第1行動価値関数によって表される行動価値を最大にする行動または第2行動価値関数によって表される行動価値を最大にする行動の何れであるかをユーザに対して容易に確認可能に提供することができる。
【0120】
表示制御部40Eは、これらの情報を、1つの表示画面に表示してもよいし、異なる複数の表示画面に表示してもよい。また、表示制御部40Eは、これらの情報の全てを、同じタイミングで表示画面に表示してもよいし、少なくとも1つの情報を他の情報とは異なるタイミングで表示画面に表示してもよい。
【0121】
図5~
図7は、表示画面70の一例を示す模式図である。
【0122】
図5は、表示画面60の一例を示す模式図である。表示画面60は、表示画面70の一例である。
【0123】
表示画面60は、第1推論モデルの学習の進捗を表す画像60Aと、第1行動価値関数を選択する確率である第1選択確率を表す画像60Bと、第1行動価値関数の選択回数を表す画像60Cと、第2行動価値関数の選択回数を表す画像60Dと、を含む。
図5には、第1推論モデルの学習の進捗を表す画像60Aとして、第1推論モデルの学習終了までの時刻を一例として示す。
【0124】
表示制御部40Eは、行動決定部40Dが選択した第1行動、第1行動の選択時に用いた第1行動価値関数の第1選択確率ε、第1行動の選択に用いた第1行動価値関数、第2行動価値関数、および進捗を用いて、表示画面60を生成し表示すればよい。
【0125】
図6は、表示画面62の一例を示す模式図である。表示画面62は、表示画面70の一例である。
【0126】
表示画面62は、第1行動が第1行動価値関数および第2行動価値関数の何れにより決定された行動であるかを表す情報を含む。例えば、移動ロボット20の行動候補が、進行方向である“直進”、“右”、“左”、および“停止”、である場合を想定する。そして、行動決定部40Dによって第1行動価値関数が第3行動価値関数として選択され、選択された第3行動価値関数から決定された第1行動が進行方向“直進”を表す場合を想定する。
【0127】
この場合、例えば、表示制御部40Eは、第1行動価値関数から決定された行動である学習ベースの行動を表す情報62C、および、第2行動価値関数から決定された行動であるルールベースの行動を表す情報62Dを表示する。そして、表示制御部40Eは、情報62Cの選択アイコンの色を有色表示し、情報62Dの選択アイコンの色を無色表示とする。情報62Cの選択アイコンを有色表示することで、表示制御部40Eは、第1行動価値関数から第1行動が決定された状態であることを表示する。
【0128】
また、例えば、表示制御部40Eは、移動ロボット20を表すアイコン画像62Bの周囲に、移動ロボット20の行動候補を表す画像62Aを表示する。そして、表示制御部40Eは、選択された“直進”を表す画像を他の行動候補とは異なる色または明るさで表示する。例えば、表示制御部40Eは、“直進”を表す画像を点灯し、他の行動候補を表す画像を非点灯とする。“直進”を表す画像を点灯することで、表示制御部40Eは、第1行動価値関数から進行方向“直進”が第1行動として決定された状態であることを表示する。
【0129】
図7は、表示画面64の一例を示す模式図である。表示画面64は、表示画面70の一例である。
【0130】
表示画面64は、第1行動が第1行動価値関数および第2行動価値関数の何れにより決定された行動であるかを表す情報を含む。例えば、移動ロボット20の行動候補が、進行方向である“直進”、“右”、“左”、および“停止”、である場合を想定する。そして、行動決定部40Dによって第2行動価値関数が第3行動価値関数として選択され、選択された第3行動価値関数から決定された第1行動が進行方向“左”を表す場合を想定する。
【0131】
この場合、例えば、表示制御部40Eは、第1行動価値関数から決定された行動である学習ベースの行動を表す情報64C、および、第2行動価値関数から決定された行動であるルールベースの行動を表す情報64Dを表示する。そして、表示制御部40Eは、情報64Dの選択アイコンの色を有色表示し、情報64Cの選択アイコンの色を無色表示とする。情報64Dの選択アイコンを有色表示することで、表示制御部40Eは、第2行動価値関数から第1行動が決定された状態であることを表示する。
【0132】
また、例えば、表示制御部40Eは、移動ロボット20を表すアイコン画像64Bの周囲に、移動ロボット20の行動候補を表す画像64Aを表示する。そして、表示制御部40Eは、選択された“左”を表す画像を他の行動候補とは異なる色または明るさで表示する。例えば、表示制御部40Eは、“左”を表す画像を点灯し、他の行動候補を表す画像を非点灯とする。“左”を表す画像を点灯することで、表示制御部40Eは、第2行動価値関数から進行方向“左”が第1行動として決定された状態であることを表示する。
【0133】
表示制御部40Eが、これらの表示画面70を表示部46に表示することで、ユーザに対して学習の進捗状況などの各種の情報を分かりやすく提供することができる。このため、ユーザは表示画面70を確認することで、移動ロボット20の行動に関する第1推論モデルの学習が途中であるか完了しているかを容易に把握することができる。
【0134】
【0135】
送信制御部40Fは、行動決定部40Dで選択された第1行動を、通信部48を介して移動ロボット20へ送信する。
【0136】
移動ロボット20の制御部22は、通信部24を介して運行管理システム30から地図情報を受信する。制御部22は、地図情報に含まれる出発地点情報によって表される出発地点Aから、地図情報に含まれる目的地点情報によって表される目的地点Bへ向かって移動する行動を開始するように、移動ロボット20の駆動部を制御する。この処理により、移動ロボット20は、行動を開始する。
【0137】
移動ロボット20の制御部22は、行動を開始すると、センサ26の検出結果を情報処理装置10Aへ送信する。制御部22は、センサ26の検出結果を所定間隔で順次情報処理装置10Aへ送信する。制御部22は、送信した検出結果に対する応答として、情報処理装置10Aから第1行動を受信する。制御部22は、受信した第1行動に応じた行動を実行するように、移動ロボット20の駆動部を制御する。
【0138】
このため、移動ロボット20は、情報処理装置10Aで決定された第1行動を実行する。すなわち、移動ロボット20は、情報処理装置10Aから順次送信される第1行動に沿って行動することで、出発地点Aから目的地点Bへ向かって移動することができる。
【0139】
次に、本実施形態の情報処理装置10Aが実行する情報処理の流れの一例を説明する。
【0140】
図8は、本実施形態の情報処理装置10Aが実行する情報処理の流れの一例を示すフローチャートである。
【0141】
取得部40Aが、移動ロボット20の現在状態を取得する(ステップS100)。取得部40Aは、移動ロボット20から受信したセンサ26の検出結果および運行管理システム30から受信した地図情報を用いて、移動ロボット20の現在状態を取得する。
【0142】
次に、取得部40Aは、ステップS100で取得した現在状態の報酬を算出する(ステップS102)。
【0143】
第1行動価値関数特定部40Bは、ステップS100で取得した現在状態およびステップS102で算出された報酬を用いて、より報酬の高い現在状態の得られる第1行動価値関数を出力するように、第1推論モデルを強化学習により学習する(ステップS104)。
【0144】
第1行動価値関数特定部40Bは、第1行動価値関数を特定する(ステップS106)。第1行動価値関数特定部40Bは、ステップS104で強化学習した第1推論モデルへステップS100で取得した現在状態を入力することで、第1推論モデルからの出力として第1行動価値関数を特定する。
【0145】
第2行動価値関数特定部40Cは、第2行動価値関数を特定する(ステップS108)。第2行動価値関数特定部40Cは、ステップS100で取得した現在状態を第2推論モデルへ入力することで、第2推論モデルからの出力として第2行動価値関数を特定する。
【0146】
次に、行動決定部40Dは、第1行動価値関数特定部40Bの第1推論モデルの学習の進捗を特定する(ステップS110)。例えば、行動決定部40Dは、第1推論モデルの学習時間を学習の進捗として特定する。
【0147】
行動決定部40Dは、ステップS110で特定した学習の進捗に応じて、ステップS106で特定された第1行動価値関数またはステップS108で特定された第2行動価値関数を、第3行動価値関数として選択する(ステップS112)。
【0148】
行動決定部40Dは、ステップS112で選択した第3行動価値関数から第1行動を決定する(ステップS114)。
【0149】
送信制御部40Fは、ステップS114で決定された第1行動を移動ロボット20へ送信する(ステップS116)。
【0150】
表示制御部40Eは表示画面70を表示部46に表示する(ステップS118)。なお、表示画面70を表示部46に表示するタイミングは、このタイミングに限定されない。例えば、表示制御部40Eは、ステップS100の処理開始前に表示部46への表示画面70の表示を開始し、制御部40による処理状況に応じて表示画面70の表示内容を更新してもよい。
【0151】
制御部40は、処理を終了するか否かを判断する(ステップS120)。例えば、制御部40は、ユーザによる入力部44の操作指示などにより処理終了を示す信号が入力されたか否かを判別することで、ステップS120の判断を行う。ステップS120で否定判断すると(ステップS120:No)、上記ステップS100へ戻る。ステップS120で肯定判断すると(ステップS120:Yes)、本ルーチンを終了する。
【0152】
次に、本実施形態の移動ロボット20が実行する情報処理の流れの一例を説明する。
【0153】
図9は、本実施形態の移動ロボット20が実行する情報処理の流れの一例を示すフローチャートである。
【0154】
移動ロボット20の制御部22は、通信部24を介して運行管理システム30から地図情報を取得する(ステップS200)。制御部22は、地図情報に含まれる出発地点情報によって表される出発地点Aから、地図情報に含まれる目的地点情報によって表される目的地点Bへ向かって移動する行動を開始するように、移動ロボット20の駆動部を制御する。この処理により、移動ロボット20は、行動を開始する(ステップS202)。
【0155】
制御部22は、センサ26の検出結果を情報処理装置10Aへ送信する(ステップS204)。
【0156】
制御部22は、ステップS204で送信した検出結果に対する応答として、情報処理装置10Aから第1行動を受信する(ステップS206)。制御部22は、受信した第1行動に応じた行動を実行するように、移動ロボット20の駆動部を制御する。このため、移動ロボット20は、情報処理装置10Aで決定された第1行動を実行する(ステップS208)。
【0157】
制御部22は、処理を終了するか否かを判断する(ステップS210)。例えば、制御部22は、ユーザによる操作指示などによって処理終了信号が入力されたか否かを判別することで、処理を終了するか否かを判断する(ステップS210)。ステップS210で否定判断すると(ステップS210:No)、ステップS204へ戻る。一方、ステップS210で肯定判断すると(ステップS210:Yes)、本ルーチンを終了する。
【0158】
以上説明したように、本実施形態の情報処理装置10Aは、取得部40Aと、第1行動価値関数特定部40Bと、第2行動価値関数特定部40Cと、行動決定部40Dと、を備える。取得部40Aは、機器の一例である移動ロボット20の現在状態を取得する。第1行動価値関数特定部40Bは、第1推論モデルを強化学習により学習する学習機能を有し、現在状態と第1推論モデルとに基づいて、移動ロボット20の第1行動価値関数を特定する。第2行動価値関数特定部40Cは、現在状態とパラメータ更新対象外の第2推論モデルに基づいて、移動ロボット20の第2行動価値関数を特定する。行動決定部40Dは、第1行動価値関数および第2行動価値関数に基づいて、移動ロボット20の第1行動を決定する。
【0159】
従来技術では、ランダムな行動探索によって強化学習を行っていた。このため、従来技術では、移動ロボット20等の機器に適用しながら機器の行動を学習することは困難であった。
【0160】
一方、本実施形態の情報処理装置10Aでは、強化学習対象の第1推論モデルから特定された第1行動価値関数と、パラメータ更新対象外の第2推論モデルから特定された第2行動価値関数と、に基づいて、移動ロボット20の第1行動を決定する。
【0161】
情報処理装置10Aによる学習状況は変化する。学習状況は、例えば、第1推論モデルの学習の進捗、学習の進捗に応じて変化する第1行動価値関数、および第2行動価値関数に対する第1行動価値関数の変動状況、などである。このため、行動決定部40Dが学習状況に応じて第1行動価値関数および第2行動価値関数から第1行動を決定することで、第1推論モデルの学習の初期の段階から学習が十分に進行した段階の全般にわたって、移動ロボット20の行動に関する最低要求性能を満たしながら第1推論モデルを学習可能な第1行動を決定することができる。
【0162】
このため、本実施形態の情報処理装置10Aは、実機である移動ロボット20で運用しながら第1推論モデルを強化学習により学習することができる。
【0163】
従って、本実施形態の情報処理装置10Aは、機器に適用しながら強化学習を行うことができる。
【0164】
また、本実施形態の情報処理装置10Aでは、行動決定部40Dが、第1行動価値関数および第2行動価値関数の何れか一方を第3行動価値関数として選択し、選択した第3行動価値関数に基づいて第1行動を決定する。上述したように、行動決定部40Dは、第1推論モデルの学習時間に応じて、第1行動価値関数を第3行動価値関数として選択する第1選択確率と、第2行動価値関数を第3行動価値関数として選択する第2選択確率と、を変化させ、学習時間が短いほど第1選択確率を低く且つ第2選択確率を高くし、学習時間が長いほど第1選択確率を高く且つ第2選択確率を低くする。
【0165】
上述したように、第1行動確率関数は、第1推論モデルを用いて特定された行動価値関数である。また、第2行動価値関数は、例えば、第1ルールに基づく移動ロボット20の行動のデータにより予め学習された第2推論モデルを用いて特定された行動価値関数である。そして、行動決定部40Dは、第1推論モデルの学習時間に応じて第1行動価値関数および第2行動価値関数の何れか一方を第3行動価値関数として選択し、第3行動価値関数を用いて第1行動を決定する。
【0166】
このため、行動決定部40Dは、第1推論モデルの学習が不十分な学習初期段階では第1ルールを用いたルールベースで決定された第2行動価値関数を用いて第1行動を決定し、第1推論モデルの学習の進捗が進行するほど、学習ベースで決定された第1行動価値関数を用いて第1行動を決定する確率を高くすることができる。
【0167】
よって、学習初期の段階では、第2行動価値関数によって表される行動価値を最大にする行動が第1行動として決定される確率が高くなる。第2行動価値関数の特定に用いられる第2推論モデルは、移動ロボット20の行動に関する最低要求性能を満たす第1ルールに基づいた移動ロボット20の行動のデータにより予め学習されている。このため、本実施形態の情報処理装置10Aでは、学習初期における移動ロボット20の行動に関する最低要求性能を満たすことができる。
【0168】
また、学習時間が長くなり、学習の進捗が進行するほど、第1行動価値関数によって表される行動価値を最大にする行動が第1行動として決定される確率が高くなる。学習の進捗が進行するほど、第1行動関数の特定に用いられる第1推論モデルによって得られる第1行動に基づく報酬は高くなる。このため、本実施形態の情報処理装置10Aでは、学習が進捗した段階においても、移動ロボット20の行動に関する最低要求性能を満たすことができる。
【0169】
このため、行動決定部40Dは、学習の進捗に拘わらず第1行動を決定する場合に比べて、獲得できる報酬の高い行動を第1行動として決定することができる。言い換えると、行動決定部40Dは、第1推論モデルの学習の初期の段階から学習が十分に進行した段階の全般にわたって、移動ロボット20の行動に関する最低要求性能を満たしながら第1推論モデルを強化学習可能な第1行動を決定することができる。
【0170】
【0171】
図10中、縦軸は報酬を表し、横軸は学習時間を表す。
図10中、P1は、移動ロボット20の最低要求性能を満たす報酬を表す。P2は、移動ロボット20の最適要求性能を満たす報酬を表す。線
図59は、本実施形態の強化学習方法による報酬線を表す線図である。線
図590は、従来の強化学習方法による報酬線を表す線図である。
【0172】
図10に示すように、従来の強化学習方法では、特に学習初期においてランダムな行動選択をする。このため、移動ロボット20が目的地点Bに到達することができず、報酬を獲得できない。また、従来の強化学習方法では、最適要求性能を満たす報酬P2に達するまで時間を要する。また、従来技術では、第1推論モデルの学習が不十分な学習初期の段階で、学習ベースで決定された行動を移動ロボット20が実行すると、移動ロボット20が意図せぬ状態に陥り、強化学習中に事故や故障が発生する場合があった。
【0173】
このため、従来技術では、実機である移動ロボット20などの機器に適用しながら強化学習を行うことは、要求性能の実現および安全性確保の観点から困難であった。
【0174】
一方、本実施形態の情報処理装置10Aでは、第1推論モデルの学習時間に応じて第1行動価値関数および第2行動価値関数の何れか一方を第3行動価値関数として選択することができる。すなわち、本実施形態の情報処理装置10Aは、第1推論モデルの強化学習が不十分な学習初期段階では、第2推論モデルによる第2行動価値関数を第3行動価値関数として選択することができる。また、情報処理装置10Aは、第1推論モデルの学習の進捗が進行するほど、第1推論モデルによる第1行動価値関数を第3行動価値関数として選択することができる。よって、本実施形態の情報処理装置10Aは、学習初期の段階から学習の進捗が進捗した段階の全ての段階にわたって、最低要求性能を満たしながら学習データを収集しつつ移動ロボット20を行動させることができる。
【0175】
このため、本実施形態の情報処理装置10Aは、実機である移動ロボット20で運用しながら第1推論モデルを学習することができる。
【0176】
(第2実施形態)
本実施形態では、第1行動価値関数と第2行動価値関数とを合成した行動価値関数を、第3行動価値関数として用いる形態を説明する。
【0177】
なお、本実施形態において上記実施形態と同様の機能および構成の部分には、同じ符号を付与して詳細な説明を省略する。
【0178】
図11は、本実施形態の情報処理システム1Bの一例の機能ブロック図である。情報処理システム1Bは、情報処理システム1の一例である。
【0179】
情報処理システム1Bは、情報処理装置10Bと、移動ロボット20と、運行管理システム30と、を備える。情報処理装置10B、移動ロボット20、および運行管理システム30は、ネットワークNなどを介して通信可能に接続されている。移動ロボット20および運行管理システム30は上記実施形態と同様である。
【0180】
情報処理装置10Bは、情報処理装置10の一例である。情報処理装置10Bは、制御部41と、記憶部42と、入力部44と、表示部46と、通信部48と、を備える。制御部41、記憶部42、入力部44、表示部46、および通信部48は、バス49などを介して通信可能に接続されている。情報処理装置10Bは、制御部40に替えて制御部41を備える点以外は、上記実施形態の情報処理装置10Aと同様である。
【0181】
制御部41は、情報処理装置10Bにおいて各種の情報処理を実行する。
【0182】
制御部41は、取得部40Aと、第1行動価値関数特定部40Bと、第2行動価値関数特定部40Cと、行動決定部41Dと、表示制御部41Eと、送信制御部40Fと、を備える。取得部40A、第1行動価値関数特定部40B、第2行動価値関数特定部40C、および送信制御部40Fは、上記実施形態と同様である。すなわち、制御部41は、行動決定部40Dおよび表示制御部40Eに替えて行動決定部41Dおよび表示制御部41Eを備える点以外は、上記実施形態の制御部40と同様である。
【0183】
行動決定部41Dは、上記実施形態の行動決定部40Dと同様に、第1行動価値関数および第2行動価値関数に基づいて、移動ロボット20の第1行動を決定する。
【0184】
ここで、上記実施形態では、行動決定部40Dが、第1推論モデルの学習時間に応じて前記第1行動価値関数を前記第3行動価値関数として選択する第1選択確率と、前記第2行動価値関数を前記第3行動価値関数として選択する第2選択確率と、を変化させる形態を一例として説明した。行動決定部40Dが第1選択確率および第2選択確率を学習時間に応じて変化させる構成の場合、第1選択確率であるεの変化をユーザが予め手動で調整する必要がある。例えば、
図4を用いて説明したように、第1選択確率を学習時間の経過に応じて線形に増加させる設定とする場合、学習時間に対する第1選択確率の変化率である増加の傾きを、ユーザが手動により予め調整する必要がある。
【0185】
そこで、本実施形態の行動決定部41Dは、第3行動価値関数特定部41Gと、行動選択部41Hと、を有する。
【0186】
第3行動価値関数特定部41Gは、第1行動価値関数と第2行動価値関数とを合成した第3行動価値関数を特定する。本実施形態では、第3行動価値関数特定部41Gは、第1行動価値関数と第2行動価値関数との最大関数を、第1行動価値関数と第2行動価値関数とを合成した第3行動価値関数として特定する。
【0187】
第1行動価値関数と第2行動価値関数との最大関数とは、第1行動価値関数によって表される行動に対する行動価値、および、第2行動価値関数によって表される行動に対する行動価値の内の、行動ごとの最大の行動価値の集合を表す。
【0188】
詳細には、第3行動価値関数特定部41Gは、下記式(4)を用いて、第3行動価値関数を特定する。
【0189】
Q3(s,a)=Max(Q1(s,a),Q2(s,a)) 式(4)
【0190】
式(4)中、Q3(s,a)は第3行動価値関数を表す。Q1(s,a)は第1行動価値関数を表す。Q2(s,a)は第1行動価値関数を表す。Max(Q1(s,a),Q2(s,a))は第1行動価値関数と第2行動価値関数との最大関数を表す。sは現在状態を表す。aは行動を表す。
【0191】
行動選択部41Hは、第3行動価値関数特定部41Gによって特定された第3行動価値関数に基づいて、第1行動を選択する。行動選択部41Hは、上記実施形態の行動決定部40Dと同様にして、ボルツマン探索等により第3行動価値関数から第1行動を選択すればよい。
【0192】
行動決定部41Dによる処理の一例を、具体例を挙げて説明する。
【0193】
図12Aは、学習初期段階の第1行動価値関数の一例を示す模式図である。
図12Bは、学習初期段階の第2行動価値関数の一例を示す模式図である。
図12Cは、学習初期段階の第3行動価値関数と、第1行動価値関数および第2行動価値関数と、の関係の一例を示す模式図である。
図12A~
図12C中、線
図51は第1行動価値関数を表し、線
図52は第2行動価値関数を表し、線
図53は第3行動価値関数を表す。
【0194】
例えば、学習初期段階の第1行動価値関数が
図12Aの線
図51によって表される関数であり、第2行動価値関数が
図12Bの線
図52によって表される関数であった場面を想定する。
【0195】
上記実施形態で説明したように、第1行動確率関数は、第1推論モデルを用いて特定された行動価値関数である。また、第2行動価値関数は、例えば、第1ルールに基づく移動ロボット20の行動のデータにより予め学習された第2推論モデルを用いて特定された行動価値関数である。すなわち、
図12Bに示す線
図52によって表される第2行動価値関数によって表される行動価値を最大にする行動a2は、第1ルールを用いたルールベースに基づく移動ロボット20の制御によって得られる行動と一致するものとなる。
【0196】
図12Aおよび
図12Bに示すように、学習初期段階における線
図51によって表される第1行動価値関数の行動価値の最大値は、線
図52によって表される第2行動価値関数の行動価値の最大値より小さい値である。このため、第3行動価値関数特定部41Gが第1行動価値関数と第2行動価値関数との最大関数を第3行動価値関数として特定すると、
図12Cに示す線
図53によって表される第3行動価値関数が特定される。
【0197】
図12Cに示す線
図53によって表される第3行動価値関数に基づいて行動選択部41Hが第1行動を選択すると、結果的に、線
図52によって表される第2行動価値関数によって表される行動価値を最大にする行動a2が第1行動として選択される選択確率が高くなる。
【0198】
次に、学習の進捗が進行した学習進行段階における行動価値関数の一例を説明する。
【0199】
図13Aは、学習進行段階の第1行動価値関数の一例を示す模式図である。
図13Bは、学習進行段階の第2行動価値関数の一例を示す模式図である。
図13Cは、学習進行段階の第3行動価値関数と、第1行動価値関数および第2行動価値関数と、の関係の一例を示す模式図である。
図13A~
図13C中、線
図51は第1行動価値関数を表し、線
図52は第2行動価値関数を表し、線
図53は第3行動価値関数を表す。
【0200】
例えば、学習進行段階の第1行動価値関数が
図13Aの線
図51によって表される関数であった場面を想定する。第2行動価値関数はパラメータを更新しない第2推論モデルから出力される行動価値関数であるため、
図12Bに示す線
図52と同様の線
図52によって表される行動価値関数となる。
【0201】
図13Aおよび
図13Bに示すように、学習進行段階における線
図51によって表される第1行動価値関数の行動価値の最大値は、線
図52によって表される第2行動価値関数の行動価値の最大値より大きい値となる。このため、第3行動価値関数特定部41Gが第1行動価値関数と第2行動価値関数との最大関数を第3行動価値関数として特定すると、
図13Cに示す線
図53によって表される第3行動価値関数が特定される。
【0202】
図13Cに示す線
図53によって表される第3行動価値関数に基づいて行動選択部41Hが第1行動を選択すると、結果的に、学習進行段階の線
図51によって表される第1行動価値関数によって表される行動価値を最大にする行動a1が第1行動として選択される選択確率である第1選択確率が高くなる。
【0203】
すなわち、本実施形態では、学習初期段階では第2推論モデルによる行動が第1行動として選択される第2選択確率が高くなり、学習進行段階では第1推論モデルによる行動が第1行動として選択される第1選択確率が高くなる。そして、第1推論モデルの学習の進捗に応じて第3行動価値関数は変化する。
【0204】
このように、本実施形態では、行動決定部41Dの第3行動価値関数特定部41Gが第1行動価値関数と第2行動価値関数とを合成した第3行動価値関数を特定し、行動選択部41Hが特定された第3行動価値関数に基づいて第1行動を選択する。このため、本実施形態では、ユーザが手動により学習時間に対する第1選択確率の増加の傾きを手動で調整することなく、行動決定部41Dが自動的に第1選択確率を調整することができる。すなわち、行動決定部41Dは、学習時間が短いほど第1選択確率を低く且つ第2選択確率を高くし、学習時間が長いほど第1選択確率を高く且つ第2選択確率を低くするように、選択確率を自動調整することができる。
【0205】
【0206】
表示制御部41Eは、上記実施形態の表示制御部40Eと同様に、各種の画像を表示部46に表示する。
【0207】
表示制御部41Eは、上記実施形態の表示制御部40Eと同様に、第1推論モデルの学習の進捗、第1行動価値関数および第2行動価値関数の少なくとも一方の行動決定部40Dによる選択確率、第1行動価値関数および第2行動価値関数の少なくとも一方の行動決定部40Dによる選択回数、および、第1行動が第1行動価値関数および第2行動価値関数の何れによって表される行動価値を最大にする行動であるか、の少なくとも1つを表す情報を、表示部46に表示する。
【0208】
本実施形態では、表示制御部41Eは、更に、第2行動価値関数によって表される行動価値を最大にする行動が第1行動として選択された選択確率、および、選択確率の推移、の少なくとも1つを表す情報を、更に表示部46に表示する。
【0209】
表示制御部41Eは、これらの情報を、1つの表示画面に表示してもよいし、異なる複数の表示画面に表示してもよい。また、表示制御部41Eは、これらの情報の全てを、同じタイミングで表示画面に表示してもよいし、少なくとも1つの情報を他の情報とは異なるタイミングで表示画面に表示してもよい。
【0210】
図14は、表示画面66の一例を示す模式図である。表示画面66は、表示画面70の一例である。
【0211】
表示画面66は、第2行動価値関数によって表される行動価値を最大にする行動が第1行動として選択された選択確率を表す画像66Eを含む。すなわち、表示画面66には、現在の第2選択確率を表す画像66Eが表示される。
【0212】
このため、表示制御部41Eは、ルールベースの行動が第1行動として選択された第2選択確率を、ユーザに対して容易に確認可能に提供することができる。
【0213】
また、例えば、表示画面66は、第1行動が第1行動価値関数および第2行動価値関数の何れにより決定された行動であるかを表す情報を含む。例えば、移動ロボット20の行動候補が、進行方向である“直進”、“右”、“左”、および“停止”、である場合を想定する。そして、第3行動価値関数特定部41Gによって第1行動価値関数が第3行動価値関数として特定され、特定された第3行動価値関数から行動選択部41Hによって選択された第1行動が進行方向“直進”を表す場合を想定する。
【0214】
この場合、例えば、表示制御部41Eは、第1行動価値関数から決定された行動である学習ベースの行動を表す情報66C、および、第2行動価値関数から決定された行動であるルールベースの行動を表す情報66Dを表示する。そして、表示制御部41Eは、情報66Cの選択アイコンの色を有色表示し、情報66Dの選択アイコンの色を無色表示とする。情報66Cの選択アイコンを有色表示することで、表示制御部41Eは、第1行動価値関数から第1行動が決定された状態であることを表示する。
【0215】
また、例えば、表示制御部41Eは、上記実施形態の表示制御部40Eと同様に、移動ロボット20を表すアイコン画像66Bの周囲に、移動ロボット20の行動候補を表す画像を表示する。そして、表示制御部41Eは、選択された“直進”を表す画像を他の行動候補とは異なる色または明るさで表示する。例えば、表示制御部41Eは、“直進”を表す画像を点灯し、他の行動候補を表す画像を非点灯とする。“直進”を表す画像を点灯することで、表示制御部41Eは、第1行動価値関数から進行方向“直進”が第1行動として決定された状態であることを表示する。
【0216】
図15は、表示画面68の一例を示す模式図である。表示画面68は、表示画面70の一例である。
【0217】
表示画面68は、第2行動価値関数によって表される行動価値を最大にする行動が前記第1行動として選択された選択確率の推移、すなわち第2選択確率の推移を表す情報68Aを含む。例えば、表示制御部41Eは、学習開始時から現在時刻までの第2選択確率の推移を表す情報68Aを含む表示画面68を、表示部46に表示する。
【0218】
このため、表示制御部41Eは、ルールベースの行動が第1行動として選択された第2選択確率の推移を、ユーザに対して容易に確認可能に提供することができる。
【0219】
次に、本実施形態の情報処理装置10Bが実行する情報処理の流れの一例を説明する。
【0220】
図16は、本実施形態の情報処理装置10Bが実行する情報処理の流れの一例を示すフローチャートである。
【0221】
情報処理装置10Bは、上記実施形態のステップS100~ステップS108(
図8参照)と同様にして、ステップS300~ステップS308の処理を実行する。
【0222】
詳細には、取得部40Aが、移動ロボット20の現在状態を取得する(ステップS300)。次に、取得部40Aは、ステップS300で取得した現在状態の報酬を算出する(ステップS302)。第1行動価値関数特定部40Bは、ステップS300で取得した現在状態およびステップS302で算出された報酬を用いて、より報酬の高い現在状態の得られる第1行動価値関数を出力するように、第1推論モデルを強化学習により学習する(ステップS304)。第1行動価値関数特定部40Bは、ステップS300で取得した現在状態をステップS304で強化学習した第1推論モデルへ入力することで、第1行動価値関数を特定する(ステップS306)。第2行動価値関数特定部40Cは、ステップS300で取得した現在状態を第2推論モデルへ入力することで、第2行動価値関数を特定する(ステップS308)。
【0223】
次に、行動決定部41Dの第3行動価値関数特定部41Gが、ステップS306で特定した第1行動価値関数とステップS308で特定した第2行動価値関数との最大関数を、第3行動価値関数として特定する(ステップS310)。
【0224】
行動選択部41Hは、ステップS310で特定された第3行動価値関数に基づいて、第1行動を選択する(ステップS312)。
【0225】
送信制御部40Fは、ステップS312で選択された第1行動を移動ロボット20へ送信する(ステップS314)。表示制御部41Eは表示画面70を表示部46に表示する(ステップS316)。なお、表示画面70を表示部46に表示するタイミングは、このタイミングに限定されない。例えば、表示制御部41Eは、ステップS300の処理開始前に表示部46への表示画面70の表示を開始し、制御部41による処理状況に応じて表示画面70の表示内容を更新してもよい。
【0226】
制御部41は、処理を終了するか否かを判断する(ステップS318)。制御部41は、上記実施形態のステップS120(
図8参照)と同様にして、処理を終了するか否かを判断すればよい。ステップS318で否定判断すると(ステップS318:No)、上記ステップS300へ戻る。ステップS318で肯定判断すると(ステップS318:Yes)、本ルーチンを終了する。
【0227】
以上説明したように、本実施形態の情報処理装置10Bは、行動決定部41Dの第3行動価値関数特定部41Gが第1行動価値関数と第2行動価値関数とを合成した第3行動価値関数を特定する。行動選択部41Hは、第3行動価値関数に基づいて第1行動を選択する。
【0228】
合成によって生成された第3行動価値関数は、第1推論モデルの学習の進捗に応じて第3行動価値関数は変化する。このため、本実施形態では、ユーザが手動により学習時間に対する第1選択確率の増加の傾きを手動で調整することなく、行動決定部41Dが自動的に第1選択確率を調整することができる。すなわち、行動決定部41Dは、学習時間が短いほど第1選択確率を低く且つ第2選択確率を高くし、学習時間が長いほど第1選択確率を高く且つ第2選択確率を低くするように、選択確率を自動調整することができる。
【0229】
従って、本実施形態の情報処理装置10Bは、上記実施形態の効果に加えて、強化学習の学習初期段階の性能を更に容易に向上させることができる。
【0230】
(第3実施形態)
本実施形態では、第1行動価値関数を第2行動価値関数に基づいて補正した第4行動価値関数を用いて、第3行動価値関数を特定する形態を説明する。
【0231】
なお、本実施形態において上記実施形態と同様の機能および構成の部分には、同じ符号を付与して詳細な説明を省略する。
【0232】
図17は、本実施形態の情報処理システム1Cの一例の機能ブロック図である。情報処理システム1Cは、情報処理システム1の一例である。
【0233】
情報処理システム1Cは、情報処理装置10Cと、移動ロボット20と、運行管理システム30と、を備える。情報処理装置10C、移動ロボット20、および運行管理システム30は、ネットワークNなどを介して通信可能に接続されている。移動ロボット20および運行管理システム30は上記実施形態と同様である。
【0234】
情報処理装置10Cは、情報処理装置10の一例である。情報処理装置10Cは、制御部43と、記憶部42と、入力部44と、表示部46と、通信部48と、を備える。制御部43、記憶部42、入力部44、表示部46、および通信部48は、バス49などを介して通信可能に接続されている。情報処理装置10Cは、制御部41に替えて制御部43を備える点以外は、上記実施形態の情報処理装置10Bと同様である。
【0235】
制御部43は、情報処理装置10Cにおいて各種の情報処理を実行する。
【0236】
制御部43は、取得部40Aと、第1行動価値関数特定部40Bと、第2行動価値関数特定部40Cと、行動決定部43Dと、表示制御部43Eと、送信制御部40Fと、を備える。取得部40A、第1行動価値関数特定部40B、第2行動価値関数特定部40C、および送信制御部40Fは、上記実施形態と同様である。すなわち、制御部43は、行動決定部41Dおよび表示制御部41Eに替えて行動決定部43Dおよび表示制御部43Eを備える点以外は、上記実施形態の制御部41と同様である。
【0237】
行動決定部43Dは、上記実施形態の行動決定部40Dと同様に、第1行動価値関数および第2行動価値関数に基づいて、移動ロボット20の第1行動を決定する。
【0238】
本実施形態では、行動決定部43Dは、行動価値関数補正部43Iと、第3行動価値関数特定部43Gと、行動選択部41Hと、を備える。行動選択部41Hは、上記第2実施形態の行動選択部41Hと同様である。すなわち、行動決定部43Dは、第3行動価値関数特定部41Gに替えて第3行動価値関数特定部43Gを備え、更に行動価値関数補正部43Iを備える点以外は、上記実施形態の行動決定部41Dと同様である。
【0239】
ここで、上記第2実施形態では、第3行動価値関数特定部41Gが第1行動価値関数と第2行動価値関数とを合成した第3行動価値関数を特定する形態を一例として説明した。そして、行動選択部41Hは、第3行動価値関数に基づいて第1行動を決定することで、第1選択確率および第2選択確率を自動調整する形態を説明した。第1選択確率は、上述したように、第1行動価値関数によって表される行動価値を最大にする行動が第1行動として選択される選択確率である。第2選択確率は、上述したように、第2行動価値関数によって表される行動価値を最大にする行動が第2行動として選択される選択確率である。
【0240】
第3行動価値関数特定部41Gが第1行動価値関数と第2行動価値関数とを合成した第3行動価値関数を特定する構成の場合、取得部40Aが現在状態から算出する報酬設定をユーザが手動で調整する必要が生じる場合がある。
【0241】
本課題について具体的に説明する。行動価値関数によって表される行動価値の値は、報酬設定に依存する。
【0242】
例えば、学習初期段階において、第2行動価値関数によって表される行動価値の最大値が第1行動価値関数によって表される行動価値の最小値より小さい場合を想定する。この想定の場合、学習初期段階において第3行動価値関数は第1行動価値関数と一致する。このため、この場合、行動選択部41Hが第3行動価値関数に基づいて第1行動を選択すると、学習初期段階では第2行動価値関数によって表される行動価値を最大にする行動を第1行動として選択する確率が極めて低くなる。すなわち、この場合、情報処理装置10は学習初期段階では、移動ロボット20の行動に関する最低要求性能を満たしながら第1推論モデルを学習可能な第1行動を決定することが困難となる。
【0243】
また、例えば、学習初期段階において、第1行動価値関数によって表される行動価値の最大値が第2行動価値関数によって表される行動価値の最小値より小さい場合を想定する。この想定の場合、学習初期段階において第3行動価値関数は第2行動価値関数と一致する。このため、この場合、行動選択部41Hが第3行動価値関数に基づいて第1行動を選択すると、学習初期段階では第1行動価値関数によって表される行動価値を最大にする行動を第1行動として選択する確率が極めて低くなる。このため、この場合、情報処理装置10は第1推論モデルの強化学習を進めることが困難となる。
【0244】
これらの状況を避ける観点から、情報処理装置10では、学習初期段階における、第1行動価値関数によって表される行動価値が、第2行動価値関数によって表される行動価値の最大値と最小値との間の値となるように、ユーザは報酬設定を手動調整する必要が生じる場合がある。
【0245】
しかし、報酬設定をユーザが手動で調整するためには、移動ロボット20による動作を試行錯誤させる必要がある。
【0246】
そこで、本実施形態の情報処理装置10Cでは、行動決定部43Dが、行動価値関数補正部43Iと、第3行動価値関数特定部43Gと、行動選択部41Hとを有する。
【0247】
行動価値関数補正部43Iは、第1行動価値関数を第2行動価値関数に基づいて補正した第4行動価値関数を特定する。例えば、第3行動価値関数特定部43Gは、下記式(5)により第4行動価値関数を特定する。
【0248】
Q4(s,a)=Q1(s,a)+D(s) 式(5)
【0249】
式(5)中、Q4(s,a)は第4行動価値関数を表す。Q1(s,a)は第1行動価値関数を表す。sは現在状態を表す。aは行動を表す。D(s)は、第1行動価値関数の補正値であり、第2行動価値関数に基づいて求められる値である。
【0250】
例えば、行動価値関数補正部43Iは、第1行動価値関数を、第1行動価値関数によって表される行動に対する行動価値が第2行動価値関数によって表される行動に対する行動価値の最大値と最小値との間の値となるように補正することによって、第4行動価値関数を特定する。
【0251】
詳細には、行動価値関数補正部43Iは、上記式(5)における補正値であるD(s)を下記式(6)により算出する。
【0252】
D(s)=(maxQ2(s,a)+minQ2(s,a))/2 式(6)
【0253】
式(6)中、maxQ2(s,a)は第2行動価値関数の最大関数を表す。minQ2(s,a)は、第2行動価値関数の最小関数を表す。sは現在状態を表す。aは行動を表す。
【0254】
そして、行動価値関数補正部43Iは、式(6)によって表される補正値であるD(s)を上記式(5)に代入することで、第1行動価値関数を、第1行動価値関数によって表される行動に対する行動価値が第2行動価値関数によって表される行動に対する行動価値の最大値と最小値との間の値となるように補正する。
【0255】
また、例えば、行動価値関数補正部43Iは、第1推論モデルの学習開始時の第2選択確率が予め定めた選択確率となるように第1行動価値関数を補正した第4行動価値関数を特定してもよい。第2選択確率とは、上述したように、行動選択部41Hが第2行動価値関数を第3行動価値関数として選択する選択確率を表し、第2行動価値関数によって表される最大の行動価値に対応する行動が、第1行動として選択される選択確率を表す。
【0256】
詳細には、行動価値関数補正部43Iは、上記式(5)における補正値であるD(s)を下記式(7)により算出する。
【0257】
D(s)=log(1-ε)/((N-1)×ε)+maxQ2(s,a) 式(7)
【0258】
式(7)中、εは、上述した予め定められた選択確率を表す。maxQ2(s,a)は第2行動価値関数の最大関数を表す。Nは、移動ロボット20が次にとりうる行動の候補数を表す。例えば、Nは、移動ロボット20が次にとりうる行動である、「右」、「左」、「直進」、および「停止」、の4つ等である。sは現在状態を表す。aは行動を表す。
【0259】
そして、行動価値関数補正部43Iは、式(7)によって表される補正値であるD(s)を上記式(5)に代入することで、第1推論モデルの学習開始時の第2選択確率が予め定めた選択確率εとなるように第1行動価値関数を補正した第4行動価値関数を特定する。
【0260】
なお、行動価値関数補正部43Iは、ユーザによって入力された選択確率εとなるように第1行動価値関数を補正した第4行動価値関数を特定してもよい。この場合、例えば、表示制御部43Eは、第2選択確率として定める選択確率の入力を受付けるための表示画面70を表示部46に表示する。
【0261】
図18は、表示画面69の一例の模式図である。表示画面69は表示画面70の一例である。表示画面69は、第2選択確率として定める選択確率の値の入力欄69Aを含む。ユーザは、表示画面69を視認しながら入力部44を操作することで、入力欄69Aに所望の選択確率の値を入力する。行動価値関数補正部43Iは、表示画面69を介してユーザによる入力を受付けた選択確率を、第1行動価値関数の補正に用いる選択確率εとして用い、第1推論モデルの学習開始時の第2選択確率が該選択確率εとなるように第1行動価値関数を補正すればよい。
【0262】
【0263】
また、例えば、上述したように、行動価値関数補正部43Iが、第1行動価値関数を、第1行動価値関数によって表される行動に対する行動価値が第2行動価値関数によって表される行動に対する行動価値の最大値と最小値との間の値となるように補正することによって、第4行動価値関数を特定する場合を想定する。
【0264】
この想定の場合、行動価値関数補正部43Iは、第1行動価値関数を、第1行動価値関数によって表される行動に対する行動価値が第2行動価値関数によって表される行動に対する行動価値の最大値と最小値との間の、ユーザによって入力された値となるように補正した第4行動価値関数を特定してもよい。
【0265】
この場合、例えば、表示制御部43Eは、第1行動価値関数によって表される行動価値を、第2行動価値関数の行動価値の最大値と最小値との間の何れの値となるように補正するかを表す調整値の入力画面を表示部46に表示する。ユーザは、入力画面を視認しながら入力部44を操作することで、該入力画面に調整値を入力する。行動価値関数補正部43Iは、ユーザによる入力を受付けた調整値を用いて、第1行動価値関数によって表される行動価値を、第2行動価値関数の行動価値の最大値と最小値との間に補正した第4行動価値関数を特定すればよい。
【0266】
次に、第3行動価値関数特定部43Gについて説明する。
【0267】
第3行動価値関数特定部43Gは、行動価値関数補正部43Iで特定された第4行動価値関数と、第2行動価値関数特定部40Cで特定された第2行動価値関数との最大関数を第3行動価値関数として特定する。第3行動価値関数特定部43Gは、第1行動価値関数に替えて第4行動価値関数を用いる点以外は、第3行動価値関数特定部41Gと同様にして第3行動価値関数を特定すればよい。
【0268】
そして、行動選択部41Hは、上記実施形態と同様に、第3行動価値関数特定部413によって特定された第3行動価値関数に基づいて第1行動を選択する。
【0269】
本実施形態の行動決定部43Dによる処理の一例を、具体例を挙げて説明する。
【0270】
【0271】
図19Aは、学習初期段階の第1行動価値関数の一例を示す模式図である。
図19Bは、学習初期段階の第2行動価値関数の一例を示す模式図である。例えば、第1行動価値関数が
図19Aの線
図51によって表される関数であり、第2行動価値関数が
図19Bの線
図52によって表される関数である場面を想定する。
【0272】
図19Aおよび
図19Bに示すように、学習初期段階における線
図52によって表される第2行動価値関数の行動価値の最大値が、線
図51によって表される第1行動価値関数の行動価値の最小値より小さい場合を想定する。この想定の場合、学習初期段階において第3行動価値関数は第1行動価値関数と一致する。このため、この場合、行動選択部41Hが第3行動価値関数に基づいて第1行動を選択すると、学習初期段階では第2行動価値関数によって表される行動価値を最大にする行動を第1行動として選択する確率が極めて低くなる。すなわち、この場合、情報処理装置10は学習初期段階では、移動ロボット20の行動に関する最低要求性能を満たしながら第1推論モデルを学習可能な第1行動を決定することが困難となる。
【0273】
そこで、行動価値関数補正部43Iは、第1行動価値関数を第2行動価値関数に基づいて補正した第4行動価値関数を特定する。例えば、行動価値関数補正部43Iは、線
図51によって表される第1行動価値関数の各行動に対する行動価値が、線
図52によって表される第2行動価値関数の各行動に対する行動価値の最大値と最小値との間の値となるように補正する。
【0274】
図19Cは、補正前の第1行動価値関数と補正後の第1行動価値関数である第4行動価値関数との関係の一例の説明図である。
【0275】
行動価値関数補正部43Iが
図19Aに示す第1行動価値関数について
図19Bに示す第2行動価値関数を用いて補正を行った場面を想定する。この場合、
図19Cに示すように、線
図52によって表される第1行動価値関数は線
図54によって表される第4行動価値関数に補正される(矢印B参照)。すなわち、線
図54によって表される第4行動価値関数は、線
図51によって表される第1行動価値関数の行動価値を、線
図52によって表される第2行動価値関数の各行動に対する行動価値の最大値と最小値との間の値となるように補正したものとなる。
【0276】
図19Dは、第3行動価値関数特定部43Gによる第3行動価値関数の特定の一例の説明図である。
【0277】
例えば、第1行動価値関数が
図19Aの線
図51によって表される関数であり、第2行動価値関数が
図19Bの線
図52によって表される関数であった場面を想定する。また、行動価値関数補正部43Iによって、
図19Cに示す線
図54によって表される第4行動価値関数が特定された場面を想定する。
【0278】
この場合、第3行動価値関数特定部43Gは、線
図54によって表される第4行動価値関数と、線
図52によって表される第2行動価値関数との最大関数を第3行動価値関数として特定することで、線
図53によって表される第3行動価値関数を特定する。
【0279】
図19Dに示す線
図53によって表される第3行動価値関数に基づいて行動選択部41Hが第1行動を選択すると、結果的に、線
図52によって表される第2行動価値関数によって表される行動価値を最大にする行動a2が第1行動として選択される選択確率が高くなる。
【0280】
このため、本実施形態では、報酬設定をユーザが手動で調整することなく、学習初期段階における、第1行動価値関数によって表される行動価値が、第2行動価値関数によって表される行動価値の最大値と最小値との間の値となるように、自動調整することができる。
【0281】
すなわち、本実施形態の情報処理装置10Cでは、行動価値関数補正部43Iが第1行動価値関数を補正することで、報酬設定に拘わらず、第1推論モデルの学習初期段階について、移動ロボット20の行動に関する最低要求性能を満たしながら第1推論モデルを学習可能な第1行動を決定することができる。
【0282】
【0283】
表示制御部43Eは、調整値の入力画面および表示画面69を更に表示部46に表示可能である点以外は、上記実施形態の表示制御部41Eと同様である。
【0284】
なお、上記実施形態で説明したように、第1行動価値関数特定部40Bは、現在状態の報酬と第1行動とを用いて、報酬が最大となるように第1推論モデルを強化学習によって学習する。すなわち、第1行動価値関数特定部40Bは、取得部40Aで取得した移動ロボット20の現在状態と、報酬と、該報酬の算出に用いられた移動ロボット20の第1行動と、を用いて、第1推論モデルを強化学習により学習する。
【0285】
本実施形態では、第1行動価値関数特定部40Bは、第3行動価値関数の特定の第4行動価値関数が用いられた時の第1行動を用いて、第1推論モデルを強化学習により学習することが好ましい。
【0286】
第1行動価値関数特定部40Bが第1推論モデルの学習に用いるアルゴリズムとしてDQNを用いる場合、上記実施形態で説明した式(1)によって表される損失関数Lに替えて、以下の式(8)によって表される損失関数Lを用いればよい。そして、第1行動価値関数特定部40Bは、上記実施形態と同様に、該損失関数L用いてバックプロパゲーションを行うことで、第1推論モデルに含まれる複数のパラメータの各々の更新量を決定すればよい。
【0287】
L=(rt+γmax{Q4(st+1,at+1)}-Q4(st,at))2 式(8)
【0288】
式(8)中、L、rt、γ、st、およびatは、上記式(1)と同様であるである。Q4(st+1,at+1)は、次の時刻t+1の第4行動価値関数を表す。Q4(st,at)は、時刻tの第4行動価値関数を表す。stは時刻tの現在状態sを表す。atは時刻tの行動を表す。
【0289】
次に、本実施形態の情報処理装置10Cが実行する情報処理の流れの一例を説明する。
【0290】
図20は、本実施形態の情報処理装置10Cが実行する情報処理の流れの一例を示すフローチャートである。
【0291】
情報処理装置10Cは、上記実施形態のステップS300~ステップS308(
図16参照)と同様にして、ステップS400~ステップS408の処理を実行する。
【0292】
詳細には、取得部40Aが、移動ロボット20の現在状態を取得する(ステップS400)。次に、取得部40Aは、ステップS400で取得した現在状態の報酬を算出する(ステップS402)。第1行動価値関数特定部40Bは、ステップS400で取得した現在状態およびステップS402で算出された報酬を用いて、より報酬の高い現在状態の得られる第1行動価値関数を出力するように、第1推論モデルを強化学習により学習する(ステップS404)。第1行動価値関数特定部40Bは、ステップS400で取得した現在状態をステップS304で強化学習した第1推論モデルへ入力することで、第1行動価値関数を特定する(ステップS406)。第2行動価値関数特定部40Cは、ステップS400で取得した現在状態を第2推論モデルへ入力することで、第2行動価値関数を特定する(ステップS408)。
【0293】
次に、行動決定部43Dの行動価値関数補正部43Iが、ステップS406で特定された第1行動価値関数をステップS408で特定された第2行動価値関数を用いて補正した第4行動価値関数を特定する(ステップS410)。
【0294】
次に、行動決定部43Dの第3行動価値関数特定部43Gが、ステップSS410で特定した第4行動価値関数とステップS408で特定した第2行動価値関数との最大関数を、第3行動価値関数として特定する(ステップS412)。
【0295】
行動選択部41Hは、ステップS412で特定された第3行動価値関数に基づいて、第1行動を選択する(ステップS414)。
【0296】
送信制御部40Fは、ステップS414で選択された第1行動を移動ロボット20へ送信する(ステップS416)。表示制御部43Eは表示画面70を表示部46に表示する(ステップS418)。
【0297】
制御部43は、処理を終了するか否かを判断する(ステップS420)。制御部43は、上記実施形態のステップS120(
図8参照)と同様にして、処理を終了するか否かを判断すればよい。ステップS420で否定判断すると(ステップS420:No)、上記ステップS400へ戻る。ステップS420で肯定判断すると(ステップS420:Yes)、本ルーチンを終了する。
【0298】
以上説明したように、本実施形態の情報処理装置10Cの行動決定部43Dは、行動価値関数補正部43Iを有する。行動価値関数補正部43Iは、第1行動価値関数を第2行動価値関数に基づいて補正した第4行動価値関数を特定する。第3行動価値関数特定部43Gは、第4行動価値関数と第2行動価値関数との最大関数を第3行動価値関数として特定する。
【0299】
このため、本実施形態の情報処理装置10Cは、上記実施形態の効果に加えて、報酬設定に拘わらず、第1推論モデルの学習初期段階について、移動ロボット20の行動に関する最低要求性能を満たしながら第1推論モデルを学習可能な第1行動を決定することができる。
【0300】
(変形例)
なお、上記第1実施形態~第3実施形態では、情報処理装置10が第2行動価値関数特定部40Cを1つ備えた形態を一例として説明した。すなわち、上記実施形態では、行動決定部40D、行動決定部41D、および行動決定部43Dの各々が、1つの第2推論モデルから出力される1つの第2行動価値関数を用いて第3行動価値関数を特定する形態を一例として説明した。
【0301】
しかし、情報処理装置10は、複数の第2行動価値関数特定部40Cを備えた構成であってもよい。言い換えると、情報処理装置10は、互いに異なる複数の2推論モデルから出力される複数の第2行動価値関数を用いて、第3行動価値関数を特定してもよい。
【0302】
この場合、行動決定部40D、行動決定部41D、および行動決定部43Dは、複数の第2推論モデルの各々から出力された第2行動価値関数の内、任意の1つの第2行動価値関数を用いて、上記実施形態と同様にして第3行動価値関数を特定すればよい。
【0303】
次に、上記実施形態の情報処理装置10(情報処理装置10A、情報処理装置10B、情報処理装置10C)、移動ロボット20、および運行管理システム30のハードウェア構成の一例を説明する。
【0304】
図21は、上記実施形態の情報処理装置10、移動ロボット20、および運行管理システム30の一例のハードウェア構成図である。
【0305】
上記実施形態の情報処理装置10、移動ロボット20、および運行管理システム30は、CPU(Central Processing Unit)86、ROM(Read Only Memory)88、RAM(Random Access Memory)90、およびI/F82等がバス96により相互に接続されており、通常のコンピュータを利用したハードウェア構成となっている。
【0306】
CPU86は、上記実施形態の情報処理装置10、移動ロボット20、および運行管理システム30を制御する演算装置である。ROM88は、CPU86による情報処理を実現するプログラム等を記憶する。RAM90は、CPU86による各種処理に必要なデータを記憶する。I/F82は、記憶部42、入力部44、表示部46、通信部48、通信部24、センサ26、および記憶部28などに接続し、データを送受信するためのインターフェースである。
【0307】
上記実施形態の情報処理装置10、移動ロボット20、および運行管理システム30では、CPU86が、ROM88からプログラムをRAM90上に読み出して実行することにより、上記各機能がコンピュータ上で実現される。
【0308】
なお、上記実施形態の情報処理装置10、移動ロボット20、および運行管理システム30で実行される上記各処理を実行するためのプログラムは、HDD(ハードディスクドライブ)に記憶されていてもよい。また、上記実施形態の情報処理装置10、移動ロボット20、および運行管理システム30で実行される上記各処理を実行するためのプログラムは、ROM88に予め組み込まれて提供されていてもよい。
【0309】
また、上記実施形態の情報処理装置10、移動ロボット20、および運行管理システム30で実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、CD-R、メモリカード、DVD(Digital Versatile Disk)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施形態の情報処理装置10、移動ロボット20、および運行管理システム30で実行される上記情報処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施形態の情報処理装置10、移動ロボット20、および運行管理システム30で実行される上記情報処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【0310】
なお、上記には、実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0311】
10、10A、10B、10C 情報処理装置
20 移動ロボット
40A 取得部
40B 第1行動価値関数特定部
40C 第2行動価値関数特定部
40D、41D、43D 行動決定部
40E、41E、43E 表示制御部
40F 送信制御部
41G、43G 第3行動価値関数特定部
41H 行動選択部
43I 行動価値関数補正部