(57)【要約】  強化学習システムをトレーニングするための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む、方法、システム、および装置。本方法は、行動選択ポリシーニューラルネットワークをトレーニングするステップと、行動選択ニューラルネットワークのトレーニングの間に、1つまたは複数の補助制御ニューラルネットワークおよび報酬予測ニューラルネットワークをトレーニングするステップとを含む。補助制御ニューラルネットワークの各々は、行動選択ポリシーニューラルネットワークによって生成されたそれぞれの中間出力を受信することと、対応する補助制御タスクのためのポリシー出力を生成することとを行うように構成される。報酬予測ニューラルネットワークは、行動選択ポリシーニューラルネットワークによって生成された1つまたは複数の中間出力を受信することと、対応する予測された報酬を生成することとを行うように構成される。補助制御ニューラルネットワークおよび報酬予測ニューラルネットワークの各々をトレーニングするステップは、それぞれの補助制御パラメータ、報酬予測パラメータ、および行動選択ポリシーネットワークパラメータの値を調整するステップを含む。
2019534517.tif 000002
【特許請求の範囲】
【請求項１】
第1の強化学習技法を使用して、行動選択ポリシーニューラルネットワークをトレーニングするステップであって、
前記行動選択ポリシーニューラルネットワークが、複数の行動選択ポリシーネットワークパラメータを有し、環境と対話するエージェントによって実施されるべき行動を選択する際に使用され、
前記行動選択ポリシーニューラルネットワークが、観察入力を含む入力を受信することと、行動選択ポリシー出力を生成するために前記ネットワークパラメータに従って前記入力を処理することとを行うように構成され、
前記行動選択ポリシーニューラルネットワークをトレーニングするステップが、前記行動選択ポリシーネットワークパラメータの値を調整するステップを含む、
前記行動選択ポリシーニューラルネットワークをトレーニングするステップと、
前記第1の強化学習技法を使用した、前記行動選択ポリシーニューラルネットワークの前記トレーニングの間に、
前記行動選択ニューラルネットワークの前記トレーニングの間に、前記環境との前記エージェントの対話に関する1つまたは複数の補助制御ニューラルネットワークの各々をトレーニングするステップであって、
前記補助制御ニューラルネットワークの各々が、それぞれの補助制御パラメータを有し、それぞれの補助制御タスクに対応し、
前記行動選択ポリシーニューラルネットワークによって生成されたそれぞれの中間出力を受信することと、
前記補助制御ニューラルネットワークの前記それぞれの補助制御パラメータに従って、前記対応する補助制御タスクのためのポリシー出力を生成することと
を行うように構成され、
前記補助制御ニューラルネットワークの各々をトレーニングするステップが、
前記補助制御ニューラルネットワークによって生成されたポリシー出力に基づいて、勾配を決定するステップと、
前記勾配を使用して、前記それぞれの補助制御パラメータおよび前記行動選択ポリシーネットワークパラメータの値を調整するステップと
を含む、
前記補助制御ニューラルネットワークの各々をトレーニングするステップと
を含む、方法。
【請求項２】
前記補助制御ニューラルネットワークの各々をトレーニングするステップが、
前記環境との前記エージェントの前記対話に応答して、前記対応する補助制御タスクに固有である補助タスク報酬を受信するステップと、
それぞれの第2の強化学習技法を使用して、前記対応する補助制御タスクのための予想される長期時間割引補助タスク報酬を最大にするために、前記補助制御ニューラルネットワークをトレーニングするステップと
を含む、請求項1に記載の方法。
【請求項３】
それぞれの第2の強化学習技法を使用して、前記対応する補助制御タスクのための予想される長期時間割引補助タスク報酬を最大にするために、前記補助制御ニューラルネットワークをトレーニングするステップが、
前記行動選択ポリシーパラメータの前記値を調整するために、前記それぞれの第2の強化学習技法を使用して、算出された勾配を、前記行動選択ポリシーニューラルネットワークにバックプロパゲートするステップ
を含む、請求項2に記載の方法。
【請求項４】
前記観察入力が画像を含み、
前記補助制御ニューラルネットワークが、各観察画像の1つまたは複数の領域の各々について、前記領域中のピクセルの変化を最大にすることを試みるピクセル制御タスクに対応するピクセル制御ニューラルネットワークを備え、
各観察画像について、前記1つまたは複数の領域の各々のための前記それぞれの報酬が、前記観察画像から、前記観察画像に応答して前記エージェントが行動を実施した結果として受信された次の観察画像への、前記領域中の前記ピクセルの変化から導出される、
請求項2または3のいずれか一項に記載の方法。
【請求項５】
前記ピクセル制御ニューラルネットワークが、受信された観察画像について、
前記ピクセル制御ニューラルネットワークのための前記それぞれの中間出力を受信することと、
前記1つまたは複数の領域の各々について、および前記エージェントによって実施されるべき複数の可能な行動の各々について、前記受信された観察画像に応答して前記エージェントが前記可能な行動を実施した場合、前記領域中の前記ピクセルの前記長期時間割引変化の推定を生成するために、前記それぞれの中間出力を処理することと
を行うように構成された、請求項4に記載の方法。
【請求項６】
前記ピクセル制御ニューラルネットワークが、逆畳み込みニューラルネットワークである、請求項4に記載の方法。
【請求項７】
前記観察入力が画像を含み、
前記補助制御ニューラルネットワークが、前記行動選択ポリシーニューラルネットワークの特定の隠れ層中の1つまたは複数のユニットによって生成される活性化を最大にすることを試みる特徴制御タスクに対応する、特徴制御ニューラルネットワークを備え、
各観察画像について、前記1つまたは複数のユニットの各々のための前記それぞれの報酬が、前記観察画像を処理する間に生成された活性化から、前記観察画像に応答して前記エージェントが行動を実施した結果として受信された次の観察画像の処理の間に生成された活性化への、前記ユニットの前記活性化の変化から導出される、
請求項2から6のいずれか一項に記載の方法。
【請求項８】
前記特徴制御ニューラルネットワークが、受信された観察画像について、
前記特徴制御ニューラルネットワークのための前記それぞれの中間出力を受信することと、
前記1つまたは複数のユニットの各々ついて、および前記エージェントによって実施されるべき複数の可能な行動の各々について、前記受信された観察画像に応答して前記エージェントが前記可能な行動を実施した場合、前記ユニットによって生成される前記活性化の前記長期時間割引変化の推定を生成するために、前記それぞれの中間出力を処理することと
を行うように構成された、請求項7に記載の方法。
【請求項９】
前記第1の強化学習技法を使用した、前記行動選択ニューラルネットワークの前記トレーニングの間に、
前記行動選択ニューラルネットワークの前記トレーニングの間に、前記環境との前記エージェントの対話に関する報酬予測ニューラルネットワークをトレーニングするステップであって、
前記報酬予測ニューラルネットワークが、報酬予測パラメータを有し、
前記環境との前記エージェントの前記対話の結果として受信された観察画像のシーケンスを特徴づける、前記行動選択ポリシーニューラルネットワークによって生成された1つまたは複数の中間出力を受信することと、
前記シーケンス中の最後の観察画像に後続する次の観察画像とともに受信されることになる報酬の推定である、予測された報酬を生成するために、前記報酬予測パラメータに従って、前記1つまたは複数の中間出力を処理することと
を行うように構成され、
前記報酬予測ニューラルネットワークをトレーニングするステップが、
前記報酬予測ニューラルネットワークによって生成された予測された報酬に基づいて、勾配を決定するステップと、
前記勾配を使用して、前記報酬予測パラメータおよび前記行動選択ポリシーネットワークパラメータの値を調整するステップと
を含む、
前記報酬予測ニューラルネットワークをトレーニングするステップ
をさらに含む、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
第1の強化学習技法を使用して、行動選択ポリシーニューラルネットワークをトレーニングするステップであって、
前記行動選択ポリシーニューラルネットワークが、複数のネットワークパラメータを有し、環境と対話するエージェントによって実施されるべき行動を選択する際に使用され、
前記行動選択ポリシーニューラルネットワークが、観察入力を含む入力を受信することと、行動選択ポリシー出力を生成するために前記ネットワークパラメータに従って前記入力を処理することとを行うように構成され、
前記行動選択ポリシーニューラルネットワークをトレーニングするステップが、前記行動選択ポリシーネットワークパラメータの値を調整するステップを含む、
前記行動選択ポリシーニューラルネットワークをトレーニングするステップと、
前記第1の強化学習技法を使用した、前記行動選択ニューラルネットワークの前記トレーニングの間に、
前記行動選択ニューラルネットワークの前記トレーニングの間に、前記環境との前記エージェントの対話に関する報酬予測ニューラルネットワークをトレーニングするステップであって、
前記報酬予測ニューラルネットワークが、報酬予測パラメータを有し、
前記環境との前記エージェントの前記対話の結果として受信された観察画像のシーケンスを特徴づける、前記行動選択ポリシーニューラルネットワークによって生成された1つまたは複数の中間出力を受信することと、
前記シーケンス中の最後の観察画像に後続する次の観察画像とともに受信されることになる報酬の推定である、予測された報酬を生成するために、前記報酬予測パラメータに従って、前記1つまたは複数の中間出力を処理することと
を行うように構成され、
前記報酬予測ニューラルネットワークをトレーニングするステップが、
前記報酬予測ニューラルネットワークによって生成された予測された報酬に基づいて、勾配を決定するステップと、
前記勾配を使用して、前記報酬予測パラメータおよび前記行動選択ポリシーネットワークパラメータの値を調整するステップと
を含む、
前記報酬予測ニューラルネットワークをトレーニングするステップと
を含む、方法。
【請求項１１】
前記報酬予測ニューラルネットワークをトレーニングするステップが、
前記次の観察画像とともに受信される実際の報酬を受信するステップと、
前記実際の報酬と前記推定された報酬との間の損失を減少させるために、即時報酬ニューラルネットワークをトレーニングするステップと
を含む、請求項10に記載の方法。
【請求項１２】
前記実際の報酬と前記推定された報酬との間の損失を減少させるために、前記報酬予測ニューラルネットワークをトレーニングするステップが、
前記行動選択ポリシーパラメータの前記値を調整するために、算出された勾配を前記行動選択ポリシーニューラルネットワークにバックプロパゲートするステップ
を含む、請求項11に記載の方法。
【請求項１３】
前記報酬予測ニューラルネットワークをトレーニングするステップが、リプレイメモリから観察のシーケンスをサンプリングするステップを含む、請求項9から12のいずれか一項に記載の方法。
【請求項１４】
観察のシーケンスをサンプリングするステップは、
前記シーケンス中の最後の観察に後続する観察とともに受信された前記実際の報酬が0でないシーケンスを、前記シーケンス中の前記最後の観察に後続する前記観察とともに受信された前記実際の報酬が0であるシーケンスよりも、高い確率でサンプリングするステップ
を含む、請求項13に記載の方法。
【請求項１５】
前記第1の強化学習技法が、アクタークリティック強化学習技法であり、前記行動選択ポリシー出力が、値推定とQ値とを含み、前記方法が、
前記リプレイメモリから最近のシーケンスをリサンプリングするステップと、
前記リサンプリングされた最近のシーケンス中の前記観察画像のための前記値推定に関する余分の価値関数回帰を実施するステップと
をさらに含む、請求項13または14のいずれか一項に記載の方法。
【請求項１６】
前記行動選択ポリシーニューラルネットワークが、
前記入力の符号化表現を生成する、畳み込みエンコーダニューラルネットワークと、
前記入力の前記符号化表現を処理して中間表現を生成する、中間ニューラルネットワークと、
前記中間表現を処理して前記行動選択出力を生成する、出力ニューラルネットワークと
を備える、請求項1から15のいずれか一項に記載の方法。
【請求項１７】
前記中間ニューラルネットワークが、リカレントニューラルネットワークであり、観察画像のシーケンスを特徴づける、前記行動選択ポリシーニューラルネットワークによって生成された前記1つまたは複数の中間出力が、前記シーケンス中の最後の観察画像のための前記中間表現である、請求項16に記載の方法。
【請求項１８】
観察画像の前記シーケンスを特徴づける、前記行動選択ポリシーニューラルネットワークによって生成された前記1つまたは複数の中間出力が、前記シーケンス中の前記観察画像のための符号化表現である、請求項12に記載の方法。
【請求項１９】
1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを備え、前記命令が、前記1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに、請求項1から18のいずれか一項に記載の方法の動作を実施させる、システム。
【請求項２０】
1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに、請求項1から18のいずれか一項に記載の方法の動作を実施させる命令を記憶する、1つまたは複数のコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は強化学習に関する。
【背景技術】
【０００２】
強化学習システムにおいて、エージェント(Agent)が、環境の現在の状態を特徴づける観察(Observation)の受信に応答して強化学習システムによって選択された行動(Action)を実施することによって、環境と対話する。
【０００３】
いくつかの強化学習システムは、ニューラルネットワークの出力に従って所与の観察の受信に応答してエージェントによって実施されるべき行動を選択する。
【０００４】
ニューラルネットワークは、受信された入力に対する出力を予測するために非線形ユニットの1つまたは複数の層を利用する、機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む、深層ニューラルネットワーク(Deep Neural Network)である。各隠れ層の出力は、ネットワークにおける次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれのセットの現在値に従って、受信された入力から出力を生成する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Volodymyr Mnihら、「Asynchronous methods for deep reinforcement learning」、Proceedings of the 33rd International Conference on Machine Learning、2016
【発明の概要】
【課題を解決するための手段】
【０００６】
本明細書は、環境と対話するエージェントによって実施されるべき行動を選択する、1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上のコンピュータプログラムとして実装される強化学習システムについて説明する。概して、本システムは、環境の観察に応答して実施されるべき行動を選択する際に、行動選択ポリシー(Action Selection Policy)ニューラルネットワークを使用する。このトレーニングの間に、行動選択ポリシーニューラルネットワークのトレーニングを改善するために、本システムはまた、行動選択ポリシーニューラルネットワークのそれぞれの中間出力(Intermediate Output)を入力として受信する、(i)1つまたは複数の補助制御ニューラルネットワーク(Auxiliary Control Neural Network、(ii)報酬予測ニューラルネットワーク(Reward Prediction Neural Network)、またはその両方をトレーニングする。
【０００７】
概して、1つの発明的態様が、強化学習システムをトレーニングするための方法において実施され得、本方法は、第1の強化学習技法を使用して、行動選択ポリシーニューラルネットワークをトレーニングするステップであって、行動選択ポリシーニューラルネットワークが、複数の行動選択ポリシーネットワークパラメータを有し、環境と対話するエージェントによって実施されるべき行動を選択する際に、特に、主要なタスクを実施する際に使用される、トレーニングするステップを含む。行動選択ポリシーニューラルネットワークは、観察入力を含む入力を受信することと、行動選択ポリシー出力を生成するためにネットワークパラメータに従って入力を処理することとを行うように構成され得、行動選択ポリシーニューラルネットワークをトレーニングするステップは、行動選択ポリシーネットワークパラメータの値を調整するステップを含む。本方法は、第1の強化学習技法を使用した、行動選択ポリシーニューラルネットワークのトレーニングの間に、行動選択ニューラルネットワークのトレーニングの間に、環境とのエージェントの対話に関する1つまたは複数の補助制御ニューラルネットワークの各々をトレーニングするステップであって、補助制御ニューラルネットワークの各々が、それぞれの補助制御パラメータを有し、それぞれの補助制御タスクに対応し、行動選択ポリシーニューラルネットワークによって生成されたそれぞれの中間出力を受信することと、補助制御ニューラルネットワークのそれぞれの補助制御タスクパラメータに従って、対応する補助制御タスクのためのポリシー出力を生成することとを行うように構成され、補助制御ニューラルネットワークの各々をトレーニングするステップが、補助制御ニューラルネットワークによって生成されたポリシー出力に基づいて、勾配(Gradient)を決定するステップと、勾配を使用して、それぞれの補助制御パラメータおよび行動選択ポリシーネットワークパラメータの値を調整するステップとを含む、トレーニングするステップを含み得る。
【０００８】
行動選択ポリシー出力は、環境においてエージェントによって実施されるべき行動を定義し得、後で説明されるように、エージェントはロボットエージェントであり得る。実装形態において、補助制御ニューラルネットワークは、行動選択ポリシーニューラルネットワークの1つまたは複数の隠れ層に結合された1つまたは複数のニューラルネットワーク層を備え得、すなわち、中間出力は、これらの1つまたは複数の隠れ層からの出力を含み得る。したがって、補助制御ニューラルネットワークをトレーニングするステップは、行動選択ポリシーニューラルネットワークのトレーニング部分、より詳細には、入力と中間層との間のこのネットワークの部分にも関与し得る。したがって、実装形態において、行動選択ポリシーニューラルネットワークのパラメータ(たとえば重み)は、行動選択ポリシーニューラルネットワークのトレーニングによってトレーニングされ、これらのパラメータのうちのいくつかはまた、補助制御ニューラルネットワークをトレーニングすることによって、より詳細には、中間出力を介して補助制御ニューラルネットワークから行動選択ポリシーニューラルネットワークに勾配をバックプロパゲートする(Backpropagate)ことによって、トレーニングされる。勾配は、パラメータに関する補助制御タスクのためのポリシー損失関数の勾配であり得る。補助制御ニューラルネットワークからのポリシー出力は、そのようなバックプロパゲーションのための損失関数を算出するために使用され得、特定の損失関数は、選択された補助制御タスクに依存し、実装され得る多くのそのようなタスクがある。まったく同様の考慮事項が、補助報酬予測ニューラルネットワークのために適用され、この場合、勾配は報酬予測損失関数から決定され得る。
【０００９】
いくつかの実装形態において、補助制御ニューラルネットワークの各々をトレーニングするステップは、環境とのエージェントの対話に応答して、対応する補助制御タスクに固有である補助タスク報酬(Auxiliary Task Reward)を受信するステップと、必須ではないが場合によってはそれぞれの第2の強化学習技法を使用して、対応する補助制御タスクのための予想されるタスク報酬、より詳細には予想される長期時間割引補助タスク報酬(Long-term Time-discounted Auxiliaiy Task Reward)を最大にするために、補助制御ニューラルネットワークをトレーニングするステップとを含む。たとえば、第1の強化学習技法はオンポリシー(On-policy)技法であり得、第2の強化学習技法はオフポリシー(Off-policy)技法であり得、および/または、第2の強化学習技法は、効率のために第1の強化学習技法よりも単純であり得る。いくつかの実装形態において、ここでおよび後で説明されるように、予想される長期時間割引補助タスク報酬は、予想されるnステップのリターン、より詳細には、時間的に後の報酬が、低減された重み付けを与えられる、n回の(行動)ステップの行動の後に予想されるリターンを含み得る。
【００１０】
いくつかの実装形態において、前に説明されたように、それぞれの第2の強化学習技法を使用して、対応する補助制御タスクのための予想される長期時間割引補助タスク報酬を最大にするために、補助制御ニューラルネットワークをトレーニングするステップは、行動選択ポリシーパラメータの値を調整するために、場合によってはそれぞれの第2の強化学習技法を使用して、算出された勾配を、行動選択ポリシーニューラルネットワークにバックプロパゲートするステップを含む。
【００１１】
いくつかの実装形態において、1つまたは複数の補助制御ニューラルネットワークは、画像を含む観察のためのピクセル制御タスクに対応するピクセル制御ニューラルネットワークを備える。ピクセル制御タスクは、各観察画像の1つまたは複数の領域の各々について、領域中のピクセルの値の最大変化を最大にすることを試み得る。各観察画像について、1つまたは複数の領域の各々のためのそれぞれの報酬は、観察画像から、観察画像に応答してエージェントが行動を実施した結果として受信された次の観察画像への、領域中のピクセルの変化から導出され得る。そのようなピクセル制御タスクを実施する際に、ピクセル制御ニューラルネットワークと、行動選択ポリシーニューラルネットワークの部分とは、視覚入力に影響を及ぼす環境の態様を制御するために一緒に学習し得、行動選択ポリシーニューラルネットワークにおいて学習された表現は、次いで、主要なタスクを実施するために学習する際に有用であり得る。
【００１２】
いくつかの実装形態において、ピクセル制御ニューラルネットワークは、受信された観察画像について、ピクセル制御ニューラルネットワークのためのそれぞれの中間出力を受信することと、1つまたは複数の領域の各々について、およびエージェントによって実施されるべき複数の可能な行動の各々について、受信された観察画像に応答してエージェントが可能な行動を実施した場合、領域中のピクセルの、変化の推定、より詳細には長期時間割引変化の推定を生成するために、それぞれの中間出力を処理することとを行うように構成される。ピクセルの長期時間割引変化は、時間的に後の変化が、低減された重み付けを与えられる、n回の(行動)ステップの行動の後に予想される変化を含み得る。
【００１３】
いくつかの実装形態において、ピクセル制御ニューラルネットワークは、逆畳み込みニューラルネットワーク(Deconvolutional Neural Network)を備え得る。逆畳み込みニューラルネットワークは、ピクセル制御ニューラルネットワークをトレーニングするために使用され得る、行動価値関数値など、空間的にマッピングされた補助報酬関数値のセットを決定するために使用され得る。いくつかの実装形態において、行動選択ポリシーニューラルネットワークが、1つまたは複数の畳み込みニューラルネットワーク層と、その後に続く、1つまたは複数のリカレントニューラルネットワーク層とを備える場合、ピクセル制御ニューラルネットワークは、1つまたは複数のリカレントニューラルネットワーク層のうちの1つの出力に結合され得る。
【００１４】
いくつかの実装形態において、補助制御ニューラルネットワークは、(特徴がより低い頻度で変化するような、対応するターゲットネットワークの使用を伴い得る)行動選択ポリシーニューラルネットワークの特定の隠れ層中の1つまたは複数のユニットによって生成される活性化を最大にすることを試みる特徴制御タスクに対応する、特徴制御ニューラルネットワークを備える。各観察画像について、1つまたは複数のユニットの各々のためのそれぞれの報酬は、観察画像を処理する間に生成された活性化から、観察画像に応答してエージェントが行動を実施した結果として受信された次の観察画像の処理の間に生成された活性化への、ユニットの活性化の変化から導出され得る。特徴制御タスクは、ピクセル制御タスクと同様であるが、より高いレベルの視覚特徴に関すると考えられ得る。
【００１５】
いくつかの実装形態において、特徴制御ニューラルネットワークは、受信された観察画像について、特徴制御ニューラルネットワークのためのそれぞれの中間出力を受信することと、1つまたは複数のユニットの各々ついて、およびエージェントによって実施されるべき複数の可能な行動の各々について、受信された観察画像に応答してエージェントが可能な行動を実施した場合、ユニットによって生成される活性化の長期時間割引変化の推定を生成するために、それぞれの中間出力を処理することとを行うように構成される。
【００１６】
概して、別の発明的態様が、強化学習システムをトレーニングするための方法において実施され得、本方法は、第1の強化学習技法を使用して、行動選択ポリシーニューラルネットワークをトレーニングするステップであって、行動選択ポリシーニューラルネットワークが、複数のネットワークパラメータを有し、環境と対話するエージェントによって実施されるべき行動を選択する際に使用され、行動選択ポリシーニューラルネットワークが、観察入力を含む入力を受信することと、行動選択ポリシー出力を生成するためにネットワークパラメータに従って入力を処理することとを行うように構成され、行動選択ポリシーニューラルネットワークをトレーニングするステップが、行動選択ポリシーネットワークパラメータの値を調整するステップを含む、トレーニングするステップと、第1の強化学習技法を使用した、行動選択ニューラルネットワークのトレーニングの間に、行動選択ニューラルネットワークのトレーニングの間に、環境とのエージェントの対話に関する報酬予測ニューラルネットワークをトレーニングするステップであって、報酬予測ニューラルネットワークが、報酬予測パラメータを有し、環境とのエージェントの対話の結果として受信された観察画像のシーケンスを特徴づける、行動選択ポリシーニューラルネットワークによって生成された1つまたは複数の中間出力を受信することと、シーケンス中の最後の観察画像に後続する次の観察画像とともに受信されることになる報酬の推定である、予測された報酬を生成するために、報酬予測パラメータに従って、1つまたは複数の中間出力を処理することとを行うように構成され、報酬予測ニューラルネットワークをトレーニングするステップが、報酬予測ニューラルネットワークによって生成された予測された報酬に基づいて、勾配を決定するステップと、勾配を使用して、報酬予測パラメータおよび行動選択ポリシーネットワークパラメータの値を調整するステップとを含む、トレーニングするステップとを含む。
【００１７】
いくつかの実装形態において、報酬予測ニューラルネットワークをトレーニングするステップは、次のまたは後続の観察画像とともに受信される実際の報酬を受信するステップと、実際の報酬と推定された報酬との間の損失、より詳細には実際の報酬と推定された報酬との間の差に依存する損失関数の値を減少させるために、即時報酬ニューラルネットワーク(Immediate Reward Neural Network)をトレーニングするステップとを含む。後で説明されるように、報酬予測ニューラルネットワークをトレーニングするステップは、特に、報酬があるシーケンス/イベントを過度に表現するように、経験リプレイメモリに記憶された観察のシーケンスからサンプリングするステップを含み得、これは、環境における報酬がまばらであるときに有利であり得る。
【００１８】
いくつかの実装形態において、実際の報酬と推定された報酬との間の損失を減少させるために、即時報酬ニューラルネットワークをトレーニングするステップは、行動選択ポリシーパラメータの値を調整するために、算出された勾配を行動選択ポリシーニューラルネットワークにバックプロパゲートするステップを含む。
【００１９】
いくつかの実装形態において、行動選択ポリシーニューラルネットワークは、入力の符号化表現を生成する、畳み込みエンコーダニューラルネットワークと、入力の符号化表現を処理して中間表現を生成する、中間ニューラルネットワークと、中間表現を処理して行動選択出力を生成する、出力ニューラルネットワークとを備える。
【００２０】
いくつかの実装形態において、中間ニューラルネットワークは、リカレントニューラルネットワークであり、観察画像のシーケンスを特徴づける、行動選択ポリシーニューラルネットワークによって生成された1つまたは複数の中間出力は、シーケンス中の最後の観察画像のための中間表現である。
【００２１】
いくつかの実装形態において、観察画像のシーケンスを特徴づける、行動選択ポリシーニューラルネットワークによって生成された1つまたは複数の中間出力は、シーケンス中の観察画像のための符号化表現である。
【００２２】
いくつかの実装形態において、報酬予測ニューラルネットワークをトレーニングするステップは、リプレイメモリから観察のシーケンスをサンプリングするステップを含む。
【００２３】
いくつかの実装形態において、観察のシーケンスをサンプリングするステップは、シーケンス中の最後の観察に後続する観察とともに受信された実際の報酬が0でないシーケンスを、シーケンス中の最後の観察に後続する観察とともに受信された実際の報酬が0であるシーケンスよりも、高い確率でサンプリングするステップを含む。
【００２４】
いくつかの実装形態において、第1の強化学習技法は、アクタークリティック強化学習技法(Actor-critic Reinforcement Learning Technique)であり、行動選択ポリシー出力は、値推定とQ値とを含む。値推定は、値、または状態からの予想されるリターンを定義し得、Q値は、状態における特定の行動に対する予想されるリターンを定義し得、たとえば、ベースライン値推定によって行動のアドバンテージ(Advantage)を定義するアドバンテージ値に暗に含まれ得る。本方法は、リプレイメモリから最近のシーケンスをリサンプリングするステップと、リサンプリングされた最近のシーケンス中の観察画像のための値推定に関する余分の価値関数回帰を実施するステップとをさらに含み得る。したがって、余分の価値関数回帰は、リプレイメモリからのシーケンスを使用した追加のトレーニングを含み得、nステップのリターンが算出される場合、本方法は、さらに、nをランダムに変化させ得る。これは報酬予測タスクの利益を活用するのに役立つことができる。
【００２５】
上記の態様は任意の好都合な形態において実装され得る。たとえば、態様および実装形態は、有形キャリア媒体(たとえばディスク)または無形キャリア媒体(たとえば通信信号)であり得る、適切なキャリア媒体上で担持され得る、適切なコンピュータプログラムによって実装され得る。態様はまた、コンピュータプログラムを実行するプログラマブルコンピュータの形態をとり得る、好適な装置を使用して実装され得る。
【００２６】
本明細書において説明される主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装され得る。累積外発的報酬(Extrinsic Reward)を最大にするために、行動選択ポリシーニューラルネットワークをトレーニングすることに加えて、補助タスク(Auxiliary Task)および予測を実施するために、1つまたは複数の補助制御ニューラルネットワークまたは報酬予測ニューラルネットワーク、あるいはその両方をトレーニングすることによって、本明細書において説明される強化学習システムは、行動選択ポリシーニューラルネットワークのトレーニングの間に受信されるフィードバック信号を増強して、トレーニングを改善することができる。特に、補助制御ニューラルネットワークまたは報酬予測ニューラルネットワークをトレーニングすることは、行動選択ポリシーニューラルネットワークのパラメータのセットの値を調節し、これにより、補助制御ニューラルネットワークまたは報酬予測ニューラルネットワークは、累積外発的報酬を最大にするために、観察されたデータのより有用な表現を生成し、最終的に、より効果的なポリシー出力を決定する。たとえば、報酬予測ニューラルネットワークをトレーニングすることは、後続の時間ステップにおいて高い報酬を受信することにつながる観察を認識するために、行動選択ポリシーニューラルネットワークのパラメータのセットの値を調節し、それにより、外発的報酬がまれに0でないにすぎないときでも、予想される長期時間割引外発的報酬を最大にするために、行動選択ポリシーニューラルネットワークがより効果的なポリシー出力を決定することを可能にする。
【００２７】
対照的に、まれに0でない外発的報酬のみにトレーニングが基づくとき、従来の方法によって強化学習システムをトレーニングすることは時間がかかる。さらに、汎用的であり、エージェントの長期目標とあまり一致しない、教師なし(Unsupervised)トレーニングを含む、従来の強化学習システムとは異なり、補助制御ニューラルネットワークまたは報酬予測ニューラルネットワークをトレーニングすることは、行動選択ポリシーニューラルネットワークに、エージェントの長期目標とよく一致する表現を生成させる。
【００２８】
本明細書において説明される強化学習システムは、従来の強化学習システムよりも速く、行動選択ポリシーニューラルネットワークをトレーニングする。したがって、本明細書において説明される強化学習システムは、トレーニングにおける計算リソースのより効率的な使用を可能にする。その上、本明細書において説明される強化学習システムは、たとえば、より多くの累積外発的報酬を受信することによって、従来の強化学習システムより優れた性能を達成する。
【００２９】
本明細書の主題の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明において記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００３０】
【図１Ａ】例示的な強化学習システムを示す図である。
【図１Ｂ】強化学習システムの例示的な実装形態を示す図である。
【図２】補助制御ニューラルネットワークをトレーニングすることによって、行動選択ポリシーニューラルネットワークをトレーニングするための例示的なプロセスの流れ図である。
【図３】報酬予測ニューラルネットワークをトレーニングすることによって、行動選択ポリシーニューラルネットワークをトレーニングするための例示的なプロセスの流れ図である。
【発明を実施するための形態】
【００３１】
様々な図面中の同様の参照番号および名称は同様の要素を示す。
【００３２】
図1Aは、例示的な強化学習システム100を示す。強化学習システム100は、以下で説明されるシステム、構成要素、および技法が実装される、1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるシステムの一例である。
【００３３】
強化学習システム100は、複数の時間ステップの各々において環境102と対話するエージェント108によって実施されるべき行動110を選択する。エージェント108が環境102と対話するために、システム100は、環境102の現在の状態を特徴づけるデータ、たとえば、環境の画像を受信し、受信されたデータに応答してエージェントによって実施されるべき行動110を選択する。環境102の状態を特徴づけるデータは、本明細書において、観察104と呼ばれることになる。
【００３４】
いくつかの実装形態において、環境102は、シミュレートされた環境であり、エージェント108は、シミュレートされた環境と対話する1つまたは複数のコンピュータプログラムとして実装される。たとえば、シミュレートされた環境はビデオゲームであり得、エージェントは、ビデオゲームをプレイするシミュレートされたユーザであり得る。別の例として、シミュレートされた環境は、運動シミュレーション環境、たとえば、ドライビングシミュレーションまたはフライトシミュレーションであり得、エージェントは、運動シミュレーション環境を通してナビゲートするシミュレートされたビークルである。これらの実装形態において、行動は、シミュレートされたユーザまたはシミュレートされたビークルを制御するための制御入力であり得る。
【００３５】
いくつかの他の実装形態において、環境102は現実世界の環境であり、エージェント110は、現実世界の環境と対話する機械的エージェントである。たとえば、エージェントは、固有のタスクを遂行するために環境と対話するロボットであり得る。別の例として、エージェントは、環境を通してナビゲートする自律ビークルまたは半自律ビークルであり得る。これらの実装形態において、行動は、ロボットまたは自律ビークルを制御するための制御入力であり得る。これらの実装形態のうちのいくつかにおいて、観察104は、エージェント108のセンサーによって生成されるか、またはそれから導出され得る。たとえば、観察104は、エージェント108のカメラによってキャプチャされ得る。別の例として、観察104は、エージェント108のレーザーセンサーからキャプチャされたデータから導出され得る。別の例として、観察は、エージェント108のハイパースペクトルセンサーによってキャプチャされたハイパースペクトル画像であり得る。
【００３６】
システム100は、各時間ステップにおいて観察104に応答してエージェント108によって実施されるべき行動を選択する際に、行動選択ポリシーニューラルネットワーク112を使用する。特に、行動選択ポリシーニューラルネットワーク112は、観察104を入力として受信することと、時間ステップにおいてエージェント108によって実施されるべき行動110を決定するためにシステム100が使用するポリシー出力を生成するために、本明細書において行動選択ポリシーニューラルネットワークパラメータと呼ばれるパラメータのセットに従って、入力を処理することとを行うように構成される。たとえば、ポリシー出力は、可能な行動のセットにわたる確率分布であり得る。別の例として、ポリシー出力は、観察に応答してエージェント108が特定の行動を実施した場合に受信されることになる、長期時間割引報酬の推定値である、Q値であり得る。別の例として、ポリシー出力は、観察に応答してエージェントによって実施された場合に最高の長期時間割引報酬を生じると予測される特定の行動を識別し得る。
【００３７】
概して、行動選択ポリシーニューラルネットワーク112は、入力観察の符号化表現を生成する、畳み込みエンコーダニューラルネットワークと、入力観察の符号化表現を処理して中間表現を生成する、中間ニューラルネットワークと、中間表現を処理してポリシー出力を生成する、出力ニューラルネットワークとを含む。
【００３８】
各時間ステップにおいて、システム100は、環境102の現在の状態と、時間ステップにおけるエージェント108の行動110とに基づく報酬106を受信する。概して、システム100は、行動選択ポリシーニューラルネットワークパラメータの値を反復的に調整するために強化学習技法を使用することによって、システム100によって受信された予想される長期時間割引報酬を最大にするポリシー出力を生成するために、行動選択ポリシーニューラルネットワーク112をトレーニングする。
【００３９】
1つまたは複数の時間ステップについて、システム100は、時間ステップのための経験タプル(Experience Tuple)をリプレイメモリ114に記憶し、本明細書において、経験タプルという用語は、時間ステップにおける観察104と、時間ステップにおけるエージェントの行動110と、時間ステップにおいて受信された報酬106と、次の時間ステップの観察とを指す。
【００４０】
いくつかの実装形態において、システム100は、オンポリシー強化学習技法を使用して、行動選択ポリシーニューラルネットワーク112をトレーニングし、経験タプルが生成されたときの経験タプルに基づいて、行動選択ポリシーニューラルネットワーク112をトレーニングする。オンポリシー強化学習のための例示的な方法は、Volodymyr Mnihら、「Asynchronous methods for deep reinforcement learning」、Proceedings of the 33rd International Conference on Machine Learning、2016に記載されている。オンポリシー強化学習のための別の例示的な方法は、ポリシー勾配法である。いくつかの他の実装形態において、システム100は、経験タプルが生成されたときの経験タプルに基づいて、またはサンプリングエンジン116がリプレイメモリ114からサンプリングした経験タプルに基づいて、オフポリシー強化学習技法、たとえば、ワンステップQ学習またはnステップQ学習を使用して、行動選択ポリシーニューラルネットワーク112をトレーニングする。
【００４１】
行動選択ポリシーニューラルネットワーク112の一例は、Volodymyr Mnihら、「Asynchronous methods for deep reinforcement learning」、Proceedings of the 33rd International Conference on Machine Learning、2016に記載されている。行動選択ポリシーニューラルネットワーク112の他の例は、DQN(深層Qネットワーク:Deep Q-Network)と、DDPG(深層決定的ポリシー勾配法:Deep Deterministic Policy Gradient)と、TRPQ(信頼領域ポリシー最適化:Trust Region Policy Optimization)ネットワークとを含む。
【００４２】
予想される長期時間割引報酬を最大にするために、行動選択ポリシーニューラルネットワーク112をトレーニングすることに加えて、システム100は、1つまたは複数の補助制御ニューラルネットワーク、たとえば、ピクセル制御ニューラルネットワーク118、または特徴制御ニューラルネットワーク120、あるいはその両方をさらにトレーニングすることによって、行動選択ポリシーニューラルネットワーク112をトレーニングし得る。補助制御ニューラルネットワークをトレーニングすることは、行動選択ポリシーニューラルネットワーク112のパラメータのセットの値を調節し、これにより、行動選択ポリシーニューラルネットワーク112は、0でない報酬106がまれに受信されるにすぎないときでも、予想される長期時間割引報酬を最大にするために、エージェント110の長期目標とよく一致する、観察104のより有用な表現を生成し、それにより、より効果的なポリシー出力を決定する。
【００４３】
各補助制御ニューラルネットワークは、本明細書において補助制御ニューラルネットワークパラメータと呼ばれるパラメータのそれぞれのセットを有し、所与の観察104を処理するとき、行動選択ポリシーニューラルネットワーク112のそれぞれの中間出力を入力として受信する。各補助制御ニューラルネットワークは、行動選択ポリシーニューラルネットワーク112のそれぞれの中間出力を入力として受信するので、各補助制御ニューラルネットワークは、パラメータを行動選択ポリシーニューラルネットワーク112と共有するものと見なされ得る。行動選択ポリシーニューラルネットワーク112の中間出力は、入力としての所与の観察の処理に応答して、行動選択ポリシーニューラルネットワーク112の1つまたは複数の隠れ層の1つまたは複数のユニットにおいて生成された活性化のセットである。いくつかの実装形態において、行動選択ポリシーニューラルネットワーク112の中間ニューラルネットワークは、リカレントニューラルネットワークであり、それぞれの補助制御ニューラルネットワークに対応する中間出力は、所与の観察のためにリカレントニューラルネットワークによって生成された中間表現である。いくつかの実装形態において、それぞれの補助制御ニューラルネットワークに対応する中間出力は、所与の観察のために行動選択ポリシーニューラルネットワーク112の畳み込みエンコーダニューラルネットワークによって生成された符号化表現である。
【００４４】
補助制御ニューラルネットワークの各々は、1つまたは複数のそれぞれの補助タスク報酬(Auxiliary Task Reward)に関連する。ピクセル制御ニューラルネットワーク118の補助タスク報酬は、所与の観察画像104から、所与の観察104に応答してエージェント110が行動110を実施した結果として受信された次の観察画像への、1つまたは複数の領域中のピクセルの変化から導出される。特徴制御ニューラルネットワーク120の補助タスク報酬は、所与の観察104を処理することと、所与の観察に応答してエージェント108が行動110を実施した結果として受信された次の観察の処理との間の、行動選択ポリシーニューラルネットワーク112の特定の隠れ層中の1つまたは複数のユニットによって生成された活性化の変化から導出される。
【００４５】
各補助制御ニューラルネットワークは、各関連する補助タスク報酬のための補助制御ポリシー出力を生成する。システム100は、補助制御ニューラルネットワークの各々をトレーニングして、対応する補助タスク報酬の予想される長期時間割引値を最大にする補助制御ポリシー出力を生成し、これは、補助制御ポリシー出力に基づいて、エージェントの行動を選択することによって達成されることになる。
【００４６】
システム100は、強化学習技法を使用して各補助制御ニューラルネットワーク112をトレーニングする。システム100は、経験タプルが生成されたときの経験タプルに基づいて、オンラインで補助制御ニューラルネットワーク112をトレーニングし得るか、または、システム100は、サンプリングエンジン116がリプレイメモリ114からサンプリングした、前の時間ステップにおいて生成された経験タプルに基づいて、補助制御ニューラルネットワーク112をトレーニングし得る。強化学習技法は、ワンステップQ学習またはnステップQ学習など、オフポリシー強化学習技法であり得るか、あるいは、強化学習技法は、各補助タスク報酬のための価値関数を推定する強化学習技法など、オンポリシー強化学習技法であり得る。
【００４７】
強化学習技法を使用して補助制御ニューラルネットワークをトレーニングするために、システム100は、補助制御ニューラルネットワークのパラメータのセットの値を調整するために、および、行動選択ポリシーニューラルネットワーク112のパラメータのセットのうちのいくつかの値を調整するために、強化学習技法に従ってシステム100が決定した勾配をバックプロパゲートする。特に、システムは、(i)システム100が補助制御ニューラルネットワークへの入力として提供する、行動選択ポリシーニューラルネットワーク112の中間出力の1つまたは複数の隠れ層の1つまたは複数のユニットと、(ii)システム100が補助制御ニューラルネットワークへの入力として提供する、行動選択ポリシーニューラルネットワーク112の中間出力の1つまたは複数の隠れ層の1つまたは複数のユニットにフィードフォワードするユニットとに対応する行動選択ポリシーニューラルネットワークのパラメータを調整する。本明細書において、第1のユニットの出力が、直接または間接的にのいずれかで第2のユニットへの入力として提供される場合、第1のユニットは第2のユニットにフィードフォワードすると言われる。
【００４８】
予想される長期時間割引報酬を最大にするために、行動選択ポリシーニューラルネットワーク112をトレーニングすることに加えて、システム100は、報酬予測ニューラルネットワーク122をさらにトレーニングすることによって、行動選択ポリシーニューラルネットワーク112をトレーニングし得る。報酬予測ニューラルネットワーク122をトレーニングすることは、後続の時間ステップにおいて高い報酬106を受信することにつながる観察104を認識するために、行動選択ポリシーニューラルネットワーク112のパラメータのセットの値を調節し、それにより、0でない報酬106がまれに観察されるにすぎないときでも、予想される長期時間割引報酬を最大にするために、行動選択ポリシーニューラルネットワーク112がより効果的なポリシー出力を決定することを可能にする。
【００４９】
報酬予測ニューラルネットワーク122は、本明細書において報酬予測ニューラルネットワークパラメータと呼ばれるパラメータのセットを有し、環境102とのエージェント108の対話の結果として受信された観察のシーケンスを特徴づける、行動選択ポリシーニューラルネットワーク112によって生成された1つまたは複数の中間出力を入力として受信するように構成される。報酬予測ニューラルネットワーク122は、行動選択ポリシーニューラルネットワーク112によって生成された1つまたは複数の中間出力を入力として受信するので、報酬予測ニューラルネットワーク122は、パラメータを行動選択ポリシーニューラルネットワーク112と共有するものと見なされ得る。
【００５０】
いくつかの実装形態において、行動選択ポリシーニューラルネットワーク112の中間ニューラルネットワークは、リカレントニューラルネットワークであり、観察のシーケンスを特徴づける、行動選択ポリシーニューラルネットワーク112によって生成された1つまたは複数の中間出力は、シーケンス中の最後の観察のための、リカレントニューラルネットワークによって生成された中間表現である。
【００５１】
いくつかの実装形態において、観察のシーケンスを特徴づける、行動選択ポリシーニューラルネットワーク112によって生成された1つまたは複数の中間出力は、シーケンス中の観察のための、行動選択ポリシーニューラルネットワーク112の符号化表現である。たとえば、行動選択ポリシーニューラルネットワーク112が、畳み込みエンコーダニューラルネットワークを含む場合、これは、リプレイメモリからの状態のシーケンスの各状態を符号化し得る。
【００５２】
報酬予測ニューラルネットワーク122は、シーケンス中の最後の観察に後続する次の観察とともに受信されることになる実際の報酬の推定である、予測された報酬を生成するために、報酬予測ニューラルネットワークパラメータのセットに従って、1つまたは複数の中間出力を処理する。
【００５３】
システム100は、報酬予測損失を最小限に抑える予測された報酬を生成するために、報酬予測ニューラルネットワーク122をトレーニングする。いくつかの実装形態において、報酬予測損失は、シーケンス中の最後の観察に後続する次の観察とともに受信される予測された報酬と、シーケンス中の最後の観察に後続する次の観察とともに受信される実際の報酬との間の平均2乗誤差損失である。いくつかの他の実装形態において、報酬予測損失は、マルチクラスクロスエントロピー分類損失(Multi-class Cross-entropy Classification Loss)であり、ここで、3つのクラスは、0報酬、正の報酬、および負の報酬である。詳細には、システム100は、報酬予測ニューラルネットワーク122のパラメータのセットの値を調整するために、および、行動選択ポリシーニューラルネットワーク112のパラメータのセットのうちのいくつかの値を調整するために、勾配をバックプロパゲートして、報酬予測損失を最小限に抑える。
【００５４】
概して、システム100は、サンプリングエンジン116がリプレイメモリ114からサンプリングした、前の時間ステップにおいて生成された経験タプルのシーケンスに基づいて、報酬予測ニューラルネットワーク122をトレーニングする。いくつかの実装形態において、サンプリングエンジン116は、シーケンス中の最後の観察に後続する観察とともに受信された実際の報酬が0でないシーケンスが、シーケンス中の最後の観察に後続する観察とともに受信された実際の報酬が0であるシーケンスよりも、高い確率でサンプリングされた場合、リプレイメモリ114から経験タプルのシーケンスをサンプリングする。リプレイメモリ114からの経験タプルシーケンスのバイアスされたサンプリングは、特に、0でない報酬106がまれに受信されるとき、報酬予測ニューラルネットワーク122のトレーニングを改善し、拡張によって行動選択ポリシーニューラルネットワーク112を改善する。
【００５５】
いくつかの実装形態において、システム100は、オンポリシー強化学習を増強して、追加のオフポリシー強化学習によって行動選択ポリシーニューラルネットワーク112をトレーニングし、ここで、オフポリシー強化学習は、システム100が報酬予測ニューラルネットワーク122をトレーニングすることによって成形された行動選択ポリシーニューラルネットワーク112の新たに発見された特徴を活用する。たとえば、システム100が行動選択ポリシーニューラルネットワーク112をトレーニングするために使用する強化学習技法は、アクタークリティック強化学習技法であり得、ポリシー出力は、値推定とQ値とを含む。この例において、システム100は、経験タプルが生成されたときの経験タプルに基づいて、オンポリシートレーニングを使用して行動選択ポリシーニューラルネットワーク112をトレーニングし、サンプリングエンジン116によってリプレイメモリ114からサンプリングされたシーケンス中の観察のための値推定に関する余分の価値関数回帰を実施することによって、追加のオフポリシー強化学習を実施する。
【００５６】
図1Bは、システム100の例示的な実装形態を示す。この実装形態において、行動選択ポリシーニューラルネットワーク(a)は、Volodymyr Mnihら、「Asynchronous methods for deep reinforcement learning」、Proceedings of the 33rd International Conference on Machine Learning、2016に記載されている、A3C損失を伴ってオンポリシーでトレーニングされる畳み込み長短期記憶(LSTM)ネットワークであり、ここで、Vは値推定を表し、πはポリシー出力を表す。補助制御ニューラルネットワーク(b)は、リプレイバッファからサンプリングされた経験に基づいてQ値ポリシー出力を生成する、ピクセル制御ニューラルネットワークである。報酬予測ニューラルネットワーク(c)は、リプレイバッファからサンプリングされた経験に基づいて報酬予測を生成し、ここで、rτは、時間ステップτにおける予測された報酬を表し、スキューされたサンプリングは、シーケンス中の最後の観察に後続する観察とともに受信された実際の報酬が0でないシーケンスが、シーケンス中の最後の観察に後続する観察とともに受信された実際の報酬が0であるシーケンスよりも、高い確率でサンプリングされた場合、リプレイメモリから経験タプルのシーケンスをサンプリングすることを指す。価値関数リプレイ(d)は、リプレイバッファからサンプリングされた経験に基づく、行動選択ポリシーニューラルネットワークのさらなる強化学習を示す。
【００５７】
図2は、補助制御ニューラルネットワークをトレーニングすることによって、行動選択ポリシーニューラルネットワークをトレーニングするための例示的なプロセス200の流れ図である。便宜上、プロセス200は、1つまたは複数のロケーションに位置する1つまたは複数のコンピュータのシステムによって実施されるものとして説明されることになる。たとえば、本明細書に従って適切にプログラムされた強化学習システム、たとえば、図1の強化学習システム100は、プロセス200を実施することができる。
【００５８】
システムは、経験タプルが生成されたときまたはリプレイメモリからのいずれかで、時間ステップのための経験タプルを取得し、ここで、経験タプルは、時間ステップにおける観察と、時間ステップにおけるエージェントの行動と、時間ステップにおいて受信された報酬と、次の時間ステップの観察とを含む(ステップ201)。
【００５９】
システムは、行動選択ポリシーニューラルネットワークへの入力として時間ステップにおける観察を提供し、補助制御ニューラルネットワークに対応する行動選択ポリシーニューラルネットワークの中間出力を生成し、補助制御ニューラルネットワークへの入力として中間出力を提供する(ステップ202)。いくつかの実装形態において、行動選択ポリシーニューラルネットワークの中間ニューラルネットワークは、リカレントニューラルネットワークであり、補助制御ニューラルネットワークに対応する中間出力は、時間ステップにおける観察のためにリカレントニューラルネットワークによって生成された中間表現である。いくつかの実装形態において、補助制御ニューラルネットワークに対応する中間出力は、時間ステップにおける観察のために行動選択ポリシーニューラルネットワークの畳み込みエンコーダニューラルネットワークによって生成された符号化表現である。
【００６０】
システムは時間ステップにおける補助タスク報酬を決定する(ステップ203)。
【００６１】
補助制御ニューラルネットワークが、ピクセル制御ニューラルネットワークである場合、観察は画像であり、ピクセル制御ニューラルネットワークは、観察の1つまたは複数の領域の各々のための補助タスク報酬に関連する。システムは、1つまたは複数の領域の各々のためのそれぞれの補助タスク報酬を、時間ステップにおける観察画像から次の時間ステップにおける観察画像への領域中のピクセルの強度の変化から導出する。たとえば、システムは、領域中のピクセルの平均強度の変化を算出することによって、時間ステップにおける観察画像から次の時間ステップにおける観察画像への領域中のピクセルの強度の変化を決定し得る。別の例として、システムは、領域中の個々のピクセルの強度の2乗差分和として、時間ステップにおける観察画像から次の時間ステップにおける観察画像への領域中のピクセルの強度の変化を決定し得る。システムは、観察画像を、観察画像にわたって配置されたn×nの重複しないグリッドによって画成された領域に分割することによって、観察画像の1つまたは複数の領域を決定し得る。いくつかの実装形態において、ピクセル制御ニューラルネットワークは、逆畳み込みニューラルネットワークである。
【００６２】
補助制御ニューラルネットワークが、特徴制御ニューラルネットワークである場合、特徴制御ニューラルネットワークは、行動選択ポリシーニューラルネットワークの1つまたは複数の隠れ層の1つまたは複数のユニットのセットの各々のための補助タスク報酬に関連する。たとえば、特徴制御ニューラルネットワークは、行動選択ポリシーニューラルネットワークの特定の隠れ層の各ユニットのための補助タスク報酬に関連し得、システムは、時間ステップにおける観察を処理する間に生成されたユニットの活性化と、次の時間ステップにおける観察を処理する間に生成されたユニットの活性化との間の差として、特定の隠れ層の固有のユニットに関連する補助タスク報酬を決定し得る。
【００６３】
補助制御ニューラルネットワークは、ポリシー出力を生成するために、行動選択ポリシーニューラルネットワークの中間出力を処理する(ステップ204)。
【００６４】
補助制御ニューラルネットワークは、各補助タスク報酬に対応するポリシー出力を生成する。補助制御ニューラルネットワークによって生成されるポリシー出力の具体的な形態は、補助制御ニューラルネットワークをトレーニングするために使用される強化学習技法に依存する。
【００６５】
強化学習技法がQ学習である場合、補助制御ニューラルネットワークによって生成されるポリシー出力は、各補助タスク報酬について、およびエージェントによって実施されるべき各可能な行動について、エージェントが観察の受信に応答して可能な行動を実施した場合の長期時間割引補助タスク報酬の推定である。
【００６６】
たとえば、強化学習技法がQ学習であり、補助制御ニューラルネットワークがピクセル制御ニューラルネットワークである場合、ポリシー出力は、Nact×n×nテンソルQであり得、ここで、Nactは、エージェントによって実施され得る可能な行動の数であり、Q(a,i,j)は、ピクセル制御ニューラルネットワークによって受信された入力に応答してエージェントが行動aを実施した場合の、観察画像にわたって配置されたn×nの重複しないグリッドの(i,j)番目の領域中のピクセルの長期時間割引変化の推定値である。
【００６７】
別の例として、補助制御ニューラルネットワークが特徴制御ニューラルネットワークである場合、ポリシー出力は、Nact×mテンソルQであり得、ここで、mは、行動選択ニューラルネットワークの特定の隠れ層中の隠れユニットの数であり、Q(a,k)は、特徴制御ニューラルネットワークによって受信された入力に応答してエージェントが可能な行動aを実施した場合の、ユニットkによって生成された活性化の長期時間割引変化の推定値である。
【００６８】
各補助タスク報酬について、システムは、補助タスク報酬と、補助タスク報酬のための補助制御ニューラルネットワークによって生成されたポリシー出力とに基づいてシステムが決定した勾配を、補助制御ニューラルネットワークおよび行動選択ポリシーニューラルネットワークにバックプロパゲートする(ステップ206)。概して、各補助タスク報酬について、システムは、勾配をバックプロパゲートして、予想される長期時間割引補助タスク報酬を最大にし、これは、システムが、補助タスク報酬に対応する補助制御ニューラルネットワークによって生成されたポリシー出力に従って、入力に応答して行動を選択することによって達成されることになる。システムによってバックプロパゲートされる勾配は、補助制御ニューラルネットワークをトレーニングするために使用される強化学習技法の具体的な選定に依存する。いくつかの実装形態において、システムは、ワンステップQ学習またはnステップQ学習など、補助制御ニューラルネットワークをトレーニングするためのオフポリシー強化学習技法を使用する。いくつかの他の実装形態において、システムは、各補助タスク報酬のための価値関数を学習する強化学習技法など、補助制御ニューラルネットワークをトレーニングするためのオンポリシー強化学習技法を使用する。
【００６９】
システムは、重み係数を各補助タスク報酬に関連付け得、システムが補助タスク報酬と補助タスク報酬のためのポリシー出力とに基づいてバックプロパゲートする勾配は、関連する重み係数によってスケーリングされ得る。
【００７０】
補助タスク報酬と補助制御ニューラルネットワークによって生成されたポリシー出力とに基づいてシステムが決定した勾配を、行動選択ポリシーニューラルネットワークにバックプロパゲートすることによって、システムは、(i)システムが補助制御ニューラルネットワークへの入力として提供する、行動選択ポリシーニューラルネットワークの中間出力の1つまたは複数の隠れ層の1つまたは複数のユニットと、(ii)システムが補助制御ニューラルネットワークへの入力として提供する、行動選択ポリシーニューラルネットワークの中間出力の1つまたは複数の隠れ層の1つまたは複数のユニットにフィードフォワードするユニットとに対応する、行動選択ポリシーニューラルネットワークのパラメータを調整する。
【００７１】
概して、補助制御ニューラルネットワークをトレーニングすることによって行動選択ニューラルネットワークをトレーニングするためのプロセス200は、複数の時間ステップの各々において繰り返す。その上、所与の時間ステップについて、プロセス200は、たとえば、リプレイメモリを繰り返しサンプリングすることによって、1回または複数回繰り返され得る。
【００７２】
図3は、報酬予測ニューラルネットワークをトレーニングすることによって、行動選択ポリシーニューラルネットワークをトレーニングするための例示的なプロセス300の流れ図である。便宜上、プロセス300は、1つまたは複数のロケーションに位置する1つまたは複数のコンピュータのシステムによって実施されるものとして説明されることになる。たとえば、本明細書に従って適切にプログラムされた強化学習システム、たとえば、図1の強化学習システム100は、プロセス300を実施することができる。
【００７３】
システムは、前の時間のシーケンスのための観察と、最後の観察に後続する観察とともに受信された実際の報酬とを含む、リプレイメモリ中の前の時間ステップからの経験タプルデータを取得する(ステップ301)。
【００７４】
いくつかの実装形態において、システムは、リプレイメモリから、シーケンス中の最後の観察に後続する観察とともに受信された実際の報酬が0でないシーケンスを、シーケンス中の最後の観察に後続する観察とともに受信された実際の報酬が0であるシーケンスよりも、高い確率でサンプリングする。たとえば、システムは、確率0.5を伴う、シーケンス中の最後の観察に後続する観察とともに受信された実際の報酬が0でないシーケンスをサンプリングする確率のように、シーケンスをサンプリングし得る。
【００７５】
システムは、観察のシーケンスを特徴づける1つまたは複数の中間出力を生成するために、行動選択ポリシーニューラルネットワークを使用して観察のシーケンスを処理する(ステップ302)。
【００７６】
いくつかの実装形態において、行動選択ポリシーニューラルネットワークの中間ニューラルネットワークは、リカレントニューラルネットワークであり、観察のシーケンスを特徴づける、行動選択ポリシーニューラルネットワークによって生成された1つまたは複数の中間出力は、シーケンス中の最後の観察のための、リカレントニューラルネットワークによって生成された中間表現である。
【００７７】
いくつかの他の実装形態において、観察のシーケンスを特徴づける、行動選択ポリシーニューラルネットワークによって生成された1つまたは複数の中間出力は、シーケンス中の観察のための、行動選択ポリシーニューラルネットワークの符号化表現である。
【００７８】
システムは、報酬予測ニューラルネットワークへの入力として、観察のシーケンスを特徴づける、行動選択ポリシーニューラルネットワークによって生成された1つまたは複数の中間出力を提供し、報酬予測ニューラルネットワークは、出力として、最後の観察に後続する観察とともに受信される報酬のための予測を生成するために、報酬予測ニューラルネットワークパラメータのセットに従って1つまたは複数の中間出力のシーケンスを処理する(ステップ304)。
【００７９】
システムは、報酬予測ニューラルネットワークによって生成された予測された報酬に基づいてシステムが決定した勾配を、報酬予測ニューラルネットワークおよび行動選択ポリシーニューラルネットワークにバックプロパゲートする(ステップ306)。概して、システムは、勾配をバックプロパゲートして、損失関数を最小限に抑える。いくつかの実装形態において、損失関数は、シーケンス中の最後の観察に後続する観察とともに受信された実際の報酬と、シーケンス中の最後の観察に後続する観察とともに受信された報酬のための予測との間の平均2乗誤差によって与えられる。いくつかの他の実装形態において、損失関数は、マルチクラスクロスエントロピー分類損失であり、ここで、3つのクラスは、正の報酬、負の報酬、および0報酬である。
【００８０】
システムは、報酬予測ニューラルネットワークによって生成された予測された報酬に基づいてシステムがバックプロパゲートする勾配を、重み係数によってスケーリングし得る。
【００８１】
報酬予測ニューラルネットワークによって生成された予測された報酬に基づいてシステムが決定した勾配を、行動選択ポリシーニューラルネットワークにバックプロパゲートすることによって、システムは、(i)システムが補助制御ニューラルネットワークへの入力として提供する、行動選択ポリシーニューラルネットワークの中間出力の1つまたは複数の隠れ層の1つまたは複数のユニットと、(ii)システムが補助制御ニューラルネットワークへの入力として提供する、行動選択ポリシーニューラルネットワークの中間出力の1つまたは複数の隠れ層の1つまたは複数のユニットにフィードフォワードするユニットとに対応する、行動選択ポリシーニューラルネットワークのパラメータを調整する。
【００８２】
たとえば、報酬予測ニューラルネットワークへの入力として提供される、1つまたは複数の連続する時間ステップのための観察のシーケンスを特徴づける、行動選択ポリシーニューラルネットワークによって生成された1つまたは複数の中間出力が、シーケンス中の観察のための符号化表現である場合、勾配を行動選択ポリシーニューラルネットワークにバックプロパゲートすることは、畳み込みエンコーダニューラルネットワークのパラメータを調整することを伴う。
【００８３】
概して、報酬予測ニューラルネットワークをトレーニングすることによって行動選択ニューラルネットワークをトレーニングするためのプロセス300は、複数の時間ステップの各々において繰り返す。その上、所与の時間ステップについて、プロセス300は、リプレイメモリを繰り返しサンプリングすることによって、1回または複数回繰り返される。
【００８４】
本明細書は、システムおよびコンピュータプログラム構成要素に関して「構成される」という用語を使用する。1つまたは複数のコンピュータのシステムが、特定の動作または行動を実施するように構成されることは、動作中、システムに動作または行動を実施させる、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを、システムがその上にインストールしたことを意味する。1つまたは複数のコンピュータプログラムが、特定の動作または行動を実施するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されたときにその装置に動作または行動を実施させる命令を含むことを意味する。
【００８５】
本明細書において説明された主題および機能的動作の実施形態は、本明細書において開示される構造およびそれらの構造等価物を含む、デジタル電子回路において、有形に具現化されたコンピュータソフトウェアまたはファームウェアにおいて、コンピュータハードウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せにおいて実装され得る。
本明細書において説明された主題の実装形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置が実行するために有形非一時的記憶媒体上に符号化された、またはデータ処理装置の動作を制御するための、コンピュータプログラム命令の1つまたは複数のモジュールとして、実装され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、あるいはそれらのうちの1つまたは複数の組合せであり得る。代替的にまたは追加として、プログラム命令は、データ処理装置が実行するための好適な受信機装置への送信のための情報を符号化するために生成される、人工的に生成された伝搬される信号、たとえば、機械生成の電気信号、光信号、または電磁信号上に符号化され得る。
【００８６】
「データ処理装置」という用語は、データ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、あるいは複数のプロセッサまたはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置はまた、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)であるか、あるいはそれをさらに含むことができる。装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せをなすコードを随意に含むことができる。
【００８７】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるか、あるいはそれらとして記述されることもある、コンピュータプログラムは、コンパイル型言語またはインタープリタ型言語、あるいは宣言型言語または手続き型言語を含む、任意の形態のプログラミング言語で書かれ得、それは、スタンドアロンプログラムとして、あるいはモジュール、構成要素、サブルーチン、またはコンピューティング環境において使用するのに好適な他のユニットとしてを含む、任意の形態において展開され得る。プログラムは、ファイルシステム中のファイルに対応し得るが、それに対応する必要はない。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプトを保持するファイルの一部分に、当該のプログラムに専用の単一のファイルに、あるいは複数の協調ファイル(Coordinated File)、たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイルに記憶され得る。コンピュータプログラムは、1つのコンピュータ上で実行されるように展開され得、あるいは1つのサイトに位置するかまたは複数のサイトにわたって分散され、データ通信ネットワークによって相互接続された、複数のコンピュータ上で実行されるように展開され得る。
【００８８】
本明細書において、「エンジン」という用語は、1つまたは複数の固有の機能を実施するようにプログラムされる、ソフトウェアベースのシステム、サブシステム、またはプロセスを指すために広く使用される。概して、エンジンは、1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上にインストールされた、1つまたは複数のソフトウェアモジュールまたは構成要素として実装されることになる。場合によっては、1つまたは複数のコンピュータは、特定のエンジンに専用となり、他の場合には、複数のエンジンが、同じ1つまたは複数のコンピュータ上にインストールされ、その上で実行していることがある。
【００８９】
本明細書において説明されたプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実施するために、1つまたは複数のコンピュータプログラムを実行する、1つまたは複数のプログラマブルコンピュータによって実施され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGAまたはASICによって、あるいは専用論理回路と1つまたは複数のプログラムされたコンピュータとの組合せによっても実施され得る。
【００９０】
コンピュータプログラムの実行に好適なコンピュータは、汎用マイクロプロセッサまたは専用マイクロプロセッサ、あるいはその両方、あるいは任意の他の種類の中央処理ユニットに基づき得る。概して、中央処理ユニットは、読取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から、命令およびデータを受信することになる。コンピュータの必須の要素は、命令を実施または実行するための中央処理ユニットと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。中央処理ユニットおよびメモリは、専用論理回路によって増補されるか、または専用論理回路に組み込まれ得る。概して、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むことになり、あるいは、それらからデータを受信するように、もしくはそれらにデータを転送するように、またはその両方を行うように動作可能に結合されることになる。ただし、コンピュータはそのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、たとえば、ほんのいくつかの例を挙げれば、携帯電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、あるいはポータブル記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ中に埋め込まれ得る。
【００９１】
コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。
【００９２】
ユーザとの対話を提供するために、本明細書において説明された主題の実施形態は、ユーザへの情報を表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、ユーザがそれによってコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実装され得る。他の種類のデバイスも、ユーザとの対話を提供するために使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の知覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態において受信され得る。さらに、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送ることと、そのデバイスからドキュメントを受信することとによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのデバイス上のウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。また、コンピュータは、テキストメッセージまたは他の形態のメッセージをパーソナルデバイス、たとえば、メッセージングアプリケーションを実行しているスマートフォンに送ることと、返信としてユーザからの応答メッセージを受信する、こととによって、ユーザと対話することができる。
【００９３】
機械学習モデルを実装するためのデータ処理装置はまた、たとえば、機械学習トレーニングまたは生成、すなわち、推論、作業負荷の、共通のおよび計算集約的な部分を処理するための専用ハードウェアアクセラレータユニットを含むことができる。
【００９４】
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実装および展開され得る。
【００９５】
本明細書において説明された主題の実施形態は、たとえばデータサーバのようなバックエンド構成要素を含むコンピューティングシステムにおいて、またはミドルウェア構成要素、たとえばアプリケーションサーバを含むコンピューティングシステムにおいて、あるいはフロントエンド構成要素、たとえば、本明細書において説明された主題の実装形態とユーザがそれを通して対話することができる、グラフィカルユーザインターフェース、ウェブブラウザ、またはアプリを有するクライアントコンピュータを含むコンピューティングシステムにおいて、あるいは1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せにおいて実装され得る。システムの構成要素は、デジタルデータ通信、たとえば、通信ネットワークの任意の形態または媒体によって、相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)、たとえば、インターネットとを含む。
【００９６】
コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントとサーバとは、概して、互いから遠く離れており、一般に、通信ネットワークを通して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行し、互いにクライアントサーバ関係を有する、コンピュータプログラムによって生じる。いくつかの実施形態において、サーバは、たとえば、クライアントとして働くデバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信する目的で、データ、たとえばHTMLページをユーザデバイスに送信する。ユーザデバイスにおいて生成されたデータ、たとえば、ユーザ対話の結果は、サーバにおいてデバイスから受信され得る。
【００９７】
本明細書は多くの特定の実装形態の詳細を含んでいるが、これらは、発明の範囲に対する限定、または請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に固有であり得る特徴の説明として解釈されるべきである。また、別個の実施形態に関して本明細書において説明されたいくつかの特徴は、単一の実施形態における組合せで実装され得る。また、逆に、単一の実施形態に関して説明された様々な特徴は、複数の実施形態において別個に、または任意の好適な部分組合せで実装され得る。その上、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除され得、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象とし得る。
【００９８】
同様に、動作は特定の順序で図面に示され、特許請求の範囲に記載されているが、これは、望ましい結果を達成するために、そのような動作が、示される特定の順序でまたは連続した順序で実施されることを、あるいはすべての図示の動作が実施されることを必要とするものとして理解されるべきでない。いくつかの状況において、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明された実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきでなく、説明されたプログラム構成要素およびシステムは、概して、単一のソフトウェア製品において互いに一体化されるか、または複数のソフトウェア製品にパッケージングされ得ることを理解されたい。
【００９９】
主題の特定の実施形態が説明された。他の実施形態が以下の特許請求の範囲内に入る。たとえば、特許請求の範囲に記載の行為(action)は、異なる順序で実施され、依然として、望ましい結果を達成することができる。一例として、添付図に示されたプロセスは、望ましい結果を達成するために、必ずしも、示される特定の順序または連続した順序を必要とするとは限らない。場合によっては、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【０１００】
100  強化学習システム
102  環境
104  観察
106  報酬
108  エージェント
110  行動
112  行動選択ポリシーニューラルネットワーク
114  リプレイメモリ
116  サンプリングエンジン
118  ピクセル制御ニューラルネットワーク
120  特徴制御ニューラルネットワーク
122  報酬予測ニューラルネットワーク
【図１Ａ】
2019534517.tif 000003
【図１Ｂ】
2019534517.tif 000004
【図２】
2019534517.tif 000005
【図３】
2019534517.tif 000006
【手続補正書】
【提出日】令和1年7月3日(2019.7.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のコンピュータによって実行される方法であって、
第1の強化学習技法を使用して、行動選択ポリシーニューラルネットワークをトレーニングするステップであって、
前記行動選択ポリシーニューラルネットワークが、複数の行動選択ポリシーネットワークパラメータを有し、環境と対話するエージェントによって実施されるべき行動を選択する際に使用され、
前記行動選択ポリシーニューラルネットワークが、観察入力を含む入力を受信することと、行動選択ポリシー出力を生成するために前記ネットワークパラメータに従って前記入力を処理することとを行うように構成され、
前記行動選択ポリシーニューラルネットワークをトレーニングするステップが、前記行動選択ポリシーネットワークパラメータの値を調整するステップを含む、
前記行動選択ポリシーニューラルネットワークをトレーニングするステップと、
前記第1の強化学習技法を使用した、前記行動選択ポリシーニューラルネットワークの前記トレーニングの間に、
前記行動選択ニューラルネットワークの前記トレーニングの間に、前記環境との前記エージェントの対話に関する1つまたは複数の補助制御ニューラルネットワークの各々をトレーニングするステップであって、
前記補助制御ニューラルネットワークの各々が、それぞれの補助制御パラメータを有し、それぞれの補助制御タスクに対応し、
前記行動選択ポリシーニューラルネットワークによって生成されたそれぞれの中間出力を受信することと、
前記補助制御ニューラルネットワークの前記それぞれの補助制御パラメータに従って、前記対応する補助制御タスクのためのポリシー出力を生成することと
を行うように構成され、
前記補助制御ニューラルネットワークの各々をトレーニングするステップが、
前記補助制御ニューラルネットワークによって生成されたポリシー出力に基づいて、勾配を決定するステップと、
前記勾配を使用して、前記それぞれの補助制御パラメータおよび前記行動選択ポリシーネットワークパラメータの値を調整するステップと
を含む、
前記補助制御ニューラルネットワークの各々をトレーニングするステップと
を含む、方法。
【請求項２】
前記補助制御ニューラルネットワークの各々をトレーニングするステップが、
前記環境との前記エージェントの前記対話に応答して、前記対応する補助制御タスクに固有である補助タスク報酬を受信するステップと、
それぞれの第2の強化学習技法を使用して、前記対応する補助制御タスクのための予想される長期時間割引補助タスク報酬を最大にするために、前記補助制御ニューラルネットワークをトレーニングするステップと
を含む、請求項1に記載の方法。
【請求項３】
それぞれの第2の強化学習技法を使用して、前記対応する補助制御タスクのための予想される長期時間割引補助タスク報酬を最大にするために、前記補助制御ニューラルネットワークをトレーニングするステップが、
前記行動選択ポリシーパラメータの前記値を調整するために、前記それぞれの第2の強化学習技法を使用して、算出された勾配を、前記行動選択ポリシーニューラルネットワークにバックプロパゲートするステップ
を含む、請求項2に記載の方法。
【請求項４】
前記観察入力が画像を含み、
前記補助制御ニューラルネットワークが、各観察画像の1つまたは複数の領域の各々について、前記領域中のピクセルの変化を最大にすることを試みるピクセル制御タスクに対応するピクセル制御ニューラルネットワークを備え、
各観察画像について、前記1つまたは複数の領域の各々のための前記それぞれの報酬が、前記観察画像から、前記観察画像に応答して前記エージェントが行動を実施した結果として受信された次の観察画像への、前記領域中の前記ピクセルの変化から導出される、
請求項2または3のいずれか一項に記載の方法。
【請求項５】
前記ピクセル制御ニューラルネットワークが、受信された観察画像について、
前記ピクセル制御ニューラルネットワークのための前記それぞれの中間出力を受信することと、
前記1つまたは複数の領域の各々について、および前記エージェントによって実施されるべき複数の可能な行動の各々について、前記受信された観察画像に応答して前記エージェントが前記可能な行動を実施した場合、前記領域中の前記ピクセルの前記長期時間割引変化の推定を生成するために、前記それぞれの中間出力を処理することと
を行うように構成された、請求項4に記載の方法。
【請求項６】
前記ピクセル制御ニューラルネットワークが、逆畳み込みニューラルネットワークである、請求項4に記載の方法。
【請求項７】
前記観察入力が画像を含み、
前記補助制御ニューラルネットワークが、前記行動選択ポリシーニューラルネットワークの特定の隠れ層中の1つまたは複数のユニットによって生成される活性化を最大にすることを試みる特徴制御タスクに対応する、特徴制御ニューラルネットワークを備え、
各観察画像について、前記1つまたは複数のユニットの各々のための前記それぞれの報酬が、前記観察画像を処理する間に生成された活性化から、前記観察画像に応答して前記エージェントが行動を実施した結果として受信された次の観察画像の処理の間に生成された活性化への、前記ユニットの前記活性化の変化から導出される、
請求項2から6のいずれか一項に記載の方法。
【請求項８】
前記特徴制御ニューラルネットワークが、受信された観察画像について、
前記特徴制御ニューラルネットワークのための前記それぞれの中間出力を受信することと、
前記1つまたは複数のユニットの各々ついて、および前記エージェントによって実施されるべき複数の可能な行動の各々について、前記受信された観察画像に応答して前記エージェントが前記可能な行動を実施した場合、前記ユニットによって生成される前記活性化の前記長期時間割引変化の推定を生成するために、前記それぞれの中間出力を処理することと
を行うように構成された、請求項7に記載の方法。
【請求項９】
前記第1の強化学習技法を使用した、前記行動選択ニューラルネットワークの前記トレーニングの間に、
前記行動選択ニューラルネットワークの前記トレーニングの間に、前記環境との前記エージェントの対話に関する報酬予測ニューラルネットワークをトレーニングするステップであって、
前記報酬予測ニューラルネットワークが、報酬予測パラメータを有し、
前記環境との前記エージェントの前記対話の結果として受信された観察画像のシーケンスを特徴づける、前記行動選択ポリシーニューラルネットワークによって生成された1つまたは複数の中間出力を受信することと、
前記シーケンス中の最後の観察画像に後続する次の観察画像とともに受信されることになる報酬の推定である、予測された報酬を生成するために、前記報酬予測パラメータに従って、前記1つまたは複数の中間出力を処理することと
を行うように構成され、
前記報酬予測ニューラルネットワークをトレーニングするステップが、
前記報酬予測ニューラルネットワークによって生成された予測された報酬に基づいて、勾配を決定するステップと、
前記勾配を使用して、前記報酬予測パラメータおよび前記行動選択ポリシーネットワークパラメータの値を調整するステップと
を含む、
前記報酬予測ニューラルネットワークをトレーニングするステップ
をさらに含む、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
1つまたは複数のコンピュータによって実行される方法であって、
第1の強化学習技法を使用して、行動選択ポリシーニューラルネットワークをトレーニングするステップであって、
前記行動選択ポリシーニューラルネットワークが、複数のネットワークパラメータを有し、環境と対話するエージェントによって実施されるべき行動を選択する際に使用され、
前記行動選択ポリシーニューラルネットワークが、観察入力を含む入力を受信することと、行動選択ポリシー出力を生成するために前記ネットワークパラメータに従って前記入力を処理することとを行うように構成され、
前記行動選択ポリシーニューラルネットワークをトレーニングするステップが、前記行動選択ポリシーネットワークパラメータの値を調整するステップを含む、
前記行動選択ポリシーニューラルネットワークをトレーニングするステップと、
前記第1の強化学習技法を使用した、前記行動選択ニューラルネットワークの前記トレーニングの間に、
前記行動選択ニューラルネットワークの前記トレーニングの間に、前記環境との前記エージェントの対話に関する報酬予測ニューラルネットワークをトレーニングするステップであって、
前記報酬予測ニューラルネットワークが、報酬予測パラメータを有し、
前記環境との前記エージェントの前記対話の結果として受信された観察画像のシーケンスを特徴づける、前記行動選択ポリシーニューラルネットワークによって生成された1つまたは複数の中間出力を受信することと、
前記シーケンス中の最後の観察画像に後続する次の観察画像とともに受信されることになる報酬の推定である、予測された報酬を生成するために、前記報酬予測パラメータに従って、前記1つまたは複数の中間出力を処理することと
を行うように構成され、
前記報酬予測ニューラルネットワークをトレーニングするステップが、
前記報酬予測ニューラルネットワークによって生成された予測された報酬に基づいて、勾配を決定するステップと、
前記勾配を使用して、前記報酬予測パラメータおよび前記行動選択ポリシーネットワークパラメータの値を調整するステップと
を含む、
前記報酬予測ニューラルネットワークをトレーニングするステップと
を含む、方法。
【請求項１１】
前記報酬予測ニューラルネットワークをトレーニングするステップが、
前記次の観察画像とともに受信される実際の報酬を受信するステップと、
前記実際の報酬と前記推定された報酬との間の損失を減少させるために、即時報酬ニューラルネットワークをトレーニングするステップと
を含む、請求項10に記載の方法。
【請求項１２】
前記実際の報酬と前記推定された報酬との間の損失を減少させるために、前記報酬予測ニューラルネットワークをトレーニングするステップが、
前記行動選択ポリシーパラメータの前記値を調整するために、算出された勾配を前記行動選択ポリシーニューラルネットワークにバックプロパゲートするステップ
を含む、請求項11に記載の方法。
【請求項１３】
前記報酬予測ニューラルネットワークをトレーニングするステップが、リプレイメモリから観察のシーケンスをサンプリングするステップを含む、請求項9から12のいずれか一項に記載の方法。
【請求項１４】
観察のシーケンスをサンプリングするステップは、
前記シーケンス中の最後の観察に後続する観察とともに受信された前記実際の報酬が0でないシーケンスを、前記シーケンス中の前記最後の観察に後続する前記観察とともに受信された前記実際の報酬が0であるシーケンスよりも、高い確率でサンプリングするステップ
を含む、請求項13に記載の方法。
【請求項１５】
前記第1の強化学習技法が、アクタークリティック強化学習技法であり、前記行動選択ポリシー出力が、値推定とQ値とを含み、前記方法が、
前記リプレイメモリから最近のシーケンスをリサンプリングするステップと、
前記リサンプリングされた最近のシーケンス中の前記観察画像のための前記値推定に関する余分の価値関数回帰を実施するステップと
をさらに含む、請求項13または14のいずれか一項に記載の方法。
【請求項１６】
前記行動選択ポリシーニューラルネットワークが、
前記入力の符号化表現を生成する、畳み込みエンコーダニューラルネットワークと、
前記入力の前記符号化表現を処理して中間表現を生成する、中間ニューラルネットワークと、
前記中間表現を処理して前記行動選択出力を生成する、出力ニューラルネットワークと
を備える、請求項1から15のいずれか一項に記載の方法。
【請求項１７】
前記中間ニューラルネットワークが、リカレントニューラルネットワークであり、観察画像のシーケンスを特徴づける、前記行動選択ポリシーニューラルネットワークによって生成された前記1つまたは複数の中間出力が、前記シーケンス中の最後の観察画像のための前記中間表現である、請求項16に記載の方法。
【請求項１８】
観察画像の前記シーケンスを特徴づける、前記行動選択ポリシーニューラルネットワークによって生成された前記1つまたは複数の中間出力が、前記シーケンス中の前記観察画像のための符号化表現である、請求項12に記載の方法。
【請求項１９】
1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを備え、前記命令が、前記1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに、請求項1から18のいずれか一項に記載の方法の動作を実施させる、システム。
【請求項２０】
1つまたは複数のコンピュータによって実行されたとき、前記1つまたは複数のコンピュータに、請求項1から18のいずれか一項に記載の方法の動作を実施させる命令を記憶する、1つまたは複数のコンピュータ記憶媒体。
【国際調査報告】
2019534517.tif 000007
2019534517.tif 000008