(57)【特許請求の範囲】
【請求項１】
環境と相互作用するエージェントによって実行されるべきアクションをアクションのセットから選択するシステムであって、前記システムは、
1つまたは複数のコンピュータによって実装されたデュエリングディープニューラルネットワークを備え、前記デュエリングディープニューラルネットワークは、
前記環境の現在の状態を特徴付けるオブザーベーションの表現を受信し、
前記オブザーベーションの前記表現を処理して、バリュー推定を生成するように構成された
バリューサブネットワークであって、前記バリュー推定が、前記現在の状態にある前記環境によって生じる、予想されるリターンの推定である、バリューサブネットワークと、
前記オブザーベーションの前記表現を受信し、
前記オブザーベーションの前記表現を処理して、前記環境が前記現在の状態にある場合に前記エージェントが他のアクションを実行することによって生じるリターンと比較して、前記環境が前記現在の状態にある場合に前記エージェントがアクションを実行することによって生じるリターンの相対的な測定の推定である、前記アクションのセットの中の各アクションに対する各アドバンテージ推定を生成するように構成された
アドバンテージサブネットワークと、
各アクションに対して、前記バリュー推定および前記アクションに対する前記各アドバンテージ推定を結合して、前記アクションに対する各Q値を生成するように構成された結合層であって、前記各Q値は、前記環境が前記現在の状態にある場合に前記エージェントが前記アクションを実行することによって生じる、予想されるリターンの推定である、結合層とを備える、システム。
【請求項２】
前記システムは、1つまたは複数の第2のコンピュータと、前記1つまたは複数の第2のコンピュータに実行された場合に、前記1つまたは複数の第2のコンピュータに以下の動作を実行させる命令を記憶する1つまたは複数の記憶装置とを備え、前記動作は、
前記アクションのセットの中の前記アクションに対する前記各Q値を使用して、前記オブザーベーションに応答して前記エージェントによって実行されるべきアクションを選択するステップを含む、請求項１のシステム。
【請求項３】
前記デュエリングディープニューラルネットワークは、
前記オブザーベーションを受信し、
前記オブザーベーションを処理して、前記オブザーベーションの前記表現を生成するように構成された
1つまたは複数の初期ニューラルネットワーク層をさらに含む、請求項２のシステム。
【請求項４】
前記オブザーベーションは、画像であり、前記1つまたは複数の初期ニューラルネットワーク層は、畳み込みニューラルネットワーク層である、請求項３のシステム。
【請求項５】
前記オブザーベーションの前記表現は、前記オブザーベーションである、請求項１〜４の何れか一項に記載のシステム。
【請求項６】
前記バリュー推定および前記各アドバンテージ推定を結合することは、
前記アクションのセットの中の前記アクションに対する前記各アドバンテージ推定の中心傾向の測定を決定することと、
前記中心傾向の測定を使用して前記アクションに対する前記各アドバンテージ推定を調整することによって、前記アクションに対する各調整済みアドバンテージ推定を決定することと、
前記アクションに対する前記各アドバンテージ推定、および前記バリュー推定を結合して、前記アクションに対する前記各Q値を決定することとを含む、請求項１〜５の何れか一項に記載のシステム。
【請求項７】
前記バリューサブネットワークは、パラメータの第1のセットを有し、前記アドバンテージサブネットワークは、別のパラメータの第2のセットを有する、請求項１〜６の何れか一項に記載のシステム。
【請求項８】
前記アクションのセットの中の前記アクションに対する前記各Q値を使用して、前記オブザーベーションに応答して前記エージェントによって実行されるべきアクションを選択することは、
最も高いQ値を有するアクションを、前記エージェントによって実行されるべきアクションとして選択することを含む、請求項２〜７の何れか一項に記載のシステム。
【請求項９】
前記アクションのセットの中の前記アクションに対する前記各Q値を使用して、前記オブザーベーションに応答して前記エージェントによって実行されるべきアクションを選択することは、
確率εにより、前記アクションのセットからランダムアクションを選択することと、
確率1-εにより、最も高いQ値を有するアクションを選択することとを含む、請求項２〜８の何れか一項に記載のシステム。
【請求項１０】
バリューサブネットワークおよびアドバンテージサブネットワークを備えたデュエリングディープニューラルネットワークを使用して、環境と相互作用するエージェントによって実行されるべきアクションをアクションのセットから選択する方法であって、前記方法は、
前記環境の現在の状態を特徴付けるオブザーベーションの表現を取得するステップと、
前記バリューサブネットワークを使用して、前記オブザーベーションの前記表現を処理するステップであって、前記バリューサブネットワークは、
前記オブザーベーションの前記表現を受信し、
前記オブザーベーションの前記表現を処理して、バリュー推定を生成するように構成され、前記バリュー推定は、前記環境が前記現在の状態にあることによって生じる、予想されるリターンの推定である、ステップと、
前記アドバンテージサブネットワークを使用して、前記オブザーベーションの前記表現を処理するステップであって、前記アドバンテージサブネットワークは、
前記オブザーベーションの前記表現を受信し、
前記オブザーベーションの前記表現を処理して、前記環境が前記現在の状態にある場合に前記エージェントが他のアクションを実行することによって生じるリターンと比較して、前記環境が前記現在の状態にある場合にエージェントがアクションを実行することによって生じるリターンの相対的な測定の推定である、前記アクションのセットの中の各アクションに対する各アドバンテージ推定を生成するように構成される、ステップと、
各アクションに対して、前記アクションに対する各Q値を生成するために、前記バリュー推定および前記アクションに対する前記各アドバンテージ推定を結合するステップであって、前記各Q値は、前記環境が前記現在の状態にある場合にエージェントが前記アクションを実行することによって生じる、予想されるリターンの推定である、ステップと、
前記アクションのセットの中の前記アクションに対する前記各Q値を使用して、前記オブザーベーションに応答して前記エージェントによって実行されるべきアクションを選択するステップと、を含む方法。
【請求項１１】
前記デュエリングディープニューラルネットワークは、1つまたは複数の初期ニューラルネットワーク層をさらに含み、前記方法は、
前記1つまたは複数の初期ニューラルネットワーク層を使用して、前記オブザーベーションを処理するステップをさらに含み、前記1つまたは複数の初期ニューラルネットワーク層は、
前記オブザーベーションを受信し、
前記オブザーベーションを処理して、前記オブザーベーションの前記表現を生成するように構成される、請求項１０に記載の方法。
【請求項１２】
前記オブザーベーションは、画像であり、前記1つまたは複数の初期ニューラルネットワーク層は、畳み込みニューラルネットワーク層である、請求項１１に記載の方法。
【請求項１３】
前記オブザーベーションの前記表現は、前記オブザーベーションである、請求項１０〜１２の何れか一項に記載の方法。
【請求項１４】
前記バリュー推定および前記各アドバンテージ推定を結合するステップは、
前記アクションのセットの中の前記アクションに対する前記各アドバンテージ推定の中心傾向の測定を決定するステップと、
前記中心傾向の測定を使用して前記アクションに対する前記各アドバンテージ推定を調整することによって、前記アクションに対する各調整済みアドバンテージ推定を決定するステップと、
前記アクションに対する前記各Q値を決定するために、前記アクションに対する前記各アドバンテージ推定、および前記バリュー推定を結合するステップとを含む、請求項１０〜１３の何れか一項に記載の方法。
【請求項１５】
前記バリューサブネットワークは、パラメータの第1のセットを有し、前記アドバンテージサブネットワークは、別のパラメータの第2のセットを有する、請求項１０〜１４の何れか一項に記載の方法。
【請求項１６】
前記アクションのセットの中の前記アクションに対する前記各Q値を使用して、前記オブザーベーションに応答して前記エージェントによって実行されるべきアクションを選択するステップは、
最も高いQ値を有するアクションを、前記エージェントによって実行されるべきアクションとして選択するステップを含む、請求項１０〜１５の何れか一項に記載の方法。
【請求項１７】
前記アクションのセットの中の前記アクションに対する前記各Q値を使用して、前記オブザーベーションを応答して前記エージェントによって実行されるべきアクションを選択するステップは、
確率εにより、前記アクションのセットからランダムアクションを選択するステップと、
確率1-εにより、最も高いQ値を有するアクションを選択するステップとを含む、請求項１０〜１５の何れか一項に記載の方法。
【請求項１８】
1つまたは複数のコンピュータによって実行された場合、前記1つまたは複数のコンピュータに請求項１０〜１７の何れか一項に記載の方法の動作を実行させる命令が符号化されたコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、強化学習に関する。
【背景技術】
【０００２】
強化学習システムにおいて、エージェントは、環境の現在の状態を特徴付けるオブザーベーションを受信することに応答して、強化学習システムによって選択されたアクションを実行することによって環境と相互作用する。
【０００３】
幾つかの強化学習システムは、ニューラルネットワークの出力に従って、所与のオブザーベーションを受信することに応答してエージェントによって実行されるべきアクションを選択する。
【０００４】
ニューラルネットワークは、非線形ユニットの1つまたは複数の層を使用して受信された入力に対する出力を予測する機械学習モデルである。幾つかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含むディープニューラルネットワークである。各隠れ層の出力は、ネットワークにおける次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータの各セットの現在値に従って受信された入力から出力を生成する。
【発明の概要】
【課題を解決するための手段】
【０００５】
概して、本明細書に記載される発明の主題の革新的な一態様は、環境と相互作用するエージェントによって実行されるべきアクションをアクションのセットから選択するためのシステムに組み込むことができる。システムは、1つまたは複数のコンピュータによって実装されたデュエリングディープニューラルネットワークを含む。
【０００６】
デュエリングディープニューラルネットワークは、(i)環境の現在の状態を特徴付けるオブザーベーションの表現を受信し、オブザーベーションの表現を処理してバリュー推定を生成するように構成されたバリューサブネットワークであって、バリュー推定は、現在の状態にある環境によって生じる、予想されるリターンの推定である、バリューサブネットワークと、(ii)オブザーベーションの表現を受信し、オブザーベーションの表現を処理して、環境が現在の状態にある場合にエージェントが他のアクションを実行することによって生じるリターンと比較して、環境が現在の状態にある場合にエージェントがアクションを実行することによって生じるリターンの相対的な測定の推定である、アクションに対する各アドバンテージ推定のセットの中の各アクションを生成するように構成されたアドバンテージサブネットワークと、(iii)各アクションに対して、バリュー推定およびアクションに対する各アドバンテージ推定を結合して、アクションに対する各Q値を生成するように構成された結合層とを含み、各Q値は、環境が現在の状態にある場合にエージェントがアクションを実行することによって生じる、予想されるリターンの推定である。
【０００７】
本態様の他の実施形態は、環境と相互作用するエージェントによって実行されるべきアクションを選択するためのシステムを使用する方法を含む。本態様の他の実施形態は、対応するコンピュータシステム、装置、および1つまたは複数のコンピュータ記憶装置上に記録されたコンピュータプログラムを含み、それぞれが方法の動作を実行する。1つまたは複数のコンピュータのシステムは、システムに動作を実行させるようにシステムにインストールされた、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせによって、特定の動作またはアクションを実行するように構成可能である。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行された場合に装置に動作を実行させる命令を含むことにより、特定の動作またはアクションが実行されるように構成可能である。
【０００８】
幾つかの実施例において、システムは、1つまたは複数の第2のコンピュータと、1つまたは複数の第2のコンピュータによって実行された場合に、アクションのセットの中のアクションに対する各Q値を使用して、オブザーベーションに応答してエージェントによって実行されるべきアクションを選択することを含む動作を1つまたは複数の第2のコンピュータに実行させる命令を記憶する1つまたは複数の記憶装置とを備える。
【０００９】
幾つかの実施例において、デュエリングディープニューラルネットワークは、オブザーベーションを受信するとともに、オブザーベーションを処理して、オブザーベーションの表現を生成するように構成された1つまたは複数の初期ニューラルネットワーク層をさらに含む。
【００１０】
幾つかの実施例において、オブザーベーションは画像であり、1つまたは複数の初期ニューラルネットワーク層は畳み込みニューラルネットワーク層である。幾つかの実施例において、オブザーベーションの表現はオブザーベーションである。
【００１１】
幾つかの実施例において、バリュー推定および各アドバンテージ推定を結合することは、アクションのセットの中のアクションに対する各アドバンテージ推定の中心傾向の測定を決定することと、中心傾向の測定を使用してアクションに対する各アドバンテージ推定を調節することによって、アクションに対する各調整済みアドバンテージ推定を決定することと、アクションに対する各アドバンテージ推定およびバリュー推定を結合して、アクションに対する各Q値を決定することとを含む。
【００１２】
幾つかの実施例において、バリューサブネットワークは、パラメータの第1のセットを有し、アドバンテージサブネットワークは、別のパラメータの第2のセットを有する。
【００１３】
幾つかの実施例において、アクションのセットの中のアクションに対する各Q値を使用して、オブザーベーションに応答してエージェントによって実行されるべきアクションを選択することは、最も高いQ値を有するアクションをエージェントによって実行されるべきアクションとして選択することを含む。
【００１４】
幾つかの実施例において、アクションのセットの中のアクションに対する各Q値を使用して、オブザーベーションに応答してエージェントによって実行されるべきアクションを選択することは、確率εにより、アクションのセットからランダムアクションを選択することと、確率1-εにより、最も高いQ値を有するアクションを選択することを含む。
【００１５】
本明細書に記載される発明の主題の他の革新的な態様は、バリューサブネットワークおよびアドバンテージサブネットワークを備えたデュエリングディープニューラルネットワークを使用して、環境と相互作用するエージェントによって実行されるべきアクションをアクションのセットから選択するための方法に組み込むことができ、本方法は、環境の現在の状態を特徴付けるオブザーベーションの表現を取得するステップと、バリューサブネットワークを使用してオブザーベーションの表現を処理するステップであって、バリューサブネットワークが、オブザーベーションの表現を受信し、オブザーベーションの表現を処理してバリュー推定を生成するように構成され、バリュー推定は、現在の状態にある環境から生じる、予想されるリターンの推定である、ステップと、アドバンテージサブネットワークを使用してオブザーベーションの表現を処理するステップであって、アドバンテージサブネットワークは、オブザーベーションの表現を受信し、オブザーベーションの表現を処理して、環境が現在の状態にある場合にエージェントが他のアクションを実行することによって生じるリターンと比較して、環境が現在の状態に場合にエージェントがアクションを実行することによって生じるリターンの相対的な測定の推定である、アクションに対する各アドバンテージ推定のセットの中の各アクションを生成するように構成される、ステップと、各アクションに対して、バリュー推定およびアクションに対する各アドバンテージ推定を結合して、アクションに対する各Q値を生成するステップであって、各Q値は、環境が現在の状態にある場合にエージェントがアクションを実行することによって生じる、予想されるリターンの推定である、ステップと、アクションのセットの中のアクションに対する各Q値を使用して、オブザーベーションに応答してエージェントによって実行されるべきアクションを選択するステップとの動作を含む。
【００１６】
本態様の他の実施形態は、対応するコンピュータシステム、装置、および1つまたは複数のコンピュータ記憶装置上に記録されたコンピュータプログラムを含み、それぞれが方法の動作を実行する。1つまたは複数のコンピュータのシステムは、システムに動作を実行させるように、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせによって、特定の動作またはアクションが実行されるように構成することができる。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行された場合に装置に動作を実行させる命令を含むことによって、特定の動作またはアクションが実行されるように構成することができる。
【００１７】
幾つかの実施例において、デュエリングディープニューラルネットワークは、1つまたは複数の初期ニューラルネットワーク層をさらに含み、方法は、1つまたは複数の初期ニューラルネットワーク層を使用して、オブザーベーションを処理するステップをさらに含む。1つまたは複数の初期ニューラルネットワーク層は、オブザーベーションを受信し、オブザーベーションを処理して、オブザーベーションの表現を生成するように構成される。
【００１８】
幾つかの実施例において、オブザーベーションは画像であり、1つまたは複数の初期ニューラルネットワーク層は畳み込みニューラルネットワーク層である。幾つかの実施例において、オブザーベーションの表現は、オブザーベーションである。
【００１９】
幾つかの実施例において、バリュー推定および各アドバンテージ推定を結合するステップは、アクションのセットの中のアクションに対する各アドバンテージ推定の中心傾向の測定を決定するステップと、中心傾向の測定を使用してアクションに対する各アドバンテージ推定を調節することによって、アクションに対する各調整済みアドバンテージ推定を決定するステップと、アクションに対する各アドバンテージ推定およびバリュー推定を結合して、アクションに対する各Q値を決定するステップとを含む。
【００２０】
幾つかの実施例において、バリューサブネットワークは、パラメータの第1のセットを有し、アドバンテージサブネットワークは、別のパラメータの第2のセットを有する。
【００２１】
幾つかの実施例において、アクションのセットの中のアクションに対する各Q値を使用して、オブザーベーションに応答してエージェントによって実行されるべきアクションを選択するステップは、最も高いQ値を有するアクションをエージェントによって実行されるべきアクションとして選択するステップを含む。
【００２２】
幾つかの実施例において、アクションのセットの中のアクションに対する各Q値を使用して、オブザーベーションに応答してエージェントによって実行されるべきアクションを選択するステップは、確率εにより、アクションのセットからランダムアクションを選択するステップと、確率1-εにより、最も高いQ値を有するアクションを選択するステップとを含む。
【００２３】
本明細書に記載される発明の主題は、1つまたは複数の以下の利点を実現するように特定の実施形態において実装可能である。ニューラルネットワークは、より良好なアドバンテージ推定を生成するように学習可能である。信頼できるアドバンテージ推定を生成するようにニューラルネットワークを学習させることは、信頼できるバリュー推定を生成するようにニューラルネットワークを学習させるよりも計算的に複雑である可能性がある。これは、バリュー推定が環境状態だけの特性に基づくのに対して、アドバンテージ推定は、エージェント環境の状態とその状態における個々のアクションのアドバンテージとの両方のプロパティを考慮する必要があるからである。アドバンテージ推定の生成を別のサブネットワークに割り当てることは、基本的な強化学習アルゴリズムを変更する必要がなく、一般化された学習によりニューラルネットワークが、様々なアクションにわたってアドバンテージ推定を生成するのを可能にする。より正確でかつ先に詳述した信頼できるアドバンテージ推定を生成する困難を軽減または克服するアドバンテージ推定およびQ値の生成をもたらす。生成されるQ値の正確性の向上は、アドバンテージ推定に対する目標の値および様々なアクションのQ値が互いに近接する場合に特に著しい。
【００２４】
本明細書の発明の主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の記載において説明される。本発明の主題の他の特徴、態様、利点は、詳細な説明、図面、および特許請求の範囲から明らかである。
【図面の簡単な説明】
【００２５】
【図１】強化学習システムの一例を示す図である。
【図２】エージェントによって実行されるべきアクションを選択するための例示的なプロセスのフローチャートである。
【図３】調整済みアドバンテージ推定を使用してQ値を生成するための例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【００２６】
種々の図面における類似の参照番号および名称は、類似の要素を示す。
【００２７】
本明細書は概して、環境と相互作用する強化学習エージェントによって実行されるべきアクションを選択する強化学習システムを記載する。エージェントが環境と相互作用するために、システムは、環境の現在の状態を特徴付けるデータを受信し、受信したデータに応答してエージェントによって実行されるべきアクションをアクションの所定のセットから選択する。環境の状態を特徴付けるデータを、本明細書ではオブザーベーションと呼ぶ。
【００２８】
幾つかの実施例において、環境は、シミュレートされた環境であり、エージェントは、シミュレートされた環境と相互作用する1つまたは複数のコンピュータプログラムとして実装される。例えば、シミュレートされた環境は、ビデオゲームであってもよく、エージェントは、ビデオゲームをプレイするシミュレートされたユーザであってもよい。別の例として、シミュレートされた環境は、モーションシミュレーション環境、例えば、ドライビングシミュレーションまたはフライトシミュレーションであってもよく、エージェントは、モーションシミュレーションを通してシミュレートされた車両のナビゲーションである。これらの実施例において、アクションは、シミュレートされたユーザまたはシミュレートされた車両を制御するための制御入力であってもよい。
【００２９】
幾つかの他の実施例において、環境は、実世界環境であり、エージェントは、実世界環境と相互作用する機械的エージェントである。例えば、エージェントは、特定のタスクを実現するために環境と相互作用するロボットであってもよい。別の例として、エージェントは、環境を通した自律車両または半自律車両のナビゲーションであってもよい。これらの実施例において、アクションは、ロボットまたは自律車両を制御するための制御入力であってもよい。
【００３０】
例えば、エージェントは、環境と相互作用するロボットエージェントであってもよい。この環境についてのオブザーベーションは、ロボットエージェントの1つまたは複数のセンサによって捕捉されかつ環境の1つまたは複数の特性を特徴付ける感知データ(画像を含む)を含んでもよい。例えば、各オブザーベーションは、ロボットエージェントのカメラによって捕捉された画像を含んでもよく、任意で、ロボットエージェントの1つまたは複数の他のセンサ(熱センサ、化学センサ、運動センサ等のような)によって捕捉された1つまたは複数の他のセンサ測定値を含んでもよい。
【００３１】
図1は、例示的な強化学習システム100を示す。強化学習システム100は、環境104と相互作用する強化学習エージェント102によって実行されるべきアクションを選択する。すなわち、強化学習システム100は、各オブザーベーションが環境104の各状態を特徴付けるオブザーベーションを受信し、オブザーベーションに応答して強化学習エージェント102によって実行されるべきアクションをアクションの所定のセットから選択する。エージェント102によって実行されるアクションの一部または全部に応答して、強化学習システム100は報酬を受信する。各報酬は、アクションを実行するエージェントの結果として、環境104から受信される数値である。すなわち、報酬は、アクションを実行するエージェント102の結果として環境104が遷移する状態に依存して異なる。
【００３２】
特に、強化学習システム100は、デュエリングディープニューラルネットワーク103を使用して、エージェント102によって実行されるべきアクションを選択する。デュエリングディープニューラルネットワーク103は、環境104の現在の状態を特徴付けるオブザーベーション105を入力として受信しかつアクションのセットの中の各アクションに対する各Q値171を生成するニューラルネットワークである。
【００３３】
所与のアクションに対するQ値は、エージェント102がオブザーベーション105に応答して所与のアクションを実行することによって生じる、予想されるリターンの推定である。リターンは、オブザーベーション105に応答してアクションを実行するエージェントの結果として、強化学習システム100によって受信される長期にわたる将来報酬の合計の測定である。例えば、リターンは、将来報酬の時間割引を適用した合計であってもよい。
【００３４】
デュエリングディープニューラルネットワーク103は、バリューサブネットワーク111、アドバンテージサブネットワーク112、および結合層113を含む。デュエリングディープニューラルネットワーク103はさらに、初期ニューラルネットワーク層110を任意で含んでもよい。
【００３５】
初期ニューラルネットワーク層110は、デュエリングディープニューラルネットワーク103に含める場合、オブザーベーション105を受信し、オブザーベーション105を処理するとともに、オブザーベーション105の表現151を生成するように構成される。例えば、オブザーベーションが画像である場合の実施例において、1つまたは複数の初期ニューラルネットワーク層110は、画像から特徴を抽出する畳み込みニューラルネットワーク層であってもよい。
【００３６】
バリューサブネットワーク111は、表現151を処理するように構成されるか、または、デュエリングディープニューラルネットワーク103が初期ニューラルネットワーク層100を含まない実施例において、バリューサブネットワーク111は、オブザーベーション105を処理して環境104の現在の状態に対してバリュー推定152を決定するように構成される。現在の状態に対するバリュー推定152は、現在の状態にある環境によって生じる、予想されるリターンの推定である。換言すれば、バリュー推定152は、環境104が現在の状態にある場合に選択されるアクションに関係なく、現在の状態にあることの重要度を測定する。
【００３７】
アドバンテージサブネットワーク112は、表現151を処理するように構成されるか、または、デュエリングディープニューラルネットワーク103が初期ニューラルネットワーク層100を含まない実施例において、アドバンテージサブネットワーク112は、オブザーベーション105を処理して、アクションのセットの中の各アクションに対する各アドバンテージ推定を決定するように構成される。所与のアクションに対するアドバンテージ推定153は、環境104が現在の状態にある場合の、アクションのセット106の中の他のアクションと比較して、エージェントが所与のアクションを実行することよって生じる相対的な測定の推定である。
【００３８】
結合層113は、アクションのセットの中の各アクションに対して、バリュー推定152およびアクションに対するアドバンテージ推定153を結合して、アクションに対する各Q値171を決定するように構成される。バリュー推定152および各アクションに対するアドバンテージ推定153を結合することは、図3を参照して以下でより詳細に説明される。
【００３９】
強化学習システム100は、意思決定エンジン120を任意で含んでもよい。意思決定エンジン120は、潜在的なアクション106のセットの中のアクションに対するQ値171を使用し、オブザーベーション105に応答してエージェント102によって実行されるべきアクションを選択するとともに、選択されたアクションをエージェント102に実行させる。
【００４０】
デュエリングディープニューラルネットワーク103は、1つまたは複数の第1のコンピュータによって実装されるとともに、意思決定エンジン120の動作は、1つまたは複数の第2のコンピュータによって実行される。
【００４１】
幾つかの実施例において、1つまたは複数の第1のコンピュータは、1つまたは複数の第2のコンピュータと同じコンピュータシステムの一部であってもよい。他の実施例において、1つまたは複数の第1のコンピュータ、および1つまたは複数の第2のコンピュータは、異なるコンピュータシステムの一部であってもよい。
【００４２】
幾つかの実施例において、1つまたは複数の第1のコンピュータ、および1つまたは複数の第2のコンピュータは、同じ1つまたは複数のコンピュータから構成される。換言すれば、同じ1つまたは複数のコンピュータは、デュエリングディープニューラルネットワーク103を実装するとともに、意思決定エンジン120の動作を実行する。
【００４３】
幾つかの実施例において、1つまたは複数の第1のコンピュータ、および1つまたは複数の第2のコンピュータは、異なる1つまたは複数のコンピュータから構成される。換言すれば、異なる1つまたは複数のコンピュータは、デュエリングディープニューラルネットワーク103を実装するとともに、意思決定エンジン120の動作を実行する。
【００４４】
図2は、エージェントによって実行されるべきアクションを選択するための例示的なプロセス200のフローチャートである。便宜上、プロセス200は、1つまたは複数の位置に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。強化学習システム、例えば、本明細書に従って適切にプログラムされた図1の強化学習システム100は、プロセス200を実行することができる。
【００４５】
システムは、環境の現在の状態を特徴付けるオブザーベーションを取得する(210)。幾つかの実施例において、オブザーベーションは、画像または画像のコレクションである。例えば、オブザーベーションは、環境またはエージェントに関連付けられた1つまたは複数のセンサを使用して取得してもよい。
【００４６】
システムは、オブザーベーションの表現を生成する(220)。幾つかの実施例において、オブザーベーションの表現は、オブザーベーションそのものである。幾つかの他の実施例において、システムは、デュエリングディープニューラルネットワークの1つまたは複数の初期ニューラルネットワーク層を通してオブザーベーションを処理することによって、オブザーベーションの表現を生成する(例えば、図1におけるデュエリングディープニューラルネットワーク103の初期ニューラルネットワーク層110).
【００４７】
システムは、デュエリングディープニューラルネットワークのバリューサブネットワーク、(例えば、図1のデュエリングディープニューラルネットワーク103のバリューサブネットワーク111)を使用して、オブザーベーションの表現を処理することによってバリュー推定を生成する(230)。バリュー推定は、現在の状態にあるエージェントの環境によって生じる、予想されるリターンの推定である。幾つかの実施例において、特定の状態のバリュー推定は、特定の状態で開始して、その後に特定のポリシー、すなわち、デュエルディープネットワークによって出力されるQ値によって定義されるアクション選択ポリシーに従う場合に予想されるリターンである。
【００４８】
システムは、デュエリングディープニューラルネットワーのアドバンテージサブネットワーク(例えば、図1におけるデュエリングディープニューラルネットワーク103のアドバンテージサブネットワーク112)を使用して、オブザーベーションの表現を処理することによって、潜在的なアクションのセットの中の各アクションに対するアドバンテージ推定を生成する(240)。所与のアクションに対するアドバンテージ推定は、環境が現在の状態にある場合の、アクションのセットの中の他のアクションと比較して、アクションを実行するエージェントによって生じるリターンの相対的な測定の推定である。
【００４９】
システムは、アクションのバリュー推定の測定およびアドバンテージ推定の測定を結合することによって、各アクションに対するQ値を生成する(250)。幾つかの実施例において、システムは、アクションのバリュー推定およびアドバンテージ推定を追加して、アクションのQ値を生成する。幾つかの他の実施例において、システムは、バリュー推定とアドバンテージ推定の調整された値とを追加して、アクションのQ値を生成する。
【００５０】
調整済みアドバンテージ推定を使用してQ値を生成することは、図3を参照して以下でより詳細に説明される。
【００５１】
システムは、オブザーベーションに応答して、エージェントによって実行されるべきアクションを選択する(260)。
【００５２】
幾つかの実施例において、システムは、最も高いQ値を有するアクションを、エージェントによって実行されるべきアクションとして選択する。幾つかの他の実施例において、例えば、デュエリングディープニューラルネットワークの学習の間、システムは、確率εにより、潜在的なアクションのセットからランダムアクションを選択し、確率1-εにより、最も高いQ値を有するアクションを選択する。これら実施例の幾つかにおいて、より多くの学習例がシステムに提示される程、εの値は減少し、システムによるランダムアクション選択の減少を導く。
【００５３】
幾つかの実施例において、デュエリングディープニューラルネットワークが学習した後、システムは、各アクションのアドバンテージ推定を使用して、すなわち、最も高いアドバンテージ推定を有するアクションを選択することよって、実行されるべきアクションを選択する。
【００５４】
図3は、調整済みアドバンテージ推定を使用してQ値を生成するための例示的なプロセス300のフローチャートである。便宜上、プロセス300は、1つまたは複数の位置に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。例えば、強化学習システム、例えば、本明細書に従って適切にプログラムされた図1の強化学習システム100は、プロセス300を実行することができる。
【００５５】
システムは、現在の状態に対するバリュー推定を取得する(310)。
【００５６】
システムは、潜在的なアクションのセットの中の各アクションに対する各アドバンテージ推定を取得する(320)。
【００５７】
システムは、アドバンテージ推定を特徴付ける統計値を決定する(330)。幾つかの実施例において、統計値は、中心傾向、例えば、各アドバンテージ推定の平均または中央値の測定である。幾つかの他の実施例において、統計値は、アドバンテージ推定の最大値である。
【００５８】
システムは、統計値を使用して調整済みアドバンテージ推定を決定する(340)。幾つかの実施例において、システムは、各アクションに対するアドバンテージ推定から統計値を減算して、アクションに対する調整済みアドバンテージ推定を決定する。
【００５９】
システムは、バリュー推定および各アドバンテージ推定を使用して各アクションに対するQ値を生成する(350)。すなわち、システムは、現在の状態に対するバリュー推定、および各アクションに対する調整済みアドバンテージ推定を結合して、各アクションに対するQ値を生成する。
【００６０】
本明細書に記載される発明の主題の実施形態および機能的動作は、デジタル電子回路、有形に実装されたコンピュータソフトウェアもしくはファームウェア、本明細書に開示される構造および構造的等価物を含むコンピュータハードウェアまたはそれらのうち1つまたは複数による組み合わせにおいて実施可能である。本明細書に記載される発明の主題の実施形態は、1つまたは複数のコンピュータプログラムとして実装可能であり、すなわち、データ処理装置によって実行のための、またはデータ処理装置の動作を制御するための有形で非一時的なプログラムキャリア上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装可能である。代替または追加として、プログラム命令は、データ処理装置による実行のために適切な受信装置への送信用に情報を符号化するために生成される、人為的に生成された伝搬信号、例えば、マシン生成された電気信号、光信号、電磁気信号上で符号化可能である。コンピュータ記憶媒体は、機械可読記憶装置、機械可読記憶基板、ランダムまたはシリアルアクセスメモリ装置、またはそれらのうちの1つまたは複数による組み合わせであることが可能である。しかし、コンピュータ記憶媒体は、伝搬信号ではない。
【００６１】
用語「データ処理装置」は、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを例として含む、データを処理するための如何なる種類の装置、デバイス、およびマシンを含む。装置は、専用論理回路(例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)を含むことができる。装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作成するコード(例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数による組み合わせを構成するコード)を含んでもよい。
【００６２】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェア モジュール、スクリプト、もしくはコードとも称されるか、または記載される)は、コンパイルもしくはインタプリタ言語、または宣言型もしくは手続き型言語を含む任意の形式のプログラミング言語で記述可能であり、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくは計算環境における使用に適した他の単位として含む任意の形式で配置可能である。しかし、コンピュータプログラムは、ファイルシステム内のファイルに対応する必要はない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプト)に記憶されてもよく、当該プログラム専用の単一ファイルに記憶されてもよく、複数の協調ファイル(例えば、1つまたは複数のモジュール、サブプログラム、コードの一部を記憶するファイル)に記憶されてもよい。コンピュータプログラムは、1つのコンピュータ、または、一箇所に配置された複数のコンピュータもしくは複数の場所に分散された複数のコンピュータであってかつ通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配置されてもよい。
【００６３】
本明細書に使用されるように、「エンジン」または「ソフトウェアエンジン」は、入力とは異なる出力を提供するソフトウェアで実装された入力/出力システムを指す。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット(「SDK」)、またはオブジェクトといった、機能の符号化されたブロックであることが可能である。各エンジンは、任意の適切な種類の計算装置、例えば、サーバ、携帯電話、タブレットコンピュータ、ノットブックコンピュータ、音楽プレイヤ、電子書籍リーダ、ラップトップもしくはデスクトップコンピュータ、PDA、スマートフォン、または1つもしくは複数のプロセッサおよびコンピュータ可読媒体を含む他の固定デバイスまたは携帯デバイス上に実装してもよい。さらに、2つ以上のエンジンは、同一の計算装置または異なる計算装置上に実装してもよい。
【００６４】
本明細書に記載されるプロセスおよびロジックフローは、入力データに対して動作して出力を生成することによって機能を実行するように、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプラグラム可能コンピュータによって実行可能である。プロセスおよびロジックフローは、装置によって実行され、装置は、専用論理回路(例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit))として実装されてもよい。
【００６５】
コンピュータプログラムの実行に適したコンピュータは、例として、汎用もしくは特定用途のマイクロプロセッサ、その両方、または他の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、リードオンリーメモリもしくはランダムアクセスメモリ、またはその両方から命令およびデータを受信する。コンピュータの基本的な要素は、命令を実行または遂行するための中央処理装置、ならびに命令およびデータを記憶する1つまたは複数のメモリ装置である。一般にコンピュータは、データを記憶する1つまたは複数の大容量記憶装置(例えば、磁気ディスク、光磁気ディスク、または光ディスク)からデータを受信する、またはそれにデータを送信する、または送受信するように含む、または動作可能に結合される。しかながら、コンピュータはそのようなデバイスを有する必要はない。また、コンピュータは、例を挙げれば、別のデバイス(例えば、携帯電話、携帯情報端末(PDA)、携帯音楽もしくは動画プレイヤ、ゲームコンソール、GPS(Global Positioning System)受信機)、または携帯記憶装置(例えば、USB(Universal Serial Bus)フラッシュドライブ)に組み込まれてもよい。
【００６６】
コンピュータプログラム命令およびデータを記憶するコンピュータ可読媒体は、例示的な半導体メモリ装置(例えば、EPROM、EEPROM、フラッシュメモリ装置)、磁気ディスク(例えば、内蔵ハードディスク、リムーバブルディスク)、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、不揮発性メモリ、メディア、およびメモリ装置の如何なる形式を含む。プロセッサおよびメモリは、専用論理回路によって補足されてもよく、または専用論理回路に組み込まれてもよい。
【００６７】
ユーザとの相互作用を提供するために、本明細書に記載される発明の主題の実施形態は、ユーザに対して情報を表示するための表示装置(例えば、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)モニタ)、ならびにユーザが入力をコンピュータに提供することができる、キーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータ上に実装可能である。他の種類のデバイスが、ユーザとの相互作用を提供するのに使用可能であり、さらに例えば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることができ、ユーザからの入力は、音響、発話、または触覚入力を含む任意の形式で受信することができる。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そこからドキュメントを受信することによって、例えば、ウェブブラウザから受信した要求に応答して、ユーザのクライアント装置上のウェブブラウザにウェブページを送信することによって、ユーザと相互作用することができる。
【００６８】
本明細書に記載される発明の主題の実施形態は、バックエンドコンポーネント(例えば、データサーバとして)を含み、またはミドルウェアコンポーネント(例えば、アプリケーションサーバ)を含み、またはフロントエンドコンポーネント(例えば、ユーザが、本明細書に記載される本発明の主題の実施例と相互作用することできる、グラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータを含み、またはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントのうちの1つまたは複数による任意の組み合わせを含むコンピューティングシステムにおいて実装可能である。システムのコンポーネントは、デジタルデータ通信の媒体の任意の形式, 例えば、通信ネットワークによって相互作用することができる。通信ネットワークの例は、LAN(Local Area Network)およびWAN(Wide Area Network)(例えば、インターネット)を含む。
【００６９】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般的には互いに遠隔であり、通信ネットワークを通して情報をやりとりする。クライアントおよびサーバの関係は、各コンピュータ上で実行しかつ互いにクライアント・サーバの関係を有するコンピュータプログラムによって生じる。
【００７０】
本明細書は、多くの特定の実施例の詳細を含んでいるが、これらは、特定の発明の特定の実施形態に特定される特徴の記載ではなく、如何なる発明または請求されるものの範囲の限定として解釈されるべきではない。別々の実施形態のコンテキストにおいて本明細書に記載された特定の特徴は、単一の実施形態における組み合わせにおいても実施可能である。反対に、単一の実施形態のコンテキストにおいて記載された様々な特徴は、複数の実施形態また適切な一部の組み合わせにおいても別々に実施可能である。また、特徴は、特定の組み合わせにおいて動作するものとして上述したが、たとえそのようなものとしてはじめは請求されたとしても、請求される組み合わせからの1つまたは複数の特徴は、幾つかの場合では組み合わせから排除することもでき、請求される組み合わせは、一部の組み合わせまたは一部の組み合わせのバリエーションを意図する。
【００７１】
同様に、図面では特定の順番で動作が描かれている一方で、所望の結果を達成するに、そのような動作が示された特定の順番もしくはシーケンス順で実行されること、または図示された動作の全てが実行されることを要求するものではないことを理解すべきである。特定の環境において、マルチタスクおよび並列処理は有利である。また、上述した実施形態における様々なシステムモジュールおよびコンポーネントの分離は、全ての実施形態におけるそのような分離を要求するものではないことを理解すべきであり、所望のプログラムコンポーネントおよびシステムは一般に、単一のソフトウェア製品に一緒に統合されてもよく、複数のソフトウェア製品に収められてもよいことを理解すべきである。
【００７２】
本発明の主題の特定の実施形態を説明した。他の実施形態は、添付の特許請求の範囲内である。例えば、特許請求の範囲で記載される動作は、所望の結果を達成するものであれば異なる順番で実行可能である。一例として、添付の図面に描かれたプロセスは、所望の結果を達成するために、示された特定の順番またはシーケンス順を必ずしも要求しない。特定の実施例において、マルチタスクおよび並列処理は有利である。
【図１】
0006591672.tif 000002
【図２】
0006591672.tif 000003
【図３】
0006591672.tif 000004