(57)【要約】  アクション選択ニューラルネットワークをトレーニングするための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む方法、システム、および装置が提供される。方法のうちの1つは、エージェントと環境との対話の結果として生成された軌道を記憶する再生メモリを維持するステップと、ポリシーパラメータを有するアクション選択ニューラルネットワークを再生メモリ内の軌道上でトレーニングするステップとを含み、アクション選択ニューラルネットワークをトレーニングするステップは、再生メモリから軌道をサンプリングするステップと、ポリシー外の役者批評家強化学習技法を使用して、アクション選択ニューラルネットワークを軌道上でトレーニングすることによって、ポリシーパラメータの現在値を調整するステップとを備える。
2019537132.tif 000002
【特許請求の範囲】
【請求項１】
エージェントと環境との対話の結果として生成された軌道を記憶する再生メモリを維持するステップであって、各軌道が複数の時間ステップの各々におけるそれぞれのアクション選択データを備え、各時間ステップにおける前記アクション選択データが、
(i)前記環境の状態を特徴付ける観測値、
(ii)前記観測値に応じて前記エージェントによって実行されたアクション、
(iii)前記エージェントが前記アクションを実行したことに応じて受信した報酬、および
(iv)前記観測値に応じてどのアクションを実行するかを決定する際に、少なくとも前記実行されたアクションに割り当てられたアクション選択スコア
を識別する、ステップと、
ポリシーパラメータを有するアクション選択ニューラルネットワークを前記再生メモリ内の前記軌道上でトレーニングするステップであって、前記アクション選択ニューラルネットワークが、
前記環境の状態を特徴付ける観測値を受信することと、
前記観測値に応じて前記エージェントによって実行され得る可能性のあるアクションに対するスコア分布を定義するネットワーク出力を生成するために前記観測値を処理することと
を行うように構成される、ステップと
を備え、
前記アクション選択ニューラルネットワークをトレーニングするステップが、
前記再生メモリから軌道をサンプリングするステップと、
ポリシー外の役者批評家強化学習技法を使用して、前記アクション選択ニューラルネットワークを前記軌道上でトレーニングすることによって、前記ポリシーパラメータの現在値を調整するステップと
を備える、方法。
【請求項２】
前記観測値に応じて前記エージェントによって実行され得る可能なアクションのセットが有限であり、前記ネットワーク出力が前記スコア分布であり、前記ポリシー外の役者批評家強化学習技法を使用して前記ポリシーパラメータの現在値を調整するステップが、
前記軌道内の最終時間ステップから前記軌道内の初期時間ステップまでの前記軌道における時間ステップごとに、
主スコア分布を決定するために前記アクション選択ニューラルネットワークを使用して前記観測値を処理するステップと、
前記可能なアクションのそれぞれについてそれぞれのQ値を決定するために批評家ニューラルネットワークを使用して前記観測値を処理するステップと、
前記Q値および前記主スコア分布から、前記時間ステップに対する主勾配を決定するステップと
を備える、請求項1に記載の方法。
【請求項３】
前記主勾配を決定するステップが、
前記Q値および前記主スコア分布から、前記時間ステップの値推定値を決定するステップと、
前記報酬と現在の帰線推定値から、前記時間ステップの帰線推定値を決定するステップと、
前記主スコア分布、前記Q値、前記値推定値、および前記帰線推定値を使用して前記主勾配を決定するステップと
を備える、請求項2に記載の方法。
【請求項４】
前記主勾配を決定するステップが、
前記観測値に応じてどのアクションを実行するかを決定する際に、前記主スコア分布における前記実行されたアクションの前記スコアと前記実行されたアクションに割り当てられた前記アクション選択スコアとから切り詰められた重要度重みを決定するステップと、
前記主勾配の第1項を決定する際に前記切り詰められた重要度重みを適用するステップと、
を備える、請求項3に記載の方法。
【請求項５】
前記主勾配を決定するステップが、
前記観測値に応じてどのアクションを実行するかを決定する際に使用されるアクションの前記セット内の前記アクションについての前記主スコア分布およびアクション選択スコア内の前記スコアから補正勾配項を決定するステップを備える、請求項4に記載の方法。
【請求項６】
前記実行されたアクションの前記Q値および前記帰線推定値から批評家勾配を決定するステップと、
前記批評家勾配から前記批評家ニューラルネットワークの前記パラメータの現在値の更新を決定するステップと、
前記帰線推定値を更新するステップと
をさらに備える、請求項3から5のいずれか一項に記載の方法。
【請求項７】
前記観測値に応じて前記エージェントによって実行され得る可能なアクションが、連続アクション空間内の点として表され、前記ネットワーク出力が、前記連続アクション空間内の前記点にわたる前記スコア分布を定義する分布パラメータを備え、前記ポリシー外の役者批評家強化学習技法を使用して前記ポリシーパラメータの現在値を調整するステップが、
前記軌道内の最終時間ステップから前記軌道内の初期時間ステップまでの前記軌道における時間ステップごとに、
主スコア分布を定義するために前記アクション選択ニューラルネットワークを使用して前記観測値を処理するステップと、
確率論的対決ニューラルネットワークを使用して前記観測値を処理するステップであって、
前記実行されたアクションの決定論的値推定値と確率論的Q値を生成するために前記観測値を処理するように構成された、ステップと、
前記主スコア分布から代替アクションをサンプリングするステップと、
前記Q値から、前記決定論的値推定値、前記確率論的Q値、前記主スコア分布、および前記サンプリングされた代替アクションから、前記時間ステップの主勾配を決定するステップと、
を備える、請求項1に記載の方法。
【請求項８】
前記ポリシーパラメータの現在値を調整するステップが、
複数の平均ネットワークパラメータを有する平均ニューラルネットワークを使用して、および前記平均ネットワークパラメータの現在値に従って、補助スコア分布を生成するために前記観測値を処理するステップと、
前記補助スコア分布と前記主スコア分布との間の差の尺度の補助勾配を決定するステップと、
前記主勾配および前記補助勾配から最終勾配を決定するステップと、
前記最終勾配から前記ポリシーパラメータの前記現在値への更新を決定するステップと
をさらに備える、請求項2から7のいずれか一項に記載の方法。
【請求項９】
前記差の前記尺度がカルバック-ライブラーダイバージェンスである、請求項8に記載の方法。
【請求項１０】
前記主勾配と前記補助勾配から前記最終勾配を決定するステップが、
前記補助勾配と前記主勾配から、前記主勾配に対する倍率を決定するステップと、
前記最終勾配を決定するために、前記主勾配に前記倍率を適用するステップと、
を備える、請求項8または9のいずれか一項に記載の方法。
【請求項１１】
前記倍率sが、
【数１】
2019537132.tif 000020
を満たし、上式で、kは前記補助勾配であり、gは前記主勾配であり、δは定数である、請求項10に記載の方法。
【請求項１２】
前記倍率を適用するステップが、前記主勾配から前記倍率を引くステップを備える、請求項10に記載の方法。
【請求項１３】
前記平均ネットワークパラメータの前記現在値が、前記トレーニング中の前記アクション選択ネットワークの前記パラメータの値の移動平均を表す、請求項8から12のいずれか一項に記載の方法。
【請求項１４】
前記ポリシーパラメータの更新値を決定するために前記軌道の前記更新を用いて前記ポリシーパラメータの前記現在値を更新するステップと、
前記平均ネットワークパラメータの更新値を決定するために、前記ポリシーパラメータの前記更新値を使用して前記平均ネットワークパラメータの前記現在値を更新するステップと、
をさらに備える、請求項13に記載の方法。
【請求項１５】
前記平均ネットワークパラメータの前記更新値が、前記平均ネットワークパラメータの前記現在値と前記主ネットワークパラメータの前記更新値との加重合計である、請求項14に記載の方法。
【請求項１６】
目的関数を最適化することによって、前記主ネットワークパラメータのトレーニング済み値を決定するために複数の主ネットワークパラメータを有する主ニューラルネットワークをトレーニングする方法であって、
複数のトレーニング例を備えるトレーニングデータのバッチを受信するステップと、
前記バッチ内の前記複数のトレーニング例ごとに、
前記主ネットワークパラメータの現在値に従って前記主ニューラルネットワークを使用して、前記トレーニング例に対する主ネットワーク出力を生成するために前記トレーニング例を処理するステップと、
前記主ネットワーク出力から前記目的関数の主勾配を決定するステップと、
複数の平均ネットワークパラメータを有する平均ニューラルネットワークを使用して、および平均ネットワークパラメータの現在値に従って、前記トレーニング例の平均ネットワーク出力を生成するために前記トレーニング例を処理するステップと、
前記平均ネットワーク出力と前記主ネットワーク出力との間の差の尺度の補助勾配を決定するステップと、
前記主勾配および前記補助勾配から最終勾配を決定するステップと、
前記最終勾配から前記主ネットワークパラメータの前記現在値への更新を決定するステップと
を備える、方法。
【請求項１７】
前記差の前記補助的尺度が、カルバック-ライブラーダイバージェンスである、請求項16に記載の方法。
【請求項１８】
前記主勾配と前記補助勾配から前記最終勾配を決定するステップが、
前記補助勾配と前記主勾配から、前記主勾配に対する倍率を決定するステップと、
前記最終勾配を決定するために、前記主勾配に前記倍率を適用するステップと、
を備える、請求項16または17のいずれか一項に記載の方法。
【請求項１９】
前記倍率sが、
【数２】
2019537132.tif 000021
を満たし、上式で、kは前記補助勾配であり、gは前記主勾配であり、δは定数である、請求項18に記載の方法。
【請求項２０】
前記倍率を適用するステップが、前記主勾配から前記倍率を引くステップを備える、請求項19に記載の方法。
【請求項２１】
前記平均ネットワークパラメータの前記現在値が、前記トレーニング中の前記主ネットワークパラメータの値の移動平均を表す、請求項16から20のいずれか一項に記載の方法。
【請求項２２】
前記主ネットワークパラメータの更新値を決定するために、前記バッチ内の前記トレーニング例の前記更新を使用して前記主ネットワークパラメータの前記現在値を更新するステップと、
前記平均ネットワークパラメータの更新値を決定するために、前記主ネットワークパラメータの前記更新値を使用して前記平均ネットワークパラメータの前記現在値を更新するステップと、
をさらに備える、請求項21に記載の方法。
【請求項２３】
前記平均ネットワークパラメータの前記更新値が、前記平均ネットワークパラメータの前記現在値と前記主ネットワークパラメータの前記更新値との加重合計である、請求項22に記載の方法。
【請求項２４】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに請求項1から23のいずれか一項に記載のそれぞれの方法の前記動作を実行させる命令を記憶する1つまたは複数のストレージデバイスとを備える、システム。
【請求項２５】
1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに請求項1から23のいずれか一項に記載のそれぞれの方法の前記動作を実行させる命令を記憶する1つまたは複数のコンピュータストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、強化学習に関する。
【背景技術】
【０００２】
強化学習システムにおいて、エージェントは、環境の現在の状態を特徴付ける観測値の受信に応じて、強化学習システムによって選択されたアクションを実行することによって環境と対話する。
【０００３】
いくつかの強化学習システムは、ニューラルネットワークの出力に従って、所与の観測値の受信に応じてエージェントによって実行されるべきアクションを選択する。
【０００４】
ニューラルネットワークは、受信した入力に対する出力を予測するために、非線形ユニットの1つまたは複数の層を使用する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含むディープニューラルネットワークである。各隠れ層の出力は、ネットワーク内の次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、それぞれのパラメータセットの現在値に従って、受信した入力から出力を生成する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Schulmanら、J.Schulman、S.Levine、P.Abbeel、M.I.Jordan、およびP.Moritz、「Trust region policy optimization」、ICML、2015
【発明の概要】
【課題を解決するための手段】
【０００６】
本明細書は、環境と対話するエージェントによって実行されるべきアクションを選択する、1つまたは複数の場所にある1つまたは複数のコンピュータ上のコンピュータプログラムとして実装される強化学習システムを説明する。一般に、システムは、環境の状態を特徴付ける観測値に応じて実行されるべきアクションを選択する際にアクション選択ポリシーニューラルネットワークを使用する。アクション選択ポリシーニューラルネットワークがアクションを選択するために効果的に使用され得るように、システムは、エージェントと環境との対話の結果として生成された軌道上でアクション選択ポリシーニューラルネットワークをトレーニングする。具体的には、システムは、ポリシー外の役者(actor)批評家(critic)強化学習技法を使用してサンプリングされた遷移についてニューラルネットワークをトレーニングすることによって、再生メモリから軌道をサンプリングし、次いでニューラルネットワークのパラメータの現在値を調整することができる。
【０００７】
したがって、一態様では、方法、具体的には強化学習の方法は、エージェントと環境との対話の結果として生成された軌道を記憶する再生メモリを維持するステップを備える。各軌道は、複数の時間ステップの各々におけるそれぞれのアクション選択データを備え得る。各時間ステップにおけるアクション選択データは、環境の状態を特徴付ける観測値、観測値に応じてエージェントによって実行されたアクション、エージェントがアクションを実行したことに応じて受信した報酬、観測値に応じてどのアクションを実行するかを決定する際に、少なくとも実行されたアクションに割り当てられたアクション選択スコアのうちの1つまたは複数を識別し得る。本方法は、次いで、本明細書ではポリシーパラメータと呼ばれる、アクション選択ニューラルネットワークパラメータを有するアクション選択ニューラルネットワークを、再生メモリ内の軌道上でトレーニングするステップを含み得る。アクション選択ニューラルネットワークは、環境の状態を特徴付ける観測値を受信することと、観測値に応じてエージェントによって実行され得る可能性のあるアクションに対するスコア分布を定義するネットワーク出力を生成するために観測値を処理することとを行うように構成される。アクション選択ニューラルネットワークをトレーニングするステップは、再生メモリから軌道をサンプリングするステップと、好ましくは、ポリシー外の役者批評家強化学習技法を使用して、アクション選択ニューラルネットワークを軌道上でトレーニングすることによって、ポリシーパラメータの現在値を調整するステップとを備え得る。
【０００８】
アクションのセットは、離散的なアクション空間または離散化された連続アクション空間を定義する有限であってもよく、連続アクション空間におけるアクションであってもよい。アクション空間が離散的または離散化されている場合、スコア分布は、可能なアクションのための要素を有する確率ベクトルによって定義されるカテゴリ分布であり得る。アクション空間が連続的である場合、スコア分布は、1つまたは複数の連続分布の1つまたは複数のパラメータ、たとえば、ガウス分布などの分布の平均および共分散によって定義され得る。
【０００９】
広義には、役者批評家技法は、アクションスコアを提供するために役者ニューラルネットワークを使用し、役者ニューラルネットワークによって使用され得る状態または可能なアクションについて1つまたは複数の値を提供するために批評家ニューラルネットワークを使用する。ポリシー外の学習は、ポリシーの学習のために記憶された経験を使用する。ポリシー外の役者批評家強化学習技法のいくつかの実装形態は後で説明される。
【００１０】
本方法の実装形態のいくつかの利点は、より速くより正確な学習を含む。
【００１１】
観測値に応じてエージェントによって実行され得る可能なアクションのセットが有限である場合、ネットワーク出力はスコア分布を備え得る。次いで、ポリシー外の役者批評家強化学習技法を使用してポリシーパラメータの現在値を調整するステップは、軌道内の最終時間ステップから軌道内の初期時間ステップまでの軌道内の時間ステップについて、主スコア分布を決定するためにアクション選択ニューラルネットワークを使用して観測値を処理するステップと、可能なアクションのそれぞれについてそれぞれのQ値を決定するために批評家ニューラルネットワークを使用して観測値を処理するステップと、Q値および主スコア分布から、時間ステップに対する主勾配を決定するステップと備え得る。Q値は、観測値-アクションの組合せに対する値を提供し得、より詳細には、将来の報酬の推定値は、観測値に応じて実行されるべきアクションであった。主勾配は、勾配上昇または下降によって、たとえば、アクション選択ニューラルネットワークを通じた逆伝搬によって、ポリシーパラメータの値を調整するために使用され得る。主勾配は、単独で、またはいくつかの例では、後述するように1つまたは複数の追加の勾配項と組み合わせて使用され得る。
【００１２】
いくつかの実装形態では、主勾配を決定するステップは、Q値および主スコア分布から、軌道における時間ステップごとの値推定値(value estimate)を決定するステップを備え得る。主勾配を決定するステップはまた、時間ステップの帰線推定値を決定するステップを備え得る。概して、帰線推定値は、時間ステップの目標Q値の推定値、具体的には、時間ステップにおいて観測値を処理することによって批評家ネットワークによって生成されるべきであった最適Q値の推定値を備える。したがって、帰線推定値は、将来の報酬の加重合計を備え得る。記憶された軌道によって表されるように、報酬は、エージェントの行動を使用して、ポリシー外のサンプリングを修正するために重み付けされ得る。重み付けは、アクション選択ニューラルネットワークから、および記憶された軌道から決定されたアクションの尤度の比を使用して、重要度サンプリングの形態を実装し得る。したがって、たとえば、重要度サンプリングは、主スコア分布における時間ステップにおいて実行されたアクションに対するスコアをアクション選択分布におけるアクション選択スコアで除算することによって取得される重要度重みを使用し得る。重要度重みの値は、切り詰められた重要度重み(truncated importance weight)を決定するために、たとえば、1以下に制限され得る。これにより、潜在的に大きな重要度重み値が制限され、重要度重みの分散が減少する。
【００１３】
いくつかの実装形態では、時間ステップの帰線推定値は、たとえば、現在の帰線推定値を1以下の割引率でスケーリングし、報酬に応じて結果を増やすことによって、現在の帰線推定値および報酬から決定され得る。次いで、主勾配は、主スコア分布、Q値、値推定値、および帰線推定値の組合せを使用して決定され得、その結果、これらの各々が考慮される。
【００１４】
本方法は、実行されたアクションのQ値および帰線推定値から批評家勾配を決定するステップをさらに備え得る。次いで、本方法は、批評家勾配から批評家ニューラルネットワークのパラメータの現在値の更新を決定し得る。次いで、帰線推定値が更新され得る。
【００１５】
観測値に応じてエージェントによって実行され得る1つまたは複数の可能なアクションは、連続アクション空間において定義され得る。次いで、ネットワーク出力は、連続アクション空間内の点にわたるスコア分布を定義する1つまたは複数の分布パラメータを備え得る。次いで、ポリシー外の役者批評家強化学習技法を使用してポリシーパラメータの値を調整する1つの方法は、軌道内の最終時間ステップから軌道内の初期時間ステップまでの軌道内の時間ステップについて、主スコア分布を定義するためにアクション選択ニューラルネットワークを使用して観測値を処理するステップを備え得る。観測値はまた、連続アクション空間におけるアクションについてのQ値および観測値についての値推定値の両方を決定するために、確率論的対決ニューラルネットワークを使用して処理され得る。したがって、ある時間ステップにおいて、その時間ステップの値推定値が決定され得、実行されたアクションのQ値が決定され得る。Q値は確率的であり得、すなわち、分布、たとえば可能性のあるアクションに対する確率分布からサンプリングすることによって決定される。この分布は、アクション選択ポリシーニューラルネットワークの出力によって定義され得る。したがって、確率論的対決ニューラルネットワークは、実行されたアクションについて決定論的値推定値および確率論的Q値を生成するために観測値を処理するように構成されているニューラルネットワークを備え得る。確率論的対決ニューラルネットワークは批評家の役割を果たし得る。
【００１６】
本方法は、次いで、主スコア分布から代替アクションをサンプリングするステップをさらに備え得る。次いで、代替アクションに対するQ値が決定され得る。代替アクションはまた、前述のように代替重要度重みを決定するために任意に使用され得、代替重要度重みは切り詰められ得る。
【００１７】
時間ステップの主勾配は、Q値、決定論的値推定値、確率論的Q値、主スコア分布、およびサンプリングされたアクションから決定され得る。より具体的には、実行されたアクションは、確率論的Q値から主勾配の第1の勾配項を決定するために使用され得、代替アクションは、代替アクションに対するQ値から主勾配の第2の勾配項を決定するために使用され得る。第1の勾配項は、実行されたアクションに対する重要度重みによって重み付けされてもよく、第2の勾配項は、代替アクションに対する重要度重みによって重み付けされてもよい。前述のように、主勾配は、後述するように1つまたは複数の追加の勾配項によって補完され得る。次いで、ポリシーパラメータを調整することによってアクション選択ニューラルネットワークを更新するための時間ステップの主勾配が決定され得る。
【００１８】
ポリシーパラメータの現在値を調整するステップは、補助スコア分布を生成するために観測値を処理するステップをさらに備え得る。この処理するステップは、複数の平均ネットワークパラメータを有する平均ニューラルネットワークを使用し得、平均ネットワークパラメータの現在値に従うことができる。後述するように、平均ニューラルネットワークは、ポリシーパラメータの移動平均を表すパラメータ値を有し得る。したがって、本方法は、補助スコア分布と主スコア分布との間の差の、カルバック-ライブラーダイバージェンスなどの尺度の補助勾配を決定するステップをさらに備え得る。本方法は、次いで、主勾配および補助勾配から最終勾配を決定し、次いで最終勾配からポリシーパラメータの現在値を更新し得る。これは、具体的には、以前のポリシーの移動平均を表す値から大きく外れないようにポリシーパラメータの更新を制限することによって、学習を安定させるのに役立つ。
【００１９】
最終勾配を決定するために、すなわちポリシーパラメータの勾配または変化率を減少させるために、主勾配に倍率が適用され得る。倍率は、補助勾配が制約より大きいことを条件として適用され得る。
【００２０】
別の態様では、主ネットワークパラメータのトレーニング済み値を決定するために複数の主ネットワークパラメータを有する主ニューラルネットワークをトレーニングする方法は、目的関数を最適化するステップを備え得る。したがって、本方法は、複数のトレーニング例を備えるトレーニングデータのバッチを受信するステップを備え得る。次いで、バッチ内の複数のトレーニング例ごとに、本方法は、主ネットワークパラメータの現在値に従って主ニューラルネットワークを使用して、トレーニング例に対する主ネットワーク出力を生成するためにトレーニング例を処理するステップと、主ネットワーク出力から目的関数の主勾配を決定するステップと、複数の平均ネットワークパラメータを有する平均ニューラルネットワークを使用して、および平均ネットワークパラメータの現在値に従って、トレーニング例の平均ネットワーク出力を生成するためにトレーニング例を処理するステップと、平均ネットワーク出力と主ネットワーク出力との間の差の尺度の補助勾配を決定するステップと、主勾配および補助勾配から最終勾配を決定するステップと、最終勾配から主ネットワークパラメータの現在値への更新を決定するステップとを含み得る。
【００２１】
前述のものに対応する特徴もこの方法の文脈において使用され得る。
【００２２】
本明細書に記載される主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装され得る。本明細書に記載される主題は、安定しており、サンプル効率がよく、大規模強化学習タスクを学習するために適用され得る、ポリシー外の役者批評家強化学習技法を紹介する。具体的には、記載された技法は、学習中に安定したままでサンプル効率がよいままでありながら、個別のアクション空間タスクおよび連続制御タスクの両方において、最新技術に匹敵するか、またはそれを超えることができる。具体的には、後述するように、バイアス補正、確率論的対決ネットワークアーキテクチャ、および効率的な信頼領域ポリシー最適化を用いて、切り詰められた重要度サンプリングを組み込むことによって、説明される技法は、連続アクション空間からエージェントによって実行されるべきアクションを選択するようにニューラルネットワークを効果的にトレーニングすることができる。連続アクション空間からアクションを選択するようにニューラルネットワークを効果的にトレーニングすることは、複雑なタスク、たとえば、ロボットまたは自律走行車を制御することを含むタスクにとって、非常に有利であり得る。トレーニング中に平均ネットワークを維持し、ポリシーパラメータに適用される前に勾配を調整するために平均ネットワークを使用することによって、トレーニング処理の安定性が向上し、トレーニング時間が短縮され、トレーニングが完了するとパフォーマンスが向上する。より一般的には、記載された平均ネットワークは、様々な異なる種類のニューラルネットワークのうちのいずれかのトレーニングの安定性を向上させるために使用され得、トレーニング時間が短縮され、トレーニングが完了するとパフォーマンスが向上する。
【００２３】
記載された方法およびシステムの応用は、エージェントがタスクを達成するために環境と対話するロボットエージェント、または環境をナビゲートする自律または半自律走行車である、強化学習タスクを含む。代替として、エージェントは、機器の要素を備える環境、たとえばデータセンタまたは配電網の電力または配水システムにおいて、あるいは製造工場においてアクションを制御し得る。その場合、観測値は、機器による電力または水の使用量の観測値、あるいは発電または配電制御の観測値、あるいは資源の使用または廃棄物生産の観測値を備え得る。エージェントは、効率を向上させるために、および/または環境内での運用による環境への影響を軽減するために、環境内のアクションを制御し得る。
【００２４】
本明細書の主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００２５】
【図１】例示的な強化学習システムを示す図である。
【図２】エージェントによって実行されるべき可能なアクションのセットが有限であるときにアクション選択ポリシーニューラルネットワークをトレーニングするための例示的な処理の流れ図である。
【図３】エージェントによって実行されるべき可能なアクションのセットが有限であるときに時間ステップのアクション選択パラメータ更新および批評家パラメータ更新を決定するための例示的な処理の流れ図である。
【図４】エージェントによって実行されるべき可能なアクションのセットが有限ではないときにアクション選択ポリシーニューラルネットワークをトレーニングするための例示的な処理の流れ図である。
【図５】エージェントによって実行されるべき可能なアクションのセットが有限ではないときに時間ステップのアクション選択パラメータ更新および批評家パラメータ更新を決定するための例示的な処理の流れ図である。
【図６】平均ニューラルネットワークを使用して主ニューラルネットワークをトレーニングするための例示的な処理の流れ図である。
【発明を実施するための形態】
【００２６】
様々な図面中の同様の参照番号および名称は、同様の要素を示す。
【００２７】
図1は、例示的な強化学習システム100を示している。強化学習システム100は、以下に説明するシステム、構成要素、および技法が実装される1つまたは複数の場所にある1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例である。
【００２８】
強化学習システム100は、複数の時間ステップの各々において環境106と対話するエージェント102によって実行されるべきアクション104を選択する。エージェント102が環境106と対話するために、システム100は、環境106の現在の状態を特徴付ける観測値108を受信し、受信した観測値108に応じてエージェント102によって実行されるべきアクション104を選択する。
【００２９】
いくつかの実装形態では、環境106は模擬環境であり、エージェント102は、模擬環境をナビゲートすることによって模擬環境と対話する1つまたは複数のコンピュータプログラムとして実装される。たとえば、模擬環境はビデオゲームであってもよく、エージェント102は模擬環境をナビゲートすることによってビデオゲームをプレイする模擬ユーザであってもよい。別の例として、模擬環境は運動シミュレーション環境、たとえば運転シミュレーションまたは飛行シミュレーションであってもよく、エージェント102は運動シミュレーション環境をナビゲートする模擬車両である。これらの場合、アクション104は、模擬ユーザまたは模擬車両を制御するための制御入力であってもよく、観測値は模擬環境の画像、模擬ユーザまたは模擬車両の状態を特徴付ける特徴、あるいはその両方を含むことができる。
【００３０】
いくつかの他の実装形態では、環境106は現実世界環境であり、エージェント102は現実世界環境と対話する機械的エージェントである。たとえば、エージェント102は、環境をナビゲートする自律または半自律走行車であり得る。これらの場合、アクション104は、ロボットまたは自律走行車を制御するための制御入力であってもよく、観測値は、機械的エージェントのセンサによってキャプチャされた画像、機械的エージェントの他のセンサによってキャプチャされた他のセンサデータを含むことができる。
【００３１】
エージェント102と環境106との対話中の各時間ステップにおいて、システム100は、その時間ステップにおける観測値108に応じてエージェント102によって実行されるべきアクションを選択するために、アクション選択ポリシーニューラルネットワーク112を使用する。
【００３２】
具体的には、アクション選択ポリシーニューラルネットワーク112は、時間ステップにおいてエージェント102によって実行されるべきアクション104を決定するためにシステム100が使用するネットワーク出力を生成するために、観測値108を含む入力を受信することと、本明細書ではポリシーパラメータと呼ばれる、アクション選択ポリシーニューラルネットワークのパラメータのセットに従って入力を処理することとを行うように構成される。ネットワーク出力は、観測値に応じて環境と対話するためにエージェントによって実行され得る可能性のあるアクションに対するスコア分布を定義する。
【００３３】
場合によっては、エージェントによって実行され得る可能なアクションのセットは有限であり、すなわち、システムは各時間ステップにおいてあらかじめ定められた有限の離散的なアクションのセットから選択する。これらの場合、すなわち、実行され得る可能なアクションのセットが有限であるとき、ネットワーク出力は可能なアクションのセットに対するスコア分布である。
【００３４】
他の場合では、可能なアクションのセットは有限ではなく、たとえば、アクションは連続アクション空間内の点によって表される。たとえば、アクションは、何らかのあらかじめ定められた範囲内の任意の実数値であり得る、機械的エージェントの様々なジョイントに適用されるトルクであり得る。可能なアクションの空間が連続的である場合、ネットワーク出力は、可能なアクションに対する分布のパラメータ、たとえば平均および共分散パラメータであり得る。
【００３５】
アクション選択ポリシーニューラルネットワーク112がエージェントによって実行されるべきアクションを選択するために効果的に使用されるために、トレーニングエンジン118は、エージェントと環境との対話の結果として、システム100によって受信される予想累積報酬、たとえば、システム100によって受信される長期の時間割引された報酬の合計を最大にするポリシー出力を生成するためにアクション選択ポリシーニューラルネットワーク112をトレーニングする。
【００３６】
具体的には、トレーニング中、システム100は、エージェントと環境との対話の結果として生成された軌道を再生メモリ150に記憶する。再生メモリ150内の各軌道は、複数の時間ステップの各々におけるそれぞれのアクション選択データを含む。たとえば、再生メモリ150内の各軌道は、同じ固定数の時間ステップを含み得る。所与の時間ステップにおける軌道データは、(i)環境の状態を特徴付ける観測値、(ii)観測値に応じてエージェントによって実行されたアクション、(iii)エージェントがアクションを実行したことに応じて受信した報酬、および(iv)観測値に応じてどのアクションを実行するかを決定する際に使用されたアクションのセット内のアクションのスコア分布のうちの1つまたは複数を識別する。本明細書では、この分布はアクションスコア分布と呼ばれる。
【００３７】
具体的には、システム100は、再生メモリ150に記憶されている軌道を生成するためにエージェントによって実行されたアクションを選択するために、アクション選択ポリシーニューラルネットワーク112を使用する。しかしながら、ポリシーパラメータの値はトレーニング中に変化するので、システム100が再生メモリ150から軌道をサンプリングする時点で、システム100が所与の観測値に対してアクション選択ポリシーニューラルネットワーク112によって以前に生成されたのと同じスコア分布を再生成することは不可能であり得る。システム100が以前に実行されたアクションに対して生成されたスコアを追跡するために、システム100はアクションスコア分布(または、アクションスコア分布を定義するパラメータ)を再生メモリ150に記憶する。
【００３８】
アクション選択ポリシーニューラルネットワーク112をトレーニングするために、トレーニングエンジン118は、再生メモリ150から軌道をサンプリングし、ポリシー外の役者批評家強化学習技法を使用してサンプリングされた軌道上でアクション選択ポリシーニューラルネットワーク112をトレーニングする。役者批評家技法の一部として、トレーニングエンジン118は、批評家ニューラルネットワーク130と共同でアクション選択ポリシーニューラルネットワーク112をトレーニングする。
【００３９】
一般に、批評家ニューラルネットワーク130は、本明細書では批評家パラメータと呼ばれるパラメータのセットを有するニューラルネットワークである。アクションのセットが有限であるとき、批評家ニューラルネットワークは、観測値を受信することと、アクションのセット内のアクションごとにそれぞれのQ値を定義する出力を生成するためにその観測値を処理することとを行うように構成される。所与のアクションに対するQ値は、批評家パラメータの現在値に従って、エージェントが観測値に応じて所与のアクションを実行した場合にシステム100によって受信されるであろう累積報酬の推定値である。
【００４０】
アクションのセットが有限であるとき、批評家ニューラルネットワーク130およびアクション選択ポリシーニューラルネットワーク112はいくつかのパラメータを共有することができる。たとえば、批評家ニューラルネットワーク130およびアクション選択ポリシーニューラルネットワーク112は、2つの頭部を有する単一のニューラルネットワークであり得、一方はアクションのQ値を出力し、他方はスコア分布を出力する。このニューラルネットワークは、たとえば、畳み込みニューラルネットワークおよび/またはリカレントニューラルネットワークを含み得る。
【００４１】
アクションのセットが有限であるときのアクション選択ポリシーニューラルネットワーク112(および、批評家ニューラルネットワーク130)のトレーニングについては、図2および図3を参照しながら以下でより詳細に説明する。
【００４２】
アクションのセットが有限ではない場合、たとえば連続アクション空間において、批評家ニューラルネットワーク130は確率論的対決ニューラルネットワークであり得る。確率論的対決ニューラルネットワークは、確率論的Q値も生成しながら、入力観測値によって特徴付けられる状態についての決定論的値推定値を生成するニューラルネットワークである。具体的には、確率論的対決ニューラルネットワークは、入力観測値、関心のあるアクション、および可能なアクションのセットに対する確率分布からサンプリングされたn個のアクションを受信するように構成される。たとえば、n個のアクションは、アクション選択ポリシーニューラルネットワーク112の出力によって定義された確率分布からサンプリングされ得る。
【００４３】
確率論的対決ニューラルネットワークは、観測値によって特徴付けられる状態についての決定論的値推定値を生成するために観測値を処理するように構成される。値推定値は、エージェントによって実行されるべきアクションがアクション選択ポリシーニューラルネットワーク112を使用して選択された場合に観測値によって特徴付けられる状態にある環境から開始して受信された累積報酬の推定値である。
【００４４】
確率論的対決ニューラルネットワークはまた、アクションごとにそれぞれの有利な推定値を生成するために、観測値、関心のあるアクション、および確率分布からサンプリングされたn個のアクションを処理するように構成される。所与のアクションについての有利な推定値は、そのアクションの重要性の相対的な尺度、すなわち、他のアクションが実行された場合にどの程度の累積報酬が受信されるのかに対して、そのアクションが実行された場合にどの程度の累積報酬が受信されるかである。
【００４５】
次いで、確率論的対決ニューラルネットワークは、関心のあるアクションについての確率論的Q値を生成するために、状態の値と有利な推定値とを組み合わせる。Q値は、異なる処理反復の間に、サンプリングされるn個のアクションが異なる場合があり、結果として同じ関心のあるアクションに対して異なるQ値が生成されるため、確率論的である。具体的には、観測値xtに応じた関心のあるアクションatに対するQ値は、次の式を満たす:
【００４６】
【数１】
2019537132.tif 000003
【００４７】
上式で、V(xt)は観測値によって特徴付けられる状態のための値推定値であり、A(xt,at)は関心のあるアクションに対する有利な推定値であり、A(xt,ui)はi番目のサンプリングされたアクションに対する有利な推定値である。
【００４８】
アクションのセットが有限ではないとき、すなわち、可能なアクションの空間が連続的であるときの、アクション選択ポリシーニューラルネットワーク112(および、批評家ニューラルネットワーク130)のトレーニングについては、図4および図5を参照しながら以下でより詳細に説明する。
【００４９】
いくつかの実装形態では、アクション選択ポリシーニューラルネットワーク112のトレーニングを支援するために、システム100は平均ニューラルネットワーク170を維持する。平均ニューラルネットワーク170は、アクション選択ポリシーニューラルネットワーク112と同じ種類の出力を生成し、同じアーキテクチャを有するが、アクション選択ポリシーニューラルネットワーク112のトレーニング中にアクション選択ポリシーニューラルネットワーク112のパラメータ値とは異なるパラメータ値を有するネットワークである。具体的には、トレーニング中に、システム100は、平均ネットワークのパラメータの値を、それらがポリシーパラメータの移動平均を表すように更新する。本明細書では、平均ニューラルネットワークのパラメータは「平均ネットワークパラメータ」と呼ばれる。トレーニング中に平均ネットワークを使用することについては、図2〜図6を参照しながら以下で説明する。
【００５０】
図2は、エージェントによって実行されるべき可能なアクションのセットが有限であるときにアクション選択ポリシーニューラルネットワークをトレーニングするための例示的な処理200の流れ図である。便宜上、処理200は、1つまたは複数の場所に配置された1つまたは複数のコンピュータを含むシステムによって実行されるものとして説明される。たとえば、強化学習システム、たとえば、本明細書に従って適切にプログラムされた図1の強化学習システム100は、処理200を実行することができる。
【００５１】
システムは再生メモリから軌道をサンプリングする(ステップ202)。上述のように、軌道は複数の時間ステップの各々におけるそれぞれのアクション選択データを含む。
【００５２】
最後の時間ステップから開始する軌道における時間ステップごとに、システムは、その時間ステップの主スコア分布を生成するために、ポリシーパラメータの現在値に従ってアクション選択ポリシーニューラルネットワークを使用してその時間ステップにおける観測値を処理し、時間ステップのアクションに対するQ値のセットを生成するために批評家ニューラルネットワークを使用して時間ステップにおける観測値を処理する(ステップ204)。
【００５３】
システムがトレーニングのために平均ニューラルネットワークを使用している場合、システムはまた、時間ステップの補助スコア分布を生成するために、平均ネットワークパラメータの現在値に従って平均ニューラルネットワークを使用して時間ステップにおける観測値を処理する。
【００５４】
システムは、時間ステップの主スコア分布、時間ステップのQ値のセット、および生成された場合は時間ステップの補助スコア分布を使用して、時間ステップの各々のそれぞれのアクション選択パラメータ更新およびそれぞれの批評家パラメータ更新を決定する。(ステップ206)。所与の時間ステップについてこれらの更新を決定することは、図3を参照しながら以下でより詳細に説明する。
【００５５】
システムは、時間ステップのアクション選択パラメータ更新および批評家パラメータ更新を使用して、すなわち、各更新を対応するパラメータのセットに追加することによって、ポリシーパラメータの現在値および批評家パラメータの現在値を更新する(ステップ208)。
【００５６】
システムが平均ニューラルネットワークを使用している場合、システムは、平均ネットワークパラメータの更新値を決定するために、ポリシーパラメータの更新値を使用して平均ネットワークパラメータの現在値を更新する。具体的には、平均ネットワークパラメータの更新値は、平均ネットワークパラメータの現在値とポリシーパラメータの更新値との加重合計であり得る。これらの値を組み合わせるための重みは、ポリシーパラメータの更新に対する平均ニューラルネットワークの影響を制御し、したがって「ソフト」更新を提供するように選択され得る。
【００５７】
システムは、アクション選択ポリシーニューラルネットワークをトレーニングするために、すなわち、ポリシーパラメータの初期値からポリシーパラメータのトレーニング済み値を決定するために、再生メモリからサンプリングされた異なる軌道に対して処理200を繰り返し実行することができる。
【００５８】
図3は、エージェントによって実行されるべき可能なアクションのセットが有限であるときに時間ステップのアクション選択パラメータ更新および批評家パラメータ更新を決定するための例示的な処理300の流れ図である。便宜上、処理300は、1つまたは複数の場所に配置された1つまたは複数のコンピュータを含むシステムによって実行されるものとして説明される。たとえば、強化学習システム、たとえば、本明細書に従って適切にプログラムされた図1の強化学習システム100は、処理300を実行することができる。
【００５９】
システムは、軌道における最後の時間ステップから開始し、軌道における最初の時間ステップまで続く、軌道における時間ステップごとに処理300を実行する。
【００６０】
システムは、時間ステップの主スコア分布における時間ステップにおいて実行されたアクションのスコアと、その時間ステップのアクション選択分布において実行されたアクションのアクション選択スコア、すなわち、時間ステップのアクション選択データにおいて識別された分布から、時間ステップの重要度重みを決定する(ステップ302)。
【００６１】
具体的には、システムは、主スコア分布における時間ステップにおいて実行されたアクションに対するスコアをアクション選択分布におけるアクション選択スコアで除算することによって重要度重みを決定する。
【００６２】
システムはまた、正の定数の最小値、たとえば1、および重要度重みとして、時間ステップの切り詰められた重要度重みを決定する。
【００６３】
システムは、Q値と時間ステップの主スコア分布とから時間ステップの値推定値を決定する(ステップ304)。具体的には、システムは、各Q値が主スコア分布における対応するアクションに対するスコアによって重み付けされているQ値の加重合計を決定する。
【００６４】
システムは、現在の帰線推定値に割引率を乗算し、時間ステップに対する報酬を製品に加算することによって、時間ステップの帰線推定値を決定する(ステップ306)。現在の帰線推定値は、処理300の先行する反復後の帰線推定値である。処理の最初の反復、すなわち軌道における最後の時間ステップに対して、システムは現在の帰線推定値をゼロに設定する。一般に、帰線推定値は、時間ステップの目標Q値の推定値、すなわち、時間ステップにおいて観測値を処理することによって批評家ネットワークによって生成されるべきであったQ値の推定値である。
【００６５】
システムは、時間ステップにおいて実行されたアクションに基づく時間ステップの第1の勾配を決定する(ステップ308)。具体的には、第1の勾配項は以下を満たす:
【００６６】
【数２】
2019537132.tif 000004
【００６７】
上式で、piは時間ステップの切り詰められた重要度重みであり、勾配はφθ'(xi)に対して取得され、これは、主スコア分布を定義するアクションポリシーネットワークの出力であり、fは時間ステップの主スコア分布スコアであり、aiは時間ステップにおいて実行されたアクションであり、Qretは時間ステップの帰線推定値であり、Viは時間ステップの値推定値である。
【００６８】
システムは、アクションのセット内のすべてのアクションに基づく時間ステップの第2の勾配を決定する(ステップ310)。一般に、第2の勾配項は、第1の勾配項に対する補正項と見なされ得る。具体的には、第2の勾配は以下を満たす:
【００６９】
【数３】
2019537132.tif 000005
【００７０】
上式で、合計は、アクションの有限集合内のすべてのアクションaの合計であり、pi(a)は、アクションaの重要度重み、すなわち、主スコア分布におけるアクションaのスコアとアクションスコア分布のアクションaのスコアとの間の比率であり、f(a|φθ'(xi))は主スコア分布におけるアクションaのスコアであり、
【００７１】
【数４】
2019537132.tif 000006
【００７２】
は実行されたアクションのQ値である。
【００７３】
システムは、たとえば第1の勾配項と第2の勾配項を加算することによって、第1の勾配と第2の勾配から時間ステップの主勾配を決定する(ステップ312)。
【００７４】
システムが平均ネットワークを使用する実装形態では、システムは、時間ステップの補助スコア分布と時間ステップの主スコア分布との間の差の尺度の補助勾配を決定する(ステップ314)。具体的には、補助勾配は、主分布、すなわち(i)補助スコア分布と(ii)主スコア分布との間のKLダイバージェンスの、アクションポリシーニューラルネットワークの出力に関する勾配に等しくなり得る。
【００７５】
システムは、主勾配および補助勾配から最終勾配を決定する(ステップ316)。具体的には、システムは、主勾配と補助勾配から主勾配に対する倍率を決定し、次いで最終勾配を生成するために、その倍率を主勾配に適用する。たとえば、倍率sは次の式を満たすことができる:
【００７６】
【数５】
2019537132.tif 000007
【００７７】
上式で、kは補助勾配であり、gは主勾配であり、δは定数である。次いで、システムは、主勾配から倍率を引くことによって倍率を適用することができる。
【００７８】
システムは、最終勾配からポリシーパラメータの現在値への更新を決定する(ステップ318)。
【００７９】
具体的には、システムは、ポリシーパラメータの現在値を更新するために使用されるアクション選択ポリシーニューラルネットワークのパラメータに関する勾配を決定するために、アクション選択ポリシーニューラルネットワークを通じて最終勾配を逆伝搬することができる。
【００８０】
システムが平均ニューラルネットワークを使用しない実装形態では、システムは最終勾配として主勾配を使用することができ、または他の何らかの技法、たとえばステップごとの変化をパラメータに限定する信頼領域技法を使用して主勾配をスケーリングすることができる。そのような技法の例は、Schulmanら、J.Schulman、S.Levine、P.Abbeel、M.I.Jordan、およびP.MoritzのTrust region policy optimization, in ICML, 2015に記載されている信頼領域ポリシー最適化(TRPO)技法である。
【００８１】
システムは、目標Q値として帰線推定値を使用する批評家パラメータの現在値への更新を決定する(ステップ320)。具体的には、批評家パラメータへの更新は次の式を満たすことができる:
【００８２】
【数６】
2019537132.tif 000008
【００８３】
上式で、θ'vは批評家パラメータである。
【００８４】
システムは、推定値が処理300の次の反復において使用される前に、帰線推定値を更新する(ステップ322)。たとえば、更新された帰線推定値は次の式を満たすことができる:
【００８５】
【数７】
2019537132.tif 000009
【００８６】
上式で、
【００８７】
【数８】
2019537132.tif 000010
【００８８】
は、切り詰められた重要度重みである。
【００８９】
次いで、システムは、処理300の次の反復のための現在の推定値として更新された帰線推定値を使用する。
【００９０】
図4は、エージェントによって実行されるべき可能なアクションのセットが有限ではないときに、すなわち、アクションが連続アクション空間から選択されるときに、アクション選択ポリシーニューラルネットワークをトレーニングするための例示的な処理400の流れ図である。便宜上、処理400は、1つまたは複数の場所に配置された1つまたは複数のコンピュータを含むシステムによって実行されるものとして説明される。たとえば、強化学習システム、たとえば、本明細書に従って適切にプログラムされた図1の強化学習システム100は、処理400を実行することができる。
【００９１】
システムは再生メモリから軌道をサンプリングする(ステップ402)。上述のように、軌道は複数の時間ステップの各々におけるそれぞれのアクション選択データを含む。
【００９２】
軌道における時間ステップごとに、システムは、時間ステップの主スコア分布のパラメータを生成するために、ポリシーパラメータの現在値に従ってアクション選択ポリシーニューラルネットワークを使用して、その時間ステップにおける観測値を処理する(ステップ404)。システムがトレーニングのために平均ニューラルネットワークを使用している場合、システムはまた、時間ステップの補助スコア分布のパラメータを生成するために、平均ネットワークパラメータの現在値に従って平均ニューラルネットワークを使用して時間ステップにおける観測値を処理する。
【００９３】
軌道における時間ステップごとに、システムは、実行されたアクションに対する確率論的Q値と時間ステップの値推定値を生成するために、批評家ニューラルネットワーク(この場合は、確率論的対決ネットワーク)を使用して、その時間ステップにおける観測値および時間ステップにおける実行されたアクションを処理する(ステップ406)。
【００９４】
システムは、時間ステップの主スコア分布、時間ステップのQ値のセット、および生成された場合は時間ステップの補助スコア分布を使用して、時間ステップの各々のそれぞれのアクション選択パラメータ更新、およびそれぞれの批評家パラメータ更新を決定する(ステップ408)。所与の時間ステップについてこれらの更新を決定することは、図5を参照しながら以下でより詳細に説明する。
【００９５】
システムは、時間ステップのアクション選択パラメータ更新および批評家パラメータ更新を使用して、すなわち、各更新を対応するパラメータのセットに追加することによって、ポリシーパラメータの現在値および批評家パラメータの現在値を更新する(ステップ410)。
【００９６】
システムが平均ニューラルネットワークを使用している場合、システムは、平均ネットワークパラメータの更新値を決定するために、ポリシーパラメータの更新値を使用して平均ネットワークパラメータの現在値を更新する。具体的には、平均ネットワークパラメータの更新値は、平均ネットワークパラメータの現在値とポリシーパラメータの更新値との加重合計である。
【００９７】
システムは、アクション選択ポリシーニューラルネットワークをトレーニングするために、すなわち、ポリシーパラメータの初期値からポリシーパラメータのトレーニング済み値を決定するために、再生メモリからサンプリングされた異なる軌道に対して処理400を繰り返し実行することができる。
【００９８】
図5は、エージェントによって実行されるべき可能なアクションのセットが有限ではないときに時間ステップのアクション選択パラメータ更新および批評家パラメータ更新を決定するための例示的な処理500の流れ図である。便宜上、処理500は、1つまたは複数の場所に配置された1つまたは複数のコンピュータを含むシステムによって実行されるものとして説明される。たとえば、強化学習システム、たとえば、本明細書に従って適切にプログラムされた図1の強化学習システム100は、処理500を実行することができる。
【００９９】
システムは、軌道における最後の時間ステップから開始し、軌道における最初の時間ステップまで続く、軌道における時間ステップごとに処理500を実行する。
【０１００】
システムは主スコア分布から代替アクションをサンプリングする(ステップ502)。すなわち、システムは、任意の所与のアクションがサンプリングされる尤度が主スコア分布におけるアクションのスコアによって定義されるように、連続アクション空間から代替アクションをサンプリングする。
【０１０１】
システムは、時間ステップの重要度重み、および時間ステップの代替重要度重みを決定する(ステップ504)。具体的には、システムは、(i)時間ステップの主スコア分布における時間ステップにおいて実行されたアクションのスコア、すなわち、時間ステップのアクション選択データにおいて識別されたアクションを、(ii)時間ステップのアクション選択分布におけるアクション選択スコアで除算することによって重要度重みを決定し、(i)時間ステップの主スコア分布における代替アクションのスコアを(ii)時間ステップのアクション選択分布における代替アクションのスコアで除算することによって代替重要度重みを決定する。
【０１０２】
システムは、現在の帰線推定値に割引率を乗算し、時間ステップに対する報酬を製品に加算することにより、時間ステップの帰線推定値を決定する(ステップ506)。現在の帰線推定値は、処理500の先行する反復後の帰線推定値である。
【０１０３】
システムは、現在のOPC推定値に割引率を乗算し、時間ステップに対する報酬を製品に加算することによって、ポリシー外補正(OPC)推定値を決定する(ステップ508)。現在の帰線推定値と同様に、現在のOPC推定値は、処理500の先行する反復後のOPC推定値である。
【０１０４】
処理の第1の反復、すなわち軌道における最後の時間ステップに対して、システムは現在の帰線推定値と現在のOPC推定値の両方をゼロに設定する。
【０１０５】
システムは、時間ステップにおいて実行されたアクションに基づく時間ステップの第1の勾配項を決定する(ステップ510)。具体的には、第1の勾配項は以下を満たす:
【０１０６】
【数９】
2019537132.tif 000011
【０１０７】
上式で、cは定数値であり、piは時間ステップの重要度重みであり、fは時間ステップの主スコア分布であり、aiは時間ステップにおいて実行されたアクションであり、φθ'(xi)はアクション選択ポリシーネットワークによって出力されるパラメータ(すなわち、時間ステップの主スコア分布を定義するパラメータ)であり、Qopcは、時間ステップのOPC推定値であり、Viは時間ステップの値推定値である。
【０１０８】
システムは、時間ステップに対してサンプリングされた代替アクションに基づく時間ステップの第2の勾配項を決定する(ステップ512)。具体的には、第2の勾配項は以下を満たす:
【０１０９】
【数１０】
2019537132.tif 000012
【０１１０】
上式で、p'iは時間ステップの代替重要度重みであり、
【０１１１】
【数１１】
2019537132.tif 000013
【０１１２】
は、確率論的対決ネットワークによって生成されるように、時間ステップにおける観測値に応じた代替アクションa'iに対するQ値である。
【０１１３】
システムは、たとえば第1の勾配項と第2の勾配項を加算することによって、第1の勾配と第2の勾配から時間ステップの主勾配を決定する(ステップ514)。
【０１１４】
システムが平均ネットワークを使用する実装形態では、システムは、時間ステップの補助スコア分布と時間ステップの主スコア分布との間の差の尺度の補助勾配を決定する(ステップ516)。具体的には、補助勾配は、(i)補助スコア分布と(ii)主スコア分布との間のKLダイバージェンスの主分布のパラメータに関する勾配に等しくなり得る。
【０１１５】
システムは、主勾配および補助勾配から最終勾配を決定する(ステップ518)。具体的には、システムは、主勾配と補助勾配から主勾配に対する倍率を決定し、次いで最終勾配を生成するために、その倍率を主勾配に適用する。たとえば、倍率sは次の式を満たすことができる:
【０１１６】
【数１２】
2019537132.tif 000014
【０１１７】
上式で、kは補助勾配であり、gは主勾配であり、δは定数である。次いで、システムは、主勾配から倍率を引くことによって倍率を適用することができる。
【０１１８】
システムは、最終勾配からポリシーパラメータの現在値への更新を決定する(ステップ520)。
【０１１９】
具体的には、システムは、ポリシーパラメータの現在値を更新するために使用されるアクション選択ポリシーニューラルネットワークのパラメータに関する勾配を決定するために、アクション選択ポリシーニューラルネットワークを通じて最終勾配を逆伝搬することができる。
【０１２０】
システムが平均ニューラルネットワークを使用しない実装形態では、システムは最終勾配として主勾配を使用することができ、または他の何らかの技法、たとえばステップごとの変化をパラメータに限定する信頼領域技法を使用して主勾配をスケーリングすることができる。そのような技法の例は、Schulmanら、J.Schulman、S.Levine、P.Abbeel、M.I.Jordan、およびP.MoritzのTrust region policy optimization, in ICML, 2015に記載されている信頼領域ポリシー最適化(TRPO)技法である。
【０１２１】
システムは、批評家パラメータの現在値への更新を決定する(ステップ522)。具体的には、批評家パラメータへの更新は、批評家パラメータを目標Q値の方向に移動させる勾配の更新と、批評家パラメータを目標値推定値の方向に移動させる別の勾配との合計であり得る。たとえば、更新は次の式を満たすことができる:
【０１２２】
【数１３】
2019537132.tif 000015
【０１２３】
上式で、θ'vは批評家パラメータである。
【０１２４】
システムは、推定値が処理500の次の反復において使用される前に、帰線推定値およびOPC推定値を更新する(ステップ524)。たとえば、更新された帰線推定値は次の式を満たすことができる:
【０１２５】
【数１４】
2019537132.tif 000016
【０１２６】
上式で、ciは
【０１２７】
【数１５】
2019537132.tif 000017
【０１２８】
と等しく、dは定数であり、たとえばアクション空間の次元である。1/dのオプションの指数は、より速い学習につながることができる。更新されたOPC推定値は、次の式を満たすことができる:
【０１２９】
【数１６】
2019537132.tif 000018
【０１３０】
次いで、システムは、処理500の次の反復のための現在の推定値として更新された帰線推定値およびOPC推定値を使用する。
【０１３１】
上記の説明は、勾配がアクション選択ポリシーネットワークのパラメータを更新するために使用される前に、アクション選択ポリシーニューラルネットワークの勾配を調整するためにのみ使用されるものとして平均ネットワークを説明した。しかしながら、平均ニューラルネットワークは、主ニューラルネットワークのパラメータ(「主パラメータ」と呼ばれる)の値の更新された値において更新するために使用される前に主ニューラルネットワークの勾配をスケーリングすることによって、任意のニューラルネットワーク(「主」ニューラルネットワークと呼ばれる)のトレーニングを改善するために使用され得る。
【０１３２】
たとえば、主ニューラルネットワークは、上述したアクション選択ポリシーニューラルネットワークとすることができ、あるいは異なる種類のネットワーク入力を受信して異なる種類のネットワーク出力を生成する、異なるニューラルネットワークとすることができる。
【０１３３】
一般に、システムは、主ニューラルネットワークの出力と平均ニューラルネットワークの出力との間の差の尺度に基づいて勾配を調整することによって、主ニューラルネットワークのトレーニング中に平均ニューラルネットワークを使用することができる。
【０１３４】
主ニューラルネットワークは、任意の種類のデジタルデータ入力を受信することと、その入力に基づいて任意の種類のスコア、分類、または回帰出力を生成することとを行うように構成され得る。
【０１３５】
たとえば、主ニューラルネットワークへの入力が画像または画像から抽出された特徴である場合、所与の画像について主ニューラルネットワークによって生成された出力はオブジェクトカテゴリのセットごとのスコアであり得、各スコアは、その画像がそのカテゴリに属するオブジェクトの画像を含む推定尤度を表す。
【０１３６】
別の例として、主ニューラルネットワークへの入力が、インターネットリソース(たとえば、ウェブページ)、文書、または文書の一部、あるいはインターネットリソース、文書、または文書の一部から抽出された特徴である場合、所与のインターネットリソース、文書、または文書の一部について主ニューラルネットワークによって生成される出力は、トピックのセットごとのスコアであり得、各スコアは、インターネットリソース、文書、または文書の一部がトピックについてである推定尤度を表す。
【０１３７】
別の例として、主ニューラルネットワークへの入力が特定の広告についてのインプレッションコンテキストの特徴である場合、主ニューラルネットワークによって生成される出力は、その特定の広告がクリックされる推定尤度を表すスコアであり得る。
【０１３８】
別の例として、主ニューラルネットワークへの入力が、ユーザ向けのパーソナライズされた推奨の特徴、たとえば推奨のコンテキストを特徴付ける特徴、たとえばユーザによって行われた以前のアクションを特徴付ける特徴である場合、主ニューラルネットワークによって生成される出力は、コンテンツアイテムのセットの各々に対するスコアであり得、各スコアは、ユーザがコンテンツアイテムを推奨されることに好意的に応答するであろう推定尤度を表す。
【０１３９】
別の例として、主ニューラルネットワークへの入力がある言語のテキストのシーケンスである場合、主ニューラルネットワークによって生成される出力は、別の言語の一連のテキストの各々に対するスコアであり得、各スコアは他の言語のテキストが他の言語への入力テキストの適切な翻訳であるという推定尤度を表す。
【０１４０】
別の例として、主ニューラルネットワークへの入力が話された発話を表すシーケンスである場合、主ニューラルネットワークによって生成される出力は、一連のテキストの各々に対するスコアであり得、各スコアは、そのテキストが発話の正しいトランスクリプトであるという推定尤度を表す。
【０１４１】
上記のように、平均ニューラルネットワークが主ニューラルネットワークのトレーニングに使用されるときはいつでも、平均ニューラルネットワークは主ニューラルネットワークと同じアーキテクチャを有するが、トレーニング中の任意の時点で主ニューラルネットワークのものとは異なるパラメータ値を有する。具体的には、トレーニング中、平均ネットワークパラメータの現在値は、主ネットワークパラメータの値の移動平均を表す。
【０１４２】
図6は、平均ニューラルネットワークを使用して主ニューラルネットワークをトレーニングするための例示的な処理600の流れ図である。便宜上、処理600は、1つまたは複数の場所に配置された1つまたは複数のコンピュータを含むシステムによって実行されるものとして説明される。たとえば、強化学習システム、たとえば、本明細書に従って適切にプログラムされた図1の強化学習システム100は、処理600を実行することができる。
【０１４３】
システムは、目的関数を最適化するために主ニューラルネットワークをトレーニングする際に使用するためのトレーニングデータのバッチを受信する(ステップ602)。一般に、トレーニングデータは複数のトレーニング例を含み、トレーニング例ごとに、トレーニング例のために主ニューラルネットワークによって生成されるべきである目標出力を指定する。目的関数は、一般に、所与のトレーニング例について、トレーニング例について主ニューラルネットワークによって生成された出力とトレーニング例についての目標出力との関数である。たとえば、目的関数は、クロスエントロピー損失関数または最尤目的関数であり得る。
【０１４４】
バッチ内の複数のトレーニング例ごとに、システムは、主ニューラルネットワークを使用してトレーニング例を処理し、また主ネットワークパラメータの現在値に従って、トレーニング例に対する主ネットワーク出力を生成するためにトレーニング例を処理する(ステップ604)。
【０１４５】
バッチ内の複数のトレーニング例ごとに、  システムは、従来の機械学習トレーニング技法を使用して、主ネットワーク出力から目的関数の主勾配を決定する(ステップ606)。
【０１４６】
バッチ内の複数のトレーニング例ごとに、システムは、平均ニューラルネットワークを使用して、および平均ネットワークパラメータの現在値に従って、トレーニング例の平均ネットワーク出力を生成するためにトレーニング例を処理する(ステップ608)。
【０１４７】
バッチ内の複数のトレーニング例ごとに、システムは、平均ネットワーク出力と主ネットワーク出力との間の差の尺度の補助勾配を決定する(ステップ610)。具体的には、補助勾配は、主ネットワーク出力に関する勾配であり、差の尺度は、(i)平均ネットワーク出力と(ii)主ネットワーク出力との間のカルバック-ライブラーダイバージェンスである。
【０１４８】
バッチ内の複数のトレーニング例ごとに、システムは、主勾配および補助勾配から最終勾配を決定する(ステップ612)。具体的には、システムは、補助勾配と主勾配から主勾配に対する倍率を決定し、最終倍率を決定するためにその倍率を主勾配に適用する。たとえば、倍率sは次の式を満たすことができる:
【０１４９】
【数１７】
2019537132.tif 000019
【０１５０】
上式で、kは補助勾配であり、gは主勾配であり、δは定数である。システムは、主勾配から倍率を引くことによって主勾配に倍率を適用することができる。
【０１５１】
バッチ内の複数のトレーニング例ごとに、システムは、最終勾配から主ネットワークパラメータの現在値への更新を決定する(ステップ614)。たとえば、システムは、主ネットワークパラメータの各々に対する更新を決定するために、主ニューラルネットワークを通じて最終勾配を逆伝搬させることができる。使用されているトレーニング技法に応じて、システムは、更新として逆伝搬勾配を直接使用することもでき、またはたとえば逆伝搬勾配に学習率を適用することによって更新を生成するように逆伝搬勾配を修正することもできる。
【０１５２】
システムは、たとえば、主ネットワークパラメータの現在値に更新を追加することによって、主ネットワークパラメータの更新値を決定するために、バッチ内のトレーニング例の更新を使用して主ネットワークパラメータの現在値を更新する(ステップ616)。
【０１５３】
システムは、平均ネットワークパラメータの更新値を決定するために、主ネットワークパラメータの更新値を使用して平均ネットワークパラメータの現在値を更新する(ステップ618)。具体的には、平均ネットワークパラメータの更新値は、平均ネットワークパラメータの現在値と主ネットワークパラメータの更新値との加重合計である。
【０１５４】
システムは、主ニューラルネットワークをトレーニングするために、すなわち、パラメータの初期値から主ネットワークパラメータのトレーニング済み値を決定するために、トレーニングデータの複数の異なるバッチに対して処理600を複数回繰り返すことができる。
【０１５５】
本明細書は、システムおよびコンピュータプログラム構成要素に関連して「構成された」という用語を使用する。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つまたは複数のプログラムされたコンピュータとの組合せによっても実行され得る。
【０１６１】
コンピュータプログラムの実行に適したコンピュータは、汎用または専用のマイクロプロセッサまたはその両方、あるいは任意の他の種類の中央処理装置に基づくものとすることができる。一般に、中央処理装置は、読出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行する(performing or executing)ための中央処理装置と、命令およびデータを記憶するための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  強化学習システム
100  システム
102  エージェント
104  アクション
106  環境
108  観測値
112  アクション選択ポリシーニューラルネットワーク
118  トレーニングエンジン
130  批評家ニューラルネットワーク
150  再生メモリ
170  平均ニューラルネットワーク
200  処理
300  処理
400  処理
500  処理
600  処理
【図１】
2019537132.tif 000022
【図２】
2019537132.tif 000023
【図３】
2019537132.tif 000024
【図４】
2019537132.tif 000025
【図５】
2019537132.tif 000026
【図６】
2019537132.tif 000027
【手続補正書】
【提出日】平成30年12月18日(2018.12.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機械的エージェントと現実世界の環境との対話の結果として生成された軌道を記憶する再生メモリを維持するステップであって、各軌道が複数の時間ステップの各々におけるそれぞれのアクション選択データを備え、前記動作が連続アクション空間内において定義され、前記機械的エージェントを制御するための制御入力を備え、各時間ステップにおける前記アクション選択データが、
(i)前記環境の状態を特徴付ける観測値、
(ii)前記観測値に応じて前記エージェントによって実行されたアクション、
(iii)前記エージェントが前記アクションを実行したことに応じて受信した報酬、および
(iv)前記観測値に応じてどのアクションを実行するかを決定する際に、少なくとも前記実行されたアクションに割り当てられたアクション選択スコア
を識別する、ステップと、
ポリシーパラメータを有するアクション選択ニューラルネットワークを前記再生メモリ内の前記軌道上でトレーニングするステップであって、前記ポリシーパラメータがアクション選択ニューラルネットワークのパラメータであり、前記アクション選択ニューラルネットワークが、
前記環境の状態を特徴付ける観測値を受信することと、
前記観測値に応じて前記エージェントによって実行され得る可能性のあるアクションに対する1つまたは複数の連続分布のパラメータを備えるネットワーク出力を生成するために前記観測値を処理することと
を行うように構成される、ステップと
を備え、
前記アクション選択ニューラルネットワークをトレーニングするステップが、
前記再生メモリから軌道をサンプリングするステップと、
ポリシー外の役者批評家強化学習技法を使用して、前記アクション選択ニューラルネットワークを前記軌道上でトレーニングすることによって、前記ポリシーパラメータの現在値を調整するステップと
を備え、
前記観測値に応じて前記エージェントによって実行され得る可能なアクションが、前記連続アクション空間内の点として表され、前記ポリシー外の役者批評家強化学習技法を使用して前記ポリシーパラメータの現在値を調整するステップが、
前記軌道内の最終時間ステップから前記軌道内の初期時間ステップまでの前記軌道内の時間ステップごとに、
主スコア分布を定義するために前記アクション選択ニューラルネットワークを使用して前記観測値を処理するステップと、
確率論的対決ニューラルネットワークを使用して前記観測値を処理するステップであって、
前記実行されたアクションの決定論的値推定値と確率論的Q値を生成するために前記観測値を処理するように構成され、前記確率的Q値が、可能性のあるアクションにわたって前記スコア分布からアクションをサンプリングすることによって前記確率論的対決ニューラルネットワークによって決定される、ステップと、
前記主スコア分布から代替アクションをサンプリングするステップと、
前記Q値から、前記決定論的値推定値、前記確率論的Q値、前記主スコア分布、および前記サンプリングされたアクションから、前記時間ステップの主勾配を決定するステップと、
を備える、コンピュータ実装方法。
【請求項２】
前記ポリシーパラメータの現在値を調整するステップが、
複数の平均ネットワークパラメータを有する平均ニューラルネットワークを使用して、および前記平均ネットワークパラメータの現在値に従って、補助スコア分布を生成するために前記観測値を処理するステップと、
前記補助スコア分布と前記主スコア分布との間の差の尺度の補助勾配を決定するステップと、
前記主勾配および前記補助勾配から最終勾配を決定するステップと、
前記最終勾配から前記ポリシーパラメータの前記現在値への更新を決定するステップと
をさらに備える、請求項1に記載の方法。
【請求項３】
前記差の前記尺度がカルバック-ライブラーダイバージェンスである、請求項2に記載の方法。
【請求項４】
前記主勾配と前記補助勾配から前記最終勾配を決定するステップが、
前記補助勾配と前記主勾配から、前記主勾配に対する倍率を決定するステップと、
前記最終勾配を決定するために、前記主勾配に前記倍率を適用するステップと、
を備える、請求項2または3のいずれか一項に記載の方法。
【請求項５】
前記倍率sが、
【数１】
2019537132.tif 000028
を満たし、上式で、kは前記補助勾配であり、gは前記主勾配であり、δは定数である、請求項4に記載の方法。
【請求項６】
前記倍率を適用するステップが、前記主勾配から前記倍率を引くステップを備える、請求項4に記載の方法。
【請求項７】
前記平均ネットワークパラメータの前記現在値が、前記トレーニング中の前記アクション選択ネットワークの前記パラメータの値の移動平均を表す、請求項2から6のいずれか一項に記載の方法。
【請求項８】
前記ポリシーパラメータの更新値を決定するために前記軌道の前記更新を用いて前記ポリシーパラメータの前記現在値を更新するステップと、
前記平均ネットワークパラメータの更新値を決定するために、前記ポリシーパラメータの前記更新値を使用して前記平均ネットワークパラメータの前記現在値を更新するステップと、
をさらに備える、請求項7に記載の方法。
【請求項９】
前記平均ネットワークパラメータの前記更新値が、前記平均ネットワークパラメータの前記現在値と前記主ネットワークパラメータの前記更新値との加重合計である、請求項8に記載の方法。
【請求項１０】
目的関数を最適化することによって、前記主ネットワークパラメータのトレーニング済み値を決定するために複数の主ネットワークパラメータを有する主ニューラルネットワークをトレーニングするコンピュータ実装方法であって、前記方法が、環境と対話するエージェントによって実行されるべきアクションを選択する強化学習システムによって実装され、前記主ニューラルネットワークが、前記環境の状態を特徴付ける観測値に応じて実行されるべき前記アクションを選択するためのアクション選択ポリシーニューラルネットワークであり、再生メモリが、前記アクション選択ポリシーニューラルネットワークをトレーニングするための前記エージェントと前記環境との対話の結果として生成された軌道を記憶し、各軌道が複数の時間ステップのそれぞれにおけるアクション選択データを備え、前記エージェントが機械的エージェントであり、前記環境が現実世界の環境であり、前記方法が、
前記再生メモリからサンプリングされた複数のトレーニング例を備えるトレーニングデータのバッチを受信するステップと、
前記バッチ内の前記複数のトレーニング例ごとに、
前記主ネットワークパラメータの現在値に従って前記主ニューラルネットワークを使用して、前記トレーニング例に対する主ネットワーク出力を生成するために前記トレーニング例を処理するステップと、
前記主ネットワーク出力から前記目的関数の主勾配を決定するステップと、
複数の平均ネットワークパラメータを有する平均ニューラルネットワークを使用して、および平均ネットワークパラメータの現在値に従って、前記トレーニング例の平均ネットワーク出力を生成するために前記トレーニング例を処理するステップであって、前記平均ニューラルネットワークが前記主ニューラルネットワークと同じアーキテクチャを有し、前記平均ネットワークパラメータの前記現在値が前記主ネットワークパラメータの値の移動平均を表す、ステップと、
前記平均ネットワーク出力と前記主ネットワーク出力との間の差の尺度の補助勾配を決定するステップと、
前記主勾配および前記補助勾配から最終勾配を決定するステップと、
前記最終勾配から前記主ネットワークパラメータの前記現在値への更新を決定するステップと
を備え、
前記方法が、
前記主ネットワークパラメータの更新値を決定するために、前記バッチ内の前記トレーニング例の前記更新を使用して前記主ネットワークパラメータの前記現在値を更新するステップと、
前記平均ネットワークパラメータの更新値を決定するために、前記主ネットワークパラメータの前記更新値を使用して前記平均ネットワークパラメータの前記現在値を更新するステップと
をさらに備える、コンピュータ実装方法。
【請求項１１】
前記差の前記補助的尺度が、カルバック-ライブラーダイバージェンスである、請求項10に記載の方法。
【請求項１２】
前記主勾配と前記補助勾配から前記最終勾配を決定するステップが、
前記補助勾配と前記主勾配から、前記主勾配に対する倍率を決定するステップと、
前記最終勾配を決定するために、前記主勾配に前記倍率を適用するステップと、
を備える、請求項10または11のいずれか一項に記載の方法。
【請求項１３】
前記倍率sが、
【数２】
2019537132.tif 000029
を満たし、上式で、kは前記補助勾配であり、gは前記主勾配であり、δは定数である、請求項12に記載の方法。
【請求項１４】
前記倍率を適用するステップが、前記主勾配から前記倍率を引くステップを備える、請求項13に記載の方法。
【請求項１５】
前記平均ネットワークパラメータの前記現在値が、前記トレーニング中の前記主ネットワークパラメータの値の移動平均を表す、請求項10から14のいずれか一項に記載の方法。
【請求項１６】
前記平均ネットワークパラメータの前記更新値が、前記平均ネットワークパラメータの前記現在値と前記主ネットワークパラメータの前記更新値との加重合計である、請求項15に記載の方法。
【請求項１７】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに請求項1から16のいずれか一項に記載のそれぞれの方法の前記動作を実行させる命令を記憶する1つまたは複数のストレージデバイスとを備える、システム。
【請求項１８】
1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに請求項1から16のいずれか一項に記載のそれぞれの方法の前記動作を実行させる命令を記憶する1つまたは複数のコンピュータストレージ媒体。
【国際調査報告】
2019537132.tif 000030
2019537132.tif 000031