JP6935550B2 - 強化学習を使用した環境ナビゲーション - Google Patents

強化学習を使用した環境ナビゲーション Download PDF

Info

Publication number
JP6935550B2
JP6935550B2 JP2020112836A JP2020112836A JP6935550B2 JP 6935550 B2 JP6935550 B2 JP 6935550B2 JP 2020112836 A JP2020112836 A JP 2020112836A JP 2020112836 A JP2020112836 A JP 2020112836A JP 6935550 B2 JP6935550 B2 JP 6935550B2
Authority
JP
Japan
Prior art keywords
neural network
loop closure
environment
agent
action
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
JP2020112836A
Other languages
English (en)
Other versions
JP2020170535A (ja
Inventor
ファビオ・ヴィオーラ
ピョートル・ヴォイチェフ・ミロフスキー
アンドレア・バニーノ
ラズバン・パシュカヌ
フーベルト・ヨーゼフ・ソイヤー
アンドリュー・ジェームズ・バラード
スダルシャン・クマラン
ライア・タイス・ハドセル
ローラン・シフル
ロスティスラフ・ゴロシン
コーレイ・カヴクチュオグル
ミーシャ・マン・レイ・デニール
Original Assignee
ディープマインド テクノロジーズ リミテッド
ディープマインド テクノロジーズ リミテッド
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 ディープマインド テクノロジーズ リミテッド, ディープマインド テクノロジーズ リミテッド filed Critical ディープマインド テクノロジーズ リミテッド
Publication of JP2020170535A publication Critical patent/JP2020170535A/ja
Application granted granted Critical
Publication of JP6935550B2 publication Critical patent/JP6935550B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement 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/20076Probabilistic image processing
    • 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/30248Vehicle exterior or interior
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Image Analysis (AREA)

Description

本明細書は、強化学習に関する。
強化学習システムでは、エージェントは、環境の現在の状態を特徴付ける観測を受信したことに応答して、強化学習システムによって選択された行動を実行することによって環境と対話する。
いくつかの強化学習システムは、ニューラルネットワークの出力に従って、所与の観測を受信したことに応答して、エージェントによって実行されるべき行動を選択する。
ニューラルネットワークは、非線形ユニットの1つまたは複数の層を使用して、受信された入力の出力を予測する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて、1つまたは複数の隠れ層を含むディープニューラルネットワークである。各隠れ層の出力は、ネットワーク内の次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれのセットの現在値に従って受信された入力から出力を生成する。
Volodymyr Mnih et. al., "Asynchronous methods for deep reinforcement learning," Proceedings of the 33rd International Conference on Machine Learning, 2016
本明細書は、環境と対話するエージェントによって実行されるべき行動を選択する、1つまたは複数の場所にある1つまたは複数のコンピュータ上のコンピュータプログラムとして実装される強化学習システムについて説明する。一般に、システムは、環境の観測に応答して実行されるべき行動を選択する際に行動選択ポリシーニューラルネットワークを使用する。行動選択ポリシーニューラルネットワークのトレーニングを向上させるために、このトレーニング中に、トレーニングエンジンはまた、行動選択ポリシーニューラルネットワークのそれぞれの中間出力を入力として受信する、(i)ジオメトリ予測ニューラルネットワーク、(ii)ループクロージャ予測ニューラルネットワーク、またはその両方のトレーニングを行う。
1つまたは複数の目標を達成するために環境をナビゲートするエージェントによって実行されるべき行動を選択する際に使用するための複数のネットワークパラメータを有する行動選択ポリシーニューラルネットワークをトレーニングする方法が提供される。本方法は、環境の現在の状態を特徴付ける観測画像を受信するステップと、行動選択ポリシーニューラルネットワークを使用して、ネットワークパラメータの現在値に従って、行動選択出力を生成するために、観測画像を含む入力を処理するステップと、ジオメトリ予測ニューラルネットワークを使用して、現在の状態にあるとき、環境のジオメトリの特徴の値を予測するために、行動選択ポリシーニューラルネットワークによって生成された中間出力を処理するステップと、特徴の実際の値と特徴の予測値とに基づくジオメトリベースの補助損失の勾配を決定するステップと、ネットワークパラメータの現在値についてのジオメトリベースの補助更新を決定するために、ジオメトリベースの補助損失の勾配を行動選択ポリシーニューラルネットワークに逆伝搬するステップとを含む。
いくつかの実装形態では、ジオメトリの特徴の予測値は、観測画像によって特徴付けられる環境の予測深度であり、ジオメトリの特徴の実際の値は、観測画像によって特徴付けられる環境の実際の深度である。いくつかの実装形態では、補助損失は、システムをトレーニングするために使用されるが、ジオメトリの特徴の予測値は、別段使用される必要はない。
いくつかの実装形態では、行動選択ポリシーニューラルネットワークは、入力の符号化表現を生成する畳み込みエンコーダニューラルネットワークと、中間表現を生成するために、入力の符号化表現を処理する中間ニューラルネットワークと、行動選択出力を生成するために、中間表現を処理する出力ニューラルネットワークとを含む。
いくつかの実装形態では、中間出力は、符号化表現を含む。
いくつかの実装形態では、中間出力は、中間表現を含む。
いくつかの実装形態では、本方法は、環境が現在の状態にあるとき、エージェントがすでに訪れたことのある環境内のある場所に戻った予測尤度を表すスコアを生成するように構成されるループクロージャ予測ニューラルネットワークを使用して中間表現を処理するステップと、環境の現在の状態と以前の状態との実際の類似性、および予測尤度に基づくループクロージャ補助損失の勾配を決定するステップと、ネットワークパラメータの現在値についてのループクロージャ補助更新を決定するために、ループクロージャ補助損失の勾配を行動選択ポリシーニューラルネットワークに逆伝搬するステップとをさらに含む。
いくつかの実装形態では、中間ニューラルネットワークは、リカレントニューラルネットワークである。
いくつかの実装形態では、中間ニューラルネットワークは、フィードフォワードニューラルネットワークである。
いくつかの実装形態では、本方法は、行動選択出力を使用して、環境が現在の状態にあるとき、エージェントによって実行されるべき行動を選択するステップと、1つまたは複数の目標を達成する方に向かう進捗に基づいて、報酬を受信するステップと、報酬に少なくとも部分的に基づいて、ネットワークパラメータの主な更新を決定するステップとをさらに含む。
いくつかの実装形態では、本方法は、ネットワークパラメータの現在値を更新するために、ジオメトリベースの補助更新および主な更新を使用するステップをさらに含む。
いくつかの実装形態では、本方法は、更新されたパラメータ値を生成するために、ジオメトリベースの補助更新を使用してネットワークパラメータの現在値を更新するステップと、更新されたパラメータ値に従ってエージェントによって実行されるべき行動を選択するために行動選択ポリシーニューラルネットワークを使用するステップとをさらに含む。
本明細書に記載される主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実施することができる。累積報酬を最大にするために、行動選択ポリシーニューラルネットワークをトレーニングすることに加えて、補助予測タスクを実行するために、ジオメトリ予測ニューラルネットワークまたはループクロージャ予測ニューラルネットワークまたはその両方をトレーニングすることによって、本明細書に記載の強化学習システムは、トレーニングを向上させるために、行動選択ポリシーニューラルネットワークのトレーニング中に受信されるフィードバック信号を増強することができる。特に、ジオメトリ予測ニューラルネットワークまたはループクロージャ予測ニューラルネットワークをトレーニングすることによって、行動選択ポリシーニューラルネットワークパラメータの値が調整され、観測データのより有用な表現が生成され、強化学習システムによって受信された報酬がわずかである、たとえばごくまれに非ゼロであるときでも、累積報酬が最大になるようにより有効なポリシー出力が最終的に決定される。たとえば、ジオメトリ予測ニューラルネットワークをトレーニングすることは、障害物回避および短期の軌道計画を助ける表現の学習を促進するために行動選択ポリシーニューラルネットワークパラメータの値を調整する。別の例として、ループクロージャ予測ニューラルネットワークをトレーニングすることは、環境および空間的推論の効率的な探査を促進するために行動選択ポリシーニューラルネットワークパラメータの値を調整する。
本明細書に記載される強化学習システムは、ジオメトリ予測ニューラルネットワークおよびループクロージャ予測ニューラルネットワークを含まない従来の強化学習システムよりも速く行動選択ポリシーニューラルネットワークをトレーニングする。したがって、本明細書に記載される強化学習システムは、トレーニングにおける計算リソースのより効率的な使用を可能にする。さらに、本明細書に記載される強化学習システムは、従来の強化学習システムよりも優れた性能を達成する、すなわちエージェントが環境をより効果的にナビゲートすることを可能にする。
本明細書の主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
例示的な強化学習システムを示す図である。 ジオメトリ予測ニューラルネットワークをトレーニングすることによって、行動選択ポリシーニューラルネットワークをトレーニングするための例示的なプロセスのフロー図である。 ループクロージャ予測ニューラルネットワークをトレーニングすることによって、行動選択ポリシーニューラルネットワークをトレーニングするための例示的なプロセスのフロー図である。
様々な図面における同様の参照番号および名称は同様の要素を示す。
図1は、例示的な強化学習システム100を示す。強化学習システム100は、以下に説明するシステム、構成要素、および技法が実装される1つまたは複数の場所にある1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例である。
強化学習システム100は、複数の時間ステップの各々において環境102と対話するエージェント108によって実行されるべき行動110を選択する。エージェント108が環境102と対話するために、システム100は、環境102の現在の状態を特徴付ける観測画像104を受信し、受信した観測画像104に応答して、エージェント108によって実行されるべき行動110を選択する。
いくつかの実装形態では、環境102はシミュレート環境であり、エージェント108は、シミュレート環境をナビゲートすることによってシミュレート環境と対話する1つまたは複数のコンピュータプログラムとして実装される。たとえば、シミュレート環境は、ビデオゲームでもよく、エージェント108は、シミュレート環境をナビゲートすることによってビデオゲームをプレイするシミュレートユーザでもよい。別の例として、シミュレート環境は、モーションシミュレーション環境、たとえばドライビングシミュレーションまたはフライトシミュレーションでもよく、エージェント108は、モーションシミュレーション環境をナビゲートするシミュレート車両である。これらの場合、行動110は、シミュレートユーザまたはシミュレート車両を制御するための制御入力でもよい。
いくつかの他の実装形態では、環境102は現実世界環境であり、エージェント108は、現実世界環境と対話する機械エージェントである。たとえば、エージェント108は、環境をナビゲートする自律型または半自律型車両でもよい。これらの場合、行動110はロボットまたは自律型車両を制御するための制御入力でもよい。
これらの実装形態のうちのいくつかにおいて、観測画像104は、エージェント108のセンサによって生成されるかまたはそれから導出されてもよい。たとえば、観測画像104は、エージェント108のカメラによってキャプチャされたRGB画像でもよい。別の例として、観測画像104は、エージェント108のレーザセンサからキャプチャされたデータから導出されてもよい。別の例として、観測画像は、エージェント108のハイパースペクトルセンサによってキャプチャされたハイパースペクトル画像でもよい。
各時間ステップにおいて、システム100は、環境102の現在の状態およびその時間ステップにおけるエージェント108の行動110に基づいて、報酬106を受信する。たとえば、システム100は、エージェント108が1つまたは複数の目標を達成する方に向かう進捗に基づいて、所与の時間ステップについての報酬106を受信してもよい。たとえば、エージェントの目標は、環境102内の目標の場所にナビゲートすることでもよい。
システム100は、各時間ステップにおいて観測画像104に応答して、エージェント108によって実行されるべき行動を選択する際に行動選択ポリシーニューラルネットワーク112を使用する。特に、行動選択ポリシーニューラルネットワーク112は、観測画像104を含む入力を受信し、時間ステップにおいてエージェント108によって実行されるべき行動110を決定するために、システム100が使用するポリシー出力を生成するために、行動選択ポリシーニューラルネットワークのパラメータのセットに従って入力を処理するように構成される。いくつかの実装形態では、行動選択ポリシーニューラルネットワーク112は、エージェント相対的な(agent-relative)横および回転速度、前の時間ステップ、すなわち現在の時間ステップの前の時間ステップにおいてエージェントによって実行された行動、または前の時間ステップにおいてシステムによって受信された報酬のうちの1つまたは複数を含む追加の入力を受信するように構成される。エージェント相対的な横速度は、エージェントのエゴセントリック基準系で定義されるエージェントの前方および横方向の速度を指す。角速度は、垂直軸を中心としたエージェントの回転速度を指す。
いくつかの実装形態では、ポリシー出力は、可能性のある行動のセットにわたる確率分布である。いくつかの実装形態では、ポリシー出力は、エージェント108が観測に応答して特定の行動を実行した場合に受信されることになる長期時間割引報酬の推定値であるQ値でもよい。いくつかの実装形態では、ポリシー出力は、観察に応答して、エージェントによって実行された場合、最も高い長期時間割引報酬をもたらすと予測される特定の行動を識別してもよい。いくつかの実装形態では、ポリシー出力は、前に説明したポリシー出力の組合せである。
一般に、行動選択ポリシーニューラルネットワーク112は、入力観測画像104の符号化表現を生成する畳み込みエンコーダニューラルネットワーク、中間表現を生成するために入力観測画像の符号化表現を処理する中間ニューラルネットワーク、およびポリシー出力を生成するために中間表現を処理する出力ニューラルネットワークを含む。いくつかの実装形態では、中間ニューラルネットワークは、フィードフォワードニューラルネットワークである。たとえば、中間ニューラルネットワークは、多層パーセプトロン(MLP)であってもよい。いくつかの他の実装形態では、中間ニューラルネットワークは、リカレントニューラルネットワークである。これらの実装形態では、中間ニューラルネットワークは、長短期記憶(LSTM)ネットワーク、またはLSTMネットワークのスタックでもよい。LSTMネットワークのスタックは、最初のLSTMネットワークが符号化表現を処理し、後続の各LSTMネットワークが前のLSTMネットワークの出力を処理する複数のLSTMネットワークの順序付きセットである。いくつかの実装形態では、LSTMネットワークのスタックは、第1のLSTMネットワークの後に符号化表現をLSTMネットワークに提供するスキップ接続を含んでもよい。いくつかの実装形態では、出力ニューラルネットワークは、フィードフォワードニューラルネットワークである。たとえば、出力ニューラルネットワークはMLPでもよい。
行動選択ポリシーニューラルネットワーク112が、エージェント相対的な横および回転速度、前の時間ステップにおいてエージェントによって実行された行動、および前の時間ステップにおいてシステム100によって受信された報酬を含む観測画像104への追加の入力を受信するように構成される実装形態において、追加の入力は、行動選択ポリシーニューラルネットワーク112のエンコーダニューラルネットワークまたは中間ニューラルネットワークへの入力として提供されてもよい。追加の入力が中間ニューラルネットワークへの入力として提供される場合、入力観測画像の符号化表現および報酬は、中間ニューラルネットワークの第1の層に提供され、追加の入力は、第1の層の出力からの入力もまた有する中間ニューラルネットワークの第2の層に提供されてもよい。このようにして、第1の層は視覚的観察と報酬との間の関連付けをすることができ、それらは、そこからポリシーが計算される第2の層に提供される。
一般に、トレーニングエンジン118は、たとえば行動選択ポリシーニューラルネットワークのパラメータのセットの値を反復的に調整するために強化学習技法を使用することによって、システム100によって受信される長期時間割引報酬の合計などのシステム100によって受信される予想累積報酬を最大にするポリシー出力を生成するために、行動選択ポリシーニューラルネットワーク112をトレーニングする。強化学習技法の一例は、Volodymyr Mnih et. al., "Asynchronous methods for deep reinforcement learning," Proceedings of the 33rd International Conference on Machine Learning, 2016に記載される。
予想累積報酬を最大にするために行動選択ポリシーニューラルネットワーク112をトレーニングすることに加えて、トレーニングエンジン118は、行動選択ポリシーニューラルネットワーク112の中間出力を入力として受信するジオメトリ予測ニューラルネットワーク114をさらにトレーニングすることによって行動選択ポリシーニューラルネットワーク112をトレーニングしてもよい。ジオメトリ予測ニューラルネットワーク114をトレーニングすることによって、行動選択ポリシーニューラルネットワーク112のパラメータのセットの値を調整して、行動選択ポリシーニューラルネットワーク112に障害物回避および短期軌道計画を支援する観測104のより有用な表現を生成させ、非ゼロの報酬がごくまれにしか受信されない場合でも、予想累積報酬を最大にするために、行動選択ポリシーニューラルネットワーク112により効果的なポリシー出力を決定させる。
ジオメトリ予測ニューラルネットワーク114は、所与の観測画像を処理するとき、入力として行動選択ポリシーニューラルネットワーク112の中間出力を受信し、ジオメトリ予測ニューラルネットワークのパラメータのセットの値に従って入力を処理して現在の状態における環境のジオメトリの特徴の予測値を出力として生成する。いくつかの実装形態では、現在の状態における環境のジオメトリの特徴は、所与の観測画像によって特徴付けられる環境の深度、すなわち所与の観測画像の画素に対応する深度値であり、画素の深度値は、所与の観測画像をキャプチャしたエージェントセンサからその画素を含む所与の観測画像に示された面またはオブジェクトまでの距離に対応する。いくつかの実装形態では、現在の状態における環境のジオメトリの特徴は、環境における既知のランドマークからのエージェント108の距離である。いくつかの実装形態では、現在の状態における環境のジオメトリの特徴は、環境における既知のランドマークに対するエージェント108の方位である。いくつかの実装形態では、現在の状態における環境のジオメトリの特徴は、現在の状態における環境の観測画像、環境の予測される将来の観測画像、または以前に受信した環境の過去の観測画像の再構成である。いくつかの実装形態では、環境のジオメトリの特徴は、環境のジオメトリの前に説明した特徴の何らかの組合せである。いくつかの実装形態では、ジオメトリ予測ニューラルネットワーク114はフィードフォワードニューラルネットワークである。たとえば、ジオメトリ予測ニューラルネットワークはMLPでもよい。
行動選択ポリシーニューラルネットワーク112の中間出力は、入力としての所与の観測の処理に応答して、行動選択ポリシーニューラルネットワーク112の1つまたは複数の隠れ層の1つまたは複数のユニットで生成されたアクティブ化のセットである。いくつかの実装形態では、ジオメトリ予測ニューラルネットワーク114への入力として提供される行動選択ポリシーニューラルネットワーク112の中間出力は、行動選択ポリシーニューラルネットワーク112の畳み込みエンコーダニューラルネットワークによって生成された符号化表現である。いくつかの他の実装形態では、ジオメトリ予測ニューラルネットワーク114への入力として提供される行動選択ポリシーニューラルネットワーク112の中間出力は、行動選択ポリシーニューラルネットワーク112の中間ニューラルネットワークによって生成された中間表現である。いくつかの他の実装形態では、システム100は、2つのジオメトリ予測ニューラルネットワークを含み、一方のジオメトリ予測ニューラルネットワークは、入力として行動選択ポリシーニューラルネットワーク112の畳み込みエンコーダニューラルネットワークによって生成された符号化表現を受信し、他のジオメトリ予測ニューラルネットワークは、入力として行動選択ポリシーニューラルネットワーク112の中間ニューラルネットワークによって生成された中間表現を受信する。
トレーニングエンジン118は、ジオメトリの特徴の実際の値に基づくジオメトリベースの補助損失を最小にするジオメトリの特徴の予測値を生成するように、ジオメトリ予測ニューラルネットワーク114をトレーニングする。具体的には、トレーニングエンジン118は、ジオメトリベースの補助損失を最小にするために、ジオメトリ予測ニューラルネットワーク114のパラメータのセットの値を調整し、行動選択ポリシーニューラルネットワーク112のパラメータのセットの一部の値を調整するために、ジオメトリベースの補助損失の勾配を逆伝搬する。特に、トレーニングエンジン118は、(i)システム100がジオメトリ予測ニューラルネットワークへの入力として提供する、行動選択ポリシーニューラルネットワーク112の中間出力の1つまたは複数の隠れ層のうちの1つまたは複数のユニット、および(ii)システム100がジオメトリ予測ニューラルネットワークへの入力として提供する行動選択ポリシーニューラルネットワーク112の中間出力の1つまたは複数の隠れ層のうちの1つまたは複数のユニットにフィードフォワードするユニットに対応する行動選択ポリシーニューラルネットワークのパラメータを調整する。本明細書では、第1のユニットの出力が第2のユニットへの入力として直接または間接的に提供される場合、第1のユニットは、第2のユニットにフィードフォワードされると言われる。ジオメトリ予測ニューラルネットワーク114をトレーニングすることによって、行動選択ポリシーニューラルネットワーク112をトレーニングするための例示的なプロセスについて、図2を参照して説明する。
予想累積報酬を最大にするために、行動選択ポリシーニューラルネットワーク112をトレーニングすることに加えて、トレーニングエンジン118は、行動選択ポリシーニューラルネットワーク112の中間出力を入力として受信するループクロージャ予測ニューラルネットワーク114をさらにトレーニングすることによって、行動選択ポリシーニューラルネットワーク112をトレーニングしてもよい。ループクロージャ予測ニューラルネットワーク114をトレーニングすることによって、行動選択ポリシーニューラルネットワーク112のパラメータのセットの値を調整して、行動選択ポリシーニューラルネットワーク112に効率的な環境探査および空間的推論を支援する観測104のより有用な表現を生成させ、非ゼロの報酬がごくまれにしか受信されない場合でも、予想累積報酬を最大にするために、行動選択ポリシーニューラルネットワーク112により効果的なポリシー出力を決定させる。
ループクロージャ予測ニューラルネットワーク116は、所与の観測画像を処理するとき、行動選択ポリシーニューラルネットワーク112の中間出力を入力として受信し、ループクロージャ予測ニューラルネットワーク116のパラメータのセットの値に従って入力を処理して、環境が現在の状態にあるとき、エージェントがすでに訪れたことのある環境内のある場所に戻った予測尤度を表すスコアを出力として生成する。いくつかの実装形態では、エージェントは、エージェントが固定の前の時間ステップ数内にその場所を以前に訪れた場合にのみ、エージェントがすでに訪れたことのある環境内の場所に戻ったと見なされる。いくつかの実装形態では、ループクロージャ予測ニューラルネットワーク116は、フィードフォワードニューラルネットワークである。たとえば、ループクロージャ予測ニューラルネットワーク116は、MLPでもよい。
いくつかの実装形態では、ループクロージャ予測ニューラルネットワーク116への入力として提供される行動選択ポリシーニューラルネットワーク112の中間出力は、行動選択ポリシーニューラルネットワーク112の畳み込みエンコーダニューラルネットワークによって生成された符号化表現である。いくつかの他の実装形態では、ループクロージャ予測ニューラルネットワーク116への入力として提供される行動選択ポリシーニューラルネットワーク112の中間出力は、行動選択ポリシーニューラルネットワーク112の中間ニューラルネットワークによって生成された中間表現である。
トレーニングエンジン118は、現在の状態の場所と環境の以前の状態の場所との実際の類似性に基づくループクロージャ補助損失、および環境が現在の状態にあるとき、エージェントがすでに訪れたことのある環境内のある場所に戻った予測尤度を最小にするスコアを生成するためにループクロージャ予測ニューラルネットワーク116をトレーニングする。具体的には、トレーニングエンジン118は、ループクロージャ補助損失を最小にするために、ループクロージャ予測ニューラルネットワーク116のパラメータのセットの値を調整し、行動選択ポリシーニューラルネットワーク112のパラメータのセットの一部の値を調整するために、ループクロージャ補助損失の勾配を逆伝搬する。特に、トレーニングエンジン118は、(i)システム100がループクロージャ予測ニューラルネットワーク116への入力として提供する、行動選択ポリシーニューラルネットワーク112の中間出力の1つまたは複数の隠れ層のうちの1つまたは複数のユニット、および(ii)システム100がループクロージャ予測ニューラルネットワーク116への入力として提供する行動選択ポリシーニューラルネットワーク112の中間出力の1つまたは複数の隠れ層のうちの1つまたは複数のユニットにフィードフォワードするユニットに対応する行動選択ポリシーニューラルネットワークのパラメータを調整する。ループクロージャ予測ニューラルネットワーク116をトレーニングすることによって、行動選択ポリシーニューラルネットワーク112をトレーニングするための例示的なプロセスについて、図3を参照して説明する。
いくつかの実装形態では、トレーニングエンジン118は、行動選択ポリシーニューラルネットワーク、ジオメトリ予測ニューラルネットワーク、およびループクロージャ予測ニューラルネットワークをオンラインで、すなわち受信される観察および報酬に基づいてトレーニングする。たとえば、所与の時間ステップにおいて、システム100は、行動選択ポリシーニューラルネットワーク112によって生成されたポリシー出力に基づいて、エージェント108によって実行されるべき行動を選択し、報酬106を受信し、トレーニングエンジン118は、強化学習技法、補助ジオメトリベースの損失、およびループクロージャ補助損失のうちの1つまたは複数に基づいて勾配の逆伝搬を介して、システム100のニューラルネットワークのパラメータの値を更新してもよい。この例では、次の時間ステップにおいて、システム100は、行動選択ポリシーニューラルネットワーク112のパラメータの更新された値に従って、行動選択ポリシーニューラルネットワーク112によって生成されたポリシー出力に基づいて、エージェント108によって実行されるべき行動を選択する。いくつかの実装形態では、トレーニングエンジン118は、応答メモリに記憶された経験(すなわち、以前の時間ステップについての観測、行動、報酬を含むタプル)からネットワークをトレーニングする。トレーニングエンジン118は、オンポリシートレーニングまたはオフポリシートレーニング、または任意の他の適切な強化学習技法を使用してネットワークをトレーニングしてもよい。さらに、強化学習技法に基づく勾配の逆伝搬、補助ジオメトリベースの損失、およびループクロージャ補助損失は、勾配に基づいてネットワークのパラメータに対する調整のサイズを調整する異なる重み値に関連付けられる。
図2は、ジオメトリ予測ニューラルネットワークをトレーニングすることによって、行動選択ポリシーニューラルネットワークをトレーニングするための例示的なプロセス200のフロー図である。便宜上、プロセス200は、1つまたは複数の場所にある1つまたは複数のコンピュータを含むトレーニングエンジンによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラムされた図1のトレーニングエンジン118などのトレーニングエンジンはプロセス200を実行することができる。一般に、トレーニングエンジンは、複数の時間ステップの各々においてプロセス200を実行する。
システムは、環境の現在の状態を特徴付ける観測画像を含む入力を行動選択ポリシーニューラルネットワークに提供し、行動選択ポリシーニューラルネットワークは、ポリシー出力を生成するために、行動選択ポリシーニューラルネットワークのパラメータのセットの値に従って入力を処理する(ステップ202)。いくつかの実装形態では、観測画像は、RGB画像である。いくつかの実装形態では、行動選択ポリシーニューラルネットワークに提供される入力は、エージェント相対的な横および回転速度、前の時間ステップにおいてエージェントによって実行された行動、および前の時間ステップにおいてシステムによって受信された報酬などの追加の入力を含んでもよい。前の時間ステップによってシステムによって受信されたエージェント相対的な横および回転速度、ならびに報酬はベクトルとして表されてもよく、前の時間ステップにおいてエージェントによって実行された行動は、特にワンホット符号化ベクトルによって表されてもよい。一般に、観測画像は、行動選択ポリシーニューラルネットワークの畳み込みエンコーダニューラルネットワークへの入力として提供される。実装形態に応じて、追加の入力は、行動選択ポリシーニューラルネットワークのエンコーダニューラルネットワークまたは中間ニューラルネットワークへの入力として提供されてもよい。
システムは、行動選択ポリシーニューラルネットワークの中間出力をジオメトリ予測ニューラルネットワークへの入力として提供し、ジオメトリ予測ニューラルネットワークは、現在の状態における環境のジオメトリの特徴の予測値を出力として生成するために、ジオメトリ予測ニューラルネットワークのパラメータのセットの値に従って入力を処理する(ステップ206)。
いくつかの実装形態では、ジオメトリ予測ニューラルネットワークへの入力として提供される行動選択ポリシーニューラルネットワークの中間出力は、行動選択ポリシーニューラルネットワークの畳み込みエンコーダニューラルネットワークによって生成された符号化表現である。いくつかの他の実装形態では、ジオメトリ予測ニューラルネットワークへの入力として提供される行動選択ポリシーニューラルネットワークの中間出力は、行動選択ポリシーニューラルネットワークの中間ニューラルネットワークによって生成された中間表現である。いくつかの他の実装形態では、システムは、2つのジオメトリ予測ニューラルネットワークを含み、一方のジオメトリ予測ニューラルネットワークは、入力として行動選択ポリシーニューラルネットワークの畳み込みエンコーダニューラルネットワークによって生成された符号化表現を受信し、他のジオメトリ予測ニューラルネットワークは、入力として行動選択ポリシーニューラルネットワークの中間ニューラルネットワークによって生成された中間表現を受信する。
いくつかの実装形態では、現在の状態における環境のジオメトリの特徴は、所与の観測画像によって特徴付けられる環境の深度でもよい。いくつかのそのような実装形態では、ジオメトリ予測ニューラルネットワークによって出力される環境のジオメトリの特徴の値は、非負のスカラー値のアレイとして表され、アレイの各要素は、観測画像の対応する画素の予測深度値に対応する値を有する。いくつかの他のそのような実装形態では、ジオメトリ予測ニューラルネットワークによって出力される環境のジオメトリの特徴の値は、カテゴリー変数のアレイとして表され、各カテゴリー変数は、可能な深度値の範囲を表し、アレイの各要素は、観測画像の対応する画素の深度に対応するカテゴリー変数を含む。いくつかの場合には、カテゴリー変数は、可能な深度値の範囲を一様に細分する。いくつかの他の場合では、カテゴリー変数は、より低い深度値ではより粗く、より高い深度値ではより細かく可能な深度値の範囲を細分する。これらの実装形態のいくつかにおいて、アレイは、観測画像と同じ次元を有し、いくつかの他の実装形態において、計算効率の理由で、アレイは観測画像よりも小さい次元を有する。いくつかの実装形態では、現在の状態における環境のジオメトリの特徴は、環境における既知のランドマークからのエージェントの距離である。いくつかの実装形態では、現在の状態における環境のジオメトリの特徴は、環境における既知のランドマークに対するエージェントの方位である。いくつかの実装形態では、現在の状態における環境のジオメトリの特徴は、現在の状態における環境の観測画像、環境の将来の観測画像、または環境の過去の観測画像である。いくつかの実装形態では、環境のジオメトリの特徴は、環境のジオメトリの以前説明した特徴の何らかの組合せである。
エンジンは、ジオメトリベースの補助損失を最小にするために、ジオメトリ予測ニューラルネットワークのパラメータのセットの値を調整し、行動選択ポリシーニューラルネットワークのパラメータのセットの一部の値を調整するために、ジオメトリベースの補助損失の勾配を逆伝搬する(ステップ308)。一般に、ジオメトリベースの補助損失は、ジオメトリ予測ニューラルネットワークによって生成されたジオメトリの特徴の予測値とジオメトリの特徴の実際の値との差を測定する。ジオメトリの特徴の予測値が、観測の対応する画素についての予測深度値を表す非負のスカラー値のアレイの形態を有する場合、ジオメトリベースの補助損失は、予測深度値と実際の深度値との間の平均二乗誤差損失でもよい。ジオメトリの特徴の予測値が、観測の対応する画素についての予測深度値を表すカテゴリー変数のアレイの形態を有する場合、ジオメトリベースの補助損失は、各カテゴリー変数についてのクロスエントロピー損失関数の合計でもよい。
図3は、ループクロージャ予測ニューラルネットワークをトレーニングすることによって、行動選択ポリシーニューラルネットワークをトレーニングするための例示的なプロセス300のフロー図である。便宜上、プロセス300は、1つまたは複数の場所にある1つまたは複数のコンピュータを含むトレーニングエンジンによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラムされた図1のトレーニングエンジン118などのトレーニングエンジンは、プロセス300を実行することができる。一般に、トレーニングエンジンは、複数の時間ステップの各々においてプロセス300を実行する。
システムは、環境の現在の状態を特徴付ける観測画像を含む入力、およびいくつかの場合には、1つまたは複数の追加の入力を行動選択ポリシーニューラルネットワークに提供し、行動選択ポリシーニューラルネットワークは、ステップ202と同様、ポリシー出力を生成するために入力を処理する(ステップ302)。
システムは、行動選択ポリシーニューラルネットワークの中間出力をループクロージャ予測ニューラルネットワークへの入力として提供し、ループクロージャ予測ニューラルネットワークは、環境が現在の状態にあるとき、エージェントがすでに訪れたことのある環境内のある場所に戻ったという予測尤度を表すスコアを出力として生成するために、ループクロージャ予測ニューラルネットワークのパラメータのセットの値に従って入力を処理する(ステップ306)。いくつかの実装形態では、エージェントは、エージェントが固定の前の時間ステップ数内にその場所を以前に訪れた場合にのみ、エージェントがすでに訪れたことのある環境内の場所に戻ったと見なされる。
いくつかの実装形態では、ループクロージャ予測ニューラルネットワークへの入力として提供される行動選択ポリシーニューラルネットワークの中間出力は、行動選択ポリシーニューラルネットワークの畳み込みエンコーダニューラルネットワークによって生成された符号化表現である。いくつかの他の実装形態では、ループクロージャ予測ニューラルネットワークへの入力として提供される行動選択ポリシーニューラルネットワークの中間出力は、行動選択ポリシーニューラルネットワークの中間ニューラルネットワークによって生成された中間表現である。
エンジンは、ループクロージャ補助損失を最小にするために、ループクロージャ予測ニューラルネットワークのパラメータのセットの値を調整し、行動選択ポリシーニューラルネットワークのパラメータのセットの一部の値を調整するために、ループクロージャ補助損失の勾配を逆伝搬する(ステップ308)。一般に、ループクロージャ補助損失は、環境の以前の状態に対する現在の状態の実際の類似性、およびループクロージャ予測ニューラルネットワークによって生成された、エージェントがすでに訪れたことのある環境内のある場所に戻ったという予測尤度に基づく。しかしながら、追加または代替として、位置の類似性の尺度は、以前に訪れた場所と同様の場所にエージェントが戻ったかどうかを判定するために、エージェント相対的な横速度を積分することによって取得されてもよい。いくつかの実装形態では、ループクロージャ補助損失は、ループクロージャ予測ニューラルネットワークによって生成された予測尤度とバイナリラベルとの間のベルヌイ損失である。これらの実装形態では、現在の時間ステップにおけるエージェントの場所が、特定の以前の時間ステップにおけるエージェントの場所の第1のしきい値距離以内であり、エージェントの場所が、特定の時間ステップと現在の時間ステップとの間の任意の時間ステップにおけるエージェントの現在の場所から少なくとも第2のしきい値距離だけずれている場合、バイナリラベルは値1を有し、そうでなければ値0を有する。バイナリラベルの値は、連続する時間ステップ間のささいなループクロージャにラベル値1を割り当るのを回避するために、第2のしきい値に依存する。したがって、いくつかの実装形態では、ループクロージャ予測は、エージェントがある場所に戻る前にその場所から第2のしきい値距離よりも大きく場所を通過するという条件を含む。
いくつかの実装形態では、ループクロージャ損失からの勾配は、システムをトレーニングするときに、ジオメトリ予測からの勾配と重み付き和で組み合わせてもよい。重みは、システムのハイパーパラメータでもよい。
本明細書は、システムおよびコンピュータプログラム構成要素に関して「構成される」という用語を使用する。1つまたは複数のコンピュータのシステムが特定の動作または行動を実行するように構成されるとは、システムが、動作中、システムに動作または行動を実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしていることを意味する。1つまたは複数のコンピュータプログラムが特定の動作または行動を実行するように構成されるとは、1つまたは複数のプログラムが、データ処理装置によって実行されると、装置に動作または行動を実行させる命令を含むことを意味する。
本明細書に記載された主題および機能的動作の実施形態は、デジタル電子回路、有形に実施されたコンピュータソフトウェアまたはファームウェア、本明細書に開示される構造およびそれらの構造的均等物を含むコンピュータハードウェア、またはそれらの1つもしくは複数の組合せに実装することができる。本明細書に記載される主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわちデータ処理装置によって実行される、またはデータ処理装置の動作を制御するための有形の非一時的記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、またはそれらの1つもしくは複数の組合せとすることができる。代替的にまたは追加として、プログラム命令は、人工的に生成された伝搬信号、たとえばデータ処理装置によって実行するための適切な受信装置への送信のために情報を符号化するために生成された機械生成電気、光学、または電磁信号上で符号化することができる。
「データ処理装置」という用語は、データ処理ハードウェアを指し、たとえばプログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイスおよび機械を包含する。装置は、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路でもよく、またはそれをさらに含むことができる。装置は、随意に、ハードウェアに加えて、コンピュータプログラムの実行環境を生成するコード、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの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つまたは複数の特徴を、組合せから削除することができ、請求された組合せは、部分組合せ、または部分組合せの変形を対象としてもよい。
同様に、動作が図面に示され、特許請求の範囲に特定の順序で記載されるが、これは、そのような動作が、示された特定の順序で、または順番に実行されること、あるいは望ましい結果を達成するために、図示されたすべての動作が実行されることを必要とするものとして理解されないものとする。いくつかの状況では、マルチタスキングおよび並列処理が有利であってもよい。さらに、上述した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものと理解されないものとし、記述されたプログラム構成要素およびシステムを一般に単一のソフトウェア製品に一緒に組み入れることができ、または複数のソフトウェア製品にパッケージ化することができることを理解されたい。
主題の特定の実施形態が記載される。他の実施形態は、以下の特許請求の範囲内にある。たとえば、特許請求の範囲に列挙された行動は、異なる順序で実行され、依然として望ましい結果を達成することができる。一例として、添付の図面に示されるプロセスは、望ましい結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。いくつかの場合には、マルチタスキングおよび並列処理が有利である場合がある。
100 強化学習システム
102 環境
104 観測画像
106 報酬
108 エージェント
110 行動
112 行動選択ポリシーニューラルネットワーク
114 ジオメトリ予測ニューラルネットワーク
116 ループクロージャ予測ニューラルネットワーク
118 トレーニングエンジン

Claims (20)

1つまたは複数の目標を達成するために環境を通じてナビゲートするエージェントによって実行されるべき行動を選択する際に使用するための複数のネットワークパラメータを有する行動選択ニューラルネットワークのトレーニングのコンピュータ実装方法であって、
前記環境の現在の状態を特徴付ける観測を受信するステップと、
前記行動選択ニューラルネットワークを使用して前記ネットワークパラメータの現在値に従って、前記行動を実施するように前記エージェントを制御する際に使用するための行動選択出力を生成するために前記観測を備える入力を処理するステップと、
ループクロージャ予測ニューラルネットワークを使用して、前記環境が前記現在の状態にあるとき、前記エージェントがすでに訪れたことのある前記環境内のある場所に戻ったかどうかを特徴づけるープクロージャ特徴の値を予測するために、前記行動選択ニューラルネットワークによって生成された中間出力を処理するステップと、
前記ループクロージャ特徴の実際の値を決定するステップと、
前記ループクロージャ特徴の前記値の前記予測と前記ループクロージャ特徴の前記実際の値との間の誤差に基づいて、前記行動選択ニューラルネットワークの前記ネットワークパラメータの前記現在値についてのループクロージャベースの補助更新を決定するステップであって、
前記ループクロージャ特徴の前記値の前記予測と前記ループクロージャ特徴の前記実際の値との間の前記誤差に基づいてループクロージャベースの補助損失の勾配を決定するステップと、
前記ネットワークパラメータの前記現在値についての前記ループクロージャベースの補助更新を決定するために、前記ループクロージャベースの補助損失の前記勾配を前記行動選択ニューラルネットワークに逆伝搬するステップと
を備える、ステップと
を備える、方法。
前記ループクロージャ特徴の前記実際の値を決定するステップが、
現在の時間ステップにおける前記環境内の前記エージェントの現在の位置が、特定の以前の時間ステップにおける前記環境内の前記エージェントの特定の以前の位置の第1のしきい値距離以内であるかどうかを判定するステップと、
前記環境内の前記エージェントの位置が前記特定の以前の時間ステップと前記現在の時間ステップとの間の時間ステップにおける前記エージェントの前記現在の場所から少なくとも第2のしきい値距離だけずれているかどうかを判定するステップと
を備える、請求項1に記載の方法。
前記行動選択ニューラルネットワークが、
前記入力の符号化表現を生成する畳み込みエンコーダニューラルネットワークと、
中間表現を生成するために前記入力の前記符号化表現を処理する中間ニューラルネットワークと、
前記行動選択出力を生成するために、前記中間表現を処理する出力ニューラルネットワークと
を備える、請求項1に記載の方法。
前記中間出力が前記符号化表現を備える、請求項3に記載の方法。
前記中間出力が前記中間表現を備える、請求項3に記載の方法。
前記中間ニューラルネットワークがリカレントニューラルネットワークを備える、請求項3に記載の方法。
前記中間ニューラルネットワークがフィードフォワードニューラルネットワークを備える、請求項3に記載の方法。
前記行動選択出力を使用して、前記環境が前記現在の状態にあるとき、前記エージェントによって実行されるべき行動を選択するステップと、
前記1つまたは複数の目標を達成する方に向かう進捗に基づいて報酬を受信するステップと、
前記報酬に少なくとも部分的に基づいて、前記行動選択ニューラルネットワークの前記ネットワークパラメータの主な更新を決定するステップと
をさらに備える、請求項1に記載の方法。
前記行動選択ニューラルネットワークの前記ネットワークパラメータの前記現在値を更新するために、前記ループクロージャベースの補助更新および前記主な更新を使用するステップ
をさらに備える、請求項8に記載の方法。
更新されたパラメータ値を生成するために、前記ループクロージャベースの補助更新を使用して、前記行動選択ニューラルネットワークの前記ネットワークパラメータの前記現在値を更新するステップと、
前記更新されたパラメータ値に従って前記エージェントによって実行されるべき行動を選択するために、前記行動選択ニューラルネットワークを使用するステップと
をさらに備える、請求項1に記載の方法。
システムであって、
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータに通信可能に結合される1つまたは複数の記憶デバイスであって、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、1つまたは複数の目標を達成するために環境を通じてナビゲートするエージェントによって実行されるべき行動を選択する際に使用するための複数のネットワークパラメータを有する行動選択ニューラルネットワークをトレーニングするための動作を実施させる命令を記憶し、前記動作が、
前記環境の現在の状態を特徴付ける観測を受信することと、
前記行動選択ニューラルネットワークを使用して前記ネットワークパラメータの現在値に従って、前記行動を実施するように前記エージェントを制御する際に使用するための行動選択出力を生成するために前記観測を備える入力を処理することと、
ループクロージャ予測ニューラルネットワークを使用して、前記環境が前記現在の状態にあるとき、前記エージェントがすでに訪れたことのある前記環境内のある場所に戻ったかどうかを特徴づけるープクロージャ特徴の値を予測するために、前記行動選択ニューラルネットワークによって生成された中間出力を処理することと、
前記ループクロージャ特徴の実際の値を決定することと、
前記ループクロージャ特徴の前記値の前記予測と前記ループクロージャ特徴の前記実際の値との間の誤差に基づいて、前記行動選択ニューラルネットワークの前記ネットワークパラメータの前記現在値についてのループクロージャベースの補助更新を決定することであって、
前記ループクロージャ特徴の前記値の前記予測と前記ループクロージャ特徴の前記実際の値との間の前記誤差に基づいてループクロージャベースの補助損失の勾配を決定することと、
前記ネットワークパラメータの前記現在値についての前記ループクロージャベースの補助更新を決定するために、前記ループクロージャベースの補助損失の前記勾配を前記行動選択ニューラルネットワークに逆伝搬することと
を備える、決定することと
を備える、1つまたは複数の記憶デバイスと
を備える、システム。
前記ループクロージャ特徴の前記実際の値を決定することが、
現在の時間ステップにおける前記環境内の前記エージェントの現在の位置が、特定の以前の時間ステップにおける前記環境内の前記エージェントの特定の以前の位置の第1のしきい値距離以内であるかどうかを判定するステップと、
前記環境内の前記エージェントの位置が前記特定の以前の時間ステップと前記現在の時間ステップとの間の時間ステップにおける前記エージェントの前記現在の場所から少なくとも第2のしきい値距離だけずれているかどうかを判定するステップと
を備える、請求項11に記載のシステム。
前記行動選択ニューラルネットワークが、
前記入力の符号化表現を生成する畳み込みエンコーダニューラルネットワークと、
中間表現を生成するために前記入力の前記符号化表現を処理する中間ニューラルネットワークと、
前記行動選択出力を生成するために、前記中間表現を処理する出力ニューラルネットワークと
を備える、請求項11に記載のシステム。
前記中間出力が前記符号化表現を備える、請求項13に記載のシステム。
前記中間出力が前記中間表現を備える、請求項13に記載のシステム。
前記中間ニューラルネットワークがリカレントニューラルネットワークを備える、請求項13に記載のシステム。
1つまたは複数のコンピュータ記憶媒体であって、
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、1つまたは複数の目標を達成するために環境を通じてナビゲートするエージェントによって実行されるべき行動を選択する際に使用するための複数のネットワークパラメータを有する行動選択ニューラルネットワークをトレーニングするための動作を実施させる命令を記憶し、前記動作が、
前記環境の現在の状態を特徴付ける観測を受信することと、
前記行動選択ニューラルネットワークを使用して前記ネットワークパラメータの現在値に従って、前記行動を実施するように前記エージェントを制御する際に使用するための行動選択出力を生成するために前記観測を備える入力を処理することと、
ループクロージャ予測ニューラルネットワークを使用して、前記環境が前記現在の状態にあるとき、前記エージェントがすでに訪れたことのある前記環境内のある場所に戻ったかどうかを特徴づけるープクロージャ特徴の値を予測するために、前記行動選択ニューラルネットワークによって生成された中間出力を処理することと、
前記ループクロージャ特徴の実際の値を決定することと、
前記ループクロージャ特徴の前記値の前記予測と前記ループクロージャ特徴の前記実際の値との間の誤差に基づいて、前記行動選択ニューラルネットワークの前記ネットワークパラメータの前記現在値についてのループクロージャベースの補助更新を決定することであって、
前記ループクロージャ特徴の前記値の前記予測と前記ループクロージャ特徴の前記実際の値との間の前記誤差に基づいてループクロージャベースの補助損失の勾配を決定することと、
前記ネットワークパラメータの前記現在値についての前記ループクロージャベースの補助更新を決定するために、前記ループクロージャベースの補助損失の前記勾配を前記行動選択ニューラルネットワークに逆伝搬することと
を備える、決定することと
を備える、コンピュータ記憶媒体。
前記ループクロージャ特徴の前記実際の値を決定することが、
現在の時間ステップにおける前記環境内の前記エージェントの現在の位置が、特定の以前の時間ステップにおける前記環境内の前記エージェントの特定の以前の位置の第1のしきい値距離以内であるかどうかを判定するステップと、
前記環境内の前記エージェントの位置が前記特定の以前の時間ステップと前記現在の時間ステップとの間の時間ステップにおける前記エージェントの前記現在の場所から少なくとも第2のしきい値距離だけずれているかどうかを判定するステップと
を備える、請求項17に記載のコンピュータ記憶媒体。
前記行動選択ニューラルネットワークが、
前記入力の符号化表現を生成する畳み込みエンコーダニューラルネットワークと、
中間表現を生成するために前記入力の前記符号化表現を処理する中間ニューラルネットワークと、
前記行動選択出力を生成するために、前記中間表現を処理する出力ニューラルネットワークと
を備える、請求項17に記載のコンピュータ記憶媒体
前記中間出力が前記符号化表現を備える、請求項19に記載のコンピュータ記憶媒体
JP2020112836A 2016-11-04 2020-06-30 強化学習を使用した環境ナビゲーション Active JP6935550B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662418074P 2016-11-04 2016-11-04
US62/418,074 2016-11-04
JP2019523617A JP6728496B2 (ja) 2016-11-04 2017-11-04 強化学習を使用した環境ナビゲーション

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019523617A Division JP6728496B2 (ja) 2016-11-04 2017-11-04 強化学習を使用した環境ナビゲーション

Publications (2)

Publication Number Publication Date
JP2020170535A JP2020170535A (ja) 2020-10-15
JP6935550B2 true JP6935550B2 (ja) 2021-09-15

Family

ID=60655008

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019523617A Active JP6728496B2 (ja) 2016-11-04 2017-11-04 強化学習を使用した環境ナビゲーション
JP2020112836A Active JP6935550B2 (ja) 2016-11-04 2020-06-30 強化学習を使用した環境ナビゲーション

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019523617A Active JP6728496B2 (ja) 2016-11-04 2017-11-04 強化学習を使用した環境ナビゲーション

Country Status (7)

Country Link
US (2) US10572776B2 (ja)
EP (2) EP4386624A2 (ja)
JP (2) JP6728496B2 (ja)
KR (1) KR102228503B1 (ja)
CN (2) CN110088774B (ja)
DE (1) DE202017106697U1 (ja)
WO (1) WO2018083672A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10955852B2 (en) * 2017-02-28 2021-03-23 Honda Research Institute Europe Gmbh Navigation system based on slow feature gradients
DE102017215007A1 (de) * 2017-08-28 2019-02-28 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum situativen Steuern eines Fahrzeugflottensystems
JP7011472B2 (ja) * 2018-01-15 2022-01-26 キヤノン株式会社 情報処理装置、情報処理方法
EP3743853A1 (en) * 2018-05-09 2020-12-02 Deepmind Technologies Limited Performing navigation tasks using grid codes
CA3103470A1 (en) 2018-06-12 2019-12-19 Intergraph Corporation Artificial intelligence applications for computer-aided dispatch systems
CN109190720B (zh) * 2018-07-28 2021-08-06 深圳市商汤科技有限公司 智能体强化学习方法、装置、设备及介质
US10748039B2 (en) * 2018-09-27 2020-08-18 Deepmind Technologies Limited Reinforcement learning neural networks grounded in learned visual entities
CN109919319A (zh) * 2018-12-31 2019-06-21 中国科学院软件研究所 基于多个历史最佳q网络的深度强化学习方法及设备
US11313950B2 (en) 2019-01-15 2022-04-26 Image Sensing Systems, Inc. Machine learning based highway radar vehicle classification across multiple lanes and speeds
US11587552B2 (en) 2019-04-30 2023-02-21 Sutherland Global Services Inc. Real time key conversational metrics prediction and notability
EP3942550A1 (en) * 2019-05-06 2022-01-26 Google LLC Performing subtask(s) for a predicted action in response to a separate user interaction with an automated assistant prior to performance of the predicted action
US11467588B2 (en) * 2019-07-03 2022-10-11 Denso International America, Inc. Systems and methods for controlling an autonomous vehicle using target orientated artificial intelligence
US20210073912A1 (en) * 2019-09-05 2021-03-11 Royal Bank Of Canada System and method for uncertainty-based advice for deep reinforcement learning agents
WO2021061266A1 (en) * 2019-09-24 2021-04-01 Hrl Laboratories, Llc A deep reinforcement learning based method for surreptitiously generating signals to fool a recurrent neural network
CN110824954A (zh) * 2019-10-24 2020-02-21 北京仿真中心 智能体训练方法及***、计算机设备、可读存储介质
KR20210064445A (ko) 2019-11-25 2021-06-03 삼성전자주식회사 반도체 공정 시뮬레이션 시스템 및 그것의 시뮬레이션 방법
CN111178496A (zh) * 2019-11-30 2020-05-19 浙江大学 多代理强化学习合作任务场景下的代理间交换知识的方法
DE102020100641B4 (de) * 2020-01-14 2024-06-27 Bayerische Motoren Werke Aktiengesellschaft System für Planungsaufgaben
US11610128B2 (en) * 2020-03-31 2023-03-21 Amazon Technologies, Inc. Neural network training under memory restraint
KR102272501B1 (ko) * 2020-04-24 2021-07-01 연세대학교 산학협력단 분산 강화 학습 장치 및 방법
CN111496794B (zh) * 2020-04-29 2022-04-01 华中科技大学 一种基于仿真工业机器人的运动学自抓取学习方法和***
KR102409041B1 (ko) * 2020-05-07 2022-06-15 (주)밸류파인더스 액터 크리틱 모델을 이용한 포트폴리오 자산배분 강화학습방법
EP3920103A1 (en) * 2020-06-05 2021-12-08 Robert Bosch GmbH Device and method for planning an operation of a technical system
US20210390778A1 (en) * 2020-06-10 2021-12-16 Nvidia Corporation Environment generation using one or more neural networks
KR102345267B1 (ko) * 2020-10-12 2021-12-31 서울대학교산학협력단 목표 지향적 강화학습 방법 및 이를 수행하기 위한 장치
KR102236640B1 (ko) * 2020-10-28 2021-04-06 주식회사 스파이스웨어 강화학습 기반의 난수 생성 장치 및 방법
CN114518762B (zh) * 2022-04-20 2022-07-22 长沙小钴科技有限公司 机器人避障装置、避障控制方法和机器人
CN116824303B (zh) * 2023-07-06 2024-01-26 哈尔滨工业大学 基于损伤驱动和多模态多任务学习的结构巡检智能体导航方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016050290A1 (en) * 2014-10-01 2016-04-07 Metaio Gmbh Method and system for determining at least one property related to at least part of a real environment
US10628733B2 (en) * 2015-04-06 2020-04-21 Deepmind Technologies Limited Selecting reinforcement learning actions using goals and observations

Also Published As

Publication number Publication date
US11074481B2 (en) 2021-07-27
US20190266449A1 (en) 2019-08-29
JP2020170535A (ja) 2020-10-15
KR102228503B1 (ko) 2021-03-16
EP3523762A1 (en) 2019-08-14
EP3523762B1 (en) 2024-06-12
JP2019537137A (ja) 2019-12-19
CN110088774A (zh) 2019-08-02
CN110088774B (zh) 2023-08-18
WO2018083672A1 (en) 2018-05-11
DE202017106697U1 (de) 2018-03-09
US20200151515A1 (en) 2020-05-14
US10572776B2 (en) 2020-02-25
JP6728496B2 (ja) 2020-07-22
CN117371492A (zh) 2024-01-09
EP4386624A2 (en) 2024-06-19
KR20190077067A (ko) 2019-07-02

Similar Documents

Publication Publication Date Title
JP6935550B2 (ja) 強化学習を使用した環境ナビゲーション
CN110692066B (zh) 使用多模态输入选择动作
JP7235813B2 (ja) 補助タスクを伴う強化学習
CN108027897B (zh) 利用深度强化学习的连续控制
US11727281B2 (en) Unsupervised control using learned rewards
US11627165B2 (en) Multi-agent reinforcement learning with matchmaking policies
US20210201156A1 (en) Sample-efficient reinforcement learning
CN110088775B (zh) 使用加强学习的环境预测
CN111316295A (zh) 使用分布式优先化回放的强化学习
CN110546653A (zh) 使用神经网络的用于强化学习的动作选择
JP7354460B2 (ja) ブートストラップされた潜在性の予測を使用するエージェント制御のための学習環境表現
CN113330458A (zh) 使用潜在计划控制代理
KR20230010746A (ko) 상대 엔트로피 q-러닝을 사용한 액션 선택 시스템 트레이닝

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210719

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: 20210802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210825

R150 Certificate of patent or registration of utility model

Ref document number: 6935550

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150