(57)【要約】移動自動化システムをナビゲーションするためのエージェントがここにおいて開示される。ナビゲーションエージェントは、１つ以上の観測された画像についてナビゲーション指示および視覚的情報を受信する。ナビゲーションエージェントには、以下の機能を提供またはサポートする自己意識性が備わっている。すなわち、観察画像に対応する命令の部分を決定することによって、進行する方向を識別すること(視覚的グラウンディング)、および、命令のどの部分が完了し又は未解決であるか、および、次の動作選択のためにどの部分が潜在的に必要とされるかを識別すること(テキスト的グラウンディング)である。いくつかの実施形態において、ナビゲーションエージェントは、グラウンディングされた命令が、ナビゲーションのゴールに向かって達成された進捗を推定するために正しく使用され得ることを確実にするために、正規化を適用する(進捗モニタリング)。
2022500725.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスであって、
マシンで実行可能なコードを保管している、マシンで読取り可能な媒体を含むメモリと、
前記メモリに結合され、かつ、前記マシンで実行可能なコードを実行するように構成されている、１つ以上のプロセッサと、を含み、
前記マシンで実行可能なコードは、前記１つ以上のプロセッサに、
移動自動化システムが配置されている環境をナビゲーションするように、前記移動自動化システムに命令するためのナビゲーション命令を受信し、
前記環境について視覚的情報を受信し、前記視覚的情報は、前記移動自動化システムがナビゲーションされる際に前記環境について観察される１つ以上の画像を含んでおり、
前記ナビゲーション命令に少なくとも部分的に基づいて、命令グラウンディングを生成し、前記命令グラウンディングは、前記移動自動化システムによって前記ナビゲーション命令のどの部分が完了したか、および、前記ナビゲーションのどの部分が未解決であるかを識別しており、
前記視覚的情報に少なくとも部分的に基づいて、視覚的グラウンディングを生成し、前記視覚的グラウンディングは、前記移動自動化システムが進行すべき方向を識別しており、かつ、
前記命令グラウンディングおよび前記視覚的グラウンディングを使用して、前記環境のナビゲーションのために、前記移動自動化システムが実行する動作を生成する、
ようにさせる、
コンピューティングデバイス。
【請求項２】
前記マシンで実行可能なコードは、さらに、前記１つ以上のプロセッサに、
前記命令グラウンディングが前記ナビゲーションの進捗を正確に反映することを確実にするように、前記自動化システムのナビゲーションの進捗をモニタリングする、
ようにさせる、
請求項１に記載のコンピューティングデバイス。
【請求項３】
前記マシンで実行可能なコードは、前記１つ以上のプロセッサに、
前記命令グラウンディングおよび前記視覚的グラウンディングに基づいて、エンコーダコンテキストを生成し、かつ、
前記エンコーダコンテキストを使用して、前記移動自動化システムのための動作を生成する、
ようにさせる、
請求項１または２に記載のコンピューティングデバイス。
【請求項４】
前記マシンで実行可能なコードは、前記１つ以上のプロセッサに、
前記ナビゲーション命令における自然言語処理タスクを実行する、
ようにさせる、
請求項１乃至３いずれか一項に記載のコンピューティングデバイス。
【請求項５】
前記マシンで実行可能なコードは、前記１つ以上のプロセッサに、
前記命令グラウンディングに対して最も高い相関を有するナビゲーション可能な方向を識別する、
ようにさせる、
請求項１乃至４いずれか一項に記載のコンピューティングデバイス。
【請求項６】
前記マシンで実行可能なコードは、前記１つ以上のプロセッサに、
前記移動自動化システムがナビゲーションできる複数の方向を識別し、かつ、
識別されたナビゲーション可能な各方向について、それぞれの確率を生成する、
ようにさせる、
請求項１乃至５いずれか一項に記載のコンピューティングデバイス。
【請求項７】
移動自動化システムをナビゲーションするために方法であって、
１つ以上のプロセッサにおいて、前記移動自動化システムが配置されている環境をナビゲーションするように、前記移動自動化システムに命令するためのナビゲーション命令を受信するステップと、
前記１つ以上のプロセッサにおいて、前記環境について視覚的情報を受信するステップであり、前記視覚的情報は、前記移動自動化システムがナビゲーションされる際に前記環境について観察される１つ以上の画像を含んでいる、ステップと、
前記１つ以上のプロセッサにおいて、前記ナビゲーション命令に少なくとも部分的に基づいて、命令グラウンディングを生成するステップであり、前記命令グラウンディングは、前記移動自動化システムによって前記ナビゲーション命令のどの部分が完了したか、および、前記ナビゲーションのどの部分が未解決であるかを識別している、ステップと、
前記１つ以上のプロセッサにおいて、前記視覚的情報に少なくとも部分的に基づいて、視覚的グラウンディングを生成するステップであり、前記視覚的グラウンディングは、前記移動自動化システムが進行すべき方向を識別している、ステップと、
前記命令グラウンディングおよび前記視覚的グラウンディングを使用して、前記１つ以上のプロセッサにおいて、前記環境のナビゲーションのために、前記移動自動化システムが実行する動作を生成するステップと、
を含む、方法。
【請求項８】
前記方法は、
前記命令グラウンディングが前記ナビゲーションの進捗を正確に反映することを確実にするように、前記自動化システムのナビゲーションの進捗をモニタリングするステップ、
を含む、請求項７に記載の方法。
【請求項９】
動作を生成する前記ステップは、
前記命令グラウンディングおよび前記視覚的グラウンディングに基づいて、エンコーダコンテキストを生成するステップ、および、
前記エンコーダコンテキストを使用して、前記移動自動化システムのための動作を生成するステップ、
を含む、請求項７または８に記載の方法。
【請求項１０】
前記方法は、
前記ナビゲーション命令における自然言語処理タスクを実行するステップ、
を含む、請求項７乃至９いずれか一項に記載の方法。
【請求項１１】
動作を生成する前記ステップは、
前記命令グラウンディングに対して最も高い相関を有するナビゲーション可能な方向を識別するステップ、
を含む、請求項７乃至１０いずれか一項に記載の方法。
【請求項１２】
動作を生成する前記ステップは、
前記移動自動化システムがナビゲーションできる複数の方向を識別するステップ、および、
識別されたナビゲーション可能な各方向について、それぞれの確率を生成するステップ、
ようにさせる、
を含む、請求項７乃至１１いずれか一項に記載の方法。
【請求項１３】
実行可能なコードを含む、非一時的なマシンで読取り可能な媒体であって、
コンピューティングデバイスと関連付けされた１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、方法を実行させるように適合されており、前記方法は、
前記１つ以上のプロセッサにおいて、移動自動化システムが配置されている環境をナビゲーションするように、前記移動自動化システムに命令するためのナビゲーション命令を受信するステップと、
前記１つ以上のプロセッサにおいて、前記環境について視覚的情報を受信するステップであり、前記視覚的情報は、前記移動自動化システムがナビゲーションされる際に前記環境について観察される１つ以上の画像を含んでいる、ステップと、
前記１つ以上のプロセッサにおいて、前記ナビゲーション命令に少なくとも部分的に基づいて、命令グラウンディングを生成するステップであり、前記命令グラウンディングは、前記移動自動化システムによって前記ナビゲーション命令のどの部分が完了したか、および、前記ナビゲーションのどの部分が未解決であるかを識別している、ステップと、
前記１つ以上のプロセッサにおいて、前記視覚的情報に少なくとも部分的に基づいて、視覚的グラウンディングを生成するステップであり、前記視覚的グラウンディングは、前記移動自動化システムが進行すべき方向を識別している、ステップと、
前記命令グラウンディングおよび前記視覚的グラウンディングを使用して、前記１つ以上のプロセッサにおいて、前記環境のナビゲーションのために、前記移動自動化システムが実行する動作を生成するステップと、
を含む、非一時的なマシンで読取り可能な媒体。
【請求項１４】
前記実行可能なコードは、さらに、前記１つ以上のプロセッサに、
前記命令グラウンディングが前記ナビゲーションの進捗を正確に反映することを確実にするように、前記自動化システムのナビゲーションの進捗をモニタリングする、
ようにさせる、
請求項１３に記載の非一時的なマシンで読取り可能な媒体。
【請求項１５】
前記実行可能なコードは、前記１つ以上のプロセッサに、
前記命令グラウンディングおよび前記視覚的グラウンディングに基づいて、エンコーダコンテキストを生成し、かつ、
前記エンコーダコンテキストを使用して、前記移動自動化システムのための動作を生成する、
ようにさせる、
請求項１３または１４に記載の非一時的なマシンで読取り可能な媒体。
【請求項１６】
前記実行可能なコードは、前記１つ以上のプロセッサに、
前記ナビゲーション命令における自然言語処理タスクを実行する、
ようにさせる、
請求項１３乃至１５いずれか一項に記載の非一時的なマシンで読取り可能な媒体。
【請求項１７】
前記実行可能なコードは、前記１つ以上のプロセッサに、
前記命令グラウンディングに対して最も高い相関を有するナビゲーション可能な方向を識別する、
ようにさせる、
請求項１３乃至１６いずれか一項に記載の非一時的なマシンで読取り可能な媒体。
【請求項１８】
前記実行可能なコードは、前記１つ以上のプロセッサに、
前記移動自動化システムがナビゲーションできる複数の方向を識別し、かつ、
識別されたナビゲーション可能な各方向について、それぞれの確率を生成する、
ようにさせる、
請求項１３乃至１７いずれか一項に記載の非一時的なマシンで読取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的には、自動化されたナビゲーションシステムに関する。そして、より特定的には、自己意識的（self-aware）視覚的−テキスト的（visual-textual）共グラウンディング（co-grounded）ナビゲーションエージェントに関する。
【０００２】
関連出願
本出願は、2018年9月27日に出願された米国仮特許出願第62/737,684号、および、2018年10月31日に出願された米国非仮特許出願第16/176,955号に対する優先権を主張するものであり、それらの全体が、ここにおいて参照により包含されている。
【０００３】
著作権表示
この特許文献の開示の一部は、著作権保護の対象となる資料を含んでいる。特許文献または特許開示は特許商標庁の特許ファイルまたは記録に現われるので、著作権者は、そのいずれかの複製に対して異議はないが、他の点については著作権を保持する。
【背景技術】
【０００４】
映像および言語ナビゲーション（Vision-and-language  Navigation、VLN）タスクは、未知の環境においてナビゲーション命令に従うロボットまたは他の移動自動化システム（mobile  automated  system）を必要とする。VLNタスクにおいて、エージェント（agent）は、未知の現実的な環境に置かれており、そして、移動自動化システムのスタート位置からゴール位置までナビゲーションするために、自然言語命令（natural  language  instructions）に従うことが要求されている。他のナビゲーション状況とは対照的に、VLNタスクの技術的な問題は、エージェントが、ターゲットに到達したか否かを知るための、ターゲットの明示的な表現(例えば、マップ内の位置、または、ターゲットのイメージ表現)を有さないことである。代わりに、エージェントは、観測される視覚的入力のシーケンス間の命令に対する関連付けを通じて、そのナビゲーション状態（status）を認識する必要がある。
【図面の簡単な説明】
【０００５】
【図１】図1は、いくつかの実施形態に従った、コンピューティングデバイスの簡略図である。
【図２】図2は、いくつかの実施形態に従った、ナビゲーションエージェントの簡略図である。
【図３】図3は、いくつかの実施形態に従った、ナビゲーションのための方法の簡略図である。
【図４】図4は、いくつかの実施形態に従った、映像および言語(VLN)ナビゲーションタスクの一つの例を示している。
【図５】図5は、ナビゲーションエージェントの性能を他のアプローチと比較している一つの例示的な表を示している。
【図６】図6は、アブレーション学習のための一つの例示的な表を示している。
【図７】図7は、ナビゲーションタスクを実行しているナビゲーションエージェントの一つの例を示している。
【０００６】
図において、同一の呼称を有する要素（elements）は、同一または類似の機能を有する。
【発明を実施するための形態】
【０００７】
態様、実施形態、実装、または、アプリケーションを説明する、この明細書および添付の図面は、限定するものと解釈されるべきではなく、−請求項が保護される発明を定義している。様々な機械的、組成的、構造的、電気的、および動作上の変更は、この明細書および特許請求の範囲の精神および範囲から逸脱することなく、行うことができる。いくつかの例においては、周知の回路、構造、または技術は、当業者にとって周知であるので、詳細には示されておらず、また、説明されていない。２つ以上の図面における同じ数字は、同一または類似の要素を表している。
【０００８】
この明細書においては、本開示と一貫性のあるいくつかの実施形態を説明する特定的な詳細が明らかにされている。実施形態の完全な理解を提供するために、多数の特定的な詳細が明らかにされている。しかしながら、当業者にとっては、いくつかの実施形態は、これらの特定的な詳細の一部または全部なしに実施され得ることが明らかであろう。ここにおいて開示される特定の実施形態は、例示的なものであるが、限定するものではないことを意味する。当業者であれば、ここにおいて特定的に記載されていないが、この開示の範囲および精神内にある他の要素を認識することができる。加えて、不必要な繰り返しを避けるために、１つの実施形態と関連して示され、かつ、説明された１つ以上の特徴は、そうでないものと特定的に説明されていないか、または、１つ以上の特徴が実施形態を非機能的にする場合でなければ、他の実施形態の中へ組み込むことができる。
【０００９】
コンピューティングデバイス
図1は、いくつかの実施形態に従った、コンピューティングデバイス100の簡略図である。いくつかの実施形態に従って、コンピューティングデバイス100は、未知の環境においてナビゲーションするためにロボットまたは他の移動自動化システムに対してコンピュータ命令を提供することができるエージェントを実装するために使用され得る。いくつかの実施形態において、コンピューティングデバイス100は、ロボットまたは自動化システムの中へ組み込まれてよい。いくつかの実施形態において、コンピューティングデバイスは、ロボットまたは自動化システムから分離されてよいが、データ、情報、および制御を交換するために、例えば、無線信号を介して、通信することができる。
【００１０】
コンピューティングデバイス100は、現在の環境においてナビゲーションするようにロボットまたは自動化システムに指示するための命令160を受信することができる。そうした命令の一つの例は、「寝室を出て、テーブルに向かう。ソファーの左側の階段へ行く。３番目のステップで待つ。」であり得る。これらの指示は、例えば、人間のユーザによって提供される、テキストまたはスピーチの形式であり得る。コンピューティングデバイス100は、また、例えば、ロボットまたは移動自動化システムにおけるカメラによってキャプチャされた画像の形式で、視覚的情報170を受信することができる。コンピューティングデバイス100は、ナビゲーション命令160および視覚的情報170の両方を処理し、そして、ロボットまたは移動自動化システムを制御するための次の動作（action）および進捗の結果（progress  result）180を生成する。
【００１１】
いくつかの実施形態に従って、コンピューティングデバイス100は、映像および言語ナビゲーション(VLN)タスクを実施し、または、実施に参加する。これは、マップなしでフォトリアリスティック（photo-realistic）な環境を通じてナビゲーションするために、エージェントが自然言語の指示に従うことを要求する。VLNタスクにおいて、エージェントは、未知の現実的な環境に置かれており、そして、そのスタート位置からゴール位置までナビゲーションするために、自然言語の指示に従うことが要求される。既存のナビゲーションタスクとは異なり、エージェントは、ゴールに到達したか否かを知るために、ターゲットの明示的な表現(例えば、マップにおける位置またはターゲットの画像表現)を有していない。
【００１２】
図1に示されるように、コンピューティングデバイス100は、メモリ120に結合されたプロセッサ110を含んでいる。コンピューティングデバイス100のオペレーションは、プロセッサ110によって制御される。そして、コンピューティングデバイス100は、１つだけのプロセッサ110と共に示されているが、プロセッサ110は、コンピューティングデバイス100における１つ以上の中央処理装置、マルチコアプロセッサ、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、フィールド・プログラマブル・ゲートアレイ（FPGA）、特定用途向け集積回路（ASIC）、グラフィックス処理装置（GPU）、テンソル処理装置（TPU）、及び／又は類似のものを代表し得ることが理解される。コンピューティングデバイス100は、スタンドアロンのサブシステムとして、コンピューティングデバイスに追加されるボードとして、及び／又は、仮想機械として実装され得る。
【００１３】
メモリ120は、コンピューティングデバイス100によって実行されるソフトウェア、及び／又は、コンピューティングデバイス100のオペレーションの最中に使用される１つ以上のデータ構造を保管するために使用され得る。メモリ120は、１つ以上のタイプのマシンで読取り可能な媒体を含み得る。マシンで読取り可能な媒体のいくつかの一般的な形態は、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、あらゆる他の磁気媒体、CD-ROM、あらゆる他の光媒体、パンチカード、紙テープ、穴のパターンを有するあらゆる他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、あらゆる他のメモリチップまたはカートリッジ、及び／又は、そこからプロセッサまたはコンピュータが読み出すように適合されるあらゆる他の媒体を含み得る。
【００１４】
プロセッサ110及び／又はメモリ120は、任意の適切な物理的な配置で構成され得る。いくつかの実施形態において、プロセッサ110及び／又はメモリ120は、同じボード上に、同じパッケージ(例えば、システム・イン・パッケージ)内に、同じチップ(例えば、システム・オン・チップ)上に、かつ／あるいは、同様に実装されてよい。いくつかの実施形態において、プロセッサ110及び／又はメモリ120は、分散、仮想化、かつ／あるいは、コンテナ化されたコンピューティングリソースを含み得る。そうした実施形態と一致して、プロセッサ110及び／又はメモリ120は、１つ以上のデータセンター及び／又はクラウドコンピューティング施設に配置され得る。
【００１５】
再び実施例を参照すると、図２は、「寝室を出て、テーブルに向かう。ソファーの左側の階段へ行く。３番目のステップで待つ。（“Exit  the  bedroom  and  go  towards  the  table.  Go  to  the  stairs  on  the  left  of  the  couch.  Wait  on  the  third  step.”）」という命令に対する映像および言語ナビゲーション(VLN)タスクを説明している。この指示が与えられると、本開示のナビゲーションエージェントは、最初に、どの命令が次の動作（movement）のために必要とされるかを突き止める（locate）必要がある。これは、次に、どの命令が完了したか、または、進行中であるかを、エージェントが認識することを要求する(例えば、明示的に表したり、または、注意を向けるようにフォーカスする)。例えば、「階段へ行く（“go  to  the  stairs”）」という動作は、一旦、エージェントが部屋を出て、テーブルに向かって移動してから実行されるべきである。しかしながら、「テーブルに向かって行く（“go  towards  the  table”）」という動作については固有の曖昧さが存在している。すなわち、エージェントは、「テーブルに向かって行く」という動作を完了した後に、「階段へ行く」という動作を実行するように、ロボットまたは移動自動化システムを制御または指示することが期待されているが、一方で、「テーブルに向かって行く」の完了が何を定義しているのか明確ではない。従って、エージェントは、命令にスムーズに従うために、命令の過去および次の部分の両方を認識する必要がある。実際、ゴールに向かって行われた進捗状況を評価することは、人間の意思決定におけるゴール指向型タスク（goal-directed  task）にとって重要であることが示されている。VLNについて数多くのアプローチが提案されているが、一方で、VLNに対する従来のアプローチは、一般的に、どの命令が次であるか、または、ターゲットに向けての進捗状況も認識していない。
【００１６】
このことに対処するために、いくつかの実施形態に従って、コンピューティングデバイス100によって実施されるナビゲーションエージェントは、自己意識性（self-awareness）が提供され、または、備えており、以下の能力を提供またはサポートする。（１）観察された画像に対応する命令の部分を決定することによって、どの方向に進む又は進行するかを識別すること−視覚的グラウンディング（visual  grounding）、（２）命令のどの部分が完了し又は進行中であるか、そして、どの部分が次の動作選択のために潜在的に必要とされるか識別すること−テキスト的グラウンディング（textual  grounding）、および（３）グラウンディングされた命令が、ゴールに向かって行われた進捗を評価するために正しく使用され得ることを確実にすること、および、これを確保するように規則化（regularization）を適用すること、−進捗モニタリング（progress  monitoring）。
【００１７】
いくつかの実施形態においては、グラウンディングされた命令(例えば、ナビゲーション命令160に基づくか、または、由来するもの)、観測された画像(例えば、視覚的情報170)、および選択された動作の全ての履歴をナビゲーションエージェントの中に組み込むことによって、視覚的およびテキスト的グラウンディングの両方が同時に達成される。ナビゲーションエージェントは、動作選択のために使用される命令の中のワード（word）と、ゴールに向かって行われる進捗との間の構造的なバイアスを活用する。命令追従（instruction-following）の完了をエージェントがどの程度良好に推定できるかを測定するために、エージェントに対して新しい目的関数が提案され、または提供されている。グラウンディングされた命令の位置および重みを入力として条件付けることによって、ナビゲーションエージェントは、その進捗を自覚（self-aware）することができ、そして、さらに、行われた進捗をテキスト的グラウンディングが正確に反映することを確実にすることができる。
【００１８】
このことを実施するために、いくつかの実施形態においては、図1に示されるように、メモリ120は、テキスト的グラウンディングモジュール130、視覚的グラウンディングモジュール140、進捗モニタリングモジュール150、および動作選択モジュール155を含んでいる。いくつかの実施形態において、テキスト的グラウンディングモジュール130、視覚的グラウンディングモジュール140、進捗モニタリングモジュール150、および動作選択モジュール155のうち任意の、最大で全ての、適切な前処理（pre-processing）層、符号化層、復号化層、および出力層を有する、単層または多層のニューラルネットワークを含んでよく、または、それらと共に実装され得る。ニューラルネットワークは、現実世界の情報を人間のような正確さで自動的に分析するための技術として、非常に有望である。一般的に、ニューラルネットワークモデルは、入力情報を受信し、そして、入力情報に基づいて予測を行う。例えば、ニューラルネットワーク分類器（classifier）は、クラスの規定のセットの中で入力情報のクラスを予測することができる。現実世界の情報を分析するための他のアプローチは、ハードコード化されたプロセス、統計分析、及び／又は類似のものを含み得るが、一方で、ニューラルネットワークは、機械学習プロセスを使用して、試行錯誤（trial  and  error）のプロセスによって、徐々に予測を行うことを学習する。所与のニューラルネットワークモデルは、多数のトレーニング事例を使用して訓練されてよく、ニューラルネットワークモデルが、人間が行い得るトレーニング事例から同様の推論を一貫して行い始めるまで、反復的に進行する。
【００１９】
いくつかの実施形態において、エージェント−テキスト的グラウンディングモジュール130、視覚的グラウンディングモジュール140、進捗モニタリングモジュール150、および動作選択モジュール155を用いて実装されたもの−は、１つ以上のリカレント・ニューラルネットワーク(recurrent  neural  network、RNN)を使用することによって、シーケンス・ツー・シーケンス（sequence-to-sequence）のアーキテクチャを用いて、注意を払ってモデル化される。いくつかの実施形態において、RNNは、情報のフロー（flow）を効果的に搬送するために、長短期記憶（Long  Short  Term  Memory、LSTM)を使用し、または、それと共に実装され得る。
【００２０】
そして、テキスト的グラウンディングモジュール130、視覚的グラウンディングモジュール140、進捗モニタリングモジュール150、および動作選択モジュール155は、ソフトウェアモジュールとして示されているが、それらは、ハードウェア、ソフトウェア、及び／又は、ハードウェアおよびソフトウェアの組み合わせを使用して実装され得る。
【００２１】
図1は、ハイレベルのダイアグラムであり、一方で、図2は、いくつかの実施形態に従った、共グラウンディングされた（co-grounded）ナビゲーションエージェントについて、より詳細を示している。また、図3は、いくつかの実施形態に従った、共グラウンディングされたナビゲーションエージェントについて対応する方法300を示している。図3は、プロセス310-360に対する順序付けを示唆しているが、プロセスは、他の順序において実行され得ることが理解される。例えば、いくつかの実施形態において、プロセス330および340は、任意の順序で、かつ／あるいは、同時に実行され得る。
【００２２】
ナビゲーションエージェント
図2は、いくつかの実施形態に従った、ナビゲーションエージェント200の簡略図である。いくつかの実施形態において、ナビゲーションエージェント200は、図1に関して説明されたコンピューティングデバイス100のナビゲーションエージェントを実装し得る。
【００２３】
示されるように、ナビゲーションエージェント200は、テキスト的グラウンディングモジュール230、視覚的グラウンディングモジュール240、進捗モニタリングモジュール250、および動作選択モジュール255を含み、それらは、いくつかの実施形態において、図1のテキスト的グラウンディングモジュール130、視覚的グラウンディングモジュール140、進捗モニタリングモジュール150、および動作選択モジュール155のための実装であってよい。
【００２４】
いくつかの実施形態において、ナビゲーションエージェント200は、テキスト的グラウンディングモジュール230、視覚的グラウンディングモジュール240、進捗モニタリングモジュール250、および動作選択モジュール255のうち１つ以上を実装することができる、１つ以上のニューラルネットワークを含んでよく、もしくは、それらのモジュールに加えて存在し、または、分離していてよい。１つ以上のニューラルネットワークは、エンコーダおよびデコーダとして実施またはオペレーションし、ナビゲーションエージェント200によって受信され、かつ、その中で生成された様々な情報および他のアイテムを処理する。これは、ナビゲーション命令、観測される画像(例えば、視覚的情報)、および、ロボットまたは移動自動化システムによって行われる動作のための情報を含むが、これらに限定されるわけではない。
【００２５】
いくつかの実施形態において、ナビゲーションエージェント200は、VLNタスクのための視覚信号およびテキスト信号または情報について共グラウンディング（co-grounding）を実行し、−命令からの視覚的グラウンディングは、エージェント200が正しい方向を決定するのを助ける。一方で、テキスト的グラウンディングは、命令のどの部分が完了しており、そして、どれを進行する必要があるかを、暗黙のうちに、ナビゲーションエージェント200が知ることを可能にする。共グラウンディングは、ナビゲーションエージェント200が自己意識するために役に立つ情報を提供し、所望のゴールに向かう進捗を継続的にモニタリングしている。例えば、ロボットまたは移動自動化システムのためのナビゲーション命令のセットの完了、といったものである。
【００２６】
いくつかの実施形態において、ナビゲーションエージェント200は、リカレント・ニューラルネットワーク(RNN)を使用することによって、シーケンス・ツー・シーケンス（sequence-to-sequence）のアーキテクチャを用いて、注意を払ってモデル化されている。いくつかの実施形態において、図2に示されるように、そうしたRNNは、情報のフローを効果的に搬送するために、長短期記憶（LSTM)260と別々に、または、一緒に実装する、１つ以上の符号化要素（encoding  element）を用いて実装される。LSTM260は、とりわけ、テキスト的グラウンディングモジュール230および視覚的グラウンディングモジュール240からの情報または要素を、受信し、オペレーションし、または、処理(例えば、復号化（decode）)する。いくつかの実施形態において、ナビゲーションエージェント200は、パノラマビュー(例えば、ここにおいて参照により組み込まれている、Friedら著、タイトル“Speaker-follower  models  for  vison-and-language  navigation”、Advances  in  Neural  Information  Processing  Systems(NIPS)、2018において詳細に記載されている)を用いてイネーブルされる。
【００２７】
表記（notation）に関して、L個のワードを伴う自然言語命令(例えば、160)を考えると、その表現はＸ＝｛ｘ１、ｘ２、・・・、ｘＬ、｝によって示される。ここで、ｘＬは、LSTM言語エンコーダによって符号化されたＬ番目のワードに対する特徴ベクトルである。各時間ステップｔにおいて、ナビゲーションエージェント200は、各ビューポイント（viewpoint）ｖｔ＝｛ｖｔ、１、ｖｔ、２、・・・、ｖｔ、Ｋ｝において画像のセットを認識する。ここで、Ｋは、ナビゲーション可能な方向の最大数であり、そして、ｖｔ、ｋは、方向ｋの画像特徴（image  feature）を表している。命令および画像の共グラウンディング特徴は、それぞれ、ｘ＾ｔおよびｖ＾ｔとして表されている。選択した動作は、ａｔとして示される。学習可能な重み付けは、Ｗで示され、必要に応じて適切なサブスクリプト／スーパースクリプトを伴う。いくつかの実施形態において、バイアス項ｂは、説明における表記上の混乱を回避するために省略することができる。
【００２８】
各時間ステップｔにおいて、LSTM260(デコーダ)は、現在伴うパノラマ画像または視覚的グラウンディング特徴ｖ＾ｔ、先に選択された動作ａｔ−１、および、現在のグラウンディングされた命令特徴（instruction  feature）ｘ＾ｔの表現を入力として観察し、そして、エンコーダコンテキスト、または隠れ状態（hidden  state）ｈｔを出力する。
【数１】
2022500725.tif 000003
ここで、［、］は連結を示している。以前のエンコーダコンテキストｈｔ−１は、テキスト的グラウンディング特徴ｘ＾ｔおよび視覚的グラウンディング特徴ｖ＾ｔを獲得するために使用されており、一方で、現在のエンコーダコンテキストｈｔは、ここにおいて説明されるように、次の動作を獲得するために使用することができる。
【００２９】
ナビゲーションエージェント200は、入力されたナビゲーション命令(図3のプロセス310)として、−例えば、「寝室を出て、テーブルに向かう。ソファーの左側の階段へ行く。３番目のステップで待つ。」を受信する。特には、テキスト的グラウンディングモジュール230が、ナビゲーション命令を受信し、そして、オペレーションする。エージェント200がある視点から別の視点に移動するときは、グラウンディングされた命令に依存することによって、どの方向に進むべきか、すなわち、命令のどの部分が使用されるべきかを識別することが必要とされる。これは、過去とマッチした命令(進行中の動作ａｔ−１)か、または、将来の予測(次の動作ａｔ)のいずれかであり得る。いくつかの実施形態において、テキスト的グラウンディングモジュール230は、命令16において自然言語処理(NLP)を実行する。NLPは、ニューラルネットワークが適用され得る問題のうち１つのクラスである。NLPは、個々のワードおよびフレーズの理解を用いて新しいニューラルネットワークを注入するために使用され得る。
【００３０】
受信されたナビゲーション命令に基づいて、テキスト的グラウンディングモジュール230は、命令グラウンディングを生成する(図3のプロセス330)。テキスト的グラウンディングモジュール230は、命令のどの部分が完了し又は進行中であり、そして、どの部分が未解決（outstanding）であるか、そして、従って、次の動作のために潜在的に必要とされるかを識別する。命令内のワード間における相対的位置をキャプチャするために、いくつかの実施形態において、テキスト的グラウンディングモジュール230は、位置の符号化（PE）を実行するか、または、命令特徴の中へ組み込む(例えば、ここにおいて参照により組み込まれている、Vaswaniら著、タイトル“Attention  is  all  you  need”、Advances  in  Neural  Information  Processing  Systems  (NIPS)、pp.5998-6008、2017、においてより詳細に説明されているように)。テキスト的グラウンディングモジュール230は、次いで、図2の左側に示されるように、命令特徴Ｘについてソフトアテンション(例えば、ソフトマックス（softmax）)を実行する。命令のL個のワードにわたるアテンション分布は、以下のように計算される。
【数２】
2022500725.tif 000004
ここで、Ｗｘは学習されるパラメータであり、ｚｔ、ｌtextualは命令のワードｌと以前の隠れ状態ｈｔ−１との間の相関として計算されるスカラー値であり、そして、αｔは時間ｔにおける命令Ｘにおける特徴に対するアテンションの重み付けである。テキスト的アテンション分布に基づいて、グラウンディングされたテキスト特徴ｘ＾ｔは、テキスト特徴に対する加重和ｘ＾ｔ＝αＴＸによって獲得され得る。
【００３１】
いくつかの実施形態において、ナビゲーション命令を符号化するための埋め込みディメンション（embedding  dimension）は256である。ナビゲーションエージェントは、埋め込み層（embedding  layer）の後に比率0.5のドロップアウト層を使用することができる。命令は通常のLSTMを使用して符号化することができ、そして、隠れ状態は512ディメンション（512-dimensional）である。生の（raw）画像特徴の投影に使用されるMLPgは、BN->FC->BN->Dropout->ReLUである。FC層は、2176-dの入力ベクトルを1024-dのベクトルへ投影し、そして、ドロップアウト比率は0.5に設定される。式（１）において時間を通してテキスト的および視覚的情報を搬送するために使用されるLSTMの隠れ状態は512である。命令の最大長は80に設定されているので、テキスト的グラウンディングに係るアテンションの重み付けαｔのディメンションも、また80である。式(２)から式（５）までの学習可能な行列のディメンションは、Ｗｘ∈Ｒ５１２×５１２、Ｗｖ∈Ｒ５１２×１０２４、Ｗｘ∈Ｒ５１２×５１２、Ｗα∈Ｒ１０２４×１０２４、Ｗｈ∈Ｒ１５３６×５１２、およびＷｈ∈Ｒ５９２×１、である。
【００３２】
完了した命令または進行中の命令を突き止めるために、ナビゲーションエージェント200は、ナビゲーション軌道に沿って観察される画像のシーケンスを記録しておくべきである。これを達成するために、ナビゲーションエージェント200は、視覚的情報を受信する(図3のプロセス320)。視覚的グラウンディングモジュール240は、例えば、ロボットまたは自動化システムにおいて提供される、カメラからの１つ以上の画像の形態であり得る、視覚的情報ｖｔ上でオペレーションする。視覚的グラウンディングモジュール240は、視覚的グラウンディングを生成する(図3のプロセス340)。どの方向に行くべきかについて決定するために、ナビゲーションエージェント200は、視覚的グラウンディングモジュール240を使用して、グラウンディングされたナビゲーション命令と最も高い相関を有するナビゲーション可能な方向において画像特徴を見つける。
【００３３】
いくつかの実施形態において、視覚的グラウンディングモジュール240は、画像特徴を抽出するために、ImageNetにおける予め訓練されたResNet-152を使用することができる。従って、各画像特徴は2048-dベクトルである。各ナビゲーション可能方向に対する埋め込まれた特徴ベクトルは、外観特徴（appearance  feature）を4-dオリエンテーション特徴［ｓｉｎΦ；ｃｏｓΦ；ｓｉｎΘ；ｃｏｓΘ］と連結することによって獲得される。ここで、ΦおよびΘは、方位角および仰角（heading  and  elevation  angles）である。4-dimオリエンテーション特徴は、32回タイル化され(Friedら著、2018においてより詳細に説明されている)、2176ディメンションを有する埋め込み特徴ベクトルを結果として生じる。
【００３４】
いくつかの実施形態において、視覚的グラウンディングモジュール240は、その以前の隠れベクトルｈｔ−１に基づいて、周囲のビューについて視覚的アテンションを実行する。視覚的アテンション重み付けβｔは、以下のように獲得され得る。
【数３】
2022500725.tif 000005
ここで、ｇは2層のマルチレイヤ・パーセプトロン(MLP)であり、Ｗｖは学習されるべきパラメータである。式（２）と同様に、グラウンディングされた視覚的特徴ｖ＾ｔは、視覚的特徴における加重和ｖ＾ｔ＝βｌＴｖによって獲得され得る。
【００３５】
ナビゲーションエージェント200は、ナビゲーションのための動作を生成する(図3のプロセス350)。特に、動作選択モジュール255は、ロボットまたは自動化システムがとるべき動作ａｔ(例えば、どの方向に進むべきか)を識別し、決定し、生成し、または選択する。動作について決定を行うために、いくつかの実施形態において、動作選択モジュール255は、グラウンディングされたナビゲーション命令ｖ＾ｔおよび現在の隠れ状態ｈｔと最も高い相関を有するナビゲーション可能な方向における画像特徴を識別または見つける。いくつかの実施形態において、動作選択モジュール255は、相関を計算するために内積（inner-product）を使用し、そして、各ナビゲーション可能な方向の確率が、次いで、以下のように計算される。
【数４】
2022500725.tif 000006
ここで、Ｗαは学習されたパラメータであり、ｇ(.)は式（３）と同じマルチレイヤ・パーセプトロン(MLP)であり、ｐｔは時間ｔにおける各ナビゲーション可能な方向の確率である。動作選択モジュール255は、次の動作αｔを選択するために、訓練の最中にカテゴリサンプリング（categorical  sampling）を使用する。
【００３６】
観察された画像の履歴だけに基づいて命令に対応する、パノラマビューを用いる他の方法とは異なり、ナビゲーションエージェント200は、テキスト的および視覚的モダリティ両方からのグラウンディング情報を含み、導出され、または、それらに基づく、共有された隠れ状態出力を使用して、テキスト的および視覚的グラウンディングの両方を達成する。いくつかの実施形態において、動作選択の最中に、動作選択モジュール255は、グラウンディングされた命令だけに依存する代わりに、隠れ状態出力およびグラウンディングされた命令の両方に依存している。
【００３７】
いくつかの実施形態に従って、LSTM260および動作選択モジュール255のうち１つ又は両方は、テキスト的グラウンディングモジュール230および視覚的グラウンディングモジュール240と共に、過去に完了したナビゲーション命令、次の動作において必要とされるナビゲーション命令、および、移動している方向を周囲の画像から識別または決定するために、視覚的−テキスト的な共グラウンディングをサポートし、可能にし、または提供する。かくして、これらの要素のそうした組み合わせは、視覚的-テキスト的な共グラウンディングモジュールを形成することができる。
【００３８】
いくつかの実施形態において、テキスト的グラウンディングは、ゴールに向かって(例えば、ロボットまたは移動自動化システムが行っている)進捗を正しく又は正確に反映すべきである。なぜなら、ナビゲーションエージェント200は、次いで、現在どこにいるか、および、完了されるべき次の命令が何であるかを、暗黙のうちに知ることができるからである。視覚的−テキスト的な共グラウンディングを用いて、ナビゲーションエージェント200は、ナビゲーション可能な方向を選択するときに、グラウンディングされた命令が、合理的に意思決定を通知することを確実にすることができる。このことは、ゴールに対する進捗の理解が符号化されることを確実にするために必要であるが、十分ではないだろう。
【００３９】
このように、いくつかの実施形態に従って、ナビゲーションエージェント200は、ロボットまたは移動自動化システムのターゲットに向けた進捗をモニタリングすることができる(図3のプロセス360)。このために、ナビゲーションエージェント200は、進捗モニタリングモジュール250を含み、または、組み込むことができる。進捗モニタリングモジュール250は、訓練の最中には正規化器（regularizer）として働き、そして、推論の最中には未完了の軌道をインテリジェントに取り除く（prune）。
【００４０】
ローカル化された命令の位置が、ナビゲーションステップと命令との間の構造的なアライメントバイアス（alignment  bias）のせいで、ナビゲーション進捗の強力な指標となり得るので、進捗モニタリングモジュール250は、グラウンディングされた命令の位置および重み付けについて条件付けする（conditioning）ことによって、現在の視点が最終ゴールに対してどれだけ近いかを推定することができる。このことは、さらに、テキスト的グラウンディングの結果をターゲットに向かって行われる進捗と整合するように強化し、そして、テキスト的グラウンディングの正確性を確実なものにする。
【００４１】
いくつかの実施形態において、進捗モニタリングモジュール250は、以下の３つの入力について条件付けすることによって、ナビゲーションの進捗を推定することを目的としている。グラウンディングされた画像および命令の履歴、周囲の画像の現在の観察、およびグラウンディングされた命令の位置である。我々は、従って、図2の下部に示されるように、（１）LSTM260の以前の隠れ状態ｈｔ−１および現在のセル状態ｃｔ、（２）グラウンディングされた周囲の画像ｖ＾ｔ、および（３）テキスト的グラウンディングに係るアテンションの重み付けαｔの分布、を使用することによって、これらの入力を表現する。このため、進捗モニタリングモジュール250は、テキスト的グラウンディングモジュール230および視覚的グラウンディングモジュール240それぞれから入力を受信する。
【００４２】
いくつかの実施形態において、進捗モニタリングモジュール250は、最初に、グラウンディングされた画像表現ｖ＾ｔを入力として使用することによって、追加の隠れ状態出力ｈｔｐｍを計算する。経験的な理由のために要素ごとの追加において連結を使用することを除いて、通常のLSTMが、隠れ状態を計算する方法と類似している。ナビゲーションエージェント200がターゲットに対してどれだけ近いかを推定するために、次いで、隠れ状態出力が、テキスト的グラウンディングにおいてアテンション重み付けαｔと連結される。進捗モニタリングｐｔｐｍの出力は、命令追従の完全性を表すものであり、以下のように計算される。
【数５】
2022500725.tif 000007
ここで、ＷｈとＷｐｍは学習されたパラメータであり、ｃｔはLSTM260のセル状態であり、「（×）」は要素ごとの積（element-wise  product）を示しており、そして、σはシグモイド（sigmoid）関数である。
【００４３】
図4は、本開示のナビゲーションエージェント200が、ロボットまたは移動自動化システムに、ナビゲーション命令を実行するために指示するようにオペレーションしている一つの例を示している。−例えば、「階段を上がる。階段の最上部で右に曲がる。真っ直ぐ寝室に向かって歩く。左に曲がり、ベッドランプに向かって歩く。左に曲がり、クローゼットに入る。停まる。（“Walk  up  stairs.  At  top  of  stairs  turn  right.  Walk  straight  to  bedroom.  Turn  left  and  walk  to  bed  lamp.  Turn  left  and  enter  closet.  Stop  at“）」である。自己意識的エージェント200は、見えない環境（unseen  environment）において順調にナビゲーションする。エージェント200は、スタート位置から始まり、そして、ゴールに向かって命令に従う。提案される進捗モニタリングによって推定される命令完全性のパーセンテージは、エージェント200が所望のターゲットに向かってナビゲーションし、そして、近づくにつれて徐々に増加する。
【００４４】
訓練（Training）
いくつかの実施形態に従って、進捗モニタリングモジュール250を訓練するための新しい目的関数が使用される。トレーニングターゲットｙｔｐｍは、現在の視点からゴールまでの正規化された距離として定義される。すなわち、ターゲットは、最初は０であり、そして、ナビゲーションエージェント200がターゲットに近づくにつれて、１に対してより近くなる。ゴールからのナビゲーションエージェントの現在の距離がスタート点よりも遠い場合には、ターゲットが０より小さくなり得ることにも、また、留意する。最後に、自己意識的エージェント200は、動作選択および進捗モニタリングの両方からの出力に関して計算された、２つのクロスエントロピー損失（cross-entropy  loss）を用いて最適化される。
【数６】
2022500725.tif 000008
ここで、ｐｋ，ｔは各ナビゲーション可能方向の動作確率であり、λ＝０：５は２つの損失をバランスする重み付けであり、そして、ｙｔｎｖはステップｔでのグラウンドトゥルース（ground-truth）なナビゲーション可能方向である。
【００４５】
いくつかの実施形態においては、ADAMの使用が、訓練中のオプティマイザ（optimizer）として用いられ得る。学習率（learning  rate）は、全ての実験を通じて一貫して64のバッチサイズを用いて、1e-4である。ビームサーチ（beam  search）を使用するときに、ビームサイズは15に設定されている。カテゴリサンプリングが、行動選択のための訓練中に実行され得る。
【００４６】
推論（inference）
いくつかの実施形態において、推論の最中に、ナビゲーションエージェント200は、(Friedら著、2018においてより詳細に説明されているように)ビームサーチを使用または利用することができる。特に、ビーム内のどの軌道（trajectory）を保持するかをナビゲーションエージェント200が決定する間には、動作上におけるビームの状態、並びに、横断された（traversed）それぞれの視点での与えられた命令を完了することに対するエージェントの確信について評価することが等しく重要である。このことは、進捗モニタリングモジュール250の出力をビームサーチの累積確率の中へ統合することによって達成される。各ステップにおいて、候補軌道が累積確率に基づいて競合する場合、命令追従ｐｔｐｍの推定完全性は、動作確率ｐｋ，ｔと統合されて、部分的および未完了な候補経路を直接的に評価する。つまり、ｐｔｂｅａｍ＝ｐｔｐｍ  ×ｐｋ，ｔである。
【００４７】
実験と評価（Experiments  and  Evaluation）
いくつかの実施形態において、ナビゲーションエージェント200は、参照により組み込まれている、Andersonら著、タイトル“Vision-and-language  navigation:  Interpreting  visually-grounded  navigation  instructions  in  real  environments”、IEEE  Conference  on  Computer  Vision  and  Pattern  Recognition(CVPR)のプロシーディング、volume  2、2018においてさらに詳細に説明されているように、ルームツールーム（Room-to-Room、R2R）データセットを使用して評価され得る。R2Rデータセットは7189個のパスを有しており、各パスは、人間によって書かれた３つのグラウンドトゥルースなナビゲーション命令を有している。データセット全体は４つのセットへと分割される。つまり、訓練（training）、見える検証（validation  seen）、見えない検証（validation  unseen）、および、見えないテストセット（test  sets  unseen）である。
【００４８】
評価のために、R2Rタスクに関する以前の研究で使用されたのと同じメトリクス（metrics）に従った。つまり、（１）ナビゲーション誤差（NE）、ナビゲーションエージェントの最終位置とゴール位置との間における最短経路の距離のメートル（meter）での平均、（２）成功率（SR）、ゴール位置から３ｍ未満だけ離れた最終位置のパーセンテージ、および（３）オラクル（Oracle）成功率（SR）、ナビゲーションエージェントが軌道に沿ってゴールに最も近いポイントで停止できる場合の成功率、である。
【００４９】
本開示の自己意識的ナビゲーションエージェント200は、様々な既存のアプローチと比較される。例えば、スチューデント・フォーシング（Student-forcing）(Andersonら著、2018)、RPA(Wangら著、タイトル“Look  before  the  leap:  Bridging  model-free  and  model-based  reinforcement  learning  for  planned-ahead  vision-and-language  navigation”、European  Conference  on  Computer  Vision（ECCV）、2018)、および、スピーカ・フォロワー（Speaker-follower）（Friedら著、2018）である。図5の表に示されるように、本開示のナビゲーションエージェント200(および、その対応する方法)は、データ補強（data  augmentation）なしに、最新技術と比較して、顕著な性能改善を達成している。エージェント200は、見える環境（seen  environment）において70%のSR、および、見えない環境（unseen  environment）において57%のSRを達成している。一方で、最高性能の既存の方法は、それぞれ、63%および50%のSRを達成していた。合成データ（synthetic  data）2を用いて訓練された場合に、本開示のエージェントおよび方法は、テストサーバに対して提出される場合に、見える環境において、わずかに良好な性能を達成し、そして、見えない環境の検証および見えない環境の試験の両方において、わずかに良好な性能を達成する。本開示のエージェントおよび方法は、見えない環境の評価および見えない環境の試験の両方において、SRについて3%および8%の改善を達成する。データ補強の有り無しの両方の結果は、本開示のエージェントおよび方法が、見えない環境に対してより一般化可能であることを示している。
【００５０】
テキスト的グラウンディングエージェント（Textually  grounded  agent）
直感的には、命令追従エージェントは、環境を通じてナビゲーションする際に、命令の対応する部分に正確にフォーカスし、そして、追従する能力を強くデモンストレーションことが必要とされる。従って、いくつかの実施形態において、命令におけるアテンションの重み付けの分布が、各ステップにおいて、命令のどの部分が動作選択のために使用されているかの指標として記録される。全ての実行(run)ランは、見えるデータセットおよび見えないデータセットの分割の両方にわたり平均化される。アテンションの重み付けの分布は、対角線に近く、ここで、エージェント200は、最初に、命令の開始にフォーカスし、そして、ターゲットにより近づくにつれて、そのアテンションを命令の終了に向けてシフトすることが期待されている。
【００５１】
デモンストレーションのために、パノラマ動作空間（panoramic  action  space）を用いる方法(Friedら著、2018で提案されている)が、比較のためのベースラインとして使用される。進捗モニタリングを有する自己意識的ナビゲーションエージェント200は、グラウンディングされた命令の経時的な位置が対角線に類似する線を形成することをデモンストレーションしている。この結果は、さらに、タスクを順次に完了するために、エージェントが命令におけるアテンションをうまく利用することを示し得る。本開示のベースラインアプローチおよびナビゲーションエージェント200の両方は、一貫して、ナビゲーションの開始での命令の最初の部分にフォーカスすることができた。しかしながら、エージェントがさらに未知の環境において移動するにつれて、自己意識的エージェント200は、依然として、行動選択のために潜在的に有用である命令の部分をうまく識別することができ、一方で、ベースラインアプローチは、動作を選択するために命令のどの部分が使用されるべきかに関して不確かになる。
【００５２】
アブレーション研究（Ablation  Study）
図6は、アブレーション研究のための一つの例示的な表を示している。特に、この表は、ナビゲーションエージェント200の各コンポーネント−共グラウンディング、進捗モニタリング、およびデータ補強−の効果を、既存のアプローチと比較して示している。全ての方法は、パノラマ動作空間を使用している。パノラマ動作空間を用いたモデル(Friedら著、2018において提案されたもの)をベースラインとして実装されている。
【００５３】
共グラウンディング（Co-grounding）  ベースラインアプローチを、ナビゲーションエージェント200の行１番（row#1）および本開示の方法と比較すると、共グラウンディングエージェント200は、大差をつけてベースラインより性能が優れていることが分かる。これは、ナビゲーションエージェント200は、テキスト的および視覚的グラウンディングされたコンテンツの両方を搬送するためにLSTMを使用し、そして、各ナビゲーション可能な方向に関する決定が、テキスト的グラウンディングされた命令およびLSTMの隠れ状態出力の両方によって予測されるという事実によるものである。他方では、ベースラインエージェントは、視覚的グラウンディングされたコンテンツを搬送するためにLSTMに依存し、そして、テキスト的グラウンディングされた命令を予測するために隠れ状態出力を使用する。その結果として、ナビゲーション可能な方向を選択するために必要とされる命令を予測する代わりに、テキスト的グラウンディングされた命令がLSTMの中に暗黙にうちに保存された観測画像の過去のシーケンスと一致し得ること、が観察される。
【００５４】
進捗モニタリング（Progress  monitor）  進捗モニタリングの出力は、状態係数ビーム探索（state-factored  beam  search）(Friedら著、2018)と統合され、そうして、候補経路は、所定のナビゲーション可能な方向を選択する確率に基づくだけでなく、また、過去の軌道と命令との間の推定される対応にも基づいて競合する。図6の表における行１番を行２番と比較することによって分かるように、進捗モニタリングは、見える環境および見えない環境の両方において成功率を著しく改善し、そして、データ補強がなくてさえも、最先端を超えるための鍵（key）である。
【００５５】
データ補強（data  augmentation）  上記では、本開示のアプローチにおける各行が性能に貢献することが示されている。これら各々は、成功率を増加し、そして、ナビゲーション誤差を徐々に低減する。さらに、スピーカからの予め訓練されたデータ補強と組み合わせることによって(Friedら著、2018)、SRおよびOSRが、さらに増加され、そして、NEも、また劇的に低減される。興味深いことに、データ補強によってもたらされる性能改善は、バリデーションセットのスピーカ・フォロワー（Speaker-follower）よりも小さい(比較については図5の表を参照のこと)。このことは、本開示のナビゲーションエージェントおよび方法が、よりデータ効率的であることを示している。
【００５６】
定性的結果（Qualitative  Results）
本開示のエージェントおよび方法をさらに検証するために、図7に示されるように、エージェント200が、命令に従うことによって、見えない環境を通じてどのようにナビゲーションするかが定性的に示されている。各図において、自己意識的エージェント200は、グラウンディングされた命令(図の上部)に従い、そして、所定の方向(矢印)に向かって移動するように決定する。
【００５７】
図7における左側の軌道を考えてみると、ステップ3において、グラウンディングされた命令は、エージェント200がちょうど「右に曲がる（“turn  right”）」を完了し、そして、主に「真っ直ぐ寝室に向かって歩く（“walk  straight  to  bedroom”）」ことにフォーカスしていることを示している。エージェント200が、寝室に進入すると、テキスト的グラウンディングを次の動作「左に曲がり、ベッドランプに向かって歩く（“turn  left  and  walk  to  bed  lamp”）」へシフトする。最終的に、ステップ6において、エージェント200は、もう１つの「左に曲がる（“turn  left”）」を完了し、そして、成功裡にラグで停止している。右側の例を考えてみると、エージェント200は、すでに廊下に進入しており、そして、今から、別の部屋へ向かって歩くように右に曲がる。しかしながら、命令がどの部屋を指しているかはあいまいである。ステップ5において、ナビゲーションエージェント200は、左側における部屋を最初にチェックアウトし、そして、それが「ラグの前の戸口に停止する（“stop  in  doorway  in  front  of  rug”）」と一致しないことに気付いている。エージェントは、次いで、次の部屋に移動し、そして、ゴールでうまく停止する。
【００５８】
図7に示される両方の場合において、エージェント200が着実にゴールに向かってナビゲーションするにつれて、進捗モニタリングによって推定される完全性が徐々に増加することが分かる。
【００５９】
このように、移動自動化システムをナビゲーションするための自己意識的エージェントが、ここにおいて開示されている。いくつかの実施形態に従って、ナビゲーションエージェントは、２つの相補的なモジュールを含んでいる。視覚的−テキスト的な共グラウンディングモジュール、および、進捗モニタリングモジュールである。視覚的−テキスト的な共グラウンディングモジュールは、過去に完了したナビゲーション命令、次の動作において必要とされるナビゲーション命令、および、周囲画像からの移動方向を、識別または決定する。進捗モニタリングモジュールは、グラウンディングされた命令を正しく正規化し、そして、確実にする。もしくは、命令追従の完全性を明示的に推定することによって、ゴールに向かって進捗を正確に反映する。この推定は、グラウンディングされた命令の位置および重み付けに基づいて条件付けられる。実験は、このアプローチが、見える環境および見えない環境の両方において、標準的なルームツールーム・データセットの新たな最先端の性能を設定することを示した。
【００６０】
発明の態様、実施形態、実装、または適用を説明する、この明細書および添付の図面は、限定的なものとして解釈されるべきではない。種々の機械的、組成的、構造的、電気的、および動作上の変更は、この明細書および特許請求の範囲の精神および範囲から逸脱することなく行うことができる。いくつかの例では、本開示の実施形態を不明瞭にしないように、周知の回路、構造、または技術は、詳細に示されていないか、または説明されていない。２つ以上の図における同じ数字は、同一または類似の要素を表している。
【００６１】
この明細書では、本開示と一貫したいくつかの実施形態を説明する特定的な詳細が明らかにされている。実施形態の完全な理解を提供するために、多数の具体的な詳細が明らかにされている。当業者にはとっては、しかしながら、いくつかの実施形態は、これらの特定的な詳細の一部または全部がなしに実施され得ることが明らかだろう。ここにおいて開示される特定的な実施形態は、例示的であるが、限定的ではないことを意味する。当業者であれば、ここにおいて具体的に記載されてはいないが、本開示の範囲および精神内にある他の要素を認識することができる。加えて、不必要な繰り返しを避けるために、１つの実施形態に関連して示され、かつ、説明された１つ以上の特徴は、そうでないものと特に説明されてないか、または、１つ以上の特徴が実施形態を非機能的にしない場合に、他の実施形態の中へ組み込むことができる。
【００６２】
例示的な実施形態が示され、かつ、説明されてきたが、広い範囲の修正、変更および置換が、前述の開示において考慮されており、そして、いくつかの例において、実施形態のいくつかの特徴は、他の特徴の対応する使用なしに使用され得る。当業者であれば、多くの変形、代替、および修正を認識するだろう。従って、本発明の範囲は、以降の特許請求の範囲によってのみ限定されるべきであり、そして、特許請求の範囲は、広く、かつ、ここにおいて開示された実施形態の範囲と一貫性のある方法で、解釈されることが適切である。
【図１】
2022500725.tif 000009
【図２】
2022500725.tif 000010
【図３】
2022500725.tif 000011
【図４】
2022500725.tif 000012
【図５】
2022500725.tif 000013
【図６】
2022500725.tif 000014
【図７】
2022500725.tif 000015
【手続補正書】
【提出日】令和3年3月24日(2021.3.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティングデバイスであって、
マシンで実行可能なコードを保管している、マシンで読取り可能な媒体を含むメモリと、
前記メモリに結合され、かつ、前記マシンで実行可能なコードを実行するように構成されている、１つ以上のプロセッサと、を含み、
前記マシンで実行可能なコードは、前記１つ以上のプロセッサに、
移動自動化システムが配置されている環境をナビゲーションするように、前記移動自動化システムに命令するためのナビゲーション命令を受信し、
前記環境について視覚的情報を受信し、前記視覚的情報は、前記移動自動化システムがナビゲーションされる際に前記環境について観察される１つ以上の画像を含んでおり、
前記ナビゲーション命令に少なくとも部分的に基づいて、命令グラウンディングを生成し、前記命令グラウンディングは、前記移動自動化システムによって前記ナビゲーション命令のどの部分が完了したか、および、前記ナビゲーションのどの部分が未解決であるかを識別しており、
前記視覚的情報に少なくとも部分的に基づいて、視覚的グラウンディングを生成し、前記視覚的グラウンディングは、前記移動自動化システムが進行すべき方向を識別しており、かつ、
前記命令グラウンディングおよび前記視覚的グラウンディングを使用して、前記環境のナビゲーションのために、前記移動自動化システムが実行する動作を生成する、
ようにさせる、
コンピューティングデバイス。
【請求項２】
前記マシンで実行可能なコードは、さらに、前記１つ以上のプロセッサに、
前記命令グラウンディングが前記ナビゲーションの進捗を正確に反映することを確実にするように、前記自動化システムのナビゲーションの進捗をモニタリングする、
ようにさせる、
請求項１に記載のコンピューティングデバイス。
【請求項３】
前記マシンで実行可能なコードは、前記１つ以上のプロセッサに、
前記命令グラウンディングおよび前記視覚的グラウンディングに基づいて、エンコーダコンテキストを生成し、かつ、
前記エンコーダコンテキストを使用して、前記移動自動化システムのための動作を生成する、
ようにさせる、
請求項１または２に記載のコンピューティングデバイス。
【請求項４】
前記マシンで実行可能なコードは、前記１つ以上のプロセッサに、
前記ナビゲーション命令における自然言語処理タスクを実行する、
ようにさせる、
請求項１乃至３いずれか一項に記載のコンピューティングデバイス。
【請求項５】
前記マシンで実行可能なコードは、前記１つ以上のプロセッサに、
前記命令グラウンディングに対して最も高い相関を有するナビゲーション可能な方向を識別する、
ようにさせる、
請求項１乃至４いずれか一項に記載のコンピューティングデバイス。
【請求項６】
前記マシンで実行可能なコードは、前記１つ以上のプロセッサに、
前記移動自動化システムがナビゲーションできる複数の方向を識別し、かつ、
識別されたナビゲーション可能な各方向について、それぞれの確率を生成する、
ようにさせる、
請求項１乃至５いずれか一項に記載のコンピューティングデバイス。
【請求項７】
移動自動化システムをナビゲーションするために方法であって、
１つ以上のプロセッサにおいて、前記移動自動化システムが配置されている環境をナビゲーションするように、前記移動自動化システムに命令するためのナビゲーション命令を受信するステップと、
前記１つ以上のプロセッサにおいて、前記環境について視覚的情報を受信するステップであり、前記視覚的情報は、前記移動自動化システムがナビゲーションされる際に前記環境について観察される１つ以上の画像を含んでいる、ステップと、
前記１つ以上のプロセッサにおいて、前記ナビゲーション命令に少なくとも部分的に基づいて、命令グラウンディングを生成するステップであり、前記命令グラウンディングは、前記移動自動化システムによって前記ナビゲーション命令のどの部分が完了したか、および、前記ナビゲーションのどの部分が未解決であるかを識別している、ステップと、
前記１つ以上のプロセッサにおいて、前記視覚的情報に少なくとも部分的に基づいて、視覚的グラウンディングを生成するステップであり、前記視覚的グラウンディングは、前記移動自動化システムが進行すべき方向を識別している、ステップと、
前記命令グラウンディングおよび前記視覚的グラウンディングを使用して、前記１つ以上のプロセッサにおいて、前記環境のナビゲーションのために、前記移動自動化システムが実行する動作を生成するステップと、
を含む、方法。
【請求項８】
前記方法は、
前記命令グラウンディングが前記ナビゲーションの進捗を正確に反映することを確実にするように、前記自動化システムのナビゲーションの進捗をモニタリングするステップ、
を含む、請求項７に記載の方法。
【請求項９】
動作を生成する前記ステップは、
前記命令グラウンディングおよび前記視覚的グラウンディングに基づいて、エンコーダコンテキストを生成するステップ、および、
前記エンコーダコンテキストを使用して、前記移動自動化システムのための動作を生成するステップ、
を含む、請求項７または８に記載の方法。
【請求項１０】
前記方法は、
前記ナビゲーション命令における自然言語処理タスクを実行するステップ、
を含む、請求項７乃至９いずれか一項に記載の方法。
【請求項１１】
動作を生成する前記ステップは、
前記命令グラウンディングに対して最も高い相関を有するナビゲーション可能な方向を識別するステップ、
を含む、請求項７乃至１０いずれか一項に記載の方法。
【請求項１２】
動作を生成する前記ステップは、
前記移動自動化システムがナビゲーションできる複数の方向を識別するステップ、および、
識別されたナビゲーション可能な各方向について、それぞれの確率を生成するステップ、
ようにさせる、
を含む、請求項７乃至１１いずれか一項に記載の方法。
【請求項１３】
実行可能なコードを含む、非一時的なマシンで読取り可能な媒体であって、
コンピューティングデバイスと関連付けされた１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、方法を実行させるように適合されており、前記方法は、
前記１つ以上のプロセッサにおいて、移動自動化システムが配置されている環境をナビゲーションするように、前記移動自動化システムに命令するためのナビゲーション命令を受信するステップと、
前記１つ以上のプロセッサにおいて、前記環境について視覚的情報を受信するステップであり、前記視覚的情報は、前記移動自動化システムがナビゲーションされる際に前記環境について観察される１つ以上の画像を含んでいる、ステップと、
前記１つ以上のプロセッサにおいて、前記ナビゲーション命令に少なくとも部分的に基づいて、命令グラウンディングを生成するステップであり、前記命令グラウンディングは、前記移動自動化システムによって前記ナビゲーション命令のどの部分が完了したか、および、前記ナビゲーションのどの部分が未解決であるかを識別している、ステップと、
前記１つ以上のプロセッサにおいて、前記視覚的情報に少なくとも部分的に基づいて、視覚的グラウンディングを生成するステップであり、前記視覚的グラウンディングは、前記移動自動化システムが進行すべき方向を識別している、ステップと、
前記命令グラウンディングおよび前記視覚的グラウンディングを使用して、前記１つ以上のプロセッサにおいて、前記環境のナビゲーションのために、前記移動自動化システムが実行する動作を生成するステップと、
を含む、非一時的なマシンで読取り可能な媒体。
【請求項１４】
前記実行可能なコードは、さらに、前記１つ以上のプロセッサに、
前記命令グラウンディングが前記ナビゲーションの進捗を正確に反映することを確実にするように、前記自動化システムのナビゲーションの進捗をモニタリングする、
ようにさせる、
請求項１３に記載の非一時的なマシンで読取り可能な媒体。
【請求項１５】
前記実行可能なコードは、前記１つ以上のプロセッサに、
前記命令グラウンディングおよび前記視覚的グラウンディングに基づいて、エンコーダコンテキストを生成し、かつ、
前記エンコーダコンテキストを使用して、前記移動自動化システムのための動作を生成する、
ようにさせる、
請求項１３または１４に記載の非一時的なマシンで読取り可能な媒体。
【国際調査報告】
2022500725.tif 000016
2022500725.tif 000017
2022500725.tif 000018