JP2023063445A - 非同期深層強化学習 - Google Patents
非同期深層強化学習 Download PDFInfo
- Publication number
- JP2023063445A JP2023063445A JP2023039773A JP2023039773A JP2023063445A JP 2023063445 A JP2023063445 A JP 2023063445A JP 2023039773 A JP2023039773 A JP 2023039773A JP 2023039773 A JP2023039773 A JP 2023039773A JP 2023063445 A JP2023063445 A JP 2023063445A
- Authority
- JP
- Japan
- Prior art keywords
- current
- worker
- action
- neural network
- environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000002787 reinforcement Effects 0.000 title claims abstract description 29
- 230000009471 action Effects 0.000 claims abstract description 124
- 238000013528 artificial neural network Methods 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims abstract description 62
- 238000012549 training Methods 0.000 claims abstract description 29
- 230000008569 process Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 13
- 230000007774 longterm Effects 0.000 claims description 10
- 230000006399 behavior Effects 0.000 claims description 9
- 230000010076 replication Effects 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 2
- 239000003795 chemical substances by application Substances 0.000 description 31
- 238000004590 computer program Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 206010048669 Terminal state Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Feedback Control In General (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
【課題】環境とインタラクションするときにエージェントによって実行される行動を選択するために強化学習システムによって使用される深層ニューラルネットワークを非同期に訓練するための技術を提供する。【解決手段】システムのうちの1つは、複数のワーカーを実装するように構成された1つまたは複数のコンピュータを含み、各ワーカーは、互いのワーカーと独立して動作するように構成され、各ワーカーは、深層ニューラルネットワークの訓練中に環境のそれぞれの複製とインタラクションするそれぞれのアクターに関連付けられる。本明細書の態様は、ニューラルネットワークのより速い訓練および/または訓練のためのメモリの要件の低減という技術的効果を有する。【選択図】図1
Description
本明細書は、強化学習(Reinforcement Learning)に関する。
強化学習システムにおいては、エージェントが、環境の現在の状態を特徴付ける観測結果(Observation)を受け取ることに応じて強化学習システムによって選択される行動(Action)を実行することによって環境とインタラクションする。
一部の強化学習システムは、ニューラルネットワークの出力に応じて所与の観測結果を受け取ることに応じてエージェントによって実行される行動を選択する。
ニューラルネットワークは、受け取られた入力に関する出力を予測するために非線形ユニットの1つまたは複数の層を使用する機械学習モデルである。一部のニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む深層ニューラルネットワーク(Deep Neural Networks)である。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれの組の現在の値に従って、受け取られた入力から出力を生成する。
本明細書は、強化学習に関するテクノロジーを説明する。特に、本明細書は、環境とインタラクションするときにエージェントによって実行される行動を選択するために強化学習システムによって使用される深層ニューラルネットワークを非同期に訓練するための技術を説明する。本明細書の態様は、ニューラルネットワークのより速い訓練および/または訓練のためのメモリの要件の低減という技術的効果を有する。
1つまたは複数のコンピュータのシステムが特定の動作または行動を実行するように構成されることは、システムが、動作中にシステムに動作または行動を実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをそのシステム上にインストール済みであることを意味する。1つまたは複数のコンピュータプログラムが特定の動作または行動を実行するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されるときに装置に動作または行動を実行させる命令を含むことを意味する。
本明細書に記載の対象は、以下の利点のうちの1つまたは複数を実現するように特定の実施形態に実装され得る。訓練を並列化することによって、強化学習システムによって使用されるニューラルネットワークが、より速く訓練され得る。より具体的には、単一のマシン上で独立して動作する複数のワーカー(Worker)を使用して訓練を並列化することによって、並列化の結果としてかかる通信コストが削減され得る。加えて、複数のマシン上の複数のワーカーを含む並列化技術において通常必要とされる、ワーカーが再生メモリ(Replay Memory)またはその他のストレージに経験タプル(Experience Tuple)を記憶する必要をなくすことによって、訓練のためのメモリの要件が低減される可能性があり、方策オン型(On-Policy)強化学習方法が使用される可能性がある。
本明細書の対象の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明に記載されている。対象のその他の特徴、態様、および利点は、説明、図面、および請求項から明らかになるであろう。たとえば、本明細書は、本明細書において開示される技術のいずれかを実行するための、コンピュータストレージ媒体上に符号化されたコンピュータプログラムを含む方法、システム、および装置を提供する。一部の実施形態において、コンピュータプログラムは、コンピューティング装置によって実行されるときにそのコンピューティング装置に本明細書において開示される技術のいずれかを実行させる命令を含む。
様々な図面における同様の参照番号および参照指示は、同様の要素を示す。
本明細書は、概して、非同期深層強化学習(Asynchronous Deep Reinforcement Learning)に関する技術を説明する。特に、本明細書は、環境とインタラクションするエージェントによって実行される行動(Action)を選択するために強化学習システムによって使用される深層ニューラルネットワークを複数のワーカーがどのようにして非同期に訓練し得るのかを説明する。
一部の実装において、環境は、シミュレーションされた環境であり、エージェントは、シミュレーションされた環境とインタラクションする1つまたは複数のコンピュータプログラムとして実装される。たとえば、シミュレーションされた環境は、ビデオゲームである可能性があり、エージェントはビデオゲームをプレイするシミュレーションされたユーザである可能性がある。別の例として、シミュレーションされた環境は、運動シミュレーション環境、たとえば、運転シミュレーションまたはフライトシミュレーションである可能性があり、エージェントは、運動シミュレーションによって移動するシミュレーションされた乗り物である。これらの実装において、行動は、シミュレーションされたユーザまたはシミュレーションされた乗り物を制御するための制御入力である可能性がある。
一部のその他の実装において、環境は、実世界の環境(Real-World Environment)であり、エージェントは、実世界とインタラクションする機械的なエージェントである。たとえば、エージェントは、特別なタスクを遂行するために環境とインタラクションするロボットである可能性がある。別の例として、エージェントは、環境の中を移動する自律的なまたは半自律的な乗り物である可能性がある。これらの実装において、行動は、ロボットまたは自律的な乗り物を制御するための制御入力である可能性がある。
概して、強化学習システムは、環境の現在の状態を特徴付ける観測結果を受け取り、観測結果を使用してエージェントによって実行される行動を選択する。エージェントが選択された行動を実行することに応じて、環境は、新しい状態に遷移し、強化学習システムは、報酬(Reward)を受け取る。報酬は、環境の状態の関数である数値である。環境とインタラクションする間に、強化学習システムは、エージェントによって実行された行動に応じてエージェントによって受け取られる長期的報酬(Long-Term Reward)を最大化しようと試みる。
特に、所与の観測結果に応答して、強化学習システムは、深層ニューラルネットワークによって生成された出力に従ってエージェントによって実行される行動を選択する。
強化学習システムがエージェントによって実行される行動を効果的に選択することを可能にするために、ニューラルネットワーク訓練システムは、パラメータの初期値から深層ニューラルネットワークのパラメータの値を調整するように深層ニューラルネットワークを訓練する。
特に、ニューラルネットワーク訓練システムは、環境の複製とインタラクションするアクター(Actor)によって実行される行動を選択することによって深層ニューラルネットワークを非同期に訓練する複数のワーカーを含む。
各アクターは、互いのインスタンスと独立して動作するエージェントのインスタンスである。たとえば、エージェントが機械的なエージェントであるとき、各アクターは、やはり、エージェントと同じであるかまたはほぼ同じである、たとえば、同じまたはほぼ同じ特性を有し、エージェントと同じ行動を実行することができ、互いのアクターと独立して動作する別個の機械的なエージェントである。
図1は、例示的なニューラルネットワーク訓練システム100を示す。ニューラルネットワーク訓練システム100は、以下で説明されるシステム、構成要素、および技術が実装される、1つまたは複数の場所の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムの例である。
ニューラルネットワーク訓練システム100は、複数のワーカー102A~Nおよび共有メモリ110を含む。ワーカー102A~102Nの各々は、対応する環境の複製106A~106Nとインタラクションするそれぞれのアクター104A~Nに関連付けられる。たとえば、ワーカー102Aは、環境の複製106Aとインタラクションするアクター104Aに関連付けられる。
一部の実装において、ワーカー110A~Nの各々は、同じコンピュータ上に実装されるが、ワーカーに関する計算を独立して実行することができるコンピュータ内の別々のスレッド、プロセス、またはその他のハードウェアもしくはソフトウェア内で実行される。これらの実装において、共有メモリ110は、ワーカー102A~102Nの各々がアクセス可能なコンピュータのメモリである。環境が仮想化された環境である実装において、所与のワーカーに関連するアクターおよび環境の複製も、所与のワーカーと同じスレッドまたはその他のハードウェアもしくはソフトウェア内で実行される。
ワーカー102A~102Nの各々は、訓練されている深層ニューラルネットワークのインスタンスを保有し、共有メモリ110に記憶される深層ニューラルネットワークのパラメータの現在の値を取得するために共有メモリ110にアクセスする。そして、各ワーカーは、共有メモリ110から得られたニューラルネットワークのパラメータの現在の値に応じてワーカーに関連するアクターによって実行される行動を選択するためにワーカーの深層ニューラルネットワークのインスタンスを使用する。
特に、訓練中に、各ワーカーは、ワーカーに関連する環境の複製の状態を特徴付ける観測結果を受け取り、各観測結果に応答して、深層ニューラルネットワークを使用して環境の複製に関連するアクターによって実行される行動を選択する。そして、ワーカーは、環境の複製の次の状態、すなわち、アクターが選択された行動を実行した結果として環境の複製が遷移する状態を特徴付ける次の観測結果と、アクターが選択された行動を実行した結果として生じる報酬とを受け取る。ワーカーは、報酬と次の観測結果を使用して勾配を決定し、ワーカーによって決定された勾配を周期的に使用して、共有メモリ110に記憶されるパラメータ値を更新する。勾配を決定し、共有メモリに記憶されたパラメータ値を更新することが、図2を参照して以下でより詳細に説明される。
ワーカー102A~102Nの各々が共有メモリ110に記憶されるパラメータ値を繰り返し、非同期に更新することによって、ワーカー102A~102Nは、深層ニューラルネットワークのパラメータの訓練された値を決定するように深層ニューラルネットワークを集団で訓練する。
図2は、深層ニューラルネットワークを訓練するための例示的なプロセス200の流れ図である。便宜的に、プロセス200は、ワーカー、たとえば、図1のワーカー102A~Nのうちの1つによって実行されるものとして説明される。
ワーカーは、深層ニューラルネットワークのパラメータの現在の値を決定する(ステップ202)。
一部の実装において、ワーカーは、ワーカーのすべての間で共有されるメモリ、たとえば、図1の共有メモリ110から現在の値を取得する。
いくつかのその他の実装において、ワーカーは、下で説明されるように共有メモリを更新した後にのみメモリから現在の値を取得し、それらの現在の値をローカルメモリに書き込む。これらの実装において、ワーカーは、現在の値がローカルメモリに記憶される値であることを決定する。
ワーカーは、ワーカーに関連するアクターによってインタラクションされている環境の複製の現在の状態を特徴付ける現在の観測結果を受け取る(ステップ204)。
ワーカーは、深層ニューラルネットワークを使用して環境が現在の状態であるときにアクターによって実行される現在の行動を選択する(ステップ206)。
特に、一部の実装において、深層ニューラルネットワークは、観測結果および行動を入力として受け取り、Qネットワークのパラメータの現在の値に従って入力を処理してニューラルネットワークの出力を生成するように構成されるQネットワークである。本明細書においてQ値(Q Value)と呼ばれることになるニューラルネットワークの出力は、環境が入力された観測結果によって特徴付けられる状態であるときにエージェントまたはアクターが入力された行動を実行した結果生じる長期的報酬の推定値である。
これらの実装においては、行動の予め決められた組の中の各行動に関して、ワーカーが、Qネットワークを使用して行動および現在の観測結果を処理して、各行動に関するそれぞれの現在のQ値を生成する。
それから、ワーカーは、現在のQ値を使用して、ワーカーに関する行動選択の方策(Policy)に従って、アクターによって実行される現在の行動として行動の予め決められた組から行動を選択する。
概して、所与のワーカーに関する行動選択の方策は、それぞれのその他のワーカーに関する行動選択の方策と異なる。たとえば、一部の実装において、各ワーカーに関する行動選択の方策は、ワーカーが確率εで行動の予め決められた組から無作為に行動を選択し、確率1-εで最も高いQ値を有する行動を選択するが、ただし、εの値は、各ワーカーに関して異なるεグリーディ方策(ε-greedy policy)である。たとえば、各ワーカーは、εが行動選択の方策において使用されると決定するために、ワーカーに関するεの可能な値の分布からワーカーに関するεのための値を周期的にサンプリングし得る。別の例として、ワーカーは、Q値にSoftmaxの非線形性を適用し、結果として得られる分布から行動をサンプリングすることによって行動を選択する可能性がある。そして、各ワーカーは、Softmaxにおいて異なる温度(Temperature)パラメータを使用して、各ワーカーが異なる行動選択の方策を有していたことを保証する可能性がある。
ワーカーは、次の観測結果および実際の報酬を受け取る(ステップ208)。次の観測結果は、環境の複製の次の状態、すなわち、ワーカーが現在の行動をすることに関連するアクターの結果として環境の複製が遷移した状態を特徴付ける。実際の報酬は、現在の状態から次の状態への遷移の結果として環境の複製から受け取られる数値である。
ワーカーは、実際の報酬および次の観測結果を使用して現在の勾配を決定するために強化学習手順の反復を実行する(ステップ210)。勾配は、深層ニューラルネットワークを訓練するために最適化されている損失関数の勾配である。
損失関数と、ワーカーが勾配を決定する方法とは、深層ニューラルネットワークを訓練するために使用されている強化学習手順に依存し、そしてまた、その強化学習手順は、深層ニューラルネットワークがどのようにして構成されるかに依存する。
たとえば、深層ニューラルネットワークがQネットワークであるとき、ワーカーは、Q学習技術またはSARSA技術を使用する可能性がある。Q学習技術の反復を実行することは、図3を参照して下で説明される。SARSA技術の反復を実行することは、図4を参照して下で説明される。
ワーカーは、累積された勾配を現在の勾配によって更新して、更新された累積された勾配を決定する(ステップ212)。つまり、ワーカーは、ローカルメモリに勾配を保有し、新しい勾配が計算される度に、たとえば、累積された勾配に新しい勾配を足すことによって、保有される勾配を新しい勾配によって更新する。
ワーカーは、ニューラルネットワークのパラメータの現在の値を更新するための基準が満たされるかどうかを判定する(ステップ214)。たとえば、現在の値を更新するための基準は、ワーカーが最も最近パラメータ値を更新して以降にワーカーが指定された回数の強化学習の反復を実行した後でワーカーが現在の値を更新すると指定する可能性がある。別の例として、基準は、ワーカーが最も最近パラメータ値を更新して以降に複数のワーカーのすべてによって実行された強化学習の反復の合計回数が指定された閾値を超えるときにワーカーが現在の値を更新すると指定する可能性がある。
基準が満たされる場合、ワーカーは、累積された勾配を使用して更新されたパラメータ値を決定し(ステップ216)、更新されたパラメータ値を共有メモリに書き込む(ステップ218)。特に、ワーカーは、累積された勾配からパラメータ値の最新情報を決定し、共有メモリ内の現在の値にアクセスし、それから、パラメータ値の最新情報を使用してそれらの値を更新する。一部の例において、ワーカーは、累積された勾配に学習率パラメータを掛け、それから、現在のパラメータ値とパラメータ値の最新情報とを合計して更新されたパラメータ値を決定する。いくつかのその他の例において、ワーカーは、RMSProp最適化手順の非同期の変化型を使用してパラメータ値を更新する。
ワーカーが更新されたパラメータ値を共有メモリに書き込んだ後、ワーカーは、累積された勾配を消去し、つまり、その結果、プロセス200の次の反復が開始されるとき、ワーカーによって勾配が保有されていない。
基準が満たされない場合、ワーカーは、共有メモリにいかなるものも書き込むことを控え(ステップ220)、つまり、ワーカーは、現在のパラメータ値を更新することなくプロセス200の別の反復を実行し始める。
複数のワーカーの各々は、プロセス200を非同期に繰り返し実行して、深層ニューラルネットワークのパラメータの訓練された値を集団で決定し得る。訓練された値が決定されると、強化学習システムは、エージェントが環境とインタラクションすることによって、つまり、ニューラルネットワークのパラメータの訓練された値に従って深層ニューラルネットワークを使用してニューラルネットワークの入力を処理することによって、深層ニューラルネットワークを使用して実行される値を選択し得る。いくつかのその他の場合、強化学習システムは、ワーカーがプロセス200を実行し続ける間に、つまり、共有メモリに記憶された値を周期的に取得し、それらの値を使用してエージェントによって実行される行動を選択することによって、深層ニューラルネットワークを使用してエージェントによって実行される値を選択する。
場合によっては、訓練された値が決定されると、それらの訓練された値が記憶され、それから、深層ニューラルネットワークの訓練されたバージョンをインスタンス化する際に使用するために、つまり、エージェントが環境とインタラクションする際に行動を効果的に選択することを可能にするためにネットワークを介して別のシステムに送信される。
図3は、Q学習技術の反復を実行するための例示的なプロセス300の流れ図である。便宜的に、プロセス300は、ワーカー、たとえば、図1のワーカー102A~Nのうちの1つによって実行されるものとして説明される。
ワーカーは、現在の観測結果、現在の行動、実際の報酬、および次の観測結果を(ステップ302)、つまり、図2を参照して上で説明されたように取得する。
ワーカーは、環境の複製が次の観測結果によって特徴付けられる状態であるときに目標ネットワーク(Target Network)の最大の出力を決定する(ステップ304)。目標ネットワークは、Qネットワークと同じニューラルネットワークであり、つまり、同じニューラルネットワークアーキテクチャ/ニューラルネットワークの形態を有するが、おそらく異なるパラメータ値を有する。特に、各ワーカーは、目標ネットワークのパラメータの値を共有メモリに記憶されたQネットワークのパラメータの現在の値と周期的に同期させる。しかし、概して、ワーカーは、ワーカーが共有メモリに記憶されたパラメータ値を更新するよりも少ない頻度で目標ネットワークのパラメータの値を同期させ、その結果、目標ネットワークおよびQネットワークは、異なるパラメータ値を有することが多くなる。
ワーカーは、行動の予め決められた組の内の各行動に関して、目標ネットワークを使用して次の観測結果と組み合わせて行動を処理して行動に関する目標ネットワークの出力を決定することによって目標ネットワークの最大の出力を決定する。それから、システムは、行動の予め決められた組の内の行動に関する目標ネットワークの出力の最大値を目標ネットワークの最大の出力として選択する。
ワーカーは、目標ネットワークの最大の出力、実際の報酬、および環境が現在の状態であったときに現在の行動に関して前に決定された現在のQ値、すなわち、環境が現在の状態であったときに実行される行動として現在の行動を選択するために使用された現在のQ値から誤差を決定する(ステップ306)。一部の実装において、誤差Eは、
E = r +γmax(Qtarget) - Qcurrent
を満たし、ここで、rは、実際の報酬であり、γは、予め決められた割引率(Discount Factor)、max(Qtarget)は、目標ネットワークの最大の出力であり、Qcurrentは、環境が現在の状態であったときに現在の行動に関して前に決定された現在のQ値である。
E = r +γmax(Qtarget) - Qcurrent
を満たし、ここで、rは、実際の報酬であり、γは、予め決められた割引率(Discount Factor)、max(Qtarget)は、目標ネットワークの最大の出力であり、Qcurrentは、環境が現在の状態であったときに現在の行動に関して前に決定された現在のQ値である。
ワーカーは、決定された誤差を使用して現在の勾配を決定する(ステップ308)。つまり、ワーカーは、誤差逆伝播を使用して値を更新し、誤差逆伝播される誤差は、選択された行動に関しては決定された誤差であり、すべてのその他の行動に関してはゼロである。
図4は、SARSA技術の反復を実行するための例示的なプロセス400の流れ図である。便宜的に、プロセス400は、ニューラルネットワーク訓練システム内のワーカー、たとえば、図1のニューラルネットワーク訓練システム100内のワーカー102A~Nのうちの1つによって実行されるものとして説明される。
ワーカーは、現在の観測結果、現在の行動、実際の報酬、および次の観測結果を受け取る(ステップ402)。
ワーカーは、環境の複製が次の状態であるときにアクターによって実行される次の行動を選択する(ステップ404)。ワーカーは、ステップ206を参照して上で説明されたように次の行動を選択する。つまり、行動の予め決められた組の内の各行動に関して、ワーカーは、Qネットワークを使用して行動および次の観測結果を処理して、各行動に関するそれぞれの次のQ値を生成する。それから、ワーカーは、次のQ値を使用して、ワーカーに関する行動選択の方策に従って、アクターによって実行される次の行動として行動の予め決められた組から行動を選択する。
ワーカーは、次の行動に関する目標ネットワークの出力を決定する(ステップ406)。つまり、ワーカーは、目標ネットワークを使用して次の行動および次の観測結果を処理して、次の行動に関する目標ネットワークの結果を決定する。
ワーカーは、次の行動に関する目標ネットワークの出力、実際の報酬、および現在の行動に関して前に決定された現在のQ値から誤差を決定する(ステップ408)。一部の実装において、誤差Eは、
E = r +γQtarget - Qcurrent
を満たし、ここで、rは、実際の報酬であり、γは、予め決められた割引率、Qtargetは、次の行動に関する目標ネットワークの出力であり、Qcurrentは、環境が現在の状態であったときに現在の行動に関して前に決定された現在のQ値である。
E = r +γQtarget - Qcurrent
を満たし、ここで、rは、実際の報酬であり、γは、予め決められた割引率、Qtargetは、次の行動に関する目標ネットワークの出力であり、Qcurrentは、環境が現在の状態であったときに現在の行動に関して前に決定された現在のQ値である。
ワーカーは、決定された誤差を使用して現在の勾配を決定する(ステップ410)。
プロセス300かまたはプロセス400かのどちらかを実行するとき、ワーカーは、目標ネットワークのパラメータを共有メモリ内のパラメータと同期させるための基準が満たされるか否かをさらに判定する。たとえば、基準は、ステップ216に関連して上で説明された基準と同じである可能性があるが、ただし、指定された閾値または指定された回数は、共有メモリに記憶されたパラメータを更新すべきかどうかの判定のために使用される値または回数よりも大きい。したがって、ワーカーは、ワーカーが共有メモリに記憶されたパラメータ値を更新するよりも少ない頻度で目標ネットワークのパラメータの値を同期させ、その結果、目標ネットワークおよびQネットワークは、異なるパラメータ値を有することが多くなる。
上の説明は、深層ニューラルネットワークがQネットワークである実装を説明した。しかし、いくつかのその他の実装において、深層ニューラルネットワークは、入力された観測結果を受け取り、行動の予め決められた組の内の各行動に関するそれぞれのスコアを出力する方策ニューラルネットワークであり、スコアは、それぞれ、対応する行動が、環境が入力された観測結果によって特徴付けられる状態であることの結果として生じる長期的報酬を最大化するために実行されるべきである行動である見込みを表す。
これらの実装においては、所与の観測結果に応答して行動を選択するために、強化学習システムが、方策ニューラルネットワークを使用して所与の観測結果を処理し、行動のスコアに応じて行動からサンプリングすることによってエージェントにより実行される行動を選択する。
各ワーカーが異なる行動選択の方策を有することを保証するために、各ワーカーは、行動からサンプリングするときに異なる無作為のシード(Seed)を使用する可能性があり、または代替的に、各ワーカーは、行動に関するスコアを生成する方策ニューラルネットワークの出力層に関して異なる温度を有する可能性がある。
図5は、方策ニューラルネットワークを訓練するための例示的なプロセス500の流れ図である。便宜的に、プロセス500は、ニューラルネットワーク訓練システム内のワーカー、たとえば、図1のニューラルネットワーク訓練システム100内のワーカー102A~Nのうちの1つによって実行されるものとして説明される。
ワーカーは、方策ニューラルネットワークのパラメータの現在の値を決定する(ステップ502)。特に、ワーカーは、ワーカーのすべての間で共有されるメモリ、たとえば、図1の共有メモリ110から現在の値を取得する。
ワーカーは、共有メモリから基底(Baseline)ニューラルネットワークのパラメータの現在の値も取得する。基底ニューラルネットワークは、入力された観測結果を受け取り、入力された観測結果によって特徴付けられる状態から始まる、エージェントによって受け取られる推定された長期的報酬を表す基底スコアを生成するように構成されるニューラルネットワークである。一部の実装において、基底および方策ネットワークは、それらのパラメータの一部を共有する。
ワーカーは、環境の複製が特定の基準を満たす状態に遷移するまで、環境の複製の状態を特徴付ける観測結果を受け取り、方策ニューラルネットワークのパラメータの現在の値に従ってアクターによって実行される行動を選択する(ステップ504)。つまり、各観測結果に関して、ワーカーは、現在の値に従って方策ニューラルネットワークを使用して観測結果を処理し、行動に関するスコアに従って行動からサンプリングすることによってエージェントにより実行される行動を選択する。たとえば、特定の基準は、所定の数tmaxの観測結果が受け取られた後、または予め決められた終末状態が達せられるまで、満たされる可能性がある。
特に、環境の複製の状態を特徴付けるそれぞれの受け取られた観測結果に関して、ワーカーは、方策ニューラルネットワークのパラメータの現在の値に従って方策ニューラルネットワークを使用して観測結果を処理して行動の予め決められた組の内の各行動に関するそれぞれのスコアを生成し、分布からサンプリングすることによってアクターにより実行される行動を選択する。
それぞれの受け取られた観測結果に関して、ワーカーは、基底ニューラルネットワークのパラメータの現在の値に従って基底ニューラルネットワークを使用して行動および観測結果も処理して観測結果に関する基底スコアを生成する。
一部の実装においては、基底ニューラルネットワークおよび方策ニューラルネットワークのうちの一方または両方がリカレントニューラルネットワークである可能性がある。
ワーカーは、それぞれの受け取られた観測結果に関する実際の長期的報酬を決定する(ステップ506)。
つまり、受け取られた最後の観測結果に関して、システムは、実際の長期的報酬を、たとえば、基底ニューラルネットワークによって予測された基底スコアに設定する。
最後の観測結果以外の所与の観測結果に関して、システムは、所与の観測結果に関する実際の長期的報酬を、環境の複製が最後の観測結果によって特徴付けられる状態に遷移したときに受け取られた報酬に、所与の観測結果を受け取ることに応じて選択された行動をアクターが実行した後に受け取られた観測結果に関する実際の長期的報酬の割り引かれた合計を足したものとして設定する。
ワーカーは、各観測結果に関して、方策ニューラルネットワークに関するそれぞれの勾配の最新情報と、基底ニューラルネットワークに関するそれぞれの勾配の最新情報とを決定する(ステップ510)。
特に、観測結果stに関する方策ニューラルネットワークの勾配の最新情報は、
を満たし、ここで、
は、観測結果stに応答して実行された行動に関して生成されたスコアであり、Rtは、観測結果stに関して決定された実際の長期的報酬であり、btは、観測結果stに関する基底スコアである。
ワーカーは、たとえば、ニューラルネットワークに関する累積された勾配に各ニューラルネットワークに関する新しい勾配を足すことによって、方策ニューラルネットワークに関する勾配の最新情報によって方策ニューラルネットワークに関する累積された勾配を更新して方策ニューラルネットワークに関する更新された累積された勾配を決定し、基底ニューラルネットワークに関する勾配の最新情報によって基底ニューラルネットワークに関する累積された勾配を更新して基底ニューラルネットワークに関する更新された累積された勾配を決定する(ステップ512)。
ワーカーは、基底ニューラルネットワークおよび方策ニューラルネットワークのパラメータの現在の値を更新するための基準が満たされるかどうかを判定する(ステップ514)。
たとえば、現在の値を更新するための基準は、ワーカーが最も最近パラメータ値を更新して以降にワーカーがステップ504の指定された回数の反復を実行した後でワーカーが現在の値を更新すると指定する可能性がある。
別の例として、基準は、ワーカーが最も最近パラメータ値を更新して以降に複数のワーカーのすべてによって実行されたステップ504の反復の合計回数が指定された閾値を超えるときにワーカーが現在の値を更新すると指定する可能性がある。
基準が満たされる場合、ワーカーは、たとえば、ステップ216および218に関連して上で説明されたように、対応する累積された勾配を使用して基底ニューラルネットワークおよび方策ニューラルネットワークに関する更新されたパラメータ値を決定し(ステップ516)、更新されたパラメータ値を共有メモリに書き込む(ステップ518)。
ワーカーが更新されたパラメータ値を共有メモリに書き込んだ後、ワーカーは、累積された勾配を消去し、つまり、その結果、プロセス500の次の反復が開始されるとき、ワーカーによって勾配が保有されていない。
基準が満たされない場合、ワーカーは、共有メモリにいかなるものも書き込むことを控え(ステップ520)、つまり、ワーカーは、現在のパラメータ値を更新することなくプロセス500の別の反復を実行し始める。
本明細書に記載の対象の実施形態および機能的動作は、本明細書で開示された構造およびそれらの構造的均等物を含むデジタル電子回路、または有形で具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらのうちの1つもしくは複数の組合せで実装され得る。本明細書に記載の対象の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために有形の非一時的プログラムキャリア上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替的にまたは追加的に、プログラム命令は、データ処理装置による実行のために好適な受信機装置に送信するために情報を符号化するように生成される人為的に生成された伝播信号、たとえば、機械によって生成された電気的信号、光学的信号、または電磁的信号上に符号化され得る。コンピュータストレージ媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せである可能性がある。
用語「データ処理装置」は、データ処理ハードウェアを指し、例として、1つのプログラミング可能なプロセッサ、1台のコンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、専用の論理回路、たとえば、FPGA (フィールドプログラマブルゲートアレイ)またはASIC (特定用途向け集積回路)である可能性もあり、またはそのような専用論理回路をさらに含む可能性がある。任意で、装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含み得る。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたは称される可能性もある)は、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述可能であり、独立型プログラムとしての形態、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境内での使用に適したその他のユニットとしての形態を含む任意の形態で配置され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応する可能性があるが、必ずそうであるとは限らない。プログラムは、その他のプログラムもしくはデータを保持するファイルの一部、たとえば、マークアップ言語のドキュメントに記憶された1つもしくは複数のスクリプト、問題にしているプログラムに専用の単一のファイル、または複数の組織されたファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルに記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に置かれるか、もしくは複数の場所に分散され、通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるように配置され得る。
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行する1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なコンピュータが実行することによって実行され得る。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGA (フィールドプログラマブルゲートアレイ)またはASIC (特定用途向け集積回路)によって実行される可能性があり、さらに、装置は、それらの専用の論理回路として実装される可能性がある。
コンピュータプログラムの実行に好適なコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはこれら両方、または任意のその他の種類の中央演算処理装置を含み、例として、それらに基づく可能性がある。概して、中央演算処理装置は、読み出し専用メモリ、またはランダムアクセスメモリ、またはこれら両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を遂行または実行するための中央演算処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。また、概してコンピュータは、データを記憶するための1つまたは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスからデータを受信するか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはその両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを備えていなくてもよい。さらに、コンピュータは、別のデバイス、たとえば、ほんのいくつか例を挙げるとすれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレイヤー、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込まれる可能性がある。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、メディア、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完されるか、または専用の論理回路に組み込まれる可能性がある。
ユーザとのインタラクションを提供するために、本明細書に記載の対象の実施形態は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上に実装され得る。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用される可能性があり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックである可能性があり、ユーザからの入力は、音響、発話、または触覚による入力を含む任意の形態で受け取られる可能性がある。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。
本明細書に記載の対象の実施形態は、バックエンド構成要素を、たとえば、データサーバとして含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、ユーザが本明細書に記載の対象の実装とインタラクションすることができる関係グラフィカルユーザインターフェース(Relationship Graphical User Interface)もしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互に接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、たとえば、インターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いに離れており、通常は通信ネットワークを通じてインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバの関係にあるコンピュータプログラムによって生じる。
本明細書は多くの特定の実装の詳細を含むが、これらは、いかなる発明の範囲または特許請求され得るものの範囲に対する限定とも見なされるべきではなく、むしろ、特定の発明の特定の実施形態に特有である可能性がある特徴の説明と見なされるべきである。別々の実施形態の文脈で本明細書において説明されている特定の特徴が、単一の実施形態において組み合わせて実装される可能性もある。反対に、単一の実施形態の文脈で説明されている様々な特徴が、複数の実施形態に別々に、または任意の好適な部分的組合せで実装される可能性もある。さらに、特徴は、特定の組合せで動作するものとして上で説明されている可能性があり、最初にそのように主張されてさえいる可能性があるが、主張された組合せの1つまたは複数の特徴は、場合によっては組合せから削除される可能性があり、主張された組合せは、部分的組合せ、または部分的組合せの変形を対象とする可能性がある。
同様に、動作が図中に特定の順序で示されているが、これは、そのような動作が示された特定の順序でもしくは逐次的順序で実行されること、または所望の結果を達成するために示されたすべての動作が実行されることを必要とするものと理解されるべきでない。特定の状況においては、マルチタスクおよび並列処理が有利である可能性がある。さらに、上述の実施形態における様々なシステムモジュールおよび構成要素の分割は、すべての実施形態においてそのような分割を必要とするものと理解されるべきでなく、説明されたプログラム構成要素およびシステムは、概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされる可能性があると理解されるべきである。
対象の特定の実施形態が、説明された。その他の実施形態は、添付の請求項の範囲内にある。たとえば、請求項に挙げられた行動は、異なる順序で実行される可能性があり、それでも所望の結果を達成することができる。一例として、添付の図面に示されたプロセスは、所望の結果を達成するために、必ずしも、示された特定の順序、または逐次的順序である必要はない。特定の実装においては、マルチタスクおよび並列処理が有利である可能性がある。
100 ニューラルネットワーク訓練システム
102A~N ワーカー
104A~N アクター
106A~106N 環境の複製
110 共有メモリ
200 プロセス
300 プロセス
400 プロセス
500 プロセス
102A~N ワーカー
104A~N アクター
106A~106N 環境の複製
110 共有メモリ
200 プロセス
300 プロセス
400 プロセス
500 プロセス
Claims (8)
- 行動の予め決められた組から選択された行動を実行することによって環境とインタラクションするエージェントにより実行される行動を選択するために使用される深層ニューラルネットワークを訓練するためのシステムであって、複数のワーカーを実装するように構成された1つまたは複数のコンピュータを含み、各ワーカーが、互いのワーカーと独立して動作するように構成され、各ワーカーが、前記深層ニューラルネットワークの訓練中に前記環境のそれぞれの複製とインタラクションするそれぞれのアクターに関連付けられ、各ワーカーが、
前記深層ニューラルネットワークのパラメータの現在の値を決定する動作と、
前記ワーカーに関連する前記アクターによってインタラクションされる前記環境の複製の現在の状態を特徴付ける現在の観測結果を受け取る動作と、
前記ワーカーに関するそれぞれの行動選択の方策に従って前記現在の観測結果に応答して前記ワーカーに関連する前記アクターによって実行される現在の行動を選択し、前記パラメータの前記現在の値に従って前記深層ニューラルネットワークによって生成された1つまたは複数の出力を使用する動作と、
前記環境の複製が前記現在の状態であるときに前記アクターが前記現在の行動を実行した結果として生じる実際の報酬を特定する動作と、
前記アクターによってインタラクションされる前記環境の複製の次の状態を特徴付ける次の観測結果を受け取る動作であって、前記環境の複製が、前記アクターが前記現在の行動を実行することに応じて前記現在の状態から前記次の状態に遷移している、動作と、
前記実際の報酬および前記次の観測結果を使用して現在の勾配を決定するために強化学習技術の反復を実行する動作と、
累積された勾配を前記現在の勾配によって更新して、更新された累積された勾配を決定する動作と、
前記深層ニューラルネットワークの前記パラメータの前記現在の値を更新するための基準が満たされたかどうかを判定する動作と、
前記深層ニューラルネットワークの前記パラメータの前記現在の値を更新するための前記基準が満たされたときに、
前記更新された累積された勾配を使用して前記パラメータの更新された値を決定する動作と、
前記複数のワーカーのすべてがアクセス可能な共有メモリに前記更新された値を記憶する動作とを含む動作を繰り返し実行するようにさらに構成される、システム。 - 各ワーカーが、同じコンピュータ上で互いのワーカーと独立して実行される請求項1に記載のシステム。
- 各ワーカーに関する前記それぞれの行動選択の方策が、互いのワーカーに関する前記それぞれの行動選択の方策と異なる請求項1または2に記載のシステム。
- 前記動作が、前記深層ニューラルネットワークの前記パラメータの前記現在の値を更新するための前記基準が満たされたときに、前記更新された累積された勾配を消去する動作をさらに含む請求項1から3のいずれか一項に記載のシステム。
- 前記深層ニューラルネットワークの前記パラメータの前記現在の値を更新するための前記基準が満たされたかどうかを判定する動作が、前記深層ニューラルネットワークの前記パラメータの前記値の前の更新以降に、指定された回数の前記強化学習技術の反復が実行されたと判定することを含む請求項1から4のいずれか一項に記載のシステム。
- 前記深層ニューラルネットワークが、前記環境の入力された状態を特徴付ける入力された観測結果および入力された行動を受け取り、前記環境が前記入力された状態であるときに前記入力された行動が実行された結果として生じる長期的報酬の推定値であるQ値を生成するように構成されるQネットワークであり、前記現在の観測結果に応答して前記アクターによって実行される前記現在の行動を選択する動作が、
行動の前記予め決められた組の内の各行動に関して、前記深層ニューラルネットワークの前記パラメータの前記現在の値に従って、前記深層ニューラルネットワークを使用して前記現在の観測結果および前記行動を処理して、前記行動に関するQ値を生成することと、
前記行動に関する前記Q値を使用して前記ワーカーに関する前記行動選択の方策に従って行動の前記予め決められた組から行動を選択することとを含む請求項1から5のいずれか一項に記載のシステム。 - 前記強化学習技術が、Q学習技術であり、前記反復を実行する動作が、
前記環境の複製が前記次の状態であるときに行動の前記予め決められた組の内の前記行動のいずれかに関する目標ネットワークの最大の出力を決定することであって、前記目標ネットワークが、前記Qネットワークと同じニューラルネットワークであるが、おそらくは異なるパラメータ値を有する、決定することと、
前記目標ネットワークの前記最大の出力、前記実際の報酬、および前記現在の行動に関する前記Q値から誤差を決定することと、
前記誤差を使用して前記現在の勾配を決定することとを含む請求項6に記載のシステム。 - 前記強化学習技術が、SARSA技術であり、前記反復を実行する動作が、
前記ワーカーに関する前記それぞれの行動選択の方策に従って前記次の観測結果に応答して前記ワーカーに関連する前記アクターによって実行される次の行動を選択することと、
目標ネットワークを使用して前記次の行動および前記次の観測結果を処理して前記次の行動に関する目標ネットワークの出力を決定することであって、前記目標ネットワークが、前記Qネットワークと同じニューラルネットワークであるが、おそらくは異なるパラメータ値を有する、決定することと、
前記次の行動に関する前記目標ネットワークの出力、前記実際の報酬、および前記現在の行動に関する前記Q値から誤差を決定することと、
前記誤差を使用して前記現在の勾配を決定することとを含む請求項6に記載のシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562254701P | 2015-11-12 | 2015-11-12 | |
US62/254,701 | 2015-11-12 | ||
JP2019208760A JP6911089B2 (ja) | 2015-11-12 | 2019-11-19 | 非同期深層強化学習 |
JP2021112034A JP7247274B2 (ja) | 2015-11-12 | 2021-07-06 | 非同期深層強化学習 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021112034A Division JP7247274B2 (ja) | 2015-11-12 | 2021-07-06 | 非同期深層強化学習 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023063445A true JP2023063445A (ja) | 2023-05-09 |
Family
ID=57472034
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018523817A Active JP6621920B2 (ja) | 2015-11-12 | 2016-11-11 | 非同期深層強化学習 |
JP2019208760A Active JP6911089B2 (ja) | 2015-11-12 | 2019-11-19 | 非同期深層強化学習 |
JP2021112034A Active JP7247274B2 (ja) | 2015-11-12 | 2021-07-06 | 非同期深層強化学習 |
JP2023039773A Pending JP2023063445A (ja) | 2015-11-12 | 2023-03-14 | 非同期深層強化学習 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018523817A Active JP6621920B2 (ja) | 2015-11-12 | 2016-11-11 | 非同期深層強化学習 |
JP2019208760A Active JP6911089B2 (ja) | 2015-11-12 | 2019-11-19 | 非同期深層強化学習 |
JP2021112034A Active JP7247274B2 (ja) | 2015-11-12 | 2021-07-06 | 非同期深層強化学習 |
Country Status (8)
Country | Link |
---|---|
US (5) | US10936946B2 (ja) |
EP (2) | EP3872715A1 (ja) |
JP (4) | JP6621920B2 (ja) |
KR (1) | KR102156303B1 (ja) |
CN (2) | CN108885717B (ja) |
AU (1) | AU2016354558B2 (ja) |
CA (1) | CA3004885C (ja) |
WO (1) | WO2017083772A1 (ja) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3872715A1 (en) | 2015-11-12 | 2021-09-01 | Deepmind Technologies Limited | Asynchronous deep reinforcement learning |
US11188821B1 (en) * | 2016-09-15 | 2021-11-30 | X Development Llc | Control policies for collective robot learning |
US11062207B2 (en) * | 2016-11-04 | 2021-07-13 | Raytheon Technologies Corporation | Control systems using deep reinforcement learning |
US10594560B2 (en) * | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
WO2018211140A1 (en) * | 2017-05-19 | 2018-11-22 | Deepmind Technologies Limited | Data efficient imitation of diverse behaviors |
US20180351816A1 (en) * | 2017-06-02 | 2018-12-06 | Yan Li | Methods and apparatus for parameter tuning using a cloud service |
CN109204308B (zh) * | 2017-07-03 | 2020-04-07 | 上海汽车集团股份有限公司 | 车道保持算法的确定方法、车道保持的控制方法及系统 |
US11093827B2 (en) * | 2017-09-20 | 2021-08-17 | International Business Machines Corporation | Variable ISA vector-based compaction in distributed training of neural networks |
EP3467717A1 (en) * | 2017-10-04 | 2019-04-10 | Prowler.io Limited | Machine learning system |
US10935982B2 (en) * | 2017-10-04 | 2021-03-02 | Huawei Technologies Co., Ltd. | Method of selection of an action for an object using a neural network |
DE102017123205A1 (de) * | 2017-10-06 | 2019-04-11 | Valeo Schalter Und Sensoren Gmbh | Konfiguration einer Kraftfahrzeug-Fahrerassistenzvorrichtung mit einem neuronalen Netzwerk im laufenden Betrieb |
US11126929B2 (en) | 2017-11-09 | 2021-09-21 | Ciena Corporation | Reinforcement learning for autonomous telecommunications networks |
CN107832836B (zh) * | 2017-11-27 | 2020-04-21 | 清华大学 | 无模型深度增强学习探索方法及装置 |
US10715395B2 (en) | 2017-11-27 | 2020-07-14 | Massachusetts Institute Of Technology | Methods and apparatus for communication network |
CN108052004B (zh) * | 2017-12-06 | 2020-11-10 | 湖北工业大学 | 基于深度增强学习的工业机械臂自动控制方法 |
WO2019149949A1 (en) | 2018-02-05 | 2019-08-08 | Deepmind Technologies Limited | Distributed training using off-policy actor-critic reinforcement learning |
US11086317B2 (en) * | 2018-03-30 | 2021-08-10 | Intel Corporation | Emotional adaptive driving policies for automated driving vehicles |
US11614978B2 (en) * | 2018-04-24 | 2023-03-28 | EMC IP Holding Company LLC | Deep reinforcement learning for workflow optimization using provenance-based simulation |
WO2019210300A1 (en) | 2018-04-27 | 2019-10-31 | Carnegie Mellon University | Polynomial convolutional neural network with late fan-out |
DE102018207015B4 (de) * | 2018-05-07 | 2023-08-24 | Audi Ag | Verfahren zum Trainieren selbstlernender Steuerungsalgorithmen für autonom bewegbare Vorrichtungen und autonom bewegbare Vorrichtung |
WO2019241145A1 (en) | 2018-06-12 | 2019-12-19 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
US10789511B2 (en) | 2018-10-12 | 2020-09-29 | Deepmind Technologies Limited | Controlling agents over long time scales using temporal value transport |
CN109344969B (zh) * | 2018-11-01 | 2022-04-08 | 石家庄创天电子科技有限公司 | 神经网络系统及其训练方法以及计算机可读介质 |
WO2020099672A1 (en) * | 2018-11-16 | 2020-05-22 | Deepmind Technologies Limited | Controlling agents using amortized q learning |
KR101990326B1 (ko) | 2018-11-28 | 2019-06-18 | 한국인터넷진흥원 | 감가율 자동 조정 방식의 강화 학습 방법 |
EP3668050A1 (de) * | 2018-12-12 | 2020-06-17 | Siemens Aktiengesellschaft | Anpassen einer software-anwendung, die auf einem gateway ausgeführt wird |
US11416743B2 (en) | 2019-04-25 | 2022-08-16 | International Business Machines Corporation | Swarm fair deep reinforcement learning |
US11176368B2 (en) | 2019-06-13 | 2021-11-16 | International Business Machines Corporation | Visually focused first-person neural network interpretation |
JP7128152B2 (ja) | 2019-06-14 | 2022-08-30 | 株式会社東芝 | 学習方法及びプログラム |
KR20210012730A (ko) | 2019-07-26 | 2021-02-03 | 삼성전자주식회사 | 인공지능 모델의 학습 방법 및 전자 장치 |
SE1950924A1 (en) * | 2019-08-13 | 2021-02-14 | Kaaberg Johard Leonard | Improved machine learning for technical systems |
CN110737529B (zh) * | 2019-09-05 | 2022-02-08 | 北京理工大学 | 一种面向短时多变大数据作业集群调度自适应性配置方法 |
EP4042296A4 (en) * | 2019-10-07 | 2023-07-05 | Telefonaktiebolaget LM Ericsson (publ) | FEDERAL LEARNING MODERATOR |
CN110809306B (zh) * | 2019-11-04 | 2021-03-16 | 电子科技大学 | 一种基于深度强化学习的终端接入选择方法 |
CN111031387B (zh) * | 2019-11-21 | 2020-12-04 | 南京大学 | 一种监控视频发送端视频编码流速控制的方法 |
CN111461500B (zh) * | 2020-03-12 | 2022-04-05 | 北京航空航天大学 | 一种基于动态电子围栏和强化学习的共享单车系统潮汐现象控制方法 |
SG11202102364YA (en) * | 2020-04-02 | 2021-04-29 | Alipay Hangzhou Inf Tech Co Ltd | Determining action selection policies of an execution device |
US11685605B2 (en) | 2020-05-14 | 2023-06-27 | Intelligrated Headquarters, Llc | Reinforcement learning based conveyoring control |
CN111935724B (zh) * | 2020-07-06 | 2022-05-03 | 天津大学 | 基于异步深度强化学习的无线传感器网络拓扑优化方法 |
TWI741760B (zh) * | 2020-08-27 | 2021-10-01 | 財團法人工業技術研究院 | 學習式生產資源配置方法、學習式生產資源配置系統與使用者介面 |
CN112216124B (zh) * | 2020-09-17 | 2021-07-27 | 浙江工业大学 | 一种基于深度强化学习的交通信号控制方法 |
US20220114439A1 (en) * | 2020-10-08 | 2022-04-14 | Here Global B.V. | Method, apparatus, and system for generating asynchronous learning rules and/architectures |
US20220183748A1 (en) * | 2020-12-16 | 2022-06-16 | Biosense Webster (Israel) Ltd. | Accurate tissue proximity |
US20220215265A1 (en) | 2021-01-04 | 2022-07-07 | Tencent America LLC | Method and apparatus for end-to-end task-oriented latent compression with deep reinforcement learning |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0981205A (ja) * | 1995-09-11 | 1997-03-28 | Fujitsu Ltd | 学習システム |
JP5152780B2 (ja) * | 2007-09-06 | 2013-02-27 | 国立大学法人 筑波大学 | 関数近似装置、強化学習システム、関数近似システムおよび関数近似プログラム |
WO2010045272A1 (en) * | 2008-10-14 | 2010-04-22 | Honda Motor Co., Ltd. | Smoothed sarsa: reinforcement learning for robot delivery tasks |
WO2013049633A1 (en) * | 2011-09-28 | 2013-04-04 | Causata Inc. | Online asynchronous reinforcement learning from concurrent customer histories |
US8788439B2 (en) | 2012-12-21 | 2014-07-22 | InsideSales.com, Inc. | Instance weighted learning machine learning model |
JP5785589B2 (ja) * | 2013-06-27 | 2015-09-30 | 日本電信電話株式会社 | バースト光信号送信装置及びバースト光信号送信装置の制御方法 |
US9679258B2 (en) | 2013-10-08 | 2017-06-13 | Google Inc. | Methods and apparatus for reinforcement learning |
KR20150053179A (ko) * | 2013-11-07 | 2015-05-15 | 경희대학교 산학협력단 | 인지 무선 네트워크에서 큐-학습 기법을 이용한 부사용자의 데이터 전송 속도 향상 방법 |
US10540587B2 (en) | 2014-04-11 | 2020-01-21 | Google Llc | Parallelizing the training of convolutional neural networks |
CN104932267B (zh) * | 2015-06-04 | 2017-10-03 | 曲阜师范大学 | 一种采用资格迹的神经网络学习控制方法 |
EP3872715A1 (en) | 2015-11-12 | 2021-09-01 | Deepmind Technologies Limited | Asynchronous deep reinforcement learning |
JP6926203B2 (ja) * | 2016-11-04 | 2021-08-25 | ディープマインド テクノロジーズ リミテッド | 補助タスクを伴う強化学習 |
-
2016
- 2016-11-11 EP EP21167274.6A patent/EP3872715A1/en active Pending
- 2016-11-11 KR KR1020187013091A patent/KR102156303B1/ko active IP Right Grant
- 2016-11-11 EP EP16805618.2A patent/EP3360085B1/en active Active
- 2016-11-11 JP JP2018523817A patent/JP6621920B2/ja active Active
- 2016-11-11 WO PCT/US2016/061698 patent/WO2017083772A1/en active Application Filing
- 2016-11-11 US US15/349,950 patent/US10936946B2/en active Active
- 2016-11-11 CA CA3004885A patent/CA3004885C/en active Active
- 2016-11-11 AU AU2016354558A patent/AU2016354558B2/en active Active
- 2016-11-11 CN CN201680065534.XA patent/CN108885717B/zh active Active
- 2016-11-11 CN CN202210422678.3A patent/CN114897156A/zh active Pending
-
2018
- 2018-05-11 US US15/977,923 patent/US10346741B2/en active Active
-
2019
- 2019-05-03 US US16/403,388 patent/US11334792B2/en active Active
- 2019-11-19 JP JP2019208760A patent/JP6911089B2/ja active Active
-
2021
- 2021-02-08 US US17/170,316 patent/US11783182B2/en active Active
- 2021-07-06 JP JP2021112034A patent/JP7247274B2/ja active Active
-
2022
- 2022-04-29 US US17/733,594 patent/US20220261647A1/en active Pending
-
2023
- 2023-03-14 JP JP2023039773A patent/JP2023063445A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US10936946B2 (en) | 2021-03-02 |
WO2017083772A1 (en) | 2017-05-18 |
KR102156303B1 (ko) | 2020-09-15 |
US20220261647A1 (en) | 2022-08-18 |
CA3004885C (en) | 2020-07-14 |
EP3360085A1 (en) | 2018-08-15 |
CN114897156A (zh) | 2022-08-12 |
US10346741B2 (en) | 2019-07-09 |
JP7247274B2 (ja) | 2023-03-28 |
JP6621920B2 (ja) | 2019-12-18 |
AU2016354558A1 (en) | 2018-05-10 |
JP2021170361A (ja) | 2021-10-28 |
US11783182B2 (en) | 2023-10-10 |
AU2016354558B2 (en) | 2019-11-28 |
JP2018537767A (ja) | 2018-12-20 |
CN108885717B (zh) | 2022-05-10 |
JP2020042837A (ja) | 2020-03-19 |
JP6911089B2 (ja) | 2021-07-28 |
KR20180090989A (ko) | 2018-08-14 |
EP3872715A1 (en) | 2021-09-01 |
US20170140270A1 (en) | 2017-05-18 |
US20210166127A1 (en) | 2021-06-03 |
US20190258929A1 (en) | 2019-08-22 |
CA3004885A1 (en) | 2017-05-18 |
EP3360085B1 (en) | 2021-05-19 |
CN108885717A (zh) | 2018-11-23 |
US11334792B2 (en) | 2022-05-17 |
US20180260708A1 (en) | 2018-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7247274B2 (ja) | 非同期深層強化学習 | |
US11886992B2 (en) | Training reinforcement learning neural networks | |
JP6828121B2 (ja) | 優先順位付けされた経験メモリを使用したニューラルネットワークの訓練 | |
JP6926203B2 (ja) | 補助タスクを伴う強化学習 | |
US10664725B2 (en) | Data-efficient reinforcement learning for continuous control tasks | |
JP2020522035A (ja) | 畳み込みニューラルネットワークのためのニューラルアーキテクチャ検索 | |
US11907837B1 (en) | Selecting actions from large discrete action sets using reinforcement learning | |
US11893480B1 (en) | Reinforcement learning with scheduled auxiliary control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230315 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230315 |