(57)【要約】      （修正有）【課題】行動選択ポリシーＮＮ（ニューラルネットワーク）のトレーニングを向上させる。【解決手段】1つまたは複数の目標を達成するために環境をナビゲートするエージェントによって実行されるべき行動を選択する際に使用するための行動選択ポリシーをトレーニングする方法であって、環境の現在の状態を特徴付ける観測画像を受信するステップと、行動選択ポリシーＮＮを使用して、行動選択出力を生成するために、観測画像を含む入力を処理するステップと、ジオメトリ予測ＮＮを使用して、現在の状態にあるとき、環境のジオメトリの特徴の値を予測するために、行動選択ポリシーＮＮによって生成された中間出力を処理するステップと、ネットワークパラメータの現在値についてのジオメトリベースの補助更新を決定するために、ジオメトリベースの補助損失の勾配を行動選択ポリシーＮＮに逆伝搬するステップと、を含む。【選択図】図２
2020170535.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数の目標を達成するために環境をナビゲートするエージェントによって実行されるべき行動を選択する際に使用するための複数のネットワークパラメータを有する行動選択ポリシーニューラルネットワークをトレーニングする方法であって、
前記環境の現在の状態を特徴付ける観測画像を受信するステップと、
前記行動選択ポリシーニューラルネットワークを使用して前記ネットワークパラメータの現在値に従って、行動選択出力を生成するために前記観測画像を含む入力を処理するステップと、
ジオメトリ予測ニューラルネットワークを使用して、前記現在の状態にあるとき、前記環境のジオメトリの特徴の値を予測するために、前記行動選択ポリシーニューラルネットワークによって生成された中間出力を処理するステップと、
前記特徴の実際の値と前記特徴の前記予測値とに基づくジオメトリベースの補助損失の勾配を決定するステップと、
前記ネットワークパラメータの前記現在値についてのジオメトリベースの補助更新を決定するために、前記ジオメトリベースの補助損失の前記勾配を前記行動選択ポリシーニューラルネットワークに逆伝搬するステップと
を含む、方法。
【請求項２】
前記ジオメトリの前記特徴の前記予測値が、前記観測画像によって特徴付けられる前記環境の予測深度であり、前記ジオメトリの前記特徴の前記実際の値が、前記観測画像によって特徴付けられる前記環境の実際の深度である、請求項1に記載の方法。
【請求項３】
前記行動選択ポリシーニューラルネットワークが、
前記入力の符号化表現を生成する畳み込みエンコーダニューラルネットワークと、
中間表現を生成するために前記入力の前記符号化表現を処理する中間ニューラルネットワークと、
前記行動選択出力を生成するために、前記中間表現を処理する出力ニューラルネットワークと
を含む、請求項1または2に記載の方法。
【請求項４】
前記中間出力が前記符号化表現を含む、請求項3に記載の方法。
【請求項５】
前記中間出力が前記中間表現を含む、請求項3に記載の方法。
【請求項６】
前記環境が前記現在の状態にあるとき、前記エージェントがすでに訪れたことのある前記環境内のある場所に戻った予測尤度を表すスコアを生成するように構成されるループクロージャ予測ニューラルネットワークを使用して、前記中間表現を処理するステップと、
前記環境の前記現在の状態と以前の状態との実際の類似性、および前記予測尤度に基づくループクロージャ補助損失の勾配を決定するステップと、
前記ネットワークパラメータの前記現在値についてのループクロージャ補助更新を決定するために、前記ループクロージャ補助損失の前記勾配を前記行動選択ポリシーニューラルネットワークに逆伝搬するステップと
をさらに含む、請求項3から5のいずれか一項に記載の方法。
【請求項７】
前記中間ニューラルネットワークがリカレントニューラルネットワークを含む、請求項3から6のいずれか一項に記載の方法。
【請求項８】
前記中間ニューラルネットワークがフィードフォワードニューラルネットワークを含む、請求項3から6のいずれか一項に記載の方法。
【請求項９】
前記行動選択出力を使用して、前記環境が前記現在の状態にあるとき、前記エージェントによって実行されるべき行動を選択するステップと、
前記1つまたは複数の目標を達成する方に向かう進捗に基づいて報酬を受信するステップと、
前記報酬に少なくとも部分的に基づいて、前記ネットワークパラメータの主な更新を決定するステップと
をさらに含む、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記ネットワークパラメータの前記現在値を更新するために、前記ジオメトリベースの補助更新および前記主な更新を使用するステップ
をさらに含む、請求項9に記載の方法。
【請求項１１】
更新されたパラメータ値を生成するために、前記ジオメトリベースの補助更新を使用して、前記ネットワークパラメータの前記現在値を更新するステップと、
前記更新されたパラメータ値に従って前記エージェントによって実行されるべき行動を選択するために、前記行動選択ポリシーニューラルネットワークを使用するステップと
をさらに含む、請求項1から10のいずれか一項に記載の方法。
【請求項１２】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項1から11のいずれか一項に記載の前記それぞれの方法の前記動作を実行させる命令を記憶する1つまたは複数の記憶デバイスとを備える、システム。
【請求項１３】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項1から11のいずれか一項に記載の前記それぞれの方法の前記動作を実行させる命令を記憶する、1つまたは複数のコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、強化学習に関する。
【背景技術】
【０００２】
強化学習システムでは、エージェントは、環境の現在の状態を特徴付ける観測を受信したことに応答して、強化学習システムによって選択された行動を実行することによって環境と対話する。
【０００３】
いくつかの強化学習システムは、ニューラルネットワークの出力に従って、所与の観測を受信したことに応答して、エージェントによって実行されるべき行動を選択する。
【０００４】
ニューラルネットワークは、非線形ユニットの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  トレーニングエンジン
【図１】
2020170535.tif 000003
【図２】
2020170535.tif 000004
【図３】
2020170535.tif 000005
【手続補正書】
【提出日】令和2年7月6日(2020.7.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
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に記載のコンピュータ記憶媒体。
【外国語明細書】
2020170535000001.pdf