JP2024035150A - エンティティを制御するためのシステムおよび方法 - Google Patents
エンティティを制御するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2024035150A JP2024035150A JP2023137896A JP2023137896A JP2024035150A JP 2024035150 A JP2024035150 A JP 2024035150A JP 2023137896 A JP2023137896 A JP 2023137896A JP 2023137896 A JP2023137896 A JP 2023137896A JP 2024035150 A JP2024035150 A JP 2024035150A
- Authority
- JP
- Japan
- Prior art keywords
- level controller
- controller
- sub
- modality
- level
- 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
Links
- 238000000034 method Methods 0.000 title claims description 47
- 238000013528 artificial neural network Methods 0.000 claims abstract description 111
- 230000009471 action Effects 0.000 claims abstract description 85
- 230000002787 reinforcement Effects 0.000 claims abstract description 30
- 238000003860 storage Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 abstract description 10
- 230000000007 visual effect Effects 0.000 description 31
- 239000003795 chemical substances by application Substances 0.000 description 21
- 238000012549 training Methods 0.000 description 18
- 230000033001 locomotion Effects 0.000 description 15
- 238000009826 distribution Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000001537 neural effect Effects 0.000 description 6
- 239000013598 vector Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000003252 repetitive effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000003542 behavioural effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 206010011878 Deafness Diseases 0.000 description 1
- 206010039740 Screaming Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0635—Training updating or merging of old and new templates; Mean values; Weighting
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Feedback Control In General (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】エンティティを制御するためのコントローラを提供する。【解決手段】探索環境120において、コントローラは、階層型マルチモーダル強化学習(RL)ニューラルネットワークを記憶するためのメモリとプロセッサとを備える。階層型マルチモーダルRLニューラルネットワークは、第1のレベルコントローラと2つの第2のレベルコントローラとを含む。第2のレベルコントローラの各々は、第1のモダリティに関連する第1のサブレベルコントローラと、第2のモダリティに関連する第2のサブレベルコントローラとを含む。プロセッサは、入力データ及び階層型マルチモーダルRLニューラルネットワークの状態に基づいて、第1のレベルコントローラを使用して、2つの第2のレベルコントローラのうちの1つを選択する。選択された第2のレベルコントローラは、制御アクションのセットを決定し、制御アクションのセットに基づいてエンティティを制御する。【選択図】図2
Description
本発明は、概してエンティティ制御に関し、より詳細には、特定のタスクを実行するようにエンティティを訓練および制御することに関する。
人間を支援するロボットエージェントは、ロボット工学および人工知能(AI)の見込みを達成することの中心である。ロボット工学およびAIにおける最近の開発は、事前定義されたタスクを解決するために現実的な仮想世界を自律的にナビゲートすることができるエンティティ(エージェントまたはロボットなど)を設計することにある。例えば、視覚および言語ナビゲーション(VLN)では、エンティティまたはエージェントは、自然言語で提供される命令に従って目標場所にナビゲートするか、または所与の自然言語への回答を求めて視覚世界を探索してもよい。
しかしながら、VLNエンティティまたはエージェントは、聴力がなく、すなわち、環境において、いかなる音声イベントも聴取することはできない、または音声的手掛かりを受信することはできない、と仮定される。したがって、現実的な仮想世界において展開および動作するVLNエンティティは、そのような環境を確実にナビゲートすることができない場合がある。この欠点に対処するために、ナビゲーションタスクは、仮想シーンにおいて音声源の位置を特定するために再定式化されてもよい。しかしながら、ナビゲーションタスクの再定式化は、エンティティまたはエージェントが従うべき自然言語命令がない。したがって、エンティティまたはエージェントは、依然として、現実的な仮想世界において確実に動作することができない場合がある。
現実的な仮想世界におけるナビゲーションは、視聴覚的であるだけでなく、複雑で確率論的であることが多い。特に、現実的な仮想世界でナビゲートするエンティティまたはエージェントは、ナビゲーションの成功のために、音声入力、視覚入力、および言語入力等の異なる入力モダリティ間の相乗効果を求めなければならない場合がある。例えば、高齢者介護施設では、ロボットエージェントは、倒れる人の音がどこから聞こえるかを見つける必要があり得る。一方で、そのような音は散発的であり、したがって、エンティティまたはエージェントは、目標に到達するために視聴覚的モダリティのセマンティックな知識を使用しなければならない。他方では、そのようなイベントは、適時に対応される必要があり、エンティティまたはエージェントは、それが行うナビゲーションミスの数を最小限にしなければならない場合がある。ミスを最小限に抑えるために、エンティティまたはエージェントは、目標に到達するために、自身のナビゲーションアクションが不確実であるときに、人間の助けを必要としてもよい。
ナビゲーションタスクについて複数のモダリティを有するそのような入力の重要な課題は、エンティティまたはエージェントが、いつクエリを問い合わせるべきか、およびいつ視聴覚的手掛かりに従って目標に到達するべきかを決定することができないことである。
そのために、絶対正しい導き手に多くの回数問い合わせることは、エージェントの自律性を損なう可能性があり、導き手が人間である場合、あまり好ましくない可能性がある。他方、より少ない回数で導き手に問い合わせることは、エンティティまたはエージェントに、目標に到達することなく無限に環境を探索させるかもしれない。さらに、自然言語でエンティティまたはエージェントに提供される命令は、自然言語のノイズおよび複雑さのために、ナビゲート可能な命令に変換することが困難である場合がある。したがって、エンティティまたはエージェントは、ナビゲーションタスクの完了時間の増加、ナビゲーションタスクの完了の失敗、ナビゲーションタスクの不正確な実行、ナビゲーションタスクを完了するための経路計画の実現可能性の喪失、および特に現実的な仮想世界においてタスクを完了するための入力のモダリティの数の制限による経路品質の低下(余分な操作、コストの増加、および精度の低下など)などの様々な制限に悩まされる。
いくつかの実施形態の目的は、現実的な視覚世界における音声源の位置特定を可能にする視聴覚原語(AVL)実施ナビゲーション技術を開示することである。いくつかの実施形態の別の目的は、音声源が現実的な視覚世界において位置を特定される視聴覚言語(AVL)実施ナビゲーション方法を開示することである。いくつかの実施形態の別の目的は、エンティティが視聴覚言語手掛かりを使用して音声源にナビゲートすることを開示することである。いくつかの実施形態の別の目的は、エンティティがナビゲーションステップを決定する際にその不確実性を暗黙的にモデル化し、ナビゲーション命令のために導き手からの支援を求めるように、音声源に到達するためのナビゲーションステップを生成するための新たなタイプのパラメータ化を開示することである。いくつかの実施形態の別の目的は、例えば、音声、視覚、または短い自然言語文からモダリティを選択することによって、受信されるべき入力される手掛かりのタイプを決定する、そのようなシステムおよび方法を提供することである。
いくつかの実施形態は、エンティティが、ナビゲーション命令についていつクエリを尋ねるか、または導き手から支援を求めるか、およびいつ視聴覚的手掛かりに従って目標または音声源に到達するかを決定する必要があってもよい、という認識に基づく。視聴覚的手掛かりに基づいていつ導き手に問い合わせるかまたはナビゲートするかの決定は、極めて重要であり、なぜならば、あまりにも多くのクエリを尋ねることはエージェントの自律性を損ない得、導き手が人間である場合、あまり好ましくなく、また、問い合わせの回数があまりにも少ないと、エンティティが目標に到達することなくシーンを無限に探索し得るからである。
エンティティに提供される命令は自然言語であるが、そのような命令はしばしばノイズが多く、ナビゲート可能な命令に正しく翻訳することが困難である。いつ導き手に問い合わせるかの決定を考慮する必要があり、その結果、自然言語命令を翻訳して目標に到達するまでの時間が短くなり得る。
いくつかの実施形態は、いつ問い合わせるべきかを決定するために上位ポリシー(第1のレベルコントローラと呼ばれる)を学習することと、ナビゲートするために複数の下位ポリシー(第2のレベルコントローラと呼ばれる)を学習することとからなる、階層型強化学習フレームワークが、ナビゲーション中のエラーまたはミスを低減し、エンティティの無限の操縦を防止し得る、という理解に基づく。これにより、目標に到達する時間がさらに短縮され得る。しかしながら、いつ導き手に問い合わせるべきかを決定するために不確実性をモデル化することは、不確実性がアクション予測確率に関して定量化されるか、またはエンティティがナビゲートするのにいつ紛失されるかをチェックするためにヒューリスティックスを使用するかのいずれかであり、目標に到達するためにナビゲーションタスクを完了する時間を短縮することができない場合がある。さらに、エンティティがいつミスを起こしているかを識別すること、およびこの情報を組み込んで、いつ問い合わせるかを識別することは、エンティティの将来のアクションの完全な分析を必要とし得る。これはまた、エンティティのミスまたは不必要な操作を防止することに失敗し、それによって、ナビゲーションタスクを完了するための時間を低減することに失敗し得る。したがって、いくつかの実施形態の目的は、環境と対話し、環境を探索し、報酬を収集することによって、現在の観測および履歴情報に基づいていつ問い合わせるべきかを学習して、操縦におけるミスがより少なく、目標へのより速いナビゲーションを達成する、そのような方法を提供することである。
いくつかの実施形態の目的は、音声源が散発的であり、曖昧であり、注意をそらす音(またはノイズ)が音声源と並んで存在する場合のセマンティックな視聴覚言語ナビゲーションを提供することである。加えて、いくつかの実施形態の目的は、目標に到達する際のエンティティの成功率が改善されるように、支援を求めるかまたは導き手に問い合わせるように備えられたエンティティを提供することである。具体的には、いくつかの実施形態の目的は、エンティティが特定の数の質問またはクエリを尋ねることを許可されるとき、成功率を増加させ、経路長を減少させることである。
視聴覚言語ナビゲーションは、視聴覚的手掛かりを使用して音声源にナビゲートすることを学習することを目的とし、また、ナビゲーションステップを決定する際にその不確実性を暗黙的にモデル化することも学習し、短い自然言語文で提供されるナビゲーション命令について導き手からの支援を求める。
本開示のいくつかの実施形態は、視聴覚的ナビゲーションを自然言語命令と統合および一般化して、完全な視聴覚言語で具現化されたAIナビゲーションエンティティを構築することに基づく。
本開示のいくつかの実施形態は、エンティティがいつ導き手に問い合わせるか、音声目標を使用してどのようにナビゲートするか、および提供された自然言語命令をどのように使用するかを決定するためのポリシーを併せて学習する、新たなタイプの階層型強化学習フレームワークに基づく。
本開示のいくつかの実施形態は、さまざまなセマンティックオブジェクトおよびそれらの音を伴う大規模実世界環境を伴うデータセット上のセマンティックな視聴覚的ナビゲーションに基づく。
したがって、一実施形態は、エンティティを制御するためのコントローラを開示する。コントローラは、階層型マルチモーダル強化学習(RL)ニューラルネットワークを記憶するメモリを備える。階層型マルチモーダルRLニューラルネットワークは、第1のレベルコントローラと、少なくとも2つの第2のレベルコントローラとを含む。少なくとも2つの第2のレベルコントローラは、少なくとも第1のモダリティに関連する第1のサブレベルコントローラと、第2のモダリティに関連する第2のサブレベルコントローラとを備える。第1のモダリティは、第2のモダリティとは異なる。コントローラは、第1のレベルコントローラを使用して、タスクに関連する第1のサブタスクを実行するために、少なくとも2つの第2のレベルコントローラのうちの1つを選択するよう構成されるプロセッサを備える。選択は、少なくとも入力データと、階層型マルチモーダルRLニューラルネットワークの状態とに基づく。プロセッサは、少なくとも2つの第2のレベルコントローラから選択された第2のレベルコントローラに、第1のサブタスクを実行するために、制御アクションのセットを決定させるよう構成される。プロセッサは、選択された第2のレベルコントローラによって決定された制御アクションのセットに基づいてエンティティを制御するよう構成される。プロセッサは、さらに、選択された第2のレベルコントローラを使用して、第1のサブタスクの実行で階層型マルチモーダルRLニューラルネットワークの状態を更新するよう構成される。プロセッサは、さらに、第1のレベルコントローラを使用して、少なくとも、入力データ、階層型マルチモーダルRLニューラルネットワークの以前の状態、および階層型マルチモーダルRLニューラルネットワークの更新された状態に基づいて、タスクに関連する第2のサブタスクを実行するために、少なくとも2つの第2のレベルコントローラのうちの1つを選択するよう構成される。第2のサブタスクは、タスクを完了するために第1のサブタスクの後に実行される。
プロセッサは、さらに、少なくとも2つの第2のレベルコントローラの各々の選択に関連付けられるリソース制約を決定するよう構成される。プロセッサは、第1のレベルコントローラを使用して、リソース制約に基づいて、少なくとも2つの第2のレベルコントローラのうちの1つを選択するよう構成される。
第1のモダリティに関連する第1のサブレベルコントローラおよび第2のモダリティに関連する第2のサブレベルコントローラによって使用される、入力データまたは階層型マルチモーダルRLニューラルネットワークの状態は異なる。
第1のサブレベルコントローラは、映像情報に基づいて制御アクションのセットを決定するよう構成され、第2のサブレベルコントローラは、音声情報に基づいて制御アクションのセットを決定するよう構成される。
第1のサブレベルコントローラに関連する第1のモダリティは音声または映像ベースのモダリティであり、第2のサブレベルコントローラに関連する第2のモダリティは自然言語ベースのモダリティである。
第1のレベルコントローラは、第1のサブレベルコントローラの選択に向けてバイアスされる。
第1のサブレベルコントローラは、制御アクションのセットを、センサベースの音声情報またはセンサベースの映像情報のうちの少なくとも1つに基づいて決定するよう構成される。第2のサブレベルコントローラは、制御アクションのセットを自然言語命令に基づいて決定するよう構成される。
選択された第2のレベルコントローラが第1のモダリティに関連する第1のサブレベルコントローラである場合、プロセッサは、さらに、音声または映像ベースのモダリティを含む第1のモダリティに関連する第1のサブレベルコントローラを使用して、階層型マルチモーダルRLニューラルネットワークの状態に関連付けられる状態変数の第1のセットおよび入力データに少なくとも基づいて制御アクションのセットを決定するよう構成される。入力データは、センサベースの音声情報またはセンサベースの映像情報のうちの少なくとも1つを含む。プロセッサは、第1のサブレベルコントローラを使用して、第1のサブタスクの実行に基づいて状態変数の第1のセットを更新するよう構成される。
選択された第2のレベルコントローラが自然言語ベースのモダリティを含む第2のモダリティに関連する第2のサブレベルコントローラである場合、プロセッサは、さらに、第2のサブレベルコントローラを使用して、階層型マルチモーダルRLニューラルネットワークの状態に関連付けられる状態変数の第2のセットおよび入力データに少なくとも基づいて制御アクションのセットを決定するよう構成される。入力データは、自然言語命令を含む。状態変数の第1のセットは、状態変数の第2のセットとは異なる。プロセッサは、さらに、第2のサブレベルコントローラを使用して、第1のサブタスクの実行に基づいて状態変数の第2のセットを更新するよう構成される。
プロセッサは、階層型マルチモーダルRLニューラルネットワークに関連付けられる信念状態を判断するよう構成される。プロセッサは、選択された第2のレベルコントローラを使用して、階層型マルチモーダルRLニューラルネットワークの更新された状態および第1のサブタスクの実行に基づいて、階層型マルチモーダルRLニューラルネットワークの信念状態を修正するよう構成される。
選択された第2のレベルコントローラが第2のモダリティに関連する第2のサブレベルコントローラであり、第2のモダリティが自然言語ベースのモダリティである場合、プロセッサは、第2のサブレベルコントローラを使用して、第1のサブタスクに関連付けられる制御アクションのセットの実行に基づいて新たな信念状態を生成するよう構成される。プロセッサは、第2のサブレベルコントローラを使用して、現在の信念状態をクリアするよう構成される。
第1のレベルコントローラは、強化学習ネットワークを有する学習されたポリシーを使用して、少なくとも2つの第2のレベルコントローラのうちの1つをいつ選択すべきかを決定する。
いくつかの実施形態では、タスクは、初期状態からターゲット状態までのエンティティのナビゲーションのためのナビゲーションタスクである。第1のサブレベルコントローラに関連する第1のモダリティは音声または映像ベースのモダリティであり、第2のサブレベルコントローラに関連する第2のモダリティは自然言語ベースのモダリティである。第1のレベルコントローラが、第1のサブレベルコントローラを選択すると、第1のサブレベルコントローラは、センサベースの情報に基づいてエンティティのナビゲーションを制御する。第1のレベルコントローラが、第2のサブレベルコントローラを選択すると、第2のサブレベルコントローラは、自然言語で具現化されたナビゲーション命令についてエンティティに問い合わせさせ、第2のサブレベルコントローラは、自然言語命令に基づいてエンティティのナビゲーションを制御する。
別の実施形態は、階層型マルチモーダル強化学習(RL)ニューラルネットワークを有するコントローラを使用してエンティティを制御するための方法を開示する。階層型マルチモーダルRLニューラルネットワークは、第1のレベルコントローラと、少なくとも2つの第2のレベルコントローラとを含む。少なくとも2つの第2のレベルコントローラは、少なくとも、第1のモダリティに関連する第1のサブレベルコントローラと、第2のモダリティに関連する第2のサブレベルコントローラとを備える。第1のモダリティは、第2のモダリティとは異なる。本方法は、第1のレベルのコントローラを使用して、タスクに関連する第1のサブタスクを実行するために、少なくとも2つの第2のレベルコントローラのうちの1つを選択することを含む。選択は、少なくとも入力データと、階層型マルチモーダルRLニューラルネットワークの状態とに基づいて行われる。本方法は、少なくとも2つの第2のレベルコントローラから選択された第2のレベルコントローラに、第1のサブタスクを実行するために、制御アクションのセットを決定させることを含む。本方法は、選択された第2のレベルコントローラによって決定された制御アクションのセットに基づいてエンティティを制御することを含む。
さらに別の実施形態は、階層型マルチモーダル強化学習(RL)ニューラルネットワークを有するコントローラを使用してエンティティを制御するための方法を実行するためにプロセッサによって実行可能なプログラムを具現化したコンピュータ可読記憶媒体を開示する。階層型マルチモーダルRLニューラルネットワークは、第1のレベルコントローラと、少なくとも2つの第2のレベルコントローラとを含む。少なくとも2つの第2のレベルコントローラは、少なくとも、第1のモダリティに関連する第1のサブレベルコントローラと、第2のモダリティに関連する第2のサブレベルコントローラとを備える。第1のモダリティは、第2のモダリティとは異なる。本方法は、第1のレベルのコントローラを使用して、タスクに関連する第1のサブタスクを実行するために、少なくとも2つの第2のレベルコントローラのうちの1つを選択することを含む。選択は、少なくとも入力データと、階層型マルチモーダルRLニューラルネットワークの状態とに基づいて行われる。本方法は、少なくとも2つの第2のレベルコントローラから選択された第2のレベルコントローラに、第1のサブタスクを実行するために、制御アクションのセットを決定させることを含む。本方法は、選択された第2のレベルコントローラによって決定された制御アクションのセットに基づいてエンティティを制御することを含む。
いくつかの実施形態は、エンティティが、導き手または異なるエンティティもしくはエージェントと対話し、フィードバックを受信し、この情報をナビゲーションのために利用することを可能にされる、という理解に基づく。しかしながら、既存のアプローチからの導き手命令は、グラウンドトゥルースアクションおよび特定の数のアクションの連続するフレーズへの直接マッピングに限定される。ある場合には、固定された自然言語命令のセットが、導き手フィードバックとして使用されてもよい。そのような場合、そのような自然言語命令は、タスクの完了後にエンティティが直面するかまたは見るであろう、ターゲット画像(または目標画像)と結合されてもよい。しかしながら、エンティティは、問い合わせるべき特定の場所に到達することが要求される場合があり、これは、人間の導き手の観点からは非実用的である。したがって、本開示の目的は、エンティティが自由形式自然言語命令をフィードバックとして受信することを可能にすることである。フィードバックは、環境内の任意のナビゲート可能なポイントから取得されてもよい。このようにして、エンティティは、入力またはフィードバックを自然にかつ柔軟に受信してもよい。
添付の図面を参照して、ここに開示される実施形態についてさらに説明する。示される図面は必ずしも縮尺通りではなく、概して、本開示の実施形態の原理を説明することに重点が置かれる。
以下の説明では、説明の目的で、本開示の完全な理解を促すために、多数の具体的な詳細が述べられる。しかしながら、本開示は、これらの具体的な詳細なしに実施されてもよいことは、当業者には明白であろう。他の例では、本開示を不明瞭にすることを回避するために、装置および方法がブロック図の形式でのみ示される。企図されるのは、特許請求の範囲に記載されるように開示される主題の精神および範囲から逸脱することなく、要素の機能および構成において行われ得るさまざまな変更である。
本明細書および特許請求の範囲で用いられる場合、文言「例えば」、「例として」、「等」、ならびに動詞「備える」、「有する」、「含む」、およびそれらの他の動詞形は、1つ以上の構成要素または他の項目のリストとともに用いられる場合、各々オープンエンドと解釈されるべきであり、そのリストは、他の追加の構成要素または項目を排除するものと見なすべきではないことを意味する。「~に基づく」という文言は、少なくとも部分的に基づくことを意味する。さらに、本明細書で使用される表現および用語は、説明の目的のためであり、限定と見なされるべきではないことを理解されたい。この記載内で利用されるいかなる見出しも、便宜上のものにすぎず、法的または限定的な効果を有さない。
以下の説明では、実施形態の完全な理解のために、具体的な詳細が与えられる。しかしながら、当業者によって理解されることは、実施形態がこれらの具体的な詳細なしで実施されてもよいことであり得る。たとえば、開示される主題におけるシステム、プロセス、および他の要素は、不必要な詳細で実施形態を不明瞭にしないように、ブロック図の形態の構成要素として示される場合がある。他の例では、周知のプロセス、構造、および技術は、実施形態を不明瞭にすることを回避するために、不必要な詳細を伴わずに示される場合がある。さらに、さまざまな図面における同様の参照番号および名称は、同様の要素を示した。
いくつかの実施形態の目的は、現実的な視覚世界において音声源の位置特定を可能にする視聴覚原語(AVL)実施ナビゲーション技術を開示することである。いくつかの実施形態の別の目的は、音声源が現実的な視覚世界において位置特定されるAVL実施ナビゲーション方法を開示することである。いくつかの実施形態の別の目的は、エンティティがいつ導き手に問い合わせるか、音声目標を使用してどのようにナビゲートするか、および提供された自然言語命令をどのように使用するかを決定するためのポリシーを併せて学習する、新たなタイプの階層型マルチモーダル強化学習(RL)ニューラルネットワークフレームワークを開示することである。目的を明らかにするだけのために、いくつかの実施形態が、探索動作に関連して説明される。しかしながら、散発的音声源を用いた探索動作に関連して説明される原理は、他のエンティティナビゲーションアプリケーションにおける代替実施形態によって使用される。
図1Aは、いくつかの実施形態によるエンティティ150のエンティティ構成100を示す。エンティティ150は、エンティティ150において移動を提供するための移動装置101を含む。一例では、移動装置101は、移動を提供するために1つ以上のモータを含んでもよい。例えば、1つ以上のモータは、電気モータ、油圧モータ、および空気圧モータを含んでもよいが、それらに限定されない。移動装置101は、アーム102およびエンティティ150の足104の運動または移動のための電力を提供してもよい。例えば、アーム102および足104は、物体またはエンティティ150を移動させるための複数の自由度を有してもよい。いくつかの実現例では、アーム102は、物体を保持するため、および/または探索動作などの任意の他のロボット動作を実行するためのエンドツール106を備える。エンドツール106は、例えばグリッパであってもよい。以下、「エンドツール」および「グリッパ」は、互換的に使用され得る。
実施形態によれば、探索動作の目的は、例えば、身動きのとれない人間を探して見つけ出すために瓦礫をナビゲートしながら、音声源を判断することである。例えば、瓦礫は地震によって発生することがある。エンティティ150は、視聴覚的手掛かりを使用して、瓦礫をナビゲートし、音声源、または身動きできない被害者からの自然言語での助けを求める呼び声を聞いて、瓦礫をナビゲートしてもよい。そのような音声源は、散発的または非反復的であってもよい。
この目的のため、エンティティ150の表現は、限定として解釈されるべきではない。本開示の他の実施形態では、エンティティ150は、本体、1つ以上のコントローラ、1つ以上のセンサ、エンドエフェクタ、フィードバックデバイス、マニピュレータ等の他の構成要素を含んでもよい。
図1Bは、一実施形態による、エンティティによって実行される例示的な探索動作を示す。図1Bは、図1Aに示されるエンティティ150に関連して説明される。エンティティ150は、探索動作を実行するように、例えば、瓦礫103をナビゲートして、例えば、音声源に基づいて、任意の身動きのとれない被害者を発見し、救助するよう構成される。本明細書で使用される場合、音声源は、音を発する源に対応する。例えば、音声源は、瓦礫103に閉じ込められた被害者であってもよい。単純なシナリオでは、音声源は、連続的または反復的であってもよく、すなわち、被害者は、助けを求めて叫ぶといった可聴音を発し続けてもよい。しかしながら、ある場合には、音声源は、散発的または非反復的であってもよく、すなわち、被害者は、助けを求めて1回叫ぶといった可聴音を発するだけである場合がある。エンティティ150の移動装置101は複数の自由度を含むので、エンティティ150の運動は、多次元空間にわたるモーションプロファイルを含んでもよい。
エンティティ150は、最初は初期位置にあってもよく、開始姿勢111において移動可能である。初期位置に対応するエンティティ150の位置は、エンティティ150の初期状態と呼ばれる。一実施形態によれば、探索動作の目的は、瓦礫103の内部に閉じ込められた1人以上の被害者を識別することであり、1人以上の被害者は、可聴音を生成してもよいし、生成しなくてもよい。例えば、エンティティ150は、軌道113に沿ってアーム102および足104を移動させて、瓦礫103を通ってナビゲートするよう構成される。
エンティティ150の目標は、閉じ込められた被害者からの呼び声などの音声源の位置に基づいて決定される。探索動作の成功裏な実行の終わりで、エンティティ150の状態は、エンティティ150の目標状態に到達したと考えられる。したがって、エンティティ150の目標状態を達成することは、探索動作の成功裏な実行と等価である。ある実施形態によれば、軌道113は、エンティティ150の開始状態および目標状態に従って定義される。さらに、そのような探索動作は、エンティティ150によって繰り返し実行されてもよい。
本実施形態を考慮すると、エンティティ150は、閉じ込められた人間を探し、見つけ出すために、(例えば、地震後に)未知の瓦礫103をナビゲートする必要がある場合がある。エンティティ150は、視覚的手掛かりを使用して、瓦礫103をナビゲートする必要がある場合がある。さらに、エンティティ150はまた、閉じ込められた被害者からの苦しんでいる声または助けを求める呼び声を聴取する必要があり得る。エンティティ150はさらに、救助努力を誘導するために、それが発見した被害者に関して通信し、制御ステーションを更新しなければならない場合がある。場合によっては、エンティティ150はまた、音源を視覚的/聴覚的に探し出すことができないとき、被害者を探し出すための助けを他のエージェントまたは人間のオペレータから求めてもよい。したがって、本開示のいくつかの実施形態は、エンティティ150は、具現化された自律性およびマルチモーダル対話のための能力を必要とする、という認識に基づく。ある局面では、本開示の実施形態は、異なるモダリティに関連する情報について複数のセマンティックレベルに関連する問題に対処しようとし、そのため、エンティティ150は、そのミッションを効率的に解決するために、どの時点でどのような情報を求める必要があるかを知る必要がある。例えば、音が明確に聞こえない場合、エンティティ150は、遠隔オペレータから、どこにまたはどの方向に探索の焦点を合わせるかについての提案の支援を求めてもよい。しかしながら、与えられるオペレータ命令は、自然言語であるかもしれず、したがって、エンティティ150は、これらの命令からナビゲーションコマンドを作成するために、それを明確に解読する必要がある。次いで、自然言語命令を解読するために、より高いセマンティックレベルでの推論を伴うタスクが実行されなければならない場合がある。
いくつかの実施形態は、探索動作に関与するエンティティ150の目標状態が探索動作の反復の間で変動してもよい、という認識に基づく。たとえば、エンティティ150が、被害者などからの音声源からの音を聴取または感知する場合、エンティティ150は、音声源を識別し、被害者を識別するよう、探索動作を開始してもよい。たとえば、可聴音は、散発的および非反復的な自然言語であってもよい。
いくつかの実施形態は、エンティティ150は、軌道113を部分部分に分けて生成して瓦礫103をナビゲートしてもよい、という認識に基づく。例えば、エンティティ150は、瓦礫103をナビゲートするタスクを分解して、被害者を1つ以上のサブタスクに発見してもよい。この点に関して、1つ以上のサブタスクからの第1のサブタスクの完了は、軌道113の第1の部分の生成および第1の部分上でのエンティティ150のナビゲーションに対応してもよい。第1のサブタスクが実行されると、エンティティ150は、軌道113の第2の部分を生成するよう第2のサブタスクを実行してもよい。
そのために、図1Aに戻って参照すると、エンティティ150は、1つ以上のセンサ107から受信されたセンサデータに基づいて、(図1Bに示される)軌道113、具体的には、軌道の部分を生成してもよい。一例では、エンティティ150は、1つ以上の視覚センサ108と、1つ以上の音声センサ109と、1つ以上の言語センサ110とを含んでもよい。例えば、視覚センサ108はカメラであってもよく、音声センサ109はマイクロフォンであってもよい。例えば、エンティティ150は、第1のサブタスクを定式化するために、その周囲の視覚および可聴情報を知覚してもよい。しかしながら、場合によっては、エンティティ150は、目標推定値に対応するセンサデータ、すなわちエンティティ150の環境に関連するセンサデータのみに基づいて、瓦礫103をナビゲートできないことがある。その後、エンティティ150は、他のサブタスクを定式化し、軌道113を完全に生成するために、自然言語音声または視覚入力等の別のモダリティにおける入力を要求してもよい。
この目的のために、いくつかの実施形態は、エンティティ150が、自然言語入力を受信するために、瓦礫103等の環境内で導き手にいつ問い合わせるかを知らない場合がある、という認識に基づく。いくつかの実施形態はまた、エンティティ150が、音声センサ109および視覚センサ108に基づいて、瓦礫103を通してナビゲートする方法を知らない場合がある、という認識に基づく。いくつかの実施形態はまた、エンティティ150が、自然言語命令、すなわち、自然言語モダリティを、他のセンサベースの命令、すなわち、音声および視覚モダリティとともにどのように使用するかを知らない場合がある、という認識に基づく。
図1Cは、一実施形態による、異なるモダリティに基づいてエンティティ150によって実行される例示的な探索動作を示す。図1Bは、図1Aに示されるエンティティ150に関連して説明される。エンティティ150は、意味を持った音を発する物体122を見つけるために、未見の3D部屋環境120においてナビゲートすることが要求される。意味を持った音を発する物体122によって発せられる音は散発的であってもよく、または持続時間が短くてもよいことに留意されたい。
いくつかの実施形態は、人間間のコミュニケーションが、周囲の物体およびイベントについての異なる情報モダリティの情報(視覚情報および音声情報など)と密接に伝達される、という認識に基づく。エンティティ150などの機械が、人間などの導き手と探索動作について対話するためには、マルチモーダル推論が必要である。マルチモーダル推論は、動的視聴覚的シーンの効果的なモデルを生成するために利用される。エンティティ150は、モーダルに基づいて探索動作について推論し、導き手からのクエリに対する応答を生成してもよい。ある例では、そのようなマルチモーダルクエリは、視聴覚的シーンを意識したダイアログ(AVSD)システムを介して形式化されてもよい。AVSDシステムのいくつかのアプリケーションは、エンドツーエンドダイアログ、視覚的質問応答(VQA)、および映像キャプショニングを含む。AVSDシステムは、導き手とエンティティ150との間の会話をサポートするために使用されてもよい。会話をサポートするために、AVSDシステムは、マルチモダリティ(例えば、音声、映像、クエリ、およびマルチターンダイアログ履歴)を併せて使用して視聴覚的シーンおよび以前のダイアログコンテキストをモデル化し、応答を自由形式自然言語で生成する能力を必要とする。この目的のため、自然言語においてクエリをモデル化するために、計算リソースが必要とされてもよい。例えば、エンティティ150は、設定された予算を有してもよく、したがって、エンティティ150は、予算に基づいて導き手にいつ問い合わせるかを決定するようポリシーを必要としてもよい。さらに、自然言語および映像(または音声)情報のようなモダリティがAVSDタスクに必要とされる。映像は自然言語とは無関係であってもよく、時には、自然言語情報および音声情報は同様の情報を含んでもよい。いくつかの実施形態は、エンティティ150は、自然言語からの情報を使用するために、自然言語から関連情報を抽出する必要がある、という認識に基づく。
図2は、いくつかの実施形態による、探索動作などのAVSDタスクを実行するためのエンティティ150のブロック図を示す。エンティティ150は、エンティティ150の運動を示す入力データを受信するよう構成される入力インターフェース200を含む。入力データは、タスクを実行するために、エンティティ150の姿勢を開始姿勢から目標姿勢に遷移させるために使用されてもよい。入力インターフェース200は、さらに、終了姿勢修正を受け付けるように構成されてもよい。終了姿勢修正は、エンティティ150の新たな開始姿勢およびエンティティ150の新たな目標姿勢のうちの少なくとも1つまたは組み合わせを含む。いくつかの実施形態では、入力インターフェース200は、エンティティ150によってタスクの実行中に経験される視覚信号および音声信号を示す入力データを受信するよう構成される。例えば、入力データは、音声、映像、テキスト、自然言語などのマルチモーダル情報に対応する。そのような入力データは、視覚センサ108によって受信もしくは感知されるセンサベースの映像情報、音声センサ109によって受信もしくは感知されるセンサベースの音声情報、または言語センサ110によって受信もしくは感知される自然言語命令を含んでもよい。入力データは、センサ107から受信される生の測定値、または音声および/もしくは映像情報ならびに信号を表す、該測定値の任意の派生物であってもよい。
一実施形態では、エンティティ150は、関節によって連結されたアーム102、足104、およびエンドツール106などの構成要素のセットである。ある例において、関節は、回転関節、摺動関節、または他のタイプの関節であってもよい。関節の集合は、対応する構成要素の自由度を決定する。一例では、アーム102は、5~6の自由度を可能にする5~6個の関節を有してもよい。ある例では、エンドツール106は、平行グリッパであってもよい。例えば、平行グリッパは、2つの平行フィンガを有し、それらの距離は、相互に対して調節されることができる。代わりに、多くの他のエンドツール、例えば、溶接用先端を有するエンドツールが使用されてもよい。関節は、構成要素の所望の構成を達成するよう調整されてもよい。ある所望の構成は、ユークリッド空間における所望の位置、または関節空間における所望の値に関連してもよい。関節はまた、所望の(角)速度および/または(角)加速度を達成するよう、時間領域において命令されてもよい。関節は、関節の対応する状態を報告してもよい埋め込みセンサを有してもよい。報告される状態は、たとえば、角度の値、電流の値、速度の値、トルクの値、加速度の値、またはそれらの任意の組合せであってもよい。報告される関節状態の集合は、状態と呼ばれる。
エンティティ150は、エンティティ150を他のシステムおよびデバイスに接続するいくつかのインターフェースを有してもよい。例えば、エンティティ150は、入力インターフェース200を介して新たな開始姿勢および目標姿勢を受信するために、バス201を介してセンサ107(図1Aに示される)に接続される。追加または代替として、いくつかの実現例では、エンティティ150は、プロセッサ205をキーボード203およびポインティングデバイス204に接続するヒューマンマシンインターフェース202を含み、ポインティングデバイス204は、とりわけ、マウス、トラックボール、タッチパッド、ジョイスティック、ポインティングスティック、スタイラス、またはタッチスクリーンを含んでもよい。いくつかの実施形態では、エンティティ150は、制御法則またはポリシーに従って生成されるコマンドに従って、関節を動かしてアーム102および/または足104の運動を変化させるよう構成される、モータ210または複数のモータを含んでもよい。さらに、エンティティ150は、コントローラ209を含む。コントローラ209は、ポリシーに従ってモータ210を動作させてアーム102および/または足104の配置を変更するよう構成される。エンティティ150に対するコマンドは、バス201を介してコントローラ209から受信される。例えば、状態は、センサ107からバス201を介してコントローラ209によって受信される。ある例では、バス201は専用のデータケーブルである。別の例では、バス201はイーサネットケーブルである。たとえば、エンティティ150は、図1Cに示す意味を持った音を発する物体122を探索しなければならないことがある。たとえば、ナビゲートし、意味を持った音を発する物体122に到達するための命令は、タスク記述の一部であってもよい。
本例によれば、コントローラ209は、階層型マルチモーダル強化学習(RL)ニューラルネットワーク209aを含み、これは、第1のレベルコントローラ212および少なくとも2つの第2のレベルコントローラ214をさらに含む。例えば、少なくとも2つの第2のレベルコントローラ214は、第1のサブレベルコントローラ214aおよび第2のサブレベルコントローラ214bを含む。例えば、第1のレベルコントローラ212は、ナビゲーションサブタスクを実行するために、2つの第2のレベルコントローラ214のうちの1つ、すなわち、第1のサブレベルコントローラ214aおよび第2のサブレベルコントローラ214bのうちの1つを選択してもよい。第1のレベルコントローラ212が第1のサブレベルコントローラ214aおよび第2のサブレベルコントローラ214bのうちの1つを選択する方法は、以下の図に関連して詳細に説明される。
第1のレベルコントローラ212は、強化学習ネットワークを有する学習されたポリシーを使用して、少なくとも2つの第2のレベルコントローラ、すなわち第1のサブレベルコントローラ214aおよび第2のサブレベルコントローラ214bのうちの1つをいつ選択すべきかを決定する。一例では、学習されたポリシーは、エンティティ150がどのようなアクションを取るべきかを決定するための指令を表す。学習されたポリシーは、エンティティ150のアクションまたは状態のシーケンスであってもよい。より複雑なポリシーは、ロボット状態を入力とし、ロボットに取るべきアクションを与える関数である。アクションは、エンティティ150をある場所から別の場所に移動させるために関節およびパーツに適用されるべき値を表してもよい。例えば、学習されたポリシーは、決定論的であってもよく、これは、ポリシーがエンティティ150の1つ以上のパーツの運動ごとに単一の値を提供することを意味する。学習されたポリシーは確率論的でもあり得、ポリシーは、運動についての値にわたる確率分布を提供する。ある実施形態では、学習されたポリシーは、入力として状態をとり、強化学習ネットワークなどのニューラルネットワークによって表される。別の実施形態では、ポリシーは、入力として状態をとる解析関数によって表されてもよい。ポリシーは、連続数の時間ステップに対して実行されてもよく、これは、なんらかの初期時間ステップt0における状態に対して、ポリシーが、エンティティ150にアクションを与え、次いで、そのアクションが、エンティティ150によって実行されることを意味する。次いで、エンティティ150は、時間ステップt1において新たな状態に到着する。次いで、時間ステップt1において、その新たな状態でポリシーが実行される。これは、所望の数の時間ステップに対して繰り返され、そうでなければ、エンティティ150は、サブタスク(探索動作等)が完了したという指示を受信する。ポリシーのこの反復実行は、軌道をもたらすことになる。
ある実施形態では、第2のレベルコントローラ214は、異なるモダリティで構成されてもよい。たとえば、第1のサブレベルコントローラ214aは第1のモダリティに関連してもよく、第2のサブレベルコントローラ214bは第2のモダリティに関連してもよい。ある例では、第1のサブレベルコントローラ214aに関連する第1のモダリティは音声または映像ベースのモダリティであり、第2のサブレベルコントローラ214bに関連する第2のモダリティは自然言語ベースのモダリティである。この目的のため、第1のサブレベルコントローラ214aおよび第2のサブレベルコントローラ214bは、対応するモダリティに基づく異なるポリシーとともに構成されてもよい。したがって、第1のモダリティは、第2のモダリティとは異なる。
「物理的」、「現実的」、または「実世界」という分類を伴わないエンティティへの言及は、物理的エンティティもしくは物理的ロボット、または物理的エンティティもしくは物理的ロボットの挙動を忠実にシミュレートすることを目的とするロボットシミュレータを意味してもよいことに留意されたい。ロボットシミュレータは、現実世界のロボットの運動特性および動力特性をシミュレートするための数式に基づくアルゴリズムの集合からなるプログラムである。好ましい実施形態では、ロボットシミュレータは、コントローラ209もシミュレートする。ロボットシミュレータは、エンティティ150の2Dまたは3D視覚化のためのデータを生成してもよい。
エンティティ150は、記憶された命令を実行するよう構成されるプロセッサ205と、プロセッサ205によって実行可能な命令を記憶するメモリ206とを含む。プロセッサ205は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、または任意の数の他の構成であってもよい。
メモリ206は、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、フラッシュメモリ、または任意の他の好適なメモリシステムを含んでもよい。プロセッサ205は、バス201を介して1つ以上の入力インターフェースおよび他のデバイスに接続される。ある実施形態では、メモリ206は、コントローラ209内で具現化され、階層型マルチモーダルRLニューラルネットワーク209aをさらに記憶してもよい。階層型マルチモーダルRLニューラルネットワークは、次いで、例示的な実現例において、第1のコントローラ212および第2のレベルコントローラ214を具現化してもよい。
エンティティ150はまた、プロセッサ205のために実行可能命令を記憶する異なるモジュールを記憶するように適合される記憶装置207を含んでもよい。記憶装置207はまた、エンティティ150がナビゲートしなければならない環境の空間を示す訓練データを生成するための自己探索プログラム208を記憶してもよい。記憶装置207は、ハードドライブ、光学ドライブ、サムドライブ、ドライブのアレイ、またはそれらの任意の組み合わせを使用して実現されてもよい。プロセッサ205は、ポリシーに従ってアーム102および/または足104を移動させるように複数のモータを制御するための制御法則を決定し、学習されたポリシーに従って複数のモータを制御することによって環境を探索する自己探索プログラム208を実行するよう構成される。
エンティティ150は、軌道をたどることによってエンティティ150の初期状態からターゲット状態(意味を持った音を発する物体122の位置など)にエンティティ150をナビゲーションするためのナビゲーションタスクなどのタスクを実行するよう構成されてもよい。軌道は、エンティティ150についての様々なサブタスクを表す様々なサブ軌道に分解されてもよい。
図3Bは、一実施形態による、サブ目標のない軌道302を示し、軌道データ点310のみからなる。軌道302は、人間のオペレータ、ソフトウェア、ロボットコントローラ、またはポリシーによって生成されてもよい。軌道302を生成する他の機構が存在し得ることが理解される。
再び図3Aを参照すると、サブ目標320は、サブ目標を伴うソースポリシーおよび/またはサブ目標を伴うターゲットポリシーの一部としてエンティティ150上に記憶されてもよい。ある例では、サブ目標320は、学習されたポリシーから生成された軌道302を入力としてとるニューラルネットワークによって生成される。ある実施形態では、サブ目標320の数は、人間のオペレータによって予め決定される。別の実施形態では、サブ目標320の数は、意味を持った音を発する物体122などから軌道302または可聴音を分析することによって学習されてもよい。軌道を分析する一例は、軌道における2つの後続の時間ステップの間の値が何らかの閾値を超えて変化するかどうかを判定することであり、その場合、時間ステップのうちの1つがサブ目標と見なされる。例えば、サブ目標は、エンティティ150によって受信される入力データに基づいて設定されてもよい。上述のように、入力データは、音声、映像、自然言語などのいくつかのモダリティからのものであってもよい。エンティティ150は、サブ目標を完了すると、新たな入力データを受信してもよい。新たな入力データおよび以前のサブ目標に基づいて、エンティティ150は、次のサブ目標を決定してもよい。この点に関して、サブ目標の各々は、エンティティ150が、たとえば、意味を持った音を発する物体122に到達するために探索動作などのタスクを完了するべくナビゲートしなければならなくてもよい軌道のセグメントに対応してもよい。サブ目標に到達するために、エンティティ150は、対応するサブタスクを実行しなければならなくてもよい。一例では、エンティティ150は、1つ以上のサブタスクを階層的に実行する。サブタスクが実行される階層的態様は、図4で説明される。
図4は、一実施形態による、階層型マルチモーダルRLニューラルネットワーク209aフレームワークを使用してタスクを実行するための例示的な方法のフローチャートを示す。ある例では、タスクは、初期状態からターゲット状態までのエンティティ150のナビゲーションのためのナビゲーションタスクである。たとえば、探索環境120に関して、初期状態は、エンティティ150の開始姿勢および開始状態に対応してもよく、ターゲット状態は、音を発する物体122の位置に対応する。
エンティティ150は、環境120内で導き手と対話し、自然言語フィードバックを受信する能力を備えていることに留意されたい。次いで、エンティティ150は、タスクを複数のサブタスクに分解するように要求される。エンティティ150は、複数のサブタスクを実行し、例えば、目標推定値または目標記述子に基づいてナビゲートし、いつ導き手に問い合わせるべきかを決定し、命令に基づいて問い合わせられる場合、連続的制御アクションのセットを予測する。ある例では、エンティティ150は、階層型マルチモーダルRLニューラルネットワーク209aを利用して、複数のサブタスクを実行してもよい。本方法は、階層型マルチモーダルRLニューラルネットワークを使用して、エンティティ150などのロボットを訓練して、タスクまたはタスクのサブタスクを効果的な方法でどのように実行するかを学習することを説明する。
強化学習(RL)は、累積報酬の何らかの概念を最大化するために、ソフトウェアエージェント、エンティティまたはコントローラが環境においてどのようにアクションを取るべきかに関する機械学習の領域である。RLエージェントは、離散的な時間ステップでその環境と対話する。各時間tにおいて、RLエージェントは、典型的には報酬rtを含む観測値otを受信する。次いで、RLコントローラは、利用可能なアクションのセットからアクションatを選択して報酬を増加させ、この報酬はその後環境に送信される。
エンドツーエンド階層型マルチモーダルRLニューラルネットワーク209aフレームワークを設計することに対して、いくつかの可能性が存在し得ることに留意されたい。例えば、目標推定値に基づくか、もしくは受信された命令に基づいて、導き手に問い合わせるか、またはナビゲーションステップを行うか、を決定する単一のポリシーを使用してもよい。しかしながら、メインタスクを成功裏かつ効率的に完了するために解決される必要があるサブタスク間には明確な違いがある。単一の状態空間および単一のポリシーを使用してこれらの多様なサブタスクを解決することは、達成するのが困難であり、最適状態に及ばない性能をもたらすことになる。上記の課題を軽減するために、ナビゲーションタスク全体を3つの単純なサブタスクに分解し、サブタスクごとに独立して抽象化された状態空間を使用してもよい。上位タスクをサブタスクに分割し、次いでRLベースのニューラルネットワークを使用してタスクを実行することは、本開示で説明する階層型マルチモーダルRLニューラルネットワーク209aの核心である。そのために、ナビゲーションタスクを解決するための階層的態様が図4に示され、目標推定値に基づくか、または導き手から受信された命令に基づいて、いつ導き手に問い合わせるべきか、およびどのようにナビゲーションステップを行うべきかを決定する。
402において、タスクのためにナビゲーションステップを決定するために使用される、2つの下位ポリシーが取り出される。ある例では、2つのポリシーは、第1のポリシーおよび第2のポリシーを含む。たとえば、第1のポリシーは第1のモダリティに関連してもよく、第2のポリシーは第2のモダリティに関連してもよい。ある例では、第1のポリシーは、第1のサブレベルコントローラ214a上で構成されてもよく、第2のポリシーは、第2のサブレベルコントローラ214b上で構成されてもよい。
ある例では、第1のポリシーは、音声モダリティ、映像モダリティ、テキストモダリティ、他の目標情報ベースのモダリティ、または自然言語ベースのモダリティに関連してもよい。同様に、第2のポリシーは、音声モダリティ、映像モダリティ、テキストモダリティ、他の目標情報ベースのモダリティ、または自然言語ベースのモダリティに関連してもよい。本開示の実施形態の例示的実現例によれば、第1のポリシーは、音声ベースのポリシーであってもよく、第2のポリシーは、視覚および言語ベースのポリシーであってもよい。この点に関して、第1のポリシーとともに構成される第1のサブレベルコントローラ214aは、音声目標ポリシーに関連する、すなわち、音声センサベースの入力データに基づくタスクを実行するよう構成されてもよい。さらに、第2のポリシーとともに構成される第2のサブレベルコントローラ214bは、視覚および言語ポリシーに関連する、すなわち、視覚または自然言語ベースの入力データに基づくタスクを実行するよう構成されてもよい。第1のポリシーが音声目標ポリシーであり、第2のポリシーが視覚および言語ポリシーであるそのような例は、単なる例示であり、限定として解釈されるべきではないことに留意されたい。したがって、2つの下位ポリシーのいずれかを取り出すことは、コントローラ209が第1のレベルコントローラ212を使用して2つの第2のレベルコントローラ214のうちの1つを選択することと等価である。
しかしながら、エンティティ150は、どのポリシー、すなわち、どのサブコントローラをいつ使用するかを決定するのに、ある課題に直面する。
406において、選択された下位ポリシーは、タスクに関連付けられるサブタスクを実行する。この点に関して、選択された下位ポリシーは、入力データおよび階層型マルチモーダルRLニューラルネットワーク209aの状態を取得してもよい。たとえば、入力データは、音声信号、映像信号、もしくは視覚ベースの自然言語命令、音声ベースの自然言語命令など、探索環境120からキャプチャされたセンサ測定値または信号を含んでもよい。ここで、第1のモダリティに関連する第1のサブレベルコントローラ214aおよび第2のモダリティに関連する第2のサブレベルコントローラ214bによって使用されるような、入力データまたは階層型マルチモーダルRLニューラルネットワーク209aの状態は、異なる。言い換えれば、第1のモダリティに関連する第1のサブレベルコントローラ214aは、あるタイプの入力データ、たとえば、音声信号と、あるタイプの入力データ、たとえば、自然言語命令とは異なる階層型マルチモーダルRLニューラルネットワーク209aの状態のパラメータの第1のセットと、階層型マルチモーダルRLニューラルネットワーク209aの状態のパラメータの第2のセットとを取得してもよい。
サブタスクを実行するために、対応するサブレベルコントローラにおいて構成される選択された下位ポリシーは、エンティティ150の開始状態から新たな状態へのナビゲーションのための制御命令のセットを生成してもよい。開始状態は、初期状態または前のサブタスクからの目標状態に対応してもよい。同様に、新たな状態は、初期状態と目標状態との間の断続的な状態、または目標状態自体に対応してもよい。タスクは、目標状態において完了されると考えられてもよいことに留意されたい。
ある例では、第1のサブレベルコントローラ214aは、映像ベースのモダリティに関連してもよい。そのような場合、第1のサブレベルコントローラ214aは、選択されると、映像情報に基づいて制御アクションのセットを決定するよう構成される。さらに、第2のサブレベルコントローラ214bは、音声ベースのモダリティに関連してもよい。そのような場合、第2のサブレベルコントローラ214bは、選択されると、音声情報に基づいて制御アクションのセットを決定するよう構成される。制御アクションのセットに基づいて、第1のサブレベルコントローラ214aまたは第2のサブレベルコントローラ214bは、エンティティ150のナビゲーションを制御する。別の例では、第1のサブレベルコントローラ214aに関連する第1のモダリティは音声または映像ベースのモダリティであり、第2のサブレベルコントローラ214bに関連する第2のモダリティは自然言語ベースのモダリティである。そのような場合、第1のレベルコントローラ212が第1のサブレベルコントローラ214aを選択すると、第1のサブレベルコントローラ214aは、センサベースの音声または映像情報に基づいてエンティティ150のナビゲーションを制御する。代替的に、第1のレベルコントローラ212が第2のサブレベルコントローラ214bを選択すると、第2のサブレベルコントローラ214bは、自然言語で具現化されたナビゲーション命令についてエンティティ150に問い合わせさせる。第2のサブレベルコントローラ214bは、自然言語命令に基づいてエンティティ150のナビゲーションを制御する。
図5Aは、一実施形態による、コントローラを使用してエンティティ150を制御するための例示的な方法のフローチャートを示す。一例では、エンティティ150は、1つ以上の関節を介して互いに接続された複数のパーツを有するロボットであってもよい。例えば、エンティティ150は、足、腕、本体、頭部、または任意の他のパーツを有してもよい。さらに、エンティティは、その上にインストールされたソフトウェアエージェントを有してもよい。ソフトウェアエージェントは、エンティティ150の1つ以上のコントローラ209上で動作して、エンティティ150に割り当てられたタスクを実行してもよい。一例では、目標記述は、音声源からの可聴音に基づいてもよい。この点に関して、目標は、音声源に対して探索動作を実行することであってもよい。その後、目標は、探索動作を完了するよう音声源へのエンティティ150のナビゲーションを含んでもよい。
この方法は、複数のサブタスクを実行し、コントローラ209を制御するための、マルチモーダル階層RLニューラルネットワーク209aフレームワークを開示する。コントローラ209は、第1のレベルコントローラ212および第2のレベルコントローラ214を含んでもよい。第2のレベルコントローラ214は、第1のサブレベルコントローラ214aおよび第2のサブレベルコントローラ214bを含む。たとえば、第1のサブレベルコントローラ214aは第1のモダリティに関連してもよく、第2のサブレベルコントローラ214bは第2のモダリティに関連してもよい。この点に関して、第1のモダリティは、第2のモダリティとは異なってもよい。その後、第1のモダリティに関連する第1のポリシーは、第2のモダリティに関連する第2のポリシーとは異なってもよい。ある例では、第1のサブレベルコントローラ214aに関連する第1のモダリティは、音声または映像ベースのモダリティ、例えば、目標推定値に到達するための音声モダリティ、または目標推定値に到達するための映像モダリティであり、第2のサブレベルコントローラ214bに関連する第2のモダリティは、自然言語ベースのモダリティである。第2のレベルコントローラ214の数が2つであるのは単なる例示であり、本発明の他の実施形態では、任意の数の第2のレベルコントローラが存在してもよいことに留意されたい。例えば、第2のレベルコントローラの数は、エンティティ150によって解釈され得るモダリティの数に基づいてもよい。その後、別の例示的な実施形態では、音声ベースのモダリティ、映像ベースのモダリティ、ならびに視覚および言語モダリティに対応する3つの第2のレベルコントローラが存在してもよい。
本実施形態を続けると、本開示は、エンティティ150と導き手を有する探索環境との間のマルチモーダル対話を開示する。一例では、導き手は人間であってもよい。この目的のため、エンティティ150は、環境と対話して、センサ読取値などの目標ベースの測定値を取得するか、または自然言語を使用して環境内の導き手と対話するよう構成されてもよい。対話に基づいて、自然言語命令またはセンサ測定値を取得してもよい。
理解され得るように、マルチモーダル対話は、自然な伝達モードを通じた仮想的および物理的環境との対話を指す。言い換えれば、マルチモーダル対話は、より自由で自然な伝達を可能にし、入力および出力の両方においてユーザと自動化されたシステムとのインターフェースをとる。具体的には、マルチモーダルシステムは、導き手等のユーザが、発話、手書き、手振り等の入力モダリティを通して対話することを可能にする、柔軟で効率的かつ使用可能な環境を提供してもよい。特定の場合において、導き手が環境120に存在しない場合、他の目標ベースのセンサデータが環境から取得されてもよい。次いで、マルチモーダルシステム、すなわちエンティティ150は、異なるモダリティからの入力を認識し、それらの解釈を可能にするために時間的制約および文脈的制約に従ってそれらを組み合わせなければならない。入力は、探索動作または任意の他のナビゲーションタスクを実行するためにエンティティ150によって処理および解釈される。本開示によれば、ニューラルネットワーク209aは、強化学習に基づいて訓練される。
理解され得るように、異なるモダリティは、異なるレベルのセマンティック粒度に存在する。具体的には、エンティティ150がタスクをナビゲートまたは実行するために、そのアクチュエータにコマンドが提供される必要がある。しかしながら、これらのコマンドは、そのセンサ入力を直接マッピングすることによって生成され得るか、またはナビゲーションコマンドに変換される必要がある口頭の自然言語命令からであり得る。入力データが自然言語命令を含む場合、1つの言語命令は、いくつかのナビゲーション制御コマンドに対応するかもしれない。そのようなセマンティックレベルは、エンティティ150が導き手に尋ねることができるいくつかのクエリに対する予算がある場合、エンティティ150が自然言語クエリをいつ呼び出すかを決定するための良好な基準は何であるか、入力(言語およびセンサ)が異なるセマンティックレベルにある場合にロボットを誘導してそのナビゲーションを改善するために、モダリティが協調的なポリシーを提供するよう、モダリティ間で同期をとるのに、なにが良好な方法であるか、ならびに実行時に部分的に観測可能な設定でエンティティ150のメモリまたは信念をどのように更新するか、といったいくつかの課題を提起する。理解され得るように、異なるモダリティは、様々な長さの軌道を有する異なるナビゲーション経路をもたらしてもよい(例えば、視聴覚的ナビゲーションは、1ステップナビゲーションであるかもしれず、一方、自然言語命令は、エンティティ150に1つのクエリ/命令で複数ステップを行わせてもよい)。
本開示の目的は、上記の問題に対処することである。この点に関して、階層型マルチモーダルRLニューラルネットワーク209aは、探索動作などの動作に関連付けられるタスクを実行するためにエンティティ150を誘導するために、第1のレベルコントローラ212によって実現される。
502において、第1のレベルコントローラ212は、少なくとも入力データおよび階層型マルチモーダルRLニューラルネットワーク209aの状態に基づいて、タスクに関連する第1のサブタスクを実行するために第2のレベルコントローラ214のうちの1つを選択する。ある例では、入力データは、探索環境120などの環境から取得されたセンサベースの観測データを含んでもよい。別の例では、入力データは、環境内の導き手からの自然言語命令を含んでもよい。さらに別の例では、入力データは、視覚センサデータ、音声センサデータ、および自然言語命令の任意の組合せを含んでもよい。さらに、階層型マルチモーダルRLニューラルネットワーク209aの状態は、タスクの完了に対するアクションの影響を予測するために必要な情報のすべてを含んでもよい。状態は、それが目標状態、すなわち目的地状態であるかどうかを判定もしてもよい。この目的のため、状態は、エンティティ150に対する以前のアクションの影響、および以前のアクションの影響と目標状態との間の比較を示してもよい。
ある例では、異なる第2のレベルコントローラ214は、異なるモダリティに関連してもよい。その後、異なる第2のレベルコントローラ214は、エンティティ150のアクションを遂行するために異なる方程式またはパラメータを利用してもよい。さらに、異なる第2のレベルコントローラ214は、階層型マルチモーダルRLニューラルネットワーク209aの状態または階層型マルチモーダルRLニューラルネットワークの状態の変化を判断するために異なるパラメータを用いてもよい。
504において、第2のレベルコントローラ214から選択された第2のレベルコントローラは、第1のサブタスクを実行するために制御アクションのセットを決定するよう構成される。選択された第2のレベルコントローラは、その対応するポリシーを利用して、制御アクションのセットを決定してもよい。例えば、制御アクションのセットは、エンティティ150のパーツのアクチュエータに提供されてもよい。
ある例では、選択された第2のレベルコントローラが第1のモダリティに関連する第1のサブレベルコントローラ214aである場合、第1のサブレベルコントローラ214aは、制御アクションのセットを決定してもよい。例えば、第1のモダリティは、音声または映像ベースのモダリティであってもよい。第1のサブレベルコントローラ214aは、階層型マルチモーダルRLニューラルネットワーク209aの状態に関連付けられる状態変数の第1のセットおよび入力データに少なくとも基づいて、制御アクションのセットを決定してもよい。例えば、入力データは、センサベースの音声情報またはセンサベースの映像情報のうちの少なくとも1つを含む。さらに、第2のサブレベルコントローラ214bに関連付けられる第2のモダリティは、自然言語ベースのモダリティであってもよい。選択された第2のレベルコントローラが第2のモダリティに関連する第2のサブレベルコントローラである場合、第2の第1のレベルコントローラ212は、階層型マルチモーダルRLニューラルネットワークの状態に関連付けられる状態変数の第2のセットと入力データとに少なくとも基づいて制御アクションのセットを決定する。この場合、入力データは自然言語命令語を含んでもよい。ある場合には、1つ以上の第2のレベルコントローラは、音声センサ測定値および自然言語命令等の、異なるタイプまたはモダリティの入力データを処理および解釈するように選択されてもよい。この目的のため、状態変数の第1のセットは、状態変数の第2のセットとは異なってもよい。
506において、エンティティ150は、選択された第2のレベルコントローラによって決定された制御アクションのセットに基づいて制御される。制御命令のセットに基づいて、エンティティ150またはエンティティ150のパーツは動いてもよい。たとえば、第1のサブタスクを完了することによって、エンティティ150は、第1の姿勢から第2の姿勢に動いてもよく、第1の姿勢および第2の姿勢は、互いに異なり、互いから離れていてもよい。したがって、エンティティは、開始状態から別の状態に移ってもよい。
ここで図5Bを参照すると、ある実施形態に係る、階層型マルチモーダルRLニューラルネットワーク209aを更新するための例示的な方法のフローチャートが示されている。たとえば、階層型マルチモーダルRLニューラルネットワークの状態は、サブタスクを実行する選択された第2のレベルコントローラによって、第1のサブタスクの実行に基づいて、更新されてもよい。508において、選択された第2のレベルコントローラは、第1のサブタスクの実行に基づいて、階層型マルチモーダルRLニューラルネットワーク209aの状態を更新する。第1のサブタスクが完了または実行されると、第1のサブタスクの実行を可能にする選択された第2のレベルコントローラは、階層型マルチモーダルRLニューラルネットワークの状態に関連付けられた状態変数のセットを更新してもよい。ある例では、第1のサブレベルコントローラ214aは、第1のサブタスクの実行に基づいて状態変数の第1のセットを更新してもよい。代替的に、第2のサブレベルコントローラ214bは、第1のサブタスクの実行に基づいて、状態変数の第2のセットを更新してもよい。
ある実施形態に従うと、選択された第2のレベルコントローラは、階層型マルチモーダルRLニューラルネットワークに関連付けられる現在の信念状態を判断してもよい。さらに、選択された第2のレベルコントローラは、階層型マルチモーダルRLニューラルネットワーク209aの更新された状態および第1のサブタスクの実行に基づいて、階層型マルチモーダルRLニューラルネットワーク209aの信念状態を修正してもよい。特に、信念状態は、エンティティ150の、その現在の状態に関する信念を含む。信念状態は、階層型マルチモーダルRLニューラルネットワーク209aの現在の状態に対応する、位置、目標状態からの推定される距離、目標状態の推定される方向などの様々な変数の分布を示してもよい。ある例では、信念は、エンティティ150に関連付けられた、またはニューラル埋め込みとして階層型マルチモーダルRLニューラルネットワーク209aに関連付けられたメモリに記憶されてもよい。
一例では、第1のレベルコントローラ212は、ナビゲーションのために第2のレベルコントローラ214のうちの1つを呼び出すかまたは選択し、選択された第2のレベルコントローラは、単一のステップポリシー、すなわち、音声または映像ベースのモダリティに関連する。この点に関して、選択された第2のレベルコントローラは、視聴覚ベースのモダリティに関連する第1のモダリティを有する第1のサブレベルコントローラ214aであってもよい。そのような場合、選択された第2のレベルコントローラまたは第1のサブレベルコントローラ214aは、ステップごとに、すなわち、第1のサブタスクなどのすべてのサブタスクを実行した後、メモリ内の信念状態を更新する。
別の例では、第1のレベルコントローラ212は、ナビゲーションのために第2のレベルコントローラ214のうちの1つを呼び出すかまたは選択し、選択された第2のレベルコントローラは、マルチステップポリシー、すなわち自然言語ベースのモダリティに関連する。この点に関して、選択された第2のレベルコントローラは、自然言語ベースのモダリティに関連する第2のモダリティを有する第2のサブレベルコントローラ214bであってもよい。そのような場合、選択された第2のレベルコントローラ、または第2のサブレベルコントローラ214bは、第1のサブタスクに関連付けられる制御アクションのセットの実行に基づいて新たな信念状態を生成する。新たな信念状態は、エンティティ150が探索動作を実行するためにナビゲートしている環境に関連する。例えば、第2のサブレベルコントローラ214bは、既存のメモリおよび受信された言語命令を使用して、環境の新たな信念を生成する。このために、自然言語モダリティは、音声または映像ベースのモダリティと比較して意味的に優れたモダリティであると仮定される。新たな信念状態は、次いで、現在の信念状態または信念履歴を置換するために使用されてもよい。この点に関して、第2のサブレベルコントローラ214bは、任意の以前の信念状態をクリアし、それを新たな信念状態で置換してもよい。
510において、第1のレベルコントローラ212は、少なくとも、入力データ、階層型マルチモーダルRLニューラルネットワーク209aの以前の状態、および階層型マルチモーダルRLニューラルネットワーク209aの更新された状態に基づいて、タスクに関連する第2のサブタスクを実行するために、第2のレベルコントローラ214のうちの1つを選択する。第2のサブタスクは、意味を持った音を発する物体122にナビゲートするなど、メインタスクを完了するために、第1のサブタスクの後に実行される。この点に関して、第1のレベルコントローラ212は、環境120から新たな入力データを取得してもよい。たとえば、新たな入力データは、第1のサブタスクに基づくエンティティのナビゲーションによる、エンティティ150の周囲における変化を示してもよい。その後、第1のレベルコントローラ212は、新たな入力データ、階層型マルチモーダルRLニューラルネットワーク209aの以前の状態、および階層型マルチモーダルRLニューラルネットワーク209aの更新された状態に基づいて、階層型マルチモーダルRLニューラルネットワーク209aの状態の更新を評価してもよい。例えば、第1のレベルコントローラ212は、階層型マルチモーダルRLニューラルネットワーク209aの状態が、エンティティ150が目標状態により近いかまたは目標状態からより遠いことを示すかどうかをチェックしてもよい。したがって、第1のレベルコントローラ212は、エンティティ150を目標状態に向かってナビゲートするために実行されるよう第2のサブタスクを識別してもよい。
ある例では、第1のレベルコントローラ212は、たとえば、新たな入力データに基づいて、階層型マルチモーダルRLニューラルネットワーク209aの状態が目標状態からより近いかまたはより遠いかをチェックしてもよい。たとえば、新たな入力データは、エンティティ150の更新された姿勢で受信された、探索環境120において意味を持った音を発する物体122によって発せられる可聴音の強度を示してもよい。このようにして、第1のレベルコントローラ212は、エンティティ150が目標状態に近づいたか、または目標状態から遠ざかったかを判定してもよい。
一例では、第2のサブタスクおよび新たな入力データに基づいて、第1のレベルコントローラ212は、第2のサブタスクを実行するために、第2のレベルコントローラ214のうちの1つを選択してもよい。ある例では、第1のレベルコントローラ212が、階層型マルチモーダルRLニューラルネットワーク209aの更新された状態が、エンティティ150が目標状態からより遠くに移動していること、またはエンティティ150が目標状態に向かうナビゲーションについてもはや確かではないことを示す、と判断する場合、第1のレベルコントローラ212は、自然言語モダリティに関連する第2のサブレベルコントローラ214bを選択して、エンティティ150のナビゲーションについて環境内の導き手に効果的な方法で問い合わせてもよい。代替的に、第1のレベルコントローラ212が、階層型マルチモーダルRLニューラルネットワーク209aの更新された状態が、エンティティ150が目標状態により近くに移動していることを示す、と判断する場合、第1のレベルコントローラ212は、エンティティ150の新たな位置に対応するセンサ測定値に基づいて制御アクションのセットを生成するために、音声または映像ベースのモダリティに関連する第1のサブレベルコントローラ214aを選択してもよい。
ある例では、階層型マルチモーダルRLニューラルネットワーク209aの状態の更新に基づいて、第1のレベルコントローラ212に報酬を与えるか、またはそれを罰してもよい。たとえば、階層型マルチモーダルRLニューラルネットワーク209aの更新された状態がエンティティ150を目標状態に近づける場合、第1のレベルコントローラ212に報酬を与えてもよい。しかしながら、階層型マルチモーダルRLニューラルネットワーク209aの更新された状態が、エンティティ150を目標状態から遠ざける場合、第1のレベルコントローラ212は罰せられてもよい。第2のレベルコントローラ214上に構成された2つの下位ポリシーの動作は、図6Aおよび図6Bに関連してさらに説明される。
602において、第1のレベルコントローラ212は、第1のモダリティを使用してサブタスクを実行するために、第1のサブレベルコントローラ214aを選択する。例えば、第1のサブレベルコントローラ214aは、第1のモダリティに関連する第1のポリシーとともに構成されてもよい。ある例では、第1のモダリティは、映像ベースのモダリティに関連してもよい。別の実施形態では、第1のモダリティは、音声ベースのモダリティに関連してもよい。さらに別の例では、第1のモダリティは、テキストベースのモダリティに関連してもよい。この目的のため、本開示の例によれば、第1のモダリティは自然言語入力がないモダリティに関連してもよい、と仮定される。例えば、第1のモダリティに関連付けられる入力データは、自然言語発話などの自然言語情報、または映像情報を含まなくてもよい。
610において、目標記述子がtransformerモデルのデコーダに入力される。デコーダは、すべての符号化された時間ステップからの情報に注目し、現在のステップ表現stを生成する。次いで、デコーダは、行動器-評価器ネットワークを使用して、現在の状態のアクション分布および値を予測する。たとえば、行動器-評価器ネットワークは、単一の線形層ニューラルネットワークを使用してモデル化されてもよい。
ある例に従うと、目標記述子(目標推定値とも呼ばれる)は、意味を持った音を発する物体122に関連付けられるオブジェクトクラスのセマンティックニューラル埋め込みを含んでもよい。たとえば、セマンティックニューラル埋め込みは、意味を持った音を発する物体122によって発せられる音を入力として取り込み、その音を生成するオブジェクト、すなわち意味を持った音を発する物体122のクラスラベルを生成する分類器モデルからのニューラル特徴ベクトルを含んでもよい。たとえば、あるニューラルネットワークは、ニューラル特徴ベクトルおよびセマンティックニューラル埋め込みを生成するために教師付き方式で事前訓練されてもよい。加えて、目標記述子は推定される向首ベクトルも含んでもよい。たとえば、推定される向首ベクトルは、エンティティ150が音または音声を受信しているかまたは受信したおおよその空間方向、すなわち、意味を持った音を発する物体122のおおよその方向を推定する。ある例では、受信された音に関連付けられる絶対径方向、ならびに受信された音に関連付けられる向首角の正弦および余弦が、向首ベクトルを推定するために使用されてもよい。
612において、第1のサブレベルコントローラ214aは、エンティティ150のナビゲーションのために制御アクションのセットを生成する。この点に関して、第1のポリシーは、アクションサンプラを使用して、分布からアクションをサンプリングし、制御アクションのセットを生成する。制御アクションのセットに基づいて、エンティティ150は、環境120などの環境においてステップを取り、新たな観測を受信する。この目的のため、第1のサブレベルコントローラ214aは、センサベースの音声情報またはセンサベースの映像情報のうちの少なくとも1つに基づいて制御アクションのセットを決定するよう構成される。
620において、第1のレベルコントローラ212は、第2のモダリティを使用してサブタスクを実行するために第2のサブレベルコントローラ214bを選択する。例えば、第2のサブレベルコントローラ214bは、第2のモダリティに関連する第2のポリシーとともに構成されてもよい。ある例では、第2のモダリティは自然言語ベースのモダリティに対応してもよい。
628において、第2のポリシーは、文命令Xを符号化するために、Contrastive Language-Image Pre-Training(対照的言語画像事前学習)(CLIP)モデルを使用する。CLIPモデルは、異なる画像およびテキストの対で訓練されたニューラルネットワークを含む。CLIPモデルは、テキストエンコーダおよび画像エンコーダを含む、エンコーダと呼ばれる2つのサブモデルを含む。テキストエンコーダはテキストを数学的空間に埋め込む一方、画像エンコーダは画像を数学的空間に埋め込む。例えば、CLIPモデルを使用して、文命令Xは、単純なフィードフォワードネットワークを使用して現在の信念状態とともに注入されてもよい。次いで、融合された信念状態および言語命令Xは、別のtransformerベースのフレームワークで処理されて、状態の最終信念が取得され、それは、次いで、アクション分布を計算するために使用される。
図7は、一実施形態による、いつ導き手に問い合わせるべきかを決定するためのセットアップの図を示す。
702において、第1のレベルコントローラ212は、入力を受信する。入力は、現在の観測符号化(または現在の観測に関連するセンサ測定)、これまでに収集されたエピソードまたは状態のメモリ、および目標状態の目標記述子を含んでもよい。
706において、第1のレベルコントローラ212は、少なくとも2つの第2のレベルコントローラ214の各々の選択に関連付けられるリソース制約を決定する。特に、第1のレベルコントローラ212は、2つの第2のレベルコントローラからの選択に関連付けられる報酬およびタスクに関連付けられる予算を予測する。第1のポリシーまたは第2のポリシーのどちらが選択されるかにかかわらず、エンティティ150は、環境内でナビゲートするためにエンティティ150によって取られるアクションに基づいて報酬またはペナルティを収集することに留意されたい。したがって、導き手にいつ問い合わせるかを正確に決定するために、強化学習フレームワーク、すなわち、予算、または第2のレベルコントローラ214の選択に関連付けられる負の報酬を判断してもよい。
ある例では、リソース制約は、2つの第2のレベルコントローラ214からの特定の第2のレベルコントローラが呼び出されてもよい回数の最大数を示す制限を含んでもよい。本例によれば、リソース制約は、エンティティ150の第1のレベルコントローラ212が、自然言語命令に関連付けられる第2のレベルコントローラ、例えば、第2のポリシーで構成される第2のサブレベルコントローラ214bを呼び出すことができる最大回数に対する制限を含む。このようにして、第1のコントローラ212が自然言語ベースの第2のサブレベルコントローラ214bを呼び出すことができる回数は、リソース制約に基づいて制限される。ある例では、リソース制約、すなわち、第2のサブレベルコントローラ214bに問い合わせるための最大回数は、nとして設定されてもよい。そのような場合、第1のレベルコントローラ212がn回後に第2のサブレベルコントローラ214bを呼び出す場合には、第1のレベルコントローラ212にペナルティが課されてもよい。例えば、第2のサブレベルコントローラ214bに問い合わせるための最大回数についてのリソース制約は、第1のレベルコントローラ212によって収集された報酬に基づいて、第1のレベルコントローラ212に課されてもよい。
一例によれば、目標または目標状態に向かう幾何学的距離の低減をもたらすアクションを実行するために「+1」の報酬が割り当てられてもよく、エピソードまたはタスクの完了を成功裏にもたらすアクションを実行するために「+10」の報酬が割り当てられてもよい。さらに、効率を促進するために、(すなわち、より速く目標に到達することを促進するために、)時間ステップごとに「-0.01」のペナルティが加えられる。加えて、エンティティ150が導き手から問い合わせを行うたびに、負の報酬が設定されてもよい。最初に、クエリの最大数nが設定されてもよく、i番目のクエリに対する負の報酬は、以下のように定義されてもよい:
708において、第1のレベルコントローラ212は、いつ自然言語を使用して導き手と直接対話すべきかを学習する。特に、第1のレベルコントローラ212は、その現在の観測および履歴情報に基づいて、いつ導き手に問い合わせるべきかを学習する。さらに、階層型マルチモーダルRLニューラルネットワーク209aのRLフレームワークにより、導き手の問い合わせに関連付けられるリソース制約または予算が、ネットワークに割り当てられた報酬またはペナルティに基づいて予測される。具体的には、行動器-評価器モデルは、階層型マルチモーダルRLニューラルネットワークの各状態の価値関数を予測する。さらに、最上位ポリシーπqueryのポリシー訓練が、decentralized distributed proximal policy optimization(DD-PPO)を使用して行われ、自然言語命令について導き手にいつ問い合わせるかを学習する。続いて、第1のレベルコントローラ212は、リソース制約または予算、現在の観測、および他の履歴情報に基づいて、少なくとも2つの第2のレベルコントローラ214のうちの1つを選択する。この目的のため、第1のレベルコントローラは、音声または映像ベースの第1モダリティに関連する第1ポリシーの選択に向けてバイアスされる。ある例では、第1のレベルコントローラ212は、たとえば、エンティティが目標から離れているとき、エンティティが現在の観測に基づいて目標状態に向かう方向を識別できないとき、エンティティを紛失したとき、またはエンティティが長い時間を浪費しているときなど、エンティティが正しい方向に動いていないことを確認するまで、自然言語ベースのモダリティに関連する第2のサブレベルコントローラを選択しないように試みてもよい。したがって、第1のレベルコントローラ212は、より多くの報酬を収集し、より少ないペナルティを被るように、第1のサブレベルコントローラを選択しようと試みてもよい。
図8は、一実施形態による、自然言語命令に基づいてナビゲーション命令を生成するための方法のフローチャートを示す。視覚および言語タスクのためのデータセットは、固定数のルートおよびナビゲーション命令の対を含まないことに留意されたい。さらに、エンティティ150は、ナビゲーショングラフの任意の点において、フィードバックについて、導き手に問い合わせてもよい。したがって、階層型マルチモーダルRLニューラルネットワーク209aは、ナビゲーショングラフ上の任意の点から自然言語フィードバックを提供することができる導き手がそのナビゲート点またはエンティティ150の現在の姿勢から目標に向かう最短経路軌道を知っていることを前提として、導き手をモデル化することが要求される。この点に関して、選択された第2のレベルコントローラが自然言語ベースのモダリティに関連する第2のサブレベルコントローラである場合、固定された命令のセットを使用することは失敗する場合がある。具体的には、自然言語命令から生成されてもよいエンティティ150のためのナビゲーション命令の数は、固定されていない場合がある。この課題に対処するために、自然言語命令の単語は、エンティティ150のためのナビゲーション命令を生成するために、意味的に理解されなければならない場合がある。ここでは、話者モデルを用いる。
804において、ナビゲーション命令が、自然言語命令に基づいて生成される。ある例では、命令生成モデルが、視覚および言語データセットからの利用可能な(命令、軌道)対を使用してナビゲーション命令を生成するように訓練される。たとえば、命令生成モデルの訓練中に、クロスエントロピー損失および教師強制が使用されてもよい。
806において、ナビゲーション命令に基づいて制御アクションのセットが生成される。たとえば、制御アクションのセットは、識別されたナビゲーション命令に基づいてエンティティ150がナビゲートすることを可能にする、エンティティ150の構成要素のアクチュエータのための命令を含んでもよい。
図9Aは、ある実施形態に係る、補強学習(RL)によって訓練された階層型マルチモーダルニューラルネットワーク209aを得るための例示的なシステムのブロック図900を示す。階層型マルチモーダルRLニューラルネットワーク209aは、目標状態に到達するかまたはタスクを完了するために環境120などの環境内でナビゲートするためにエンティティ150を制御するよう構成される。ある例では、階層型マルチモーダルニューラルネットワーク209aは、状態空間内においてノードを有するツリーグラフを構築する。ツリーグラフは、エンティティ150の有限数の構成を有してもよく、ツリーグラフは、エンティティ150によって実行されるタスクの各々について生成されてもよい。ある例では、階層型マルチモーダルRLニューラルネットワーク209aは、エンティティ150を効果的に制御するためにツリーグラフを生成するよう学習する。
この例によれば、階層型マルチモーダルRLニューラルネットワーク209aの訓練は、訓練環境902に基づいて実行される。訓練中、訓練環境902内のセンサは、階層型マルチモーダルRLニューラルネットワーク209aへの入力として提供されてもよいセンサデータを獲得してもよい。訓練環境902に関連付けられる階層型マルチモーダルRLニューラルネットワーク209aの訓練のための入力データは、たとえば、姿勢センサによって測定された姿勢データ910、エンティティ150によって実行された以前のアクション912、視覚データ914(RGBまたは深度画像または映像など)、および音声データ916を含んでもよい。たとえば、階層型マルチモーダルRLニューラルネットワーク209aの訓練は、強化学習を使用して実行されてもよく、階層型マルチモーダルRLニューラルネットワーク209aによって実行される各正しい動作または所望の動作は報酬を与えられてもよいが、各不正確な動作または望ましくない動作についてはペナルティが課されてもよい。
階層型マルチモーダルRLニューラルネットワーク209aは、入力データを受信すると、階層型マルチモーダルRLニューラルネットワーク209aは、画像エンコーダ918を使用して視覚データ914を符号化し、音声エンコーダ920を使用して音声データ916を符号化するよう構成される。例えば、視覚データ914は、訓練環境902内でナビゲートするための視覚的手掛かりなど、訓練環境902に関連付けられる画像または映像関連情報を含んでもよい。音声データ916は、訓練環境902内でナビゲートするための音声または音の手掛かりなど、訓練環境902に関連付けられる音声関連情報を含んでもよい。
観測値および目標状態記述子を含む入力データが与えられると、第2のポリシー908、πvlnは、self-attentionを使用して入力データシーケンスから情報をキャプチャし、それに対応する信念状態を符号化するように訓練される。例えば、transformerベースのフレームワーク908aは、任意の時間ステップでtransformerベースのフレームワーク908aのための入力データとして観測値およびメモリ情報を取得し、それを目標状態とともに符号化する。さらに、第2のポリシー908は、文命令Xを符号化するために、Contrastive Language-Image Pre-Training(対照的言語画像事前学習)(CLIP)モデル908bを使用する。CLIPモデル908bは、ニューラルネットワークを含む。CLIPモデル908bニューラルネットワークは、異なる画像およびテキスト対上で訓練される。CLIPモデル908bは、テキストエンコーダおよび画像エンコーダを含む、エンコーダと呼ばれる2つのサブモデルを含む。テキストエンコーダはテキストを数学的空間に埋め込む一方、画像エンコーダは画像を数学的空間に埋め込む。たとえば、CLIPモデル908bを使用して、文命令Xは、単純なフィードフォワードネットワークを使用して、現在の信念状態(入力データおよび目標状態に基づいて決定される)と融合されてもよい。次いで、融合された信念状態および言語命令Xは、状態の最終信念を取得するために、別のtransformerベースのフレームワーク908cで処理され、次いで、状態の最終信念は、アクション予測モジュール908dを使用して、アクション分布を計算するために使用される。第2のポリシー908は、アクション予測モジュール908dを用いて、アクション分布から制御アクションのセットをサンプリングし、ナビゲーションのための制御アクションのセットを生成する。
下位ポリシーの選択および/または下位ポリシーのうちの1つによる制御アクションのセットの生成に基づいて、エンティティ150が目標状態に対して移動する場合に報酬が与えられてもよい。各エピソードは、以下の条件、すなわち:1)エピソードあたりの最大ステップMaxStepsに到達するとき;2)エンティティ150が目標を中心とするウィンドウから出るとき、のいずれかが満たされる場合に終結する。ネットワーク内のパラメータは、得られた報酬に従って、いくつかのエピソードごとに更新されることになる。報酬関数の設計および訓練プロセスは、訓練されたポリシーの性能にとって重要である。報酬関数の2つの目的は:エンティティができるだけ迅速に目標状態に移行するように促すこと;および複雑なエンティティ150の運動特性および制御ポリシーの探索を妨げないことである。
ある例に従うと、目標または目標状態に向かう幾何学的距離の低減をもたらすアクションを実行するために「+1」の報酬が割り当てられてもよく、エピソードまたはタスクの完了を成功裏にもたらすアクションを実行するために「+10」の報酬が割り当てられてもよい。さらに、効率を促進するために、(すなわち、より速く目標に到達することを促進するために、)時間ステップごとに「-0.01」のペナルティが加えられる。加えて、エンティティ150が導き手から問い合わせを行うたびに、負の報酬が設定されてもよい。最初に、クエリの最大数nが設定されてもよく、i番目のクエリに対する負の報酬は、以下のように定義されてもよい:
本開示の上記の実施形態は、多数の方法のいずれかで実現することができる。たとえば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組合せを使用して実現されてもよい。ソフトウェアで実現される場合、ソフトウェアコードは、単一のコンピュータで提供されるか、複数のコンピュータに分散されるかに関係なく、任意の好適なプロセッサまたはプロセッサの集まりにおいて実行され得る。そのようなプロセッサは、集積回路コンポーネント内に1つ以上のプロセッサを備えた集積回路として実現されてもよい。ただし、プロセッサは、任意の好適な形式の回路系を用いて実現されてもよい。
また、本開示の実施形態は、例が提供された方法として具現化されてもよい。方法の一部として実行される行為は、任意の好適な方法で順序付けされてもよい。したがって、例示的な実施形態において連続的な行為として示されているが、いくつかの行為を同時に実行することを含んでもよい、例示とは異なる順序で行為が実行される実施形態を構築してもよい。
特許請求の範囲において請求項要素を修飾する「第1の」、「第2の」などの序数詞の使用は、それ自体は、ある請求項要素の優先順位、先行性、順序が他の請求項要素を上回ること、または方法の動作が実行される時間的順序を暗示せず、特定の名称を有するある請求項要素を(序数詞の使用が無ければ)同じ名称の別の要素と区別してそれら請求項要素を区別するためのラベルとして用いられるにすぎない。
本開示を好ましい実施形態の例によって説明してきたが、本開示の精神および範囲内で様々な他の適応および変更を行い得ることを理解されたい。
したがって、特許請求の範囲の目的は、本開示の真の精神および範囲内にあるような変形および修正をすべて網羅することである。
Claims (20)
- エンティティを制御するためのコントローラであって、
階層型マルチモーダル強化学習(RL)ニューラルネットワークを記憶するためのメモリを備え、前記階層型マルチモーダルRLニューラルネットワークは、第1のレベルコントローラと、少なくとも2つの第2のレベルコントローラとを含み、前記少なくとも2つの第2のレベルコントローラは、少なくとも、第1のモダリティに関連する第1のサブレベルコントローラと、第2のモダリティに関連する第2のサブレベルコントローラとを含み、前記第1のモダリティは、前記第2のモダリティとは異なり、前記コントローラはさらに、
プロセッサを備え、前記プロセッサは、
前記第1のレベルコントローラを使用して、少なくとも入力データおよび前記階層型マルチモーダルRLニューラルネットワークの状態に基づいて、タスクに関連する第1のサブタスクを実行するために、前記少なくとも2つの第2のレベルコントローラのうちの1つを選択するよう構成され、
前記少なくとも2つの第2のレベルコントローラからの前記選択された第2のレベルコントローラに、前記第1のサブタスクを実行するために、制御アクションのセットを決定させるよう構成され、
前記選択された第2のレベルコントローラによって決定された前記制御アクションのセットに基づいて前記エンティティを制御するよう構成される、コントローラ。 - 前記プロセッサは、さらに、
前記選択された第2のレベルコントローラを使用して、前記第1のサブタスクの前記実行で、前記階層型マルチモーダルRLニューラルネットワークの前記状態を更新するよう構成され、
前記第1のレベルコントローラを使用して、少なくとも、前記入力データ、前記階層型マルチモーダルRLニューラルネットワークの以前の状態、および前記階層型マルチモーダルRLニューラルネットワークの前記更新された状態に基づいて、前記タスクに関連する第2のサブタスクを実行するために、前記少なくとも2つの第2のレベルコントローラのうちの1つを選択するよう構成され、前記第2のサブタスクは、前記タスクを完了するために前記第1のサブタスクの後に実行される、請求項1に記載のコントローラ。 - 前記プロセッサは、
前記少なくとも2つの第2のレベルコントローラの各々の選択に関連付けられるリソース制約を決定するよう構成され、
前記第1のレベルコントローラを使用して、前記リソース制約に基づいて、前記少なくとも2つの第2のレベルコントローラのうちの1つを選択するよう構成される、請求項1に記載のコントローラ。 - 前記第1のモダリティに関連する前記第1のサブレベルコントローラおよび前記第2のモダリティに関連する前記第2のサブレベルコントローラによって使用される、前記入力データまたは前記階層型マルチモーダルRLニューラルネットワークの前記状態のうちの少なくとも1つは、異なる、請求項1に記載のコントローラ。
- 前記第1のサブレベルコントローラは、映像情報に基づいて前記制御アクションのセットを決定するよう構成され、前記第2のサブレベルコントローラは、音声情報に基づいて前記制御アクションのセットを決定するよう構成される、請求項1に記載のコントローラ。
- 前記第1のサブレベルコントローラに関連する前記第1のモダリティは音声または映像ベースのモダリティであり、前記第2のサブレベルコントローラに関連する前記第2のモダリティは自然言語ベースのモダリティである、請求項1に記載のコントローラ。
- 前記第1のレベルコントローラは、前記第1のサブレベルコントローラの選択に向けてバイアスされる、請求項6に記載のコントローラ。
- 前記第1のサブレベルコントローラは、前記制御アクションのセットを、センサベースの音声情報またはセンサベースの映像情報のうちの少なくとも1つに基づいて決定するよう構成され、
前記第2のサブレベルコントローラは、前記制御アクションのセットを自然言語命令に基づいて決定するよう構成される、請求項6に記載のコントローラ。 - 前記選択された第2のレベルコントローラが前記第1のモダリティに関連する前記第1のサブレベルコントローラである場合、前記プロセッサは、さらに、
目標推定値ベースのモダリティを含む前記第1のモダリティに関連する前記第1のサブレベルコントローラを使用して、前記階層型マルチモーダルRLニューラルネットワークの前記状態に関連付けられる状態変数の第1のセットと前記入力データとに少なくとも基づいて前記制御アクションのセットを決定するよう構成され、前記入力データは、前記センサベースの音声情報または前記センサベースの映像情報のうちの少なくとも1つを含み、前記プロセッサは、さらに、
前記第1のサブレベルコントローラを使用して、前記第1のサブタスクの前記実行に基づいて前記状態変数の第1のセットを更新するよう構成される、請求項8に記載のコントローラ。 - 前記選択された第2のレベルコントローラが、自然言語ベースのモダリティを含む前記第2のモダリティに関連する前記第2のサブレベルコントローラである場合、前記プロセッサは、さらに、
前記第2のサブレベルコントローラを使用して、前記階層型マルチモーダルRLニューラルネットワークの前記状態に関連付けられる状態変数の第2のセットと前記入力データとに少なくとも基づいて前記制御アクションのセットを決定するよう構成され、前記入力データは前記自然言語命令を含み、前記状態変数の第1のセットは、前記状態変数の第2のセットとは異なり、前記プロセッサは、さらに、
前記第2のサブレベルコントローラを使用して、前記第1のサブタスクの前記実行に基づいて前記状態変数の第2のセットを更新するよう構成される、請求項9に記載のコントローラ。 - 前記プロセッサは、
前記階層型マルチモーダルRLニューラルネットワークに関連付けられる信念状態を判断するよう構成され、
前記選択された第2のレベルコントローラを使用して、前記階層型マルチモーダルRLニューラルネットワークの前記更新された状態および前記第1のサブタスクの前記実行に基づいて、前記階層型マルチモーダルRLニューラルネットワークの前記信念状態を修正するよう構成される、請求項2に記載のコントローラ。 - 前記選択された第2のレベルコントローラが前記第2のモダリティに関連する前記第2のサブレベルコントローラであり、前記第2のモダリティが自然言語ベースのモダリティであるとき、前記プロセッサは、
前記第2のサブレベルコントローラを使用して、前記第1のサブタスクに関連付けられる前記制御アクションのセットの実行に基づいて新たな信念状態を生成するよう構成され、
前記第2のサブレベルコントローラを使用して、現在の信念状態をクリアするよう構成される、請求項11に記載のコントローラ。 - 前記第1のレベルコントローラは、強化学習ネットワークを有する学習されたポリシーを使用して、前記少なくとも2つの第2のレベルコントローラのうちの1つをいつ選択すべきかを決定する、請求項1に記載のコントローラ。
- 前記タスクは、前記エンティティの初期状態からターゲット状態へのナビゲーションのためのナビゲーションタスクである、請求項1に記載のコントローラ。
- 前記第1のサブレベルコントローラに関連する前記第1のモダリティは音声または映像ベースのモダリティであり、前記第2のサブレベルコントローラに関連する前記第2のモダリティは自然言語ベースのモダリティであり、
前記第1のレベルコントローラが、前記第1のサブレベルコントローラを選択すると、前記第1のサブレベルコントローラは、センサベースの情報に基づいて前記エンティティのナビゲーションを制御するよう構成され、
前記第1のレベルコントローラが、前記第2のサブレベルコントローラを選択すると、前記第2のサブレベルコントローラは、自然言語で具現化されたナビゲーション命令について前記エンティティに問い合わせさせ、前記第2のサブレベルコントローラは、自然言語命令に基づいて前記エンティティのナビゲーションを制御するよう構成される、請求項14に記載のコントローラ。 - エンティティを制御するための方法であって、
第1のレベルコントローラを使用して、少なくとも入力データと、階層型マルチモーダル強化学習ニューラルネットワークの状態とに基づいて、タスクに関連する第1のサブタスクを実行するために少なくとも2つの第2のレベルコントローラのうちの1つを選択することを含み、前記階層型マルチモーダル強化学習ニューラルネットワークは、第1のレベルコントローラと少なくとも2つの第2のレベルコントローラとを含み、前記少なくとも2つの第2のレベルコントローラは、少なくとも、第1のモダリティに関連する第1のサブレベルコントローラと、第2のモダリティに関連する第2のサブレベルコントローラとを含み、前記第1のモダリティは、前記第2のモダリティとは異なり、前記方法はさらに、
前記少なくとも2つの第2のレベルコントローラからの前記選択された第2のレベルコントローラに、前記第1のサブタスクを実行するために、制御アクションのセットを決定させることと、
前記選択された第2のレベルコントローラによって決定された前記制御アクションのセットに基づいて前記エンティティを制御することとを含む、方法。 - 前記少なくとも2つの第2のレベルコントローラの各々の選択に関連付けられるリソース制約を決定することと、
前記第1のレベルコントローラを使用して、前記リソース制約に基づいて、前記少なくとも2つの第2のレベルコントローラのうちの1つを選択して前記第1のサブタスクを実行することと、
前記第1のサブタスクの前記実行で前記階層型マルチモーダル強化学習ニューラルネットワークの状態を更新することとをさらに含む、請求項16に記載の方法。 - 前記第1のサブレベルコントローラに関連する前記第1のモダリティは、目標推定値ベースのモダリティであり、前記第2のサブレベルコントローラに関連する前記第2のモダリティは、自然言語ベースのモダリティであり、前記方法はさらに、
前記第1のサブレベルコントローラを使用して、前記制御アクションのセットを、センサベースの音声情報またはセンサベースの映像情報のうちの少なくとも1つに基づいて決定することと、
前記第2のサブレベルコントローラを使用して、前記制御アクションのセットを自然言語命令に基づいて決定することとを含む、請求項16に記載の方法。 - 前記第1のサブレベルコントローラおよび前記第2のサブレベルコントローラによって使用される入力データまたは前記階層型マルチモーダル強化学習ニューラルネットワークの前記状態のうちの少なくとも1つは異なり、前記方法はさらに、
前記制御アクションのセットを決定することを、第1のサブレベルコントローラを使用して、前記階層型マルチモーダル強化学習ニューラルネットワークの前記状態に関連付けられる状態変数の第1のセット、または第2のサブレベルコントローラを使用して、前記階層型マルチモーダル強化学習ニューラルネットワークの前記状態に関連付けられる状態変数の第2のセット、のうちの1つに基づいて行うことを含み、前記状態変数の第1のセットは、前記状態変数の第2のセットとは異なる、請求項16に記載の方法。 - 方法を実行するためにプロセッサによって実行可能なプログラムが具現化された非一時的なコンピュータ可読記憶媒体であって、前記方法は、
第1のレベルコントローラを使用して、少なくとも入力データと、階層型マルチモーダル強化学習ニューラルネットワークの状態とに基づいて、タスクに関連する第1のサブタスクを実行するために少なくとも2つの第2のレベルコントローラのうちの1つを選択することを含み、前記階層型マルチモーダル強化学習ニューラルネットワークは、第1のレベルコントローラと少なくとも2つの第2のレベルコントローラとを含み、前記少なくとも2つの第2のレベルコントローラは、少なくとも、第1のモダリティに関連する第1のサブレベルコントローラと、第2のモダリティに関連する第2のサブレベルコントローラとを含み、前記第1のモダリティは、前記第2のモダリティとは異なり、前記方法はさらに、
前記少なくとも2つの第2のレベルコントローラからの前記選択された第2のレベルコントローラに、前記第1のサブタスクを実行するために、制御アクションのセットを決定させることと、
前記選択された第2のレベルコントローラによって決定された前記制御アクションのセットに基づいてエンティティを制御することとを含む、非一時的なコンピュータ可読記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/823,387 | 2022-08-30 | ||
US17/823,387 US20240069501A1 (en) | 2022-08-30 | 2022-08-30 | System and Method for Controlling an Entity |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024035150A true JP2024035150A (ja) | 2024-03-13 |
Family
ID=90000273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023137896A Pending JP2024035150A (ja) | 2022-08-30 | 2023-08-28 | エンティティを制御するためのシステムおよび方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240069501A1 (ja) |
JP (1) | JP2024035150A (ja) |
-
2022
- 2022-08-30 US US17/823,387 patent/US20240069501A1/en active Pending
-
2023
- 2023-08-28 JP JP2023137896A patent/JP2024035150A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240069501A1 (en) | 2024-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Whitney et al. | Reducing errors in object-fetching interactions through social feedback | |
Wang et al. | Human intention prediction in human-robot collaborative tasks | |
Forbes et al. | Robot programming by demonstration with situated spatial language understanding | |
Schiffer et al. | Caesar: an intelligent domestic service robot | |
Iba et al. | Interactive multimodal robot programming | |
Marge et al. | Miscommunication detection and recovery in situated human–robot dialogue | |
JP2011054088A (ja) | 情報処理装置、情報処理方法、プログラム及び対話システム | |
US20210170594A1 (en) | Deep Compositional Robotic Planners That Follow Natural Language Commands | |
Rickert et al. | Integrating language, vision and action for human robot dialog systems | |
CN112720453A (zh) | 用于训练机器人系统的操纵技能的方法和设备 | |
Barrett et al. | Driving under the influence (of language) | |
Rybski et al. | Using dialog and human observations to dictate tasks to a learning robot assistant | |
Dorbala et al. | Can a robot trust you?: A drl-based approach to trust-driven human-guided navigation | |
Zolotas et al. | Motion polytopes in virtual reality for shared control in remote manipulation applications | |
Monaikul et al. | Role switching in task-oriented multimodal human-robot collaboration | |
Sheldon et al. | PSchema: A developmental schema learning framework for embodied agents | |
US20220305647A1 (en) | Future prediction, using stochastic adversarial based sampling, for robotic control and/or other purpose(s) | |
Bustos et al. | Multimodal interaction with loki | |
Muztoba et al. | Instinctive assistive indoor navigation using distributed intelligence | |
JP2024035150A (ja) | エンティティを制御するためのシステムおよび方法 | |
Sattar et al. | Ensuring safety in human-robot dialog—A cost-directed approach | |
US20220314444A1 (en) | Hybrid Robotic Motion Planning System Using Machine Learning and Parametric Trajectories | |
Ghidary et al. | Multi-modal human robot interaction for map generation | |
Schmidt-Rohr et al. | Programming by demonstration of probabilistic decision making on a multi-modal service robot | |
Naughton et al. | Structured action prediction for teleoperation in open worlds |