JP7021236B2 - 視覚入力を使用したエージェントナビゲーション - Google Patents

視覚入力を使用したエージェントナビゲーション Download PDF

Info

Publication number
JP7021236B2
JP7021236B2 JP2019543104A JP2019543104A JP7021236B2 JP 7021236 B2 JP7021236 B2 JP 7021236B2 JP 2019543104 A JP2019543104 A JP 2019543104A JP 2019543104 A JP2019543104 A JP 2019543104A JP 7021236 B2 JP7021236 B2 JP 7021236B2
Authority
JP
Japan
Prior art keywords
characterization
time step
environment
map
agent
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.)
Active
Application number
JP2019543104A
Other languages
English (en)
Other versions
JP2020507857A (ja
Inventor
ラーフル・スクタンカール
サウラブ・グプタ
ジェームズ・クリストファー・デヴィッドソン
セルゲイ・ヴラディミール・レヴィン
ジテンドラ・マリク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2020507857A publication Critical patent/JP2020507857A/ja
Application granted granted Critical
Publication of JP7021236B2 publication Critical patent/JP7021236B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive 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/027Adaptive 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3878Hierarchical structures, e.g. layering
    • G06T3/18
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Description

本明細書は、環境内のエージェントナビゲーションに関する。
視覚入力を使用して、環境内で、たとえばロボットなどのエージェントをナビゲートすることは、環境に関する情報を抽出するために視覚入力を処理し、環境に関する抽出された情報が与えられると適切なアクションを選択することを必要とする。いくつかのシステムは、ニューラルネットワークを使用して、エージェントによって実行されるべきアクションを選択する。
ニューラルネットワークは、非線形ユニットの1つまたは複数の層を使用して、受信された入力の出力を予測する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて、1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれのセットの現在の値に従って、受信された入力から出力を生成する。
いくつかのニューラルネットワークは、リカレントニューラルネットワークである。リカレントニューラルネットワークは、入力シーケンスを受信し、その入力シーケンスから出力シーケンスを生成するニューラルネットワークである。特に、リカレントニューラルネットワークは、現在の時間ステップで出力を計算する際に、先行する時間ステップからのネットワークの内部状態の一部または全部を使用することができる。リカレントニューラルネットワークの一例は、1つまたは複数の長短期(LSTM)メモリブロックを含むLSTMニューラルネットワークである。各LSTMメモリブロックは、たとえば、現在のアクティブ化を生成する際に使用するために、またはLSTMニューラルネットワークの他の構成要素に提供されるように、セルがセルの以前の状態を記憶することを可能にする入力ゲート、忘却ゲート、および出力ゲートを各々含む1つまたは複数のセルを含むことができる。
A. Tamar, S. Levine, and P. Abbeel. Value iteration networks. In NIPS, 2016
本明細書は、一般に、環境内をナビゲートするエージェントを制御する、すなわち、エージェントによって実行されるべきアクションを選択し、次いで、選択されたアクションをエージェントに実行させるナビゲーションシステムを記述する。
記述された主題の発明的一態様では、1つまたは複数のコンピュータと1つまたは複数の記憶デバイスとを備えるシステムは、実行されると、1つまたは複数のコンピュータにマッピングサブシステムを実装させる命令を記憶し、マッピングサブシステムは、複数の時間ステップの各時間ステップにおいて、環境の特徴付けをその時間ステップにおける環境の画像から生成するように構成され、特徴付けは、特定の特徴を有する環境内の場所を識別する環境マップを含み、特徴付けを生成することは、時間ステップごとに、その時間ステップにおける環境の画像を取得することと、その時間ステップについての環境の第1の初期特徴付けを生成するために画像を処理することと、その時間ステップに先立つ先行する時間ステップについての環境の最終的な特徴付けを取得することと、その時間ステップについての環境の第2の初期特徴付けを生成するために、先行する時間ステップについての環境の特徴付けを処理することと、第1の初期特徴付けと第2の初期特徴付けとを結合して、その時間ステップについての環境の最終的な特徴付けを生成することとを含む。
いくつかの実装形態では、第1の初期特徴付けを生成するために画像を処理することは、第1の初期特徴付けを生成するために、ニューラルネットワークを使用して画像を処理することを含む。
いくつかの実装形態では、画像は、環境内を移動するエージェントによってキャプチャされた画像であり、その時間ステップについての環境の第2の初期特徴付けを生成するために、先行する時間ステップについての環境の最終的な特徴付けを処理することは、先行する時間ステップとその時間ステップとの間のエージェントの動きの尺度を取得することと、第2の初期特徴付けを生成するために、先行する時間ステップについての環境の最終的な特徴付けおよび動きの尺度にワーピング関数を適用することとを含む。
いくつかの実装形態では、ワーピング関数は、双線形サンプリングを使用して補間を実行する関数である。
いくつかの実装形態では、画像は、環境内を移動するエージェントによってキャプチャされ、画像は、エージェントの自己中心的視点からのものであり、第1の初期特徴付け、第2の初期特徴付け、先行する時間ステップについての最終的な特徴付け、およびその時間ステップについての最終的な特徴付けは、トップダウンの視点からのものである。
いくつかの実装形態では、第1の初期特徴付けと第2の初期特徴付けとを結合して、その時間ステップについての最終的な特徴付けを生成することは、第1の初期特徴付けおよび第2の初期特徴付けに更新関数を適用して、最終的な特徴付けを生成することを含む。
いくつかの実装形態では、各特徴付けは、(i)環境内の複数の場所が特定の特徴を有するかどうかを表すスコアのセット、および(ii)スコアのセットにおける信頼の尺度のセットを含み、更新関数は、以下の式の演算を実行することを含む。
Figure 0007021236000001
=Ct-1+C
ただし、fは、時間ステップについての最終的な特徴付けに対するスコアのセットであり、cは、時間ステップについての最終的な特徴付けに対するスコアのセットにおける信頼の尺度のセットであり、f’は、第1の初期特徴付けに対するスコアのセットであり、c’は、第1の初期特徴付けに対するスコアのセットにおける信頼の尺度のセットであり、ft-1は、第2の初期特徴付けに対するスコアのセットであり、ct-1は、第2の初期特徴付けに対するスコアのセットにおける信頼の尺度のセットである。
いくつかの実装形態では、更新関数は、リカレントニューラルネットワークによって実行され、リカレントニューラルネットワークは、複数の時間ステップの時間ステップごとに、その時間ステップについての第1の初期特徴付けおよび第2の初期特徴付けを処理して、その時間ステップについての最終的な特徴付けを生成するように構成される。
いくつかの実装形態では、時間ステップについての環境マップは、環境内の複数の場所の各々について、その場所が特定の特徴を有するかどうかを表すスコアを含み、特徴付けは、場所ごとに、場所についてのスコアにおける信頼の尺度をさらに含む。
いくつかの実装形態では、システムは、複数の時間ステップの各々について、マッピングサブシステムから時間ステップについての最終的な特徴付けを取得することと、時間ステップにおいて環境と対話するエージェントによって実行されるべき提案されたアクションを選択するために、最終的な特徴付けを処理することとをさらに含む。
別の発明的態様では、システムは、計画サブシステムを含み、計画サブシステムは、複数の時間ステップの時間ステップごとに、その時間ステップについての目標を達成するためにアクションを実行するエージェントの環境の最終的な特徴付けを取得し、エージェントの環境の最終的な特徴付けは、特定の特徴を有する環境内の場所を識別する環境マップを含み、最終的な特徴付けから空間的にスケーリングされた環境マップのシーケンスを生成し、シーケンス内の各空間的にスケーリングされた環境マップは、シーケンス内の任意の後続の空間的にスケーリングされた環境マップに対してダウンサンプリングされ、最もダウンサンプリングされた空間的にスケーリングされた環境マップから始まる、シーケンス内の空間的にスケーリングされた環境マップごとに、シーケンス内の空間的にスケーリングされた環境マップについての1つまたは複数の値マップを生成するために、空間的にスケーリングされた環境マップおよび空間的にスケーリングされた環境マップに関連付けられた1つまたは複数の入力を処理し、値マップは、空間的にスケーリングされた環境マップ内の複数の領域の領域ごとに、目標を達成するためにその領域内にいるエージェントの値の評価を含み、最後の空間的にスケーリングされた環境マップ以外のシーケンス内の空間的にスケーリングされた環境マップごとに、シーケンス内の後続の空間的にスケーリングされた環境マップに関連付けられた入力として、空間的にスケーリングされた環境マップについての1つまたは複数の更新された値マップを提供し、シーケンス内の最後の空間的にスケーリングされた環境マップについての更新された値マップに基づいて、提案されたアクションを選択するように構成される。
いくつかの実装形態では、シーケンス内の各空間的にスケーリングされた環境マップに関連付けられた入力は、エージェントの目標を識別するデータを含む。
いくつかの実装形態では、目標は、エージェントが到達しようと試みる環境内の場所である。
いくつかの実装形態では、目標は、エージェントが見つけようと試みる環境内のオブジェクトである。
いくつかの実装形態では、最もダウンサンプリングされた空間的にスケーリングされた環境マップへの入力は、その時間ステップについての最終的な特徴付けを含む。
いくつかの実装形態では、空間的にスケーリングされた環境マップについての1つまたは複数の値マップを生成するために、空間的にスケーリングされた環境マップに関連付けられた入力を処理することは、空間的にスケーリングされた環境マップについての1つまたは複数の初期値マップを生成するために、空間的にスケーリングされた環境マップに関連付けられた入力を処理することと、空間的にスケーリングされた環境マップについての1つまたは複数の値マップを生成するために、空間的にスケーリングされた環境マップについての1つまたは複数の初期値マップに対して1つまたは複数の値反復(value iteration)を実行することとを含む。
いくつかの実装形態では、シーケンス内の最後の空間的にスケーリングされた環境マップについての値マップに基づいて、提案されたアクションを選択することは、シーケンス内の最後の空間的にスケーリングされた環境マップについての更新された値マップから、値の最高の評価を有する更新された値マップの特定の領域を決定することと、その時間ステップについての提案されたアクションとして、特定の領域にエージェントを連れて行くアクションを選択することとを含む。
いくつかの実装形態では、シーケンス内の最後の空間的にスケーリングされた環境マップについての値マップに基づいて、提案されたアクションを選択することは、提案されたアクションを選択するために1つまたは複数の修正された線形ユニットを含むニューラルネットワークを介して値マップを処理することを含む。
本明細書に記載される主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装することができる。
マッピングサブシステムおよび計画サブシステムを含む環境内でエージェントをナビゲートするためのシステムは、エンドツーエンドでトレーニングすることができ、それによって、トレーニングされた後のそのようなシステムの効率および精度を高めることができる。すなわち、マッパおよびプランナーによって実行される動作は完全に微分可能であるため、マッパは、プランナーからの誤差を逆伝搬することによってトレーニングできる。たとえば、計画サブシステムは、マッピングサブシステムがより良い環境マップを生成する方法を学習している間に、マッピングサブシステムによって生成された環境マップの使用方法を学習することができる。環境マップを空間的にスケーリングして、よりダウンサンプリングされた空間的にスケーリングされた環境マップの値反復精度を最小化しながら、高精度のアクション計画を依然として生成することによって、エージェントのアクションの計画は、より計算効率的にすることができる。
本明細書に記載の主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
例示的なナビゲーションシステムを示す図である。 微分可能マッパの例示的なアーキテクチャを示す図である。 微分可能階層プランナーの例示的なアーキテクチャを示す図である。 所与の時間ステップにおいて画像を処理するための例示的なプロセスのフロー図である。
様々な図面における同様の参照番号および名称は、同様の要素を示す。
図1は、例示的なナビゲーションシステム100を示す。ナビゲーションシステム100は、以下に説明するシステム、構成要素、および技法を実装することができる1つまたは複数の場所にある1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例である。
ナビゲーションシステム100は、環境の画像を受信し、受信された画像に応答してエージェントによって実行されるべきアクションを選択することによって、エージェントが環境内を移動するときにエージェントを制御する。
一般に、環境は、現実世界環境であり、エージェントは、目標を達成するために現実世界環境と対話する機械エージェントである。たとえば、エージェントは、特定の目標を達成するために、たとえば環境内の特定の場所に移動するために、または環境内の特定のオブジェクトを見つけるために、環境と対話するロボットとすることができる。別の例として、エージェントは、目標を達成するために環境内をナビゲートする、すなわち特定の場所にナビゲートする自律型または半自律型車両でもよい。
特に、ナビゲーションシステム100は、環境の画像を繰り返し受信し、各画像に応答して、可能なアクションのセットからエージェントによって実行されるべきアクションを選択し、エージェントに、選択されたアクションを実行させる。画像を受信し、次いで、画像に応答してアクションを実行することの各反復は、本明細書では時間ステップと呼ばれる。このようにしてアクションを繰り返し選択することによって、システム100は、エージェントに目標を達成させる。
一般に、受信された画像は、エージェントが環境内を移動するにつれてエージェントによってキャプチャされた画像、すなわち、カメラまたはエージェントの他のセンサーによってキャプチャされた画像である。したがって、画像は、エージェントに対する環境の1人称画像である。
たとえば、所与の時間ステップにおいて、システム100は、環境の画像102と、先行する時間ステップに対するエージェントのエゴモーション104を識別するデータとを受信する。エゴモーション104は、先行する時間ステップとその時間ステップとの間のエージェントの動きの尺度、すなわち、エージェントの場所が先行する時間ステップに対してどの程度変化したかを示す尺度である。
次いで、システム100は、画像102、エゴモーション104、およびエージェントが到達しようとしている目標122を識別するデータを使用して、その時間ステップについてのアクション132を選択し、すなわち、アクション132に対応する特定の制御入力を提出するようエージェントの制御システムに命令することによって、エージェントにアクション132を実行させる。すなわち、アクションは、エージェントに環境内を移動させるエージェントへの制御入力である。
特に、システム100は、微分可能マッパ110と微分可能階層プランナー120とを含む。
以下の説明からわかるように、マッパ110およびプランナー120は、所与の画像に応答してアクションを選択する間にこれらのサブシステムの各々によって実行される動作が完全に微分可能であるので、「微分可能」と呼ばれる。これによって、システム100は、マッパ110とプランナー120とをエンドツーエンドでトレーニングすることができ、トレーニングされたシステムの性能が向上する。マッパ110およびプランナー120のトレーニングについては、図4を参照しながら以下でより詳細に説明する。
各時間ステップにおいて、マッパ110は、その時間ステップについての画像102およびエゴモーション104を受信し、環境の特徴付け112を生成する。
特徴付け112は、一般に、確信度データ(belief data)および信頼度データ(confidence data)を含む。
確信度データは、プランナー120にとって有用となるであろう何らかの特徴を有する環境内の場所を識別する環境のマップである。特に、マッパ110がトレーニングされる方法のために、特定の特徴は所定のものではなく学習される。すなわち、マッパはプランナー120からの誤差を逆伝搬することによってトレーニングされるので、マップは、環境の潜在的表現になる。以下で説明するように、マップは、学習されたプランナー120に直接供給されるので、マップは、環境の所定の特徴を符号化する必要はなく、代わりに、プランナー120によって使用される一般的な空間メモリとし、すなわち、環境内の様々な場所のいくつかの特徴を符号化するメモリとして機能することができる。
より具体的には、マップは、環境のトップダウンビューからのものであり、トップダウンビュー内の複数の場所の各々について、その場所が特定の特徴を有する可能性がどの程度高いかを示すそれぞれのスコアを含む。
信頼度データは、確信度データが正確であることにマッパ110がどの程度自信を持っているかを識別するデータである。たとえば、信頼度データは、マップ内の場所の各々について、マッパ110がその場所についてどの程度自信を持っているかを表す信頼度スコアを含むことができる。
マッパ110および特徴付けを生成することについては、図2を参照しながら以下でより詳細に説明する。
プランナー120は、特徴付け112を受信し、エージェントが特徴付け112に基づいて目標122を達成するために、エージェントによって実行されるべきアクション132を選択する。一般に、プランナー120は、エージェントによって実行されるべきアクションを選択するために、特徴付け112を使用して複数のスケールで値反復を実行する。プランナー120、および特徴付けに基づいてアクションを選択することについては、図3を参照しながら以下でより詳細に説明する。
システム100は、次いで、エージェントに、選択されたアクション132を実行させる。一般に、選択されたアクション132は、エージェントについての制御入力であり、システムは、制御入力を直接エージェントに提出することによって、またはそれに応じてエージェントに指示するようにエージェントの制御システムに指示することによって、エージェントに選択されたアクション132を実行させる。
図2は、微分可能プランナー110の例示的なアーキテクチャを示す。
所与の時間ステップについての最終的な特徴付け112を生成するために、プランナー110は、時間ステップについての2つの初期特徴付けを生成するために、画像102およびエゴモーション104を処理する。最終的な特徴付けと同様に、2つの初期特徴付けには各々、確信度データと信頼度データの両方を含むが、最終的な特徴付けとはスコアおよび信頼度が異なる可能性がある。次いで、プランナー110は、2つの初期特徴付けを結合して、最終的な特徴付け112を生成する。
特に、プランナーは、時間ステップについての環境の第1の初期特徴付け222を生成するために、ニューラルネットワーク220を使用して画像102を処理する。図2からわかるように、ニューラルネットワーク220は、残差接続を使用し、2次元(2D)画像空間内の画像102内のシーンの表現を生成する畳み込みエンコーダを含む。この表現は、完全に接続されたレイヤを介して、自己中心的な2Dトップダウン図内にあるものに変換される。このトップダウンビュー表現は、第1の初期特徴付けを取得するために、アップコンボリューションレイヤ(および残差接続も)を使用してアップサンプリングされる。
プランナー110はまた、時間ステップについての第2の初期特徴付け212を生成するために、エゴモーション104を使用して、先行する時間ステップからの最終的な特徴付け202を処理する。
より具体的には、プランナー110は、先行する時間ステップおよびエゴモーション104からの最終的な特徴付け202に微分可能ワーピング関数212を適用して第2の初期特徴付け212を生成する。ワーピング関数は、最終的な特徴付け202を先行する時間ステップから微分可能な方法でワープする任意の関数とすることができる。
たとえば、ワーピング関数は、双線形サンプリングを使用して実現される関数であり得る。特に、エゴモーションが与えられると、システムは、第2の初期特徴付け212内の各ピクセルを、それが由来する最終的な特徴付け202内の場所にマッピングする逆方向の流れ場を計算することができる。この逆方向の流れは、エゴモーションから分析的に計算することができる。次いで、関数は、双線形サンプリングを使用してこの流れ場を最終的な特徴付け評価202に適用して第2の初期特徴付け212を生成することができる。
次いで、プランナー110は、第1の初期特徴付け222と第2の初期特徴付け212とを結合して、その時間ステップについての環境の最終的な特徴付け112を生成する。
より具体的には、プランナー110は、結合関数230を適用して、第1の初期特徴付け222と第2の特徴付け212とを結合して、時間ステップについての最終的な特徴付け112を生成する。
いくつかの実装形態では、結合関数230は、解析関数である。特に、更新関数は、次のように表すことができる。
Figure 0007021236000002
=Ct-1+C
ここで、fは、時間ステップについての最終的な特徴付けの確信度データにおけるスコアのセット、cは、時間ステップについての最終的な特徴付けの信頼度データにおける信頼の尺度のセット、f’は、第1の初期特徴付けについてのスコアのセット、c’は、第1の初期特徴付けにおける信頼の尺度のセット、fは、第2の初期特徴付けについてのスコアのセット、ct-1は、第2の初期特徴付けについてのスコアのセットにおける信頼の尺度のセットである。
いくつかの他の実装形態では、結合関数230は、ニューラルネットワーク、たとえば、長短期記憶(LSTM)ニューラルネットワークのようなリカレントニューラルネットワークによって実現される。
この説明からわかるように、画像102、エゴモーション104、および最終的な特徴付け202に対してプランナー110によって実行される各動作は、微分可能演算、すなわちニューラルネットワーク演算または微分可能解析関数のいずれかである。
プランナー110が最終的な特徴付け112を生成すると、プランナー110は、その時間ステップにおけるアクションを選択する際に使用するために、最終的な特徴付け112をマッパ120に提供する。
図3は、微分可能階層プランナー120の例示的なアーキテクチャを示す。
一般に、階層プランナー120は、複数の空間スケールで計画する。特に、階層プランナー120は、複数の空間スケールの各々についてそれぞれの値サブシステム310A~Nを含む。この例では値サブシステム310Mおよび310Nのみが示されているが、プランナー120は、一般に、3つ以上の値サブシステムを含む。
サブシステム310A~Nの第1の値サブシステム310Aは、k倍の空間的にダウンサンプリングされたマップに対応し、最後の値サブシステム310Nは、元の解像度、すなわちマッパ110から受信されたマップの解像度に対応する。
各値サブシステムは、対応する空間スケールである1つまたは複数の値マップを生成するために、対応する空間スケールでl回の値反復を実行する。値マップは、空間スケールに対応する空間的にスケーリングされた環境マップ内の複数の領域の領域ごとに、目標を達成するために領域内にいるエージェントの値の評価、すなわち、エージェントが対応する地域にいることが目標を達成するためにどの程度価値があるかの評価を含む。
次いで、プランナー120は、1つまたは複数の値マップをセンタークロップおよびアップサンプリングし、すなわち、センタークロップおよびアップサンプリングされた出力を、次の値サブシステムへの入力として提供することによって、より細かいスケールで値反復を行うために、センタークロップおよびアップサンプリングされた出力を使用する。プランナー120は、元の問題の解決に達するために、このプロセスを複数回、すなわち値サブシステムごとに1回反復する。
最後の値サブシステム310Nがマッパ110から受信された環境マップと同じスケールの1つまたは複数の値マップを生成すると、プランナー120は、これらの値マップを使用してエージェント132によって実行されるべきアクションを選択する。図3の例では、プランナー120は、修正された線形ユニットアクティブ化関数を有する完全に接続された層のセットを使用してこれらの値マップを処理して、エージェントによって実行されるべき可能なアクションにわたるスコア分布を生成し、次いで、スコア分布からアクション132を選択する。他の例では、プランナー120は、最新の値マップから、エージェントの現在位置から到達可能であり、かつ値の最も高い評価を有する更新された値マップの特定の領域を決定し、次いで、時間ステップについての提案されたアクション132として、エージェントを特定の領域に連れて行くアクションを選択することができる。
より具体的には、プランナー120は、時間ステップについての最終的な特徴付け112を受信し、最終的な特徴付けから空間的にスケーリングされた環境マップのシーケンスを生成し、シーケンス内の各空間的にスケーリングされた環境マップは、シーケンス内の任意の後続の空間的にスケーリングされた環境マップに対してダウンサンプリングされ、値サブシステム310A~Nのうちの異なる1つに対応する。
所与の空間スケールについて、そのスケールの値サブシステムは、(i)対応するスケールの空間的にスケーリングされた環境マップ、および(ii)空間的にスケーリングされた環境マップに関連付けられた1つまたは複数の入力を処理して、空間的にスケーリングされた環境マップについての1つまたは複数の値マップを生成する。
空間的にスケーリングされた環境マップに関連付けられた入力は、一般に、シーケンス内の前の空間的なスケールについての1つまたは複数の値マップおよびエージェントの目標を識別するデータを含む。すなわち、シーケンス内の最後の値サブシステム以外の各値サブシステムは、値サブシステムによって生成された1つまたは複数の値マップを、シーケンス内の後続の空間的にスケーリングされた環境マップに関連付けられた入力として、すなわち、シーケンス内の次の値サブシステムへの入力として提供する。シーケンス内の第1の値サブシステム、すなわち、最もダウンサンプリングされた値サブシステムの場合、値マップは、1つまたは複数の所定の初期値マップとすることができる。
目標が場所の場合、所与の値サブシステムに入力される目標を識別するデータは、サブシステムと同じスケールのマップとすることができる。したがって、細かいスケールの場合、エージェントが目標から遠く離れているとき、対応するサブシステムへの入力として提供されるデータに目標が見えないことがある。
各値サブシステムは、フューザー320および値反復モジュール330を含む。
フューザー320は、(i)対応するスケールの空間的にスケーリングされた環境マップと、(ii)空間的にスケーリングされた環境マップに関連付けられた1つまたは複数の入力とを結合して、空間的にスケーリングされた環境マップと同じスケールの1つまたは複数の値マップを含む値反復入力を生成する。特に、フューザー320は、前の値サブシステムからの1つまたは複数の値マップをセンタークロップおよびアップサンプリングし、目標データ、空間的にスケーリングされた環境マップ、およびクロップおよびアップサンプリングされた値マップを深さ連結して、値反復入力を生成する。
次いで、値反復モジュール330は、値反復ニューラルネットワークを使用して、値反復入力、すなわち1つまたは複数の初期値マップに対してl回の値反復を実行して、空間的にスケーリングされた環境マップについての1つまたは複数の値マップを生成する。値反復は、ダイクストラのアルゴリズムの一般化と考えることができ、ここで、各状態の値は、隣接する値とそれらの隣接する状態への遷移の報酬を超える最大値をとることによって、各反復で繰り返し再計算される。値反復を実行する値反復ニューラルネットワークは、交互の畳み込みとチャネルごとの最大プーリング操作とを含むニューラルネットワークであり、プランナー120がその入力について微分されることを可能にする。値反復および値反復ニューラルネットワークは、A. Tamar, S. Levine, and P. Abbeel. Value iteration networks. In NIPS, 2016にさらに詳細に記載されている。
図4は、所与の時間ステップにおいて画像を処理するための例示的なプロセス400のフロー図である。便宜上、プロセス400は、1つまたは複数の場所に位置する1つまたは複数のコンピュータのシステムによって実行されるものとして説明する。たとえば、適切にプログラムされた、たとえば図1のナビゲーションシステム100などのナビゲーションシステムは、プロセス400を実行することができる。
システムは、環境の画像、すなわち、エージェントが環境内を移動している間にエージェントのセンサーによってキャプチャされた画像を取得する(ステップ402)。システムはまた、先行する時間ステップからのエージェントのエゴモーションを識別するデータを受信する。
システムは、画像およびエゴモーションから環境の特徴付けを生成する(ステップ404)。特徴付けは、確信度データおよび信頼度データを含む。すなわち、特徴付けは、マップ内の各場所にスコアを有する環境のトップダウンマップ、およびスコアについての信頼の尺度を含む。
システムは、エージェントによって実行されるべき提案されたアクションを選択する(ステップ406)。特に、システムは、エージェントの目標を識別するデータおよび環境の特徴付けを使用して複数の空間スケールで値反復を実行して、1つまたは複数の最終的な値マップを生成する。次いでシステムは、1つまたは複数の最終的な値マップを使用して、エージェントによって実行されるべき提案されたアクションを選択する。
プロセス400がプランナーおよびマッパのトレーニング中に実行されている場合、システムは、最適なアクション、すなわちエージェントによって実行されるべきであるアクションを取得する(ステップ408)。
システムは、選択されたアクションと最適なアクションとの間の誤差の尺度の勾配を決定する(ステップ410)。
システムは、マッパおよびプランナーのパラメータに対する更新を決定するために、プランナーおよびマッパを介して勾配を逆伝搬する(ステップ412)。したがって、システムは、マッパおよびプランナーをエンドツーエンドでトレーニングする、すなわち、トレーニング中に提案されたアクションの誤差は、プランナーのパラメータだけでなくマッパのパラメータも更新する。特に、いくつかの実装形態では、提案されたアクションの誤差は、マッパのパラメータを調整するために使用される唯一のフィードバックであり、したがって、マッパは、任意の追加の監視を必要とせず、正しいアクションを選択する際にプランナーにとって有用なマップを生成することを学習する。特に、マッパによって生成された確信度データ内の特定の特徴が何であるべきかを指定する外部ラベルはなく、マッパは、プランナーにとって有用な特徴を学習することができる。
プロセス400がトレーニング後に実行されている場合、システムは、エージェントに、提案されたアクションを実行させることができる。プロセス400がトレーニング中に実行されている場合、システムは、環境内を移動するエージェントに、提案されたアクションを確率pで実行させ、最適なアクションを確率1-pで実行させることができる。これによって、エージェントは、環境を探索し、潜在的に、目標を達成する際の性能の向上につながるアクションを発見することができる。いくつかの場合には、システムは、エージェントの動作中にpを増加させて、最適なアクションを選択する確率を高める。
本明細書は、システムおよびコンピュータプログラム構成要素に関して「構成された」という用語を使用する。1つまたは複数のコンピュータのシステムが特定の動作またはアクションを実行するように構成されるとは、システムが、動作中、システムに動作またはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしていることを意味する。1つまたは複数のコンピュータプログラムが特定の動作またはアクションを実行するように構成されるとは、1つまたは複数のプログラムが、データ処理装置によって実行されると、装置に動作またはアクションを実行させる命令を含むことを意味する。
本明細書に記載された主題および機能的動作の実施形態は、デジタル電子回路、有形に具現化されたコンピュータソフトウェアまたはファームウェア、本明細書に開示される構造およびそれらの構造的均等物を含むコンピュータハードウェア、またはそれらの1つもしくは複数の組合せにおいて実装することができる。本明細書に記載される主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行される、またはデータ処理装置の動作を制御するための有形の非一時的記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、またはそれらの1つもしくは複数の組合せとすることができる。代替的にまたは追加として、プログラム命令は、人工的に生成された伝搬信号、たとえば、データ処理装置によって実行するための適切な受信機装置への送信のために情報を符号化するために生成された機械生成電気、光学、または電磁信号上で符号化することができる。
「データ処理装置」という用語は、データ処理ハードウェアを指し、たとえば、プログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイスおよび機械を包含する。装置は、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路でもよく、またはそれをさらに含むこともできる。装置は、随意に、ハードウェアに加えて、コンピュータプログラムの実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組合せを構成するコードを含むことができる。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれるまたは記述されることもあるコンピュータプログラムは、コンパイルもしくはインタープリタ型言語、宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語で記述することができ、それは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に適した他のユニットとしてなど、あらゆる形式で展開できる。プログラムは、必ずしも必要はないが、ファイルシステム内のファイルに対応し得る。プログラムは、問題のプログラム専用の単一のファイル、またはたとえば、1つまたは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルなど、複数のコーディネートされたファイルに、たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプなど、他のプログラムまたはデータを保持するファイルの一部に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するか、もしくは複数のサイトに分散され、データ通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配備することができる。
本明細書では、「データベース」という用語は、任意のデータの集まりを指すために広く使用されており、データは、任意の特定の方法で構造化する必要はなく、またはまったく構造化する必要はなく、1つまたは複数の場所にある記憶デバイスに記憶することができる。したがって、たとえば、インデックスデータベースは、複数のデータの集まりを含むことができ、それらの各々は、異なって編成されアクセスされてもよい。
同様に、本明細書では、「エンジン」という用語は、1つまたは複数の特定の機能を実行するようにプログラムされているソフトウェアベースのシステム、サブシステム、またはプロセスを指すために広く使用されている。一般に、エンジンは、1つまたは複数の場所にある1つまたは複数のコンピュータにインストールされた1つまたは複数のソフトウェアモジュールまたは構成要素として実装される。いくつかの場合には、1つまたは複数のコンピュータが特定のエンジンに専用であり、他の場合には、複数のエンジンを、同じ1つまたは複数のコンピュータにインストールし、そこにおいて実行することができる。
本明細書で記述されたプロセスおよび論理フローは、入力データ上で動作し、出力を生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能コンピュータによって実行することができる。プロセスおよび論理フローは、たとえばFPGAまたはASICなどの専用論理回路によって、あるいは専用論理回路と1つまたは複数のプログラムされたコンピュータとの組合せによっても実行することができる。
コンピュータプログラムの実行に適したコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサ、もしくはその両方、または他の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、読取り専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行または実行するための中央処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央処理装置およびメモリは、専用論理回路によって補うまたは組み込むことができる。一般に、コンピュータは、たとえば磁気、光磁気ディスク、または光ディスクなど、データを記憶するための1つまたは複数の大容量記憶デバイスをも含み、あるいは、1つまたは複数の大容量記憶デバイスからデータを受信する、それにデータを転送する、またはその両方のために動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、ほんのいくつかの例を挙げれば、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはユニバーサルシリアルバス(USB)フラッシュドライブなどのポータブルストレージデバイス中に埋め込むことができる。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、一例として、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、たとえば内部ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスクを含むすべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。
ユーザとの対話を提供するために、本明細書に記載される主題の実施形態は、ユーザに情報を表示するための、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイデバイス、ならびにキーボードおよび、ユーザがコンピュータに入力を提供することができる、たとえば、マウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上に実装することができる。他の種類のデバイスを使用して、ユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。さらに、コンピュータは、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのデバイス上のウェブブラウザにウェブページを送信することによってなど、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、ユーザと対話することができる。また、コンピュータは、テキストメッセージまたは他の形態のメッセージをパーソナルデバイス、たとえば、メッセージングアプリケーションを実行しているスマートフォンに送信し、代わりに、ユーザから応答メッセージを受信することによって、ユーザと対話することができる。
機械学習モデルを実装するためのデータ処理装置はまた、たとえば、機械学習のトレーニングまたは製作、すなわち推論、作業負荷の共通部分および計算集約的部分を処理するための専用ハードウェアアクセラレータユニットを含むことができる。
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実装および展開することができる。
本明細書に記載される主題の実施形態は、たとえばデータサーバとしてのバックエンド構成要素を含む、またはアプリケーションサーバなどのミドルウェア構成要素を含む、またはたとえば、ユーザが本明細書に記載された主題の実装と対話することができる、グラフィカルユーザインタフェース、ウェブブラウザ、またはアプリを有するクライアントコンピュータなどのフロントエンド構成要素を含む、または1つもしくは複数のそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムにおいて実装することができる。システムの構成要素は、たとえば、通信ネットワークなど、任意の形式または媒体のデジタルデータ通信によって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、たとえばインターネットがある。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは、一般に、互いに遠隔であり、典型的には、通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムのおかげで生じる。いくつかの実施形態では、サーバは、たとえば、クライアントとして動作するデバイスと対話しているユーザにデータを表示し、ユーザからユーザ入力を受信するために、データ、たとえば、HTMLページをユーザデバイスに送信する。たとえば、ユーザ対話の結果など、ユーザデバイスにおいて生成されたデータは、デバイスからサーバにおいて受信することができる。
本明細書は、多くの具体的な実施の詳細を含むが、これらは、いかなる発明の範囲または特許請求される可能性のある範囲に対する限定ではなく、むしろ特定の発明の特定の実施形態に固有であり得る特徴の説明として解釈されるものとする。別個の実施形態の文脈において本明細書で説明されるいくつかの特徴は、単一の実施形態において組み合わせて実装することもできる。逆に、単一の実施形態の文脈で記載されている様々な特徴は、複数の実施形態で別々にまたは任意の適切な部分組合せで実装することもできる。さらに、特徴は、いくつかの組合せで作用するものとして上述されており、当初はそのように請求されているものであるが、いくつかの場合、請求された組合せからの1つまたは複数の特徴を、組合せから削除することができ、請求された組合せは、部分組合せ、または部分組合せの変形を対象とし得る。
同様に、動作が図面に示され、特許請求の範囲に特定の順序で記載されているが、これは、そのような動作が、示された特定の順序で、または順番に実行されること、あるいは望ましい結果を達成するために、図示されたすべての動作が実行されることを必要とするものとして理解されないものとする。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。さらに、上述した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものと理解されないものとし、記述されたプログラム構成要素およびシステムを、一般に、単一のソフトウェア製品に一緒に組み入れることができ、または複数のソフトウェア製品にパッケージ化することができることを理解されたい。
主題の特定の実施形態が記載されている。他の実施形態は、以下の特許請求の範囲内にある。たとえば、特許請求の範囲に列挙されたアクションは、異なる順序で実行され、依然として望ましい結果を達成することができる。一例として、添付の図面に示されるプロセスは、望ましい結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。いくつかの場合には、マルチタスキングおよび並列処理が有利であり得る。
104 エゴモーション
110 微分可能マッパ
112 特徴付け
120 微分可能階層プランナー
122 目標
132 アクション
202 最終的な特徴付け
212 第2の初期特徴付け
212 微分可能ワーピング関数
220 ニューラルネットワーク
222 第1の初期特徴付け
230 結合関数
310 値サブシステム
320 フューザー
330 値反復モジュール

Claims (25)

  1. 1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを備えるシステムであって、前記命令は、実行されると、前記1つまたは複数のコンピュータに、
    複数の時間ステップの各時間ステップにおいて、環境の特徴付けを前記時間ステップにおける前記環境の画像から生成するように構成されたマッピングサブシステムを実装させ、前記特徴付けが、特定の特徴を有する前記環境内の場所を識別する環境マップを含み、前記特徴付けを生成することが、時間ステップごとに、
    前記時間ステップにおいて前記環境の前記画像を取得することであり、前記画像が、前記環境内を移動するエージェントによってキャプチャされた画像である、取得することと、
    前記時間ステップについての前記環境の第1の初期特徴付けを生成するために、ニューラルネットワークを使用して前記画像を処理することと、
    前記時間ステップに先立つ先行する時間ステップについての前記環境の最終的な特徴付けを取得することと、
    前記先行する時間ステップと前記時間ステップとの間の前記エージェントの動きの尺度を取得することと、
    前記時間ステップについての前記環境の第2の初期特徴付けを生成するために、前記先行する時間ステップについての前記環境の前記特徴付けを処理することであり、前記第2の初期特徴付けを生成するために、前記先行する時間ステップについての前記環境の前記最終的な特徴付けおよび動きの前記尺度に微分可能ワーピング関数を適用することを含む、処理することと、
    前記第1の初期特徴付けと前記第2の初期特徴付けとを結合して、前記時間ステップについての前記環境の最終的な特徴付けを生成することと
    を含む、システム。
  2. 前記ワーピング関数が、双線形サンプリングを使用して補間を実行する関数である、請求項1に記載のシステム。
  3. 前記画像が、前記エージェントの1人称の自己中心的視点からのものであり、
    前記第1の初期特徴付け、前記第2の初期特徴付け、前記先行する時間ステップについての前記最終的な特徴付け、および前記時間ステップについての前記最終的な特徴付けが、トップダウンの視点からのものである、
    請求項1または2に記載のシステム。
  4. 前記第1の初期特徴付けと前記第2の初期特徴付けとを結合して、前記時間ステップについての前記最終的な特徴付けを生成することが、
    前記第1の初期特徴付けおよび前記第2の初期特徴付けに更新関数を適用して、前記最終的な特徴付けを生成すること
    を含む、請求項1から3のいずれか一項に記載のシステム。
  5. 各特徴付けが、(i)前記環境内の前記複数の場所が前記特定の特徴を有するか否かを表すスコアのセット、および(ii)前記スコアのセットにおける信頼の尺度のセットを含み、
    前記更新関数が、以下の式の演算を実行することを含み、
    Figure 0007021236000003

    =Ct-1+C
    ただし、fは、前記時間ステップについての前記最終的な特徴付けに対する前記スコアのセットであり、cは、前記時間ステップについての前記最終的な特徴付けに対する前記スコアのセットにおける前記信頼の尺度のセットであり、f’は、前記第1の初期特徴付けに対する前記スコアのセットであり、c’は、前記第1の初期特徴付けに対する前記スコアのセットにおける前記信頼の尺度のセットであり、ft-1は、前記第2の初期特徴付けに対する前記スコアのセットであり、ct-1は、前記第2の初期特徴付けに対する前記スコアのセットにおける前記信頼の尺度のセットである、請求項4に記載のシステム。
  6. 前記更新関数が、リカレントニューラルネットワークによって実行され、前記リカレントニューラルネットワークが、前記複数の時間ステップの時間ステップごとに、前記時間ステップについての前記第1の初期特徴付けおよび前記第2の初期特徴付けを処理して、前記時間ステップについての前記最終的な特徴付けを生成するように構成される、請求項4に記載のシステム。
  7. 時間ステップについての前記環境マップが、前記環境内の前記複数の場所の各々について、
    前記場所が特定の特徴を有するか否かを表すスコアを含み、前記特徴付けが、前記場所ごとに、
    前記場所についての前記スコアにおける信頼の尺度
    をさらに含む、請求項1から6のいずれか一項に記載のシステム。
  8. 前記複数の時間ステップの各々について、
    前記マッピングサブシステムから前記時間ステップについての前記最終的な特徴付けを取得し、
    前記時間ステップにおいて前記環境と対話するエージェントによって実行されるべき提案されたアクションを選択するために、前記最終的な特徴付けを処理する
    ように構成された計画サブシステム
    をさらに含む、請求項1から7のいずれか一項に記載のシステム。
  9. 前記エージェントが、目標を達成するためにアクションを実行しており、前記時間ステップについての前記提案されたアクションを選択するために、前記最終的な特徴付けを処理することが、
    前記時間ステップについての前記最終的な特徴付けから空間的にスケーリングされた環境マップのシーケンスを生成することであり、前記シーケンス内の各空間的にスケーリングされた環境マップが、前記シーケンス内の任意の後続の空間的にスケーリングされた環境マップに対してダウンサンプリングされる、生成することと、
    最もダウンサンプリングされた空間的にスケーリングされた環境マップから始まる前記シーケンス内の空間的にスケーリングされた環境マップごとに、
    前記空間的にスケーリングされた環境マップについての1つまたは複数の値マップを生成するために、前記空間的にスケーリングされた環境マップおよび前記空間的にスケーリングされた環境マップに関連付けられた1つまたは複数の入力を処理することであり、値マップが、前記空間的にスケーリングされた環境マップ内の複数の領域の領域ごとに、前記目標を達成するために前記領域内にいる前記エージェントの値の評価を含む、処理することと、
    最後の空間的にスケーリングされた環境マップ以外の前記シーケンス内の空間的にスケーリングされた環境マップごとに、前記シーケンス内の後続の空間的にスケーリングされた環境マップに関連付けられた入力として、前記空間的にスケーリングされた環境マップについての前記1つまたは複数の値マップを提供することと
    を含む、請求項8に記載のシステム。
  10. 前記シーケンス内の各空間的にスケーリングされた環境マップに関連付けられた前記入力が、前記エージェントの前記目標を識別するデータを含む、請求項9に記載のシステム。
  11. 前記目標が、前記エージェントが到達しようと試みる前記環境内の場所である、請求項10に記載のシステム。
  12. 前記目標が、前記エージェントが見つけようと試みる前記環境内のオブジェクトである、請求項10に記載のシステム。
  13. 前記最もダウンサンプリングされた空間的にスケーリングされた環境マップへの前記入力が、前記時間ステップについての前記最終的な特徴付けを含む、請求項9から12のいずれか一項に記載のシステム。
  14. 前記空間的にスケーリングされた環境マップについての前記1つまたは複数の値マップを生成するために、前記空間的にスケーリングされた環境マップに関連付けられた入力を処理することが、
    前記空間的にスケーリングされた環境マップについての1つまたは複数の初期値マップを生成するために、前記空間的にスケーリングされた環境マップに関連付けられた入力を処理することと、
    前記空間的にスケーリングされた環境マップについての前記1つまたは複数の値マップを生成するために、前記空間的にスケーリングされた環境マップについての前記1つまたは複数の初期値マップに対して1つまたは複数の値反復を実行することと
    を含む、請求項9から13のいずれか一項に記載のシステム。
  15. 前記提案されたアクションを選択するために、前記最終的な特徴付けを処理することが、
    前記シーケンス内の前記最後の空間的にスケーリングされた環境マップについての前記値マップに基づいて前記提案されたアクションを選択すること
    を含む、請求項9から14のいずれか一項に記載のシステム。
  16. 前記シーケンス内の前記最後の空間的にスケーリングされた環境マップについての前記値マップに基づいて前記提案されたアクションを選択することが、
    前記シーケンス内の前記最後の空間的にスケーリングされた環境マップについての前記値マップから、値の最高の評価を有する更新された値マップの特定の領域を決定することと、
    前記時間ステップについての前記提案されたアクションとして、前記特定の領域に前記エージェントを連れて行くアクションを選択することと
    を含む、請求項15に記載のシステム。
  17. 前記シーケンス内の前記最後の空間的にスケーリングされた環境マップについての前記値マップに基づいて前記提案されたアクションを選択することが、
    前記提案されたアクションを選択するために1つまたは複数の修正された線形ユニットを含むニューラルネットワークを介して前記値マップを処理すること
    を含む、請求項15に記載のシステム。
  18. 請求項8から17のいずれか一項に記載のマッピングサブシステムおよび計画サブシステムを含むシステムをトレーニングする方法であって、
    画像を取得するステップと、
    前記画像の時間ステップについてのオブジェクトの環境の最終的な特徴付けを決定するために、前記マッピングサブシステムを使用して前記画像を処理するステップと、
    前記画像の前記時間ステップについての提案されたアクションを選択するために、前記計画サブシステムを使用して前記最終的な特徴付けを処理するステップと、
    前記画像の前記時間ステップについての最適なアクションを取得するステップと、
    前記選択されたアクションと前記最適なアクションとの間の誤差の尺度の勾配を決定するステップと、
    前記マッピングサブシステムおよび前記計画サブシステムのパラメータに対する更新を決定するために、前記マッピングサブシステムおよび前記計画サブシステムを介して前記勾配を逆伝搬するステップと
    を含む、方法。
  19. 前記環境内を移動するエージェントに、前記提案されたアクションを確率pで実行させ、前記最適なアクションを確率1-pで実行させるステップ
    をさらに含む、請求項18に記載の方法。
  20. 前記エージェントの動作中にpを増加させるステップ
    をさらに含む、請求項19に記載の方法。
  21. 請求項1から17のいずれか一項に記載のマッピングサブシステムによって実行される全動作を含む方法。
  22. 請求項8から17のいずれか一項に記載の計画サブシステムによって実行される全動作をさらに含む、請求項21に記載の方法。
  23. 命令を記憶する1つまたは複数のコンピュータ記憶媒体であって、前記命令は、1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項1から17のいずれか一項に記載のシステムを実装させる1つまたは複数のコンピュータ読み取り可能な記憶媒体。
  24. 1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを備えるシステムであって、前記命令は、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項18から20のいずれか一項に記載の方法の全動作を実行させるように動作可能である、システム。
  25. 命令を記憶するコンピュータ記憶媒体であって、前記命令は、1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項18から20のいずれか一項に記載の方法の全動作を実行させるコンピュータ読み取り可能な記憶媒体。
JP2019543104A 2017-02-09 2018-02-09 視覚入力を使用したエージェントナビゲーション Active JP7021236B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762456945P 2017-02-09 2017-02-09
US62/456,945 2017-02-09
PCT/US2018/017666 WO2018148574A1 (en) 2017-02-09 2018-02-09 Agent navigation using visual inputs

Publications (2)

Publication Number Publication Date
JP2020507857A JP2020507857A (ja) 2020-03-12
JP7021236B2 true JP7021236B2 (ja) 2022-02-16

Family

ID=63107124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019543104A Active JP7021236B2 (ja) 2017-02-09 2018-02-09 視覚入力を使用したエージェントナビゲーション

Country Status (6)

Country Link
US (1) US11010948B2 (ja)
EP (1) EP3563344A4 (ja)
JP (1) JP7021236B2 (ja)
KR (1) KR102241404B1 (ja)
CN (1) CN110268338B (ja)
WO (1) WO2018148574A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10706840B2 (en) * 2017-08-18 2020-07-07 Google Llc Encoder-decoder models for sequence to sequence mapping
WO2020065024A1 (en) * 2018-09-27 2020-04-02 Deepmind Technologies Limited Stacked convolutional long short-term memory for model-free reinforcement learning
US11017499B2 (en) 2018-12-21 2021-05-25 Here Global B.V. Method, apparatus, and computer program product for generating an overhead view of an environment from a perspective image
CN111044045B (zh) * 2019-12-09 2022-05-27 中国科学院深圳先进技术研究院 基于神经网络的导航方法、装置及终端设备
KR102430442B1 (ko) 2020-08-19 2022-08-09 경기대학교 산학협력단 에이전트 학습 보상 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004110802A (ja) 2002-08-26 2004-04-08 Sony Corp 環境同定装置、環境同定方法、プログラム及び記録媒体、並びにロボット装置
JP2011189481A (ja) 2010-03-16 2011-09-29 Sony Corp 制御装置、制御方法およびプログラム
WO2017019555A1 (en) 2015-07-24 2017-02-02 Google Inc. Continuous control with deep reinforcement learning

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100204101B1 (ko) * 1990-03-02 1999-06-15 가나이 쓰도무 화상처리장치
US6954544B2 (en) * 2002-05-23 2005-10-11 Xerox Corporation Visual motion analysis method for detecting arbitrary numbers of moving objects in image sequences
CN1166922C (zh) 2002-07-18 2004-09-15 上海交通大学 多传感器多目标信息融合方法
US7889905B2 (en) * 2005-05-23 2011-02-15 The Penn State Research Foundation Fast 3D-2D image registration method with application to continuously guided endoscopy
US7835820B2 (en) * 2005-10-11 2010-11-16 Vanderbilt University System and method for image mapping and visual attention
BRPI0712837B8 (pt) * 2006-06-11 2021-06-22 Volvo Tech Corporation método para determinação e análise de uma localização de interesse visual
US8175617B2 (en) * 2009-10-28 2012-05-08 Digimarc Corporation Sensor-based mobile search, related methods and systems
CN102893327B (zh) * 2010-03-19 2015-05-27 数字标记公司 直觉计算方法和系统
CN102243537B (zh) * 2010-05-14 2014-01-15 深圳市汇春科技有限公司 运动图像位移检测方法及装置、光电鼠标
EP2609567A4 (en) * 2010-08-25 2014-05-14 Univ Sydney PROCESSING SENSOR DATA
JP2012064131A (ja) * 2010-09-17 2012-03-29 Tokyo Institute Of Technology 地図生成装置、地図生成方法、移動体の移動方法、及びロボット装置
US8553964B2 (en) * 2010-10-20 2013-10-08 Siemens Aktiengesellschaft Unifying reconstruction and motion estimation in first pass cardiac perfusion imaging
US8885941B2 (en) * 2011-09-16 2014-11-11 Adobe Systems Incorporated System and method for estimating spatially varying defocus blur in a digital image
CN102592287B (zh) * 2011-12-31 2014-06-04 浙江大学 基于3d视频的时空域运动分割与估计模型的凸优化方法
CN104823444A (zh) * 2012-11-12 2015-08-05 行为识别系统公司 用于视频监控系统的图像稳定技术
US8700320B1 (en) * 2012-11-13 2014-04-15 Mordechai Teicher Emphasizing featured locations during a journey
US9761014B2 (en) * 2012-11-15 2017-09-12 Siemens Healthcare Gmbh System and method for registering pre-operative and intra-operative images using biomechanical model simulations
US9195654B2 (en) * 2013-03-15 2015-11-24 Google Inc. Automatic invocation of a dialog user interface for translation applications
KR101751163B1 (ko) * 2013-03-15 2017-06-26 폭스바겐 악티엔 게젤샤프트 차량의 경로 판정 시스템 및 그 방법
JP2015031922A (ja) * 2013-08-06 2015-02-16 Kddi株式会社 情報端末装置及びプログラム
EP2869239A3 (en) * 2013-11-04 2015-08-19 Facebook, Inc. Systems and methods for facial representation
WO2016108847A1 (en) * 2014-12-30 2016-07-07 Nokia Technologies Oy Methods and apparatus for processing motion information images
US10062010B2 (en) * 2015-06-26 2018-08-28 Intel Corporation System for building a map and subsequent localization
US10093021B2 (en) * 2015-12-02 2018-10-09 Qualcomm Incorporated Simultaneous mapping and planning by a robot
US10788836B2 (en) * 2016-02-29 2020-09-29 AI Incorporated Obstacle recognition method for autonomous robots
CN105957060B (zh) * 2016-04-22 2019-01-11 天津师范大学 一种基于光流分析的tvs事件分簇方法
US9661473B1 (en) * 2016-06-17 2017-05-23 Qualcomm Incorporated Methods and apparatus for determining locations of devices in confined spaces
US10061987B2 (en) * 2016-11-11 2018-08-28 Google Llc Differential scoring: a high-precision scoring method for video matching
US10607134B1 (en) * 2016-12-19 2020-03-31 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using an avatar's circumstances for autonomous avatar operation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004110802A (ja) 2002-08-26 2004-04-08 Sony Corp 環境同定装置、環境同定方法、プログラム及び記録媒体、並びにロボット装置
JP2011189481A (ja) 2010-03-16 2011-09-29 Sony Corp 制御装置、制御方法およびプログラム
WO2017019555A1 (en) 2015-07-24 2017-02-02 Google Inc. Continuous control with deep reinforcement learning

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Nobutaka Kimura, et al.,"Real-Time Updating of 2D Map for Autonomous Robot Locomotion Based on Distinction Between Static and Semi-Static Objects",Advenced Robotics,2012年,Vol.26, No.11-12,Pages 1343-1368,ISSN: 0169-1864, <DOI: 10.1080/01691864.2012.689742>.
PATRAUCEAN, Viorica, et al.,"SPATIO-TEMPORAL VIDEO AUTOENCODER WITH DIFFERENTIABLE MEMORY",arXiv:1511.06309v5,version v5,[online], arXiv (Cornell University),2016年09月01日,Pages 1-13,[retrieved on 2020.07.31], Retrieved from the Internet: <URL: https://arxiv.org/abs/1511.06309v5> and <URL: https://arxiv.org/pdf/1511.06309v5.pdf>.
TAMAR, Aviv, et al.,"Value Iteration Networks",Proceedings of NIPS 2016,[online],2016年,Pages 1-9,[retrieved on 2020.08.03], Retrieved from the Internet: <URL: http://papers.nips.cc/paper/6046-value-iteration-networks> and <URL: http://papers.nips.cc/paper/6046-value-iteration-networks.pdf>.
江尻 理帆(外3名),「未知自然環境における単眼視によるナビゲーション方針」,第24回日本ロボット学会学術講演会予稿集, [CD-ROM],日本,社団法人日本ロボット学会,2006年09月14日,全3頁,session-ID: 2E22.
芦ヶ原 隆之,「ロボットのためのビジョンシステムとその応用」,映像情報メディア学会誌,日本,(社)映像情報メディア学会,2006年12月01日,Vol.60, No.12,第1914~1919頁,ISSN: 1342-6907.
芦ヶ原隆之(外1名),「二足歩行ロボット用小型ステレオビジョンとそのアプリケーションの開発」,情報処理学会研究報告,日本,社団法人情報処理学会,2003年01月17日,Vol.2003, No.2,第43~50頁,ISSN: 0919-6072.

Also Published As

Publication number Publication date
US20190371025A1 (en) 2019-12-05
CN110268338B (zh) 2022-07-19
KR20190104587A (ko) 2019-09-10
KR102241404B1 (ko) 2021-04-16
US11010948B2 (en) 2021-05-18
EP3563344A1 (en) 2019-11-06
CN110268338A (zh) 2019-09-20
JP2020507857A (ja) 2020-03-12
EP3563344A4 (en) 2020-07-22
WO2018148574A1 (en) 2018-08-16

Similar Documents

Publication Publication Date Title
JP7021236B2 (ja) 視覚入力を使用したエージェントナビゲーション
JP6728496B2 (ja) 強化学習を使用した環境ナビゲーション
EP3602409B1 (en) Selecting actions using multi-modal inputs
KR102424893B1 (ko) 보조 작업들을 통한 강화 학습
CN110326004B (zh) 使用路径一致性学习训练策略神经网络
US20230252288A1 (en) Reinforcement learning using distributed prioritized replay
US10860927B2 (en) Stacked convolutional long short-term memory for model-free reinforcement learning
US11868866B2 (en) Controlling agents using amortized Q learning
JP2023093525A (ja) ニューラルネットワークを使用する強化学習のための行動選択
CN112106073A (zh) 使用网格代码执行导航任务
JP7181415B2 (ja) 観測値の尤度を使用して環境を探索するためのエージェントを制御すること
JP7139524B2 (ja) 時間的価値移送を使用した長いタイムスケールにわたるエージェントの制御
JP7354425B2 (ja) データ駆動型ロボット制御
WO2021156517A1 (en) Learning environment representations for agent control using predictions of bootstrapped latents
CN113330458A (zh) 使用潜在计划控制代理
CN115315708A (zh) 通过整合代理运动和优化预测目标来生成空间嵌入

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220203

R150 Certificate of patent or registration of utility model

Ref document number: 7021236

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150