(57)【要約】  方法、システムおよび装置は、行動の連続的行動空間から環境と相互作用するエージェントによって実行されるべき行動に対するQ値を計算するために、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む。一態様では、システムは、環境の現在の状態を特徴づける観測を受信することおよび観測を処理して価値推定を生成することを行うように構成された価値サブネットワークと、観測を受信することおよび観測を処理して連続的行動空間内に理想点を生成することを行うように構成されたポリシーサブネットワークと、特定の行動を表す連続的行動空間内の特定の点を受信すること、特定の行動に対する優位推定を生成することおよび環境が現在の状態にあるときにエージェントが特定の行動を実行することに起因する期待収益の推定である特定の行動に対するQ値を生成することを行うように構成されたサブシステムとを含む。
2019508830.tif 000002
【特許請求の範囲】
【請求項１】
行動の連続的行動空間から環境と相互作用するエージェントによって実行されるべき行動に対するQ値を計算するための強化学習システムであって、
前記環境の現在の状態を特徴づける観測を受信すること、および
前記観測を処理して、前記環境が前記現在の状態にあることに起因する期待収益の推定である価値推定を生成すること
を行うように構成された価値サブネットワークと、
前記観測を受信すること、および
前記観測を処理して前記連続的行動空間内に理想点を生成すること
を行うように構成されたポリシーサブネットワークと、
特定の行動を表す前記連続的行動空間内の特定の点を受信すること、
前記理想点と前記特定の点との間の距離から前記特定の行動に対する優位推定を生成すること、および
前記環境が前記現在の状態にあるときに前記エージェントが前記特定の行動を実行することに起因する期待収益の推定である前記特定の行動に対するQ値を、前記優位推定と前記価値推定とを組み合わせることによって生成すること
を行うように構成されたサブシステムとを含む、システム。
【請求項２】
前記エージェントが、実世界の環境と相互作用する機械的エージェントである、請求項1に記載のシステム。
【請求項３】
前記サブシステムが、
前記エージェントが前記特定の行動を実行することに起因する報酬および後続の観測を受信することであって、前記後続の観測は前記環境の次状態を特徴づける、ことと、
前記後続の観測を入力として前記価値サブネットワークに与えることによって前記次状態に対する新しい価値推定を生成することであって、前記新しい価値推定は、前記環境が前記次状態にあることに起因する期待収益の推定である、ことと、
前記報酬と前記新しい価値推定とを組み合わせて、前記特定の行動に対する目標出力値を生成することと
を行うようにさらに構成される、請求項1または2に記載のシステム。
【請求項４】
前記優位推定を生成することが、
状態依存パラメータを有する関数を前記距離に適用することを含む、請求項1から3のいずれか一項に記載のシステム。
【請求項５】
前記システムが、
前記観測を受信することと、
前記観測を処理して、前記状態依存パラメータの値を規定する出力を生成することと
を行うように構成された関数パラメータサブネットワークをさらに含む、請求項4に記載のシステム。
【請求項６】
前記優位推定が、
【数１】
2019508830.tif 000005
を満足し、
ここで第1項は前記距離の転置であり、Pは前記状態依存パラメータ値によって規定された成分を有する状態依存パラメータ行列であり、第3項は前記距離である、請求項5に記載のシステム。
【請求項７】
Pが正定値行列であり、P(x|θP)=LLTであり、ここでLは前記関数パラメータサブネットワークの前記出力から導出された成分を有する下三角行列である、請求項6に記載のシステム。
【請求項８】
前記システムが、
前記ポリシーサブネットワークおよび前記価値サブネットワークを訓練するために使用される経験タプルを記憶する再生メモリをさらに備える、請求項1から7のいずれか一項に記載のシステム。
【請求項９】
前記サブシステムが、前記ポリシーサブネットワークおよび前記価値サブネットワークの前記訓練の間に、
イマジネーションロールアウトを生成することであって、各イマジネーションロールアウトが合成的経験タプルである、ことと、
前記生成されたイマジネーションロールアウトを前記再生メモリに加えることと
を行うようにさらに構成される、請求項8に記載のシステム。
【請求項１０】
イマジネーションロールアウトを生成することが、
前記エージェントによって実行された行動に応答して前記環境が遷移した状態を特徴づける特定の観測を識別することと、
前記特定の観測に応答して前記エージェントによって実行された前記行動とは異なる行動を選択することと、
前記特定の観測に応答して前記エージェントが前記選択した行動を実行した場合に前記環境が遷移したであろう次の状態を特徴づける次の観測を決定するための状態推移モデルを使用して、前記特定の観測および前記選択された行動を処理することと、
前記特定の観測、前記選択された行動、および前記次の観測を含む合成的経験タプルを生成することとを含む、請求項9に記載のシステム。
【請求項１１】
請求項1から10のいずれか一項に記載のサブシステムによって実行される動作を含む、方法。
【請求項１２】
命令が符号化された1つまたは複数のコンピュータ記憶媒体であって、前記命令は、1つまたは複数のコンピュータによって実行されたとき、請求項1から10のいずれか一項に記載のシステムのそれぞれを、前記1つまたは複数のコンピュータに実装させる、1つまたは複数のコンピュータ記憶媒体。
【請求項１３】
行動の連続的行動空間から環境と相互作用するエージェントによって実行されるべき行動に対するQ値を計算するように構成された強化学習システムのポリシーサブネットワークを訓練する方法であって、
前記環境の訓練の状態を特徴づける訓練の観測と、前記訓練の観測に応答して前記エージェントによって実行された行動と、前記訓練の観測に応答して前記エージェントが前記行動を実行した結果として受け取られた報酬と、前記環境の次状態を特徴づける後続の観測とを識別する経験タプルを取得するステップと、
価値サブネットワークを使用して前記訓練の観測を処理して、前記環境が前記訓練の状態にあることに起因する期待収益の推定である第1の価値推定を生成するステップと、
前記ポリシーサブネットワークを使用し、かつ前記ポリシーサブネットワークのパラメータの現在の値に従って、前記訓練の観測を処理して、前記訓練の観測に対して前記連続的行動空間内に理想点を生成するステップと、
前記理想点と前記訓練の行動を表す特定の点との間の距離から前記訓練の行動に対する優位推定を生成するステップと、
前記優位推定と前記価値推定とを組み合わせることによって前記特定の行動に対するQ値を生成するステップと、
前記価値サブネットワークを使用して前記後続の観測を処理して、前記次状態に対する新しい価値推定を生成するステップであって、前記新しい価値推定は、前記環境が前記次状態にあることに起因する期待収益の推定である、ステップと、
前記報酬と前記新しい価値推定とを組み合わせて、前記特定の行動に対する目標Q値を生成するステップと、
前記特定の行動に対する前記Q値と前記目標Q値との間の誤差を使用して前記ポリシーサブネットワークの前記パラメータの前記現在の値に対する更新を決定するステップとを含む、方法。
【請求項１４】
1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを備えるシステムであって、前記命令は、前記1つまたは複数のコンピュータによって実行されたとき、請求項13に記載の方法の動作を前記1つまたは複数のコンピュータに実行させるように動作可能である、システム。
【請求項１５】
命令が符号化されたコンピュータ記憶媒体であって、前記命令は、1つまたは複数のコンピュータによって実行されたとき、請求項13に記載の方法の動作を前記1つまたは複数のコンピュータに実行させる、コンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は強化学習に関する。
【背景技術】
【０００２】
強化学習システムでは、エージェントは、環境の現在の状態を特徴づける観測を受信したことに応答して強化学習システムによって選択された行動を実行することによって環境と相互作用する。
【０００３】
いくつかの強化学習システムは、ニューラルネットワークの出力に従って所与の観測を受信したことに応答して、エージェントによって実行されるべき行動を選択する。
【０００４】
ニューラルネットワークは、受信された入力に対する出力を予測するために非線形ユニットの1つまたは複数の層を採用する機械学習モデルである。一部のニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む深層ニューラルネットワークである。各隠れ層の出力は、ネットワーク内の次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、それぞれのパラメータの集合の現在の値に従って、受信された入力から出力を生成する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Heess, Nicolas、Wayne, Gregory、Silver, David、Lillicrap, Tim、Erez, TomおよびTassa, Yuval.、「Learning continuous control policies by stochastic value gradients」、Advances in Neural Information Processing Systems (NIPS)、2926〜2934頁、2015年
【非特許文献２】Deisenroth, MarcおよびRasmussen, Carl E.「Pilco: A model-based and data-efficient approach to policy search」、International Conference on Machine Learning (ICML)、465〜472頁、2011年
【非特許文献３】Atkeson, Christopher G、Moore, Andrew WおよびSchaal, Stefan.、「Locally weighted learning for control」、Lazy Learning、75〜113頁、1997年9月
【非特許文献４】Levine, SergeyおよびAbbeel, Pieter.、「Learning neural network policies with guided policy search under unknown dynamics」、Advances in Neural Information Processing Systems (NIPS)、1071〜1079頁、2014年
【発明の概要】
【課題を解決するための手段】
【０００６】
一般に、本明細書で説明する主題の1つの発明的態様は、行動の連続的行動空間から環境と相互作用するエージェントによって実行されるべき行動を選択するためのシステムとして具現化され得、システムは、環境の現在の状態を特徴づける観測を受信することおよび観測を処理して、環境が現在の状態にあることに起因する期待収益の推定である価値推定を生成することを行うように構成された価値サブネットワークと、観測を受信することおよび観測を処理して連続的行動空間内に理想点を生成することを行うように構成されたポリシーサブネットワークと、特定の行動を表す連続的行動空間内の特定の点を受信すること、理想点と特定の点との間の距離から特定の行動に対する優位推定を生成することおよび環境が現在の状態にあるときにエージェントが特定の行動を実行することに起因する期待収益の推定である特定の行動に対するQ値を優位推定と価値推定とを組み合わせることによって生成することを行うように構成されたサブシステムとを含む。
【０００７】
本態様の他の実施形態は、システムと、各々が方法の行動を実行するように構成された1つまたは複数のコンピュータ記憶デバイス上に記録されたコンピュータプログラムとによって実行される動作を含む対応する方法を含む。1つまたは複数のコンピュータのシステムは、動作中にシステムに行動を実行させ得るソフトウェア、ファームウェア、ハードウェア、またはシステム上に組み込まれたそれらの任意の組合せによって、特定の動作または行動を実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されたときに、装置に行動を実行させる命令を含むことによって特定の動作または行動を実行するように構成され得る。
【０００８】
実装形態は、以下の随意の特徴のうちの1つまたは複数を、単独または組合せのいずれかで含むことができる。エージェントは、実世界の環境と相互作用する機械的エージェントであり得る。機械的エージェントは、行動に基づいて環境内でタスクを実行するように構成されたロボットであり得る。優位推定を生成することは、状態依存パラメータを有する関数を距離に適用することを含み得る。システムは、観測を受信することと、観測を処理して状態依存パラメータの値を規定する出力を生成することとを行うように構成された関数パラメータサブネットワークをさらに含み得る。優位推定は、
【数１】
2019508830.tif 000003
を満足し得、
ここで第1項は距離の転置であり、Pは状態依存パラメータ値によって規定された成分を有する状態依存パラメータ行列であり、第3項は距離である。Pは正定値行列であり得、P(x|θP)=LLTであり、ここでLは関数パラメータサブネットワークの出力から導出された成分を有する下三角行列である。システムは、ポリシーサブネットワークおよび価値サブネットワークを訓練するために使用される経験タプルを記憶する再生メモリをさらに備え得る。サブシステムは、ポリシーサブネットワークおよび価値サブネットワークを訓練中に、イマジネーションロールアウトを生成するようにさらに構成され得、各イマジネーションロールアウトは合成的経験タプルであり、生成されたイマジネーションロールアウトを再生メモリに加える。イマジネーションロールアウトを生成することは、エージェントによって実行された行動に応答して環境が遷移した状態を特徴づける特定の観測を識別することと、特定の観測に応答してエージェントによって実行された行動とは異なる行動を選択することと、状態推移モデルを使用して特定の観測および選択された行動を処理して特定の観測に応答してエージェントが選択行動を実行した場合に環境が遷移したであろう次の状態を特徴づける次の観測を決定することと、特定の観測、選択された行動および次の観測を含む合成的経験タプルを生成することとを含み得る。
【０００９】
本明細書で説明する主題の別の1つの発明的態様は、行動の連続的行動空間から環境と相互作用するエージェントによって実行されるべき行動に対するQ値を計算するように構成された強化学習システムのポリシーサブネットワークを訓練する方法として具現化され得、その方法は、環境の訓練の状態を特徴づける訓練の観測と、訓練の観測に応答してエージェントによって実行された行動と、訓練の観測に応答して行動を実行するエージェントの結果として受け取られた報酬と、環境の次状態を特徴づける後続の観測とを識別する経験タプルを取得するステップと、価値サブネットワークを使用して訓練の観測を処理して環境が訓練の状態にあることに起因する期待収益の推定である第1の価値推定を生成するステップと、ポリシーサブネットワークを使用し、かつポリシーサブネットワークのパラメータの現在の値に従って、訓練の観測を処理して訓練の観測に対して連続的行動空間内に理想点を生成するステップと、理想点と訓練の行動を表す特定の点との間の距離から訓練の行動に対する優位推定を生成するステップと、優位推定と価値推定とを組み合わせることによって特定の行動に対するQ値を生成するステップと、価値サブネットワークを使用して後続の観測を処理して次状態に対する新しい価値推定を生成するステップであって、新しい価値推定は、環境が次状態にあることに起因する期待収益の推定である、生成するステップと、報酬と新しい価値推定とを組み合わせて特定の行動に対する目標Q値を生成するステップと、特定の行動に対するQ値と目標Q値との間の誤差を使用してポリシーサブネットワークのパラメータの現在の値に対する更新を決定するステップとを含む。
【００１０】
本態様の他の実施形態は、1つまたは複数のコンピュータと、各々が方法の行動を実行するように構成された1つまたは複数のコンピュータ記憶デバイス上に記録されたコンピュータプログラムとのシステムを含む。1つまたは複数のコンピュータのシステムは、動作中にシステムに行動を実行させ得るソフトウェア、ファームウェア、ハードウェア、またはシステム上に組み込まれたそれらの任意の組合せによって、特定の動作または行動を実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されたときに、装置に行動を実行させる命令を含むことによって特定の動作または行動を実行するように構成され得る。
【００１１】
本明細書で説明する主題は、以下の優位のうちの1つまたは複数を実現するために特定の実施形態として実装され得る。行動の連続空間の文脈における強化学習は、一般的なモデルフリー手法を使用して実行され得る。これは、行動の連続的空間の文脈において強化学習システムを効果的に訓練するのに必要なタスク固有の詳細およびドメインの知識の量を低減する。モデルフリー強化学習システムを訓練するための経験データは、合成的経験タプルを使用して生成され得る。強化学習システムを訓練するために利用可能な訓練データの量は、エージェントの環境との相互作用をモニタするためにリソースを消費する必要なしに増加され得る。訓練された強化学習システムの精度および効率は、現在訓練されているシステムによって選択されるべき最適行動以外の行動を可能にするサブシステムを強化学習システムに与えることによって改善され得る。
【００１２】
本明細書の主題の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明において説明される。主題の他の特徴、態様、および利点は、説明、図面および特許請求の範囲から明白となろう。
【図面の簡単な説明】
【００１３】
【図１】例示的な強化学習システムを示す図である。
【図２】行動に対するQ値を生成するための例示的なプロセスのフローチャートである。
【図３】イマジネーションロールアウトを生成するための例示的なプロセスのフローチャートである。
【図４】ポリシーサブネットワークを訓練するための例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【００１４】
様々な図における同様の参照番号および記号は、同様の要素を示す。
【００１５】
本明細書は、概して、環境と相互作用する強化学習エージェントによって実行されるべき行動を選択する強化学習システムを説明する。エージェントが環境と相互作用するために、システムは、環境の現在の状態を特徴づけるデータを受信し、受信されたデータに応答してエージェントによって実行されるべき行動の所定の集合から1つの行動を選択する。環境の状態を特徴づけるデータを、本明細書では観測と呼ぶ。
【００１６】
いくつかの実装形態では、環境はシミュレートされた環境であり、エージェントは、シミュレートされた環境と相互作用する1つまたは複数のコンピュータプログラムとして実装される。たとえば、シミュレートされた環境はビデオゲームであり得、エージェントは、ビデオゲームをプレイするシミュレートされたユーザであり得る。別の例として、シミュレートされた環境は、モーションシミュレーション環境、たとえばドライビングシミュレーションまたはフライトシミュレーションであり得、エージェントはモーションシミュレーションを通り抜けるシミュレートされた車両である。これらの実装形態では、行動は、シミュレートされたユーザまたはシミュレートされた車両を制御するための入力を制御する行動であり得る。
【００１７】
いくつかの他の実装形態では、環境は実世界の環境であり、エージェントは実世界の環境と相互作用する機械的エージェントである。たとえば、エージェントは、特定のタスクを達成するために環境と相互作用するロボットであり得る。別の例として、エージェントは、環境を通り抜ける自律的または半自律的車両であり得る。これらの実装形態では、行動は、ロボットまたは自律的車両を制御するための入力を制御する行動であり得る。
【００１８】
図1は、例示的な強化学習システム100を示す。強化学習システム100は、以下で説明するシステム、構成要素および技法が実装され得る、1つまたは複数の場所にある1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されたシステムの一例である。
【００１９】
強化学習システム100は、環境104と相互作用する強化学習エージェント102によって実行されるべき行動を選択する。すなわち、強化学習システム100は、各観測が環境104の現在の状態を特徴づける複数の観測を受信し、各観測に応答して、強化学習エージェント102によって観測に応じて実行されるべきすべての可能な行動の集合から1つの行動を選択する。エージェント102によって実行された行動の一部または全部に応答して、強化学習システム100は報酬を受け取る。各報酬は、エージェントが行動を実行した結果として環境104から受け取られる数値であり、すなわち、報酬は、エージェント102が行動を実行した結果として環境104が遷移する状態に応じて異なることになる。
【００２０】
強化学習システム100は、行動の連続的空間からエージェント102によって実行されるべき行動を選択する。行動の連続的空間は、連続的な(すなわち、非可算に無限の)ドメイン上にあるすべての可能な行動の集合を含む。たとえば、エージェント102がロボットエージェントであるとき、強化学習システム100は、エージェント102の腕の関節角度を特定の値に設定することを含む行動(たとえば、複数の制御入力を有するベクトルによって表される)を選択し得、関節角度に対する特定の値は連続ドメイン[0°,360°]に属する。すべての可能な行動の集合は連続ドメイン上にあるので、システム100は、エージェント102によって実行されるべき行動を行動の連続的空間から選択している。
【００２１】
強化学習システム100は、価値サブネットワーク111と、ポリシーサブネットワーク112と、行動価値サブシステム130とを含む。強化学習システム100はまた、関数パラメータサブネットワーク110と再生メモリ140とを随意に含み得る。
【００２２】
価値サブネットワーク111は、観測105を受信し、観測105を処理して環境の現在の状態に対する価値推定121を生成するように構成されたニューラルネットワークである。価値推定121は、環境104が現在の状態にあることに起因する期待収益の推定である。言い換えれば、価値推定121は、環境104が現在の状態にあるときに選択される行動に関わらず、現在の状態にあることの重要度を測定する。期待収益は、環境が、観測によって特徴づけられた状態にあることに起因する時間割引された全将来報酬、たとえば、環境がその状態になった後に受け取られた将来報酬の時間割引された合計である。
【００２３】
ポリシーサブネットワーク112は、観測105を受信し、観測105を処理して行動の連続的空間内に理想点122を生成するように構成されたニューラルネットワークである。理想点122は、観測に応答して実行された場合、連続的空間内のすべての行動のうちで最大Q値を作成することを予期される行動を表す。すなわち、理想点は、ニューラルネットワークの現在の内部状態を与えられると最適行動を示す現在訓練されているニューラルネットワークの出力を含む。行動に対するQ値は、観測に応答してエージェントが行動を実行することに起因する期待収益である。期待収益は、観測に応答してエージェントが行動を実行することに起因する時間割引された全将来報酬、たとえば、エージェントが行動を実行した後に受け取られた将来報酬の時間割引された合計である。
【００２４】
関数パラメータサブネットワーク110は、観測105を受信し、観測105を処理して現在の状態に対する状態依存パラメータ120の値を規定する出力を生成するように構成されたニューラルネットワークである。いくつかの実装形態では、状態依存パラメータ120は、現在の状態の1つまたは複数の非線形の特徴を記述する。行動価値サブシステム130は、特定の行動を表す行動の連続的空間内の特定の点を受信し、理想点122および状態依存パラメータ120から特定の行動に対する優位推定を生成し、価値推定121および優位推定から特定の行動に対するQ値を生成する。特定の行動に対してQ値を生成することは、図2に関して以下でより詳細に説明する。
【００２５】
上記で説明したように、行動価値サブシステム130は、最高のQ値を有する行動が常に理想点によって表される行動であるように、優位推定を決定する。したがって、サブネットワークを訓練した後、強化学習システム100は、理想点によって表される行動を行為者によって実行される行動として選択することができる。サブネットワークを訓練する間、システムは、環境の探査を促進するために理想点によって表される行動以外の行動を時々選択することができる。たとえば、強化学習システム100は、理想点によって表される行動をエージェントによって実行されるべき行動として確率1-εで選択し、ランダム行動を確率εで選択することができる。別の例として、システムは、ノイズ分布から一点をサンプリングし、次いで、(サンプリングされた点+理想点)に等しい点によって表される行動を選択することができる。
【００２６】
いくつかの実装形態では、再生メモリ140は、関数パラメータサブネットワーク110と、価値サブネットワーク111と、ポリシーサブネットワーク112とを訓練するために使用された経験タプルを記憶する。それらの実装形態では、強化学習システム100は、再生メモリ140から経験タプルを選択し、関数パラメータサブネットワーク110と、価値サブネットワーク111と、ポリシーサブネットワーク112とを訓練するために経験タプルを使用する。
【００２７】
行動の連続的空間を有する問題にQ学習を適用することによって、強化学習システム100は、モデルフリー手法を有するそのような問題の文脈において強化学習を可能にする。強化学習システム100は、環境104に関連する状態遷移確率値および期待報酬値のモデルを使用することなくモデルフリー強化学習が環境104について学習するときモデルフリー強化学習を実施する。強化学習に対するそのようなモデルフリー手法は、生の状態表現を直接ニューラルネットワークシステムへの入力として使用して、最小の特徴およびポリシーエンジニアリングによって複雑なタスクに対するポリシーを訓練することを可能にする。
【００２８】
一般的に、深層Q学習を使用してQ値を生成するニューラルネットワークを訓練する間、目標の出力、すなわち、所与の観測に応答して実行された所与の行動に対して、ニューラルネットワークによって生成されているべき目標Q値を決定することが必要である。従来、目標の出力を決定することは、ニューラルネットワークが、エージェントが(行動の「最大点集合(argmax)」を識別する)所与の行動を実行することに起因する次状態を特徴づける観測と併せて処理されるときに最大Q値を生成する行動を、エージェントによって実行され得る行動の集合内の行動のすべての中から識別することを含む。行動の連続的空間では、次状態におけるすべての可能な行動の集合は非可算である。これは、しばしば、最大点集合は計算実行不可能であるか、または少なくとも極めて計算集約的であることを認識する結果をもたらす。この問題に対処するために、強化学習システム100は、特定の状態の価値推定に基づく特定の観測に応答して行動に対するQ値を計算することができる。特に、図2の説明から明らかとなるように、優位推定が決定される方法のために、最大点集合の行動に対する優位推定は常にゼロであり、強化学習システムは価値推定のみを使用して目標の出力を決定することができ、価値推定は観測にのみ依存し、連続的行動空間からの複数の行動を処理する必要はない。したがって、強化学習システムは、たとえ行動空間が連続であっても深層Q学習技法を使用して関数パラメータサブネットワーク110と、価値サブネットワーク111と、ポリシーサブネットワーク112とを効率的に訓練することができる。
【００２９】
いくつかのモデルフリー手法は、効果的な訓練のために多数の訓練例を必要とするという欠点を有する。モデルフリー手法のこの訓練の複雑さは、特に高次元の関数近似器、すなわち高次元のデータを入力として受信する深層ニューラルネットワークを使用するとき、物理的システムへのそれらの適用性を制限する傾向がある。いくつかの実装形態では、強化学習システム100は、訓練データを合成的に生成することによってこの訓練の複雑さに対処することができる。
【００３０】
価値サブネットワーク111およびポリシーサブネットワーク112を訓練するために使用される経験タプルを再生メモリ140が記憶する実装形態のうちのいくつかにおいて、行動価値サブシステム130はイマジネーションロールアウト141を生成し、生成されたイマジネーションロールアウト141を再生メモリ140に加える。イマジネーションロールアウト141は、強化学習システム100が環境104の状態遷移モデルに基づいて合成的に生成する経験タプルである。
【００３１】
イマジネーションロールアウト141は、エージェント102による直接的探査行動を必要とすることなく、価値サブネットワーク111およびポリシーサブネットワーク112を訓練するために再生メモリ140に追加の経験タプルを与えることができる。そのようなものとして、強化学習システム100は、実世界の実験を必要とすることなく、再生メモリ104内の訓練データを増加することができる。これは、ひいては、訓練データを生成する時間のみならず、実世界の実験が測定する間にエージェント102に加える損傷のリスクを低減することができる。
【００３２】
いくつかの実装形態では、強化学習システム100は、イマジネーションロールアウト141から生成された合成的経験タプルと、サンプリングポリシーに従ってエージェント102によって実世界の探査から生成された実際の経験タプルとからサンプリングすることによって、価値サブネットワーク111、ポリシーサブネットワーク112、行動価値サブシステム130、および関数パラメータサブネットワーク110のうちの1つまたは複数を訓練することができる。サンプリングポリシーは、合成の経験タプルおよび実際の経験タプルがそれぞれ、再生メモリ104からの経験タプルの一サンプル内に含められる頻度を規定する。
【００３３】
イマジネーションロールアウト141の生成については、図3を参照しながら以下でより詳細に説明する。
【００３４】
図2は、行動に対するQ値を生成するための例示的なプロセス200のフローチャートである。便宜上、プロセス200は、1つまたは複数の場所に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明する。たとえば、本明細書に従って適切にプログラムされた強化学習システム、たとえば図1の強化学習システム100は、プロセス200を実行することができる。
【００３５】
システムは、特定の行動を表す行動の連続的空間内の特定の点を取得する(210)。
【００３６】
システムは、特定の行動に対する優位推定を生成する(220)。いくつかの実装形態では、現在の状態における特定の行動に対する優位推定は、現在の状態における特定の行動に対するQ値と現在の状態に対する価値推定との間の差の大きさである。
【００３７】
システムは、行動の連続的空間内の理想点と特定の行動を表す行動の連続的空間内の特定の点との間の距離から優位推定を生成する。
【００３８】
いくつかの実装形態では、システムは、状態依存パラメータを有する関数をその距離に適用して優位推定を生成する。それらの実装形態のうちのいくつかにおいて、状態依存パラメータは、システムの関数パラメータサブネットワーク(たとえば、図1の強化学習システム100の関数パラメータサブネットワーク110)の出力によって規定される。
【００３９】
それらの実装形態のうちのいくつかにおいて、優位推定は、以下の関係
【数２】
2019508830.tif 000004
を満足し、
ここで関数A(x、u|θA)はそれの出力として優位推定を作成し、(u-μ(x|θμ))は連続的行動空間内の理想点と特定の行動を表す連続的行動空間内の特定の点との間の距離であり、(u-μ(x|θμ))Tは距離の転置であり、P(x|θP)は状態依存パラメータ値によって規定される成分を有する状態依存パラメータ行列である。
【００４０】
いくつかの実装形態では、Pは正定値行列であり、P(x|θP)=LLTであり、ここでLは関数パラメータサブネットワークの出力から導出された成分を有する下三角行列である。すなわち、状態依存パラメータは、Lの主対角線におけるかまたはその下のLのそれぞれの成分の各値である。
【００４１】
システムは、特定の行動に対する優位推定と現在の状態の価値推定とを組み合わせることによって、特定の行動に対するQ値を生成する(230)。いくつかの実装形態では、システムは、特定の行動に対する優位推定と特定の状態に対する価値推定とを加算して、特定の状態における特定の行動に対するQ値を生成する。
【００４２】
図3は、イマジネーションロールアウトを生成することに対する例示的なプロセス300のフローチャートである。便宜上、プロセス300は、1つまたは複数の場所に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラムされた強化学習システム、たとえば図1の強化学習システム100は、プロセス300を実行することができる。
【００４３】
システムは、特定の観測を識別する(310)。特定の観測は、エージェントによって実行された行動に応答して環境が遷移した状態を特徴づける。
【００４４】
いくつかの実装形態では、システムは、再生メモリ(たとえば、図1の強化学習システム100の再生メモリ140)から特定の観測を取得する。
【００４５】
システムは、特定の観測に応答してエージェントによって実行された行動とは異なる行動を選択する(320)。
【００４６】
いくつかの実装形態では、システムは、特定の観測に応答してエージェントによって実行された行動とは異なる行動をランダムに選択する。
【００４７】
いくつかの実装形態では、システムは、特定の観測に応答してエージェントによって実行された行動とは異なる行動を選択するために所定の戦略を使用する。たとえば、システムは、特定の観測によって特徴づけられた状態における最低のQ値を有する行動を選択する。
【００４８】
いくつかの実装形態では、システムは、エージェントに対する1つまたは複数の計画された行動軌跡に基づいて行動を選択する。たとえば、システムは、反復線形二次ガウス型(iLGQ)アルゴリズムなどの軌跡計画アルゴリズムに基づいて行動を選択し得る。
【００４９】
システムは、状態遷移モデルを使用して特定の観測および選択された行動を処理して(330)、エージェントが特定の観測に応答して選択行動を実行した場合に環境が遷移したであろう次の状態を特徴づける次の観測を決定する。言い換えれば、システムは、状態遷移モデルを使用してエージェントに対する仮想軌跡を生成する。
【００５０】
いくつかの実装形態では、システムは、モデル学習アルゴリズムを使用して状態遷移モデルを取得する。たとえば、システムは、逐次修正される時変線形モデルを生成するモデル学習アルゴリズムを使用して状態遷移モデルを取得する。それらのアルゴリズムのうちのいくつかにおいて、全状態および全行動に対する良好で広範な状態遷移モデルを学習するのではなく、システムは、最新のサンプルの集合のまわりで良好なローカルモデルを取得することだけを意図する。システムによって使用される他のモデル学習アルゴリズムは、提案された状態遷移モデルを、ニューラルネットワーク、ガウス過程、およびローカルに重み付けられた回帰モデルのうちの1つまたは複数として生成し得る。
【００５１】
例示的なモデル学習アルゴリズムは、Heess, Nicolas、Wayne, Gregory、Silver, David、Lillicrap, Tim、Erez, TomおよびTassa, Yuval.、「Learning continuous control policies by stochastic value gradients」、Advances in Neural Information Processing Systems (NIPS)、2926〜2934頁、2015年、Deisenroth, MarcおよびRasmussen, Carl E.「Pilco: A model-based and data-efficient approach to policy search」、International Conference on Machine Learning (ICML)、465〜472頁、2011年、Atkeson, Christopher G、Moore, Andrew WおよびSchaal, Stefan.、「Locally weighted learning for control」、Lazy Learning、75〜113頁、1997年9月、ならびにLevine, SergeyおよびAbbeel, Pieter.、「Learning neural network policies with guided policy search under unknown dynamics」、Advances in Neural Information Processing Systems (NIPS)、1071〜1079頁、2014年に見られる。
【００５２】
システムは、特定の観測、選択された行動、および次の観測を含む合成的経験タプルを生成する(340)。合成的経験タプルは、システムが再生メモリに加え得るイマジネーションロールアウトである。
【００５３】
いくつかの実装形態では、システムは、ステップ320および330を複数回反復して実行して、単一のサンプリングされた観測から複数の合成的経験タプルを生成する。たとえば、特定の観測に応答して代替行動を決定するためのステップ320と、次の観測を決定するためのステップ330とを一度実行した後、システムは、新しい観測に応答して代替行動を決定するためのステップ320と、新しい次の観測を決定するためのステップ330とを実行する。そのように、システムは、エージェントの環境が指定された最終状態に到達するまで、ステップ320および330を反復して実行して合成的経験タプルを生成することができる。
【００５４】
たとえば、システムは、観測に応答して取られた代替行動を変更することによって、サンプリングされた観測から複数の合成的経験タプルを生成することができる。
【００５５】
図4は、強化学習システムのサブネットワークを訓練するための例示的なプロセス200のフローチャートである。便宜上、プロセス400は、1つまたは複数の場所に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラムされた強化学習システム、たとえば図1の強化学習システム100は、プロセス400を実行することができる。
【００５６】
システムは、経験タプルを取得する(410)。経験タプルは、(1)環境の訓練の状態を特徴づける訓練の観測、(2)訓練の観測に応答してエージェントによって実行された行動、(3)訓練の観測に応答してエージェントが行動を実行した結果として受け取られた報酬、および(4)環境の次状態を特徴づける後続の観測を含む。
【００５７】
システムは、価値サブネットワークを使用して訓練の観測を処理して、価値サブネットワークのパラメータの現在の値に従って第1の価値推定を生成する(420)。第1の価値推定は、環境が訓練の状態にあることに起因する期待収益の推定である。
【００５８】
システムは、訓練の観測を処理して、ポリシーサブネットワークを使用しかつポリシーサブネットワークのパラメータの現在の値に従って、訓練の観測に対して行動の連続的空間内に理想点を生成する(430)。言い換えれば、システムは、ポリシーサブネットワークを使用して、訓練の観測の間に環境の訓練の状態に対する理想点を生成する。
【００５９】
システムは、理想点と訓練の行動を表す特定の点との間の距離から訓練の行動に対する優位推定を生成し(440)、優位推定と価値推定とを組み合わせることによって特定の行動に対するQ値を生成する(450)。行動に対する優位推定およびQ値を生成することは、図2に関して上記でより詳細に説明されている。
【００６０】
システムは、価値サブネットワークを使用して後続の観測を処理して、次状態に対する新しい価値推定を生成する(460)。新しい次状態に対する新しい価値推定は、環境が次状態にあることに起因する期待収益の推定である。
【００６１】
システムは、報酬と新しい価値推定とを組み合わせて、特定の行動に対する目標Q値を生成する(470)。システムは、エージェントが所与の行動を実行することに起因する次状態を特徴づける観測と併せて処理されるときにニューラルネットワークが最大のQ値を生じさせる行動を決定することなく、目標Q値を生成する。
【００６２】
システムは、特定の行動に対するQ値と目標Q値との間の誤差を使用して強化学習システムのサブネットワークのパラメータの現在の値に対する更新を決定する(480)。いくつかの実装形態では、システムは、誤差関数の勾配に基づいて逆伝搬に依存する訓練のアルゴリズムを使用して更新を決定する。
【００６３】
本明細書で説明する主題および関数演算の実施形態は、本明細書で開示する構造およびそれらの構造的等価物を含めて、ディジタル電子回路、明確に具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらのうちの1つまたは複数の組合せの中に実装され得る。本明細書で説明する主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のためにまたはデータ処理装置の動作を制御するために、有形の非一時的プログラム担体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替または追加として、プログラム命令は、データ処理装置による実行に好適な受信機装置に送信するための情報を符号化するために生成される、人工的に生成された伝播信号、たとえば機械的に生成された電気、光、または電磁信号上に符号化され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたは複数の組合せであり得る。しかしながら、コンピュータ記憶媒体は伝播信号ではない。
【００６４】
「データ処理装置」という用語は、例としてプログラム可能な1つのプロセッサ、1つのコンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、対象のコンピュータプログラムに対する実行環境を生成するコード、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せを構成するコードを含むことができる。
【００６５】
コンピュータプログラム(それはまた、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、もしくはコードと呼ばれるかまたは記述されることがある)は、コンパイラ型もしくはインタプリタ型の言語、または宣言型もしくは手続き型の言語を含む任意の形態のプログラミング言語で書かれてもよく、コンピュータプログラムは、スタンドアローンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境で使用するのに好適な他のユニットとしてなど、任意の形態で配布され得る。コンピュータプログラムは、ファイルシステム内のファイルに相当する場合があるが、必須ではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、たとえば、マークアップ言語文書、対象のプログラムに専用の単一のファイル、あるいは1つまたは複数のモジュール、サブプログラムまたはコードの部分を記憶するファイルのような複数の協調的ファイルに記憶される1つまたは複数のスクリプトに記憶され得る。コンピュータプログラムは、1つの場所に配置される1つのコンピュータか、または複数の場所に分散されて通信ネットワークで相互接続された複数のコンピュータ上で実行されるように配布され得る。
【００６６】
本明細書で使用される「エンジン」または「ソフトウェアエンジン」は、入力とは異なる出力を提供する、ソフトウェアによって実装される入力/出力システムを指す。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット(「SDK」)、またはオブジェクトなど、符号化された機能ブロックであり得る。各エンジンは、任意の適切なタイプのコンピューティングデバイス、たとえばサーバ、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、音楽プレーヤ、電子書籍リーダー、ラップトップもしくはデスクトップコンピュータ、PDA、スマートフォン、または1つもしくは複数のプロセッサおよびコンピュータ可読媒体を含む他の固定もしくは可搬デバイス上に実装され得る。加えて、2つ以上のエンジンが、同じコンピューティングデバイス上、または異なるコンピューティングデバイス上に実装され得る。
【００６７】
本明細書で説明するプロセスおよび論理フローは、入力データに対して動作して出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なコンピュータによって実行され得る。プロセスおよび論理フローはまた、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得、装置はまた、その専用論理回路として実装され得る。
【００６８】
コンピュータプログラムの実行に好適なコンピュータは、例として、汎用もしくは専用のマイクロプロセッサ、または汎用および専用のマイクロプロセッサ、あるいは任意の他の種類の中央処理装置に基づくことができる。一般的に、中央処理装置は、リードオンリーメモリもしくはランダムアクセスメモリ、または両メモリから命令およびデータを受信することになる。コンピュータの必須要素は、命令を実行または実施するための中央処理装置と、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般的に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、磁気光ディスクもしくは光ディスクを含むか、またはその記憶デバイスからデータを受信するかその記憶デバイスにデータを伝達するかもしくはその両方を行うように動作可能に結合されることになる。しかしながら、コンピュータは、必ずしもそのようなデバイスを有する必要があるとは限らない。その上、コンピュータは、別のデバイス、たとえば数例を挙げると、携帯電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、あるいはユニバーサルシリアルバス(USB)フラッシュドライブなどのポータブルストレージデバイスの中に組み込まれ得る。
【００６９】
コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、EPROM、EEPROMおよびフラッシュメモリなどの半導体メモリデバイスと、内部ハードディスクもしくはリムーバブルディスクなどの磁気ディスクと、磁気光ディスクと、CD ROMおよびDVD-ROMディスクとを含む、すべての形態の不揮発性メモリ、メディアおよびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得るか、または専用論理回路内に組み込まれ得る。
【００７０】
ユーザとの相互作用を提供するために、本明細書で説明する主題の実施形態は、ユーザに情報を表示するためのCRT(陰極線管)もしくはLCD(液晶ディスプレイ)モニタなどの表示デバイスと、ユーザがコンピュータに入力を与えることができるマウスもしくはトラックボールなどのキーボードおよびポインティングデバイスとを有するコンピュータ上に実装され得る。他の種類のデバイスは、同様にユーザとの相互作用を提供するために使用され得、たとえば、ユーザに与えられるフィードバックは任意の形態の知覚フィードバック、たとえば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであり得、ユーザからの入力は、音響、音声または触覚の入力を含む任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信すること、およびそのデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと相互作用することができる。
【００７１】
本明細書で説明する主題の実施形態は、たとえばデータサーバとしてバックエンド構成要素を含むか、またはアプリケーションサーバなどのミドルウェア構成要素を含むか、またはユーザが、本明細書で説明する主題の実装形態と相互作用し得るグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含むか、または1つまたは複数のそのようなバックエンド、ミドルウェアもしくはフロントエンドの構成要素の任意の組合せを含むコンピューティングシステム内に実装され得る。システムの構成要素は、任意の形態または媒体のディジタルデータ通信、たとえば通信ネットワークによって相互接続され得る。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)と、ワイドエリアネットワーク(「WAN」)、たとえばインターネットとが含まれる。
【００７２】
コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントおよびサーバは、一般に互いに離れており、通常通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【００７３】
本明細書は多くの特定の実装形態の詳細を含むが、これらは、発明のまたは請求されるものの範囲を限定するものと解釈されるべきではなく、特定の発明の特定の実施形態に特有の特徴を説明するものと解釈されるべきである。個別の実施形態の文脈において本明細書で説明されるいくつかの特徴はまた、単一の実施形態の中で組み合わせて実装され得る。反対に、単一の実施形態の文脈において説明される様々な特徴はまた、複数の実施形態において個別に、または任意の適切なサブコンビネーションにおいて実装され得る。その上、特徴は、特定の組合せで働くように上記で説明され、最初にそのようなものとして請求されるが、いくつかの場合には、請求される組合せからの1つまたは複数の特徴は、その組合せから削除されてもよく、請求される組合せは、サブコンビネーション、またはサブコンビネーションの変形態に移されてもよい。
【００７４】
同様に、動作は特定の順序で図に示されるが、これは、望ましい結果を達成するために、そのような動作が図示の特定の順序で、または一連の順序で実行されること、あるいは図示の動作のすべてが実行されることを必要とするものと理解されるべきではない。いくつかの状況では、多重タスク処理および並列処理が有利である場合がある。その上、上記で説明した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものと理解されるべきではなく、説明したプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品中に一緒に一体化されてもよく、または複数のソフトウェア製品中にパッケージ化されてもよいものと理解されるべきである。
【００７５】
主題の特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲の中にある。たとえば、特許請求の範囲に記載される行動は、異なる順序で実行されても、依然として望ましい結果を達成することができる。一例として、添付の図に示すプロセスは、望ましい結果を達成するために、必ずしも図示の特定の順序または一連の順序を必要とするとは限らない。いくつかの実装形態では、多重タスク処理および並列処理が有利である場合がある。
【符号の説明】
【００７６】
100  強化学習システム
102  強化学習エージェント
104  環境
105  観測
110  関数パラメータサブネットワーク
111  価値サブネットワーク
112  ポリシーサブネットワーク
120  状態依存パラメータ
121  価値推定
122  理想点
130  行動価値サブシステム
140  再生メモリ
141  イマジネーションロールアウト
【図１】
2019508830.tif 000006
【図２】
2019508830.tif 000007
【図３】
2019508830.tif 000008
【図４】
2019508830.tif 000009
【国際調査報告】
2019508830.tif 000010
2019508830.tif 000011
2019508830.tif 000012