IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ディープマインド テクノロジーズ リミテッドの特許一覧

特表2024-506025短期記憶ユニットを有する注意ニューラルネットワーク
<>
  • 特表-短期記憶ユニットを有する注意ニューラルネットワーク 図1
  • 特表-短期記憶ユニットを有する注意ニューラルネットワーク 図2
  • 特表-短期記憶ユニットを有する注意ニューラルネットワーク 図3
  • 特表-短期記憶ユニットを有する注意ニューラルネットワーク 図4
  • 特表-短期記憶ユニットを有する注意ニューラルネットワーク 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-08
(54)【発明の名称】短期記憶ユニットを有する注意ニューラルネットワーク
(51)【国際特許分類】
   G06N 3/092 20230101AFI20240201BHJP
   G06F 18/213 20230101ALI20240201BHJP
   G06N 3/0475 20230101ALI20240201BHJP
【FI】
G06N3/092
G06F18/213
G06N3/0475
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023547475
(86)(22)【出願日】2022-02-07
(85)【翻訳文提出日】2023-10-03
(86)【国際出願番号】 EP2022052893
(87)【国際公開番号】W WO2022167657
(87)【国際公開日】2022-08-11
(31)【優先権主張番号】63/146,361
(32)【優先日】2021-02-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
(71)【出願人】
【識別番号】517030789
【氏名又は名称】ディープマインド テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】アンドレア・バニーノ
(72)【発明者】
【氏名】アドリア・プイドメネチ・バディア
(72)【発明者】
【氏名】ジェイコブ・チャールズ・ウォルカー
(72)【発明者】
【氏名】ジョヴァナ・ミトロヴィッチ
(72)【発明者】
【氏名】チャールズ・ブランデル
(72)【発明者】
【氏名】ティモシー・アンソニー・ジュリアン・ショルテス
(57)【要約】
タスクを実行すべく環境と対話するエージェントを制御するためのシステム。システムは、エージェントによって実行されるべきアクションを選択するのに使用されるアクション選択出力を生成するように構成されたアクション選択ニューラルネットワークを含む。アクション選択ニューラルネットワークは、現在の観察の符号化された表現を生成するように構成されたエンコーダサブネットワークと、注意機構を使用して注意サブネットワーク出力を生成するように構成された注意サブネットワークと、リカレントサブネットワーク出力を生成するように構成されたリカレントサブネットワークと、現在の観察に応答してエージェントによって実行されるべきアクションを選択するのに使用されるアクション選択出力を生成するように構成されたアクション選択サブネットワークとを含む。
【特許請求の範囲】
【請求項1】
タスクを実行すべく環境と対話するエージェントを制御するためのシステムであって、
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、前記エージェントによって実行されるべきアクションを選択するのに使用されるアクション選択出力を生成するように構成されたアクション選択ニューラルネットワークを実装させる命令を記憶した1つまたは複数のストレージデバイスと
を備え、
前記アクション選択ニューラルネットワークは、
複数の時間ステップの各時間ステップにおいて、前記環境の現在の状態を特徴づける現在の観察を含むエンコーダサブネットワーク入力を受け取ること、および前記現在の観察の符号化された表現を生成することを行うように構成されたエンコーダサブネットワークと、
前記複数の時間ステップの各時間ステップにおいて、前記現在の観察の前記符号化された表現を含む注意サブネットワーク入力を受け取ること、および少なくとも部分的には、前記現在の観察の前記符号化された表現と、前記環境の1つまたは複数の前の状態を特徴づける1つまたは複数の前の観察の符号化された表現とに対し注意機構を適用することによって、注意サブネットワーク出力を生成することを行うように構成された注意サブネットワークと、
前記複数の時間ステップの各時間ステップにおいて、前記時間ステップに対応するリカレントサブネットワークの現在の隠された状態を更新すべく前記注意サブネットワーク出力から導出されたリカレントサブネットワーク入力を受け取ること、およびリカレントサブネットワーク出力を生成することを行うように構成されたリカレントサブネットワークと、
前記複数の時間ステップの各時間ステップにおいて、前記リカレントサブネットワーク出力を含むアクション選択サブネットワーク入力を受け取ること、および前記現在の観察に応答して前記エージェントによって実行されるべき前記アクションを選択するのに使用される前記アクション選択出力を生成することを行うように構成されたアクション選択サブネットワークと
を備える、システム。
【請求項2】
前記現在の観察の前記符号化された表現は、入力順序における複数の入力位置の各入力位置においてそれぞれの入力値を有する入力ベクトルを備える、請求項1に記載のシステム。
【請求項3】
前記注意サブネットワークは、
複数の層入力位置の各層入力位置に関して注意層入力を受け取ること、および
層入力順序における各特定の層入力位置に関して、
前記特定の層入力位置に関してそれぞれの注意層出力を生成すべく、前記特定の層入力位置における前記注意層入力から導出された1つまたは複数のクエリを使用して、前記層入力位置における前記注意層入力に対し前記注意機構を適用すること
を行うようにそれぞれが構成された複数の注意層を備える、請求項2に記載のシステム。
【請求項4】
前記注意機構は、マスクされた注意機構である、請求項3に記載のシステム。
【請求項5】
前記リカレントサブネットワークは、1つまたは複数の長短期記憶(LSTM)層を備える、請求項1から4のいずれか一項に記載のシステム。
【請求項6】
前記アクション選択出力は、前記現在の観察に応答して前記エージェントが前記アクションを実行した場合に受け取られることになるリターンの推定値である可能なセットのアクションの各アクションに関するQ値を含む、請求項1から5のいずれか一項に記載のシステム。
【請求項7】
前記アクション選択ニューラルネットワークは、前記リカレントサブネットワーク入力を生成すべく、i)前記現在の観察の前記符号化された表現、およびii)前記注意サブネットワーク出力にゲーティング機構を適用するように構成されたゲーティング層をさらに備える、請求項1から6のいずれか一項に記載のシステム。
【請求項8】
i)前記現在の観察の前記符号化された表現、およびii)前記注意サブネットワーク出力に前記ゲーティング機構を適用することは、i)前記現在の観察の前記符号化された表現、およびii)前記注意サブネットワーク出力にゲート付きリカレントユニット(GRU)を適用することを含む、請求項7に記載のシステム。
【請求項9】
前記複数の時間ステップの各時間ステップにおいて、前記注意サブネットワーク入力は、前記現在の観察の前記符号化された表現と、前記環境の前記1つまたは複数の前の状態を特徴づける前記1つまたは複数の前の観察の前記符号化された表現とを含む、請求項1から8のいずれか一項に記載のシステム。
【請求項10】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項1から9のいずれか一項に記載の前記アクション選択ニューラルネットワークを実装させる命令を記憶した1つまたは複数のコンピュータ記憶媒体。
【請求項11】
請求項1から9のいずれか一項に記載の前記アクション選択ニューラルネットワークが実行するように構成された動作を含む方法。
【請求項12】
少なくとも、複数の注意サブネットワークパラメータを有する前記注意サブネットワークを使用して、入力順序における複数の入力位置のうちの1つまたは複数の入力位置のそれぞれにおけるそれぞれの入力値の予測を生成すべく、前記入力順序における前記複数の入力位置のうちの前記1つまたは複数の入力位置のそれぞれにおける前記それぞれの入力値をマスクするマスクされた入力ベクトルを処理するステップと、
前記入力順序における前記複数の入力位置のうちの前記1つまたは複数の入力位置の各入力位置に関して、
i)前記それぞれの入力値の前記予測と、ii)前記現在の観察の前記符号化された表現に含まれる前記入力ベクトルにおける前記それぞれの入力値との間の第1の差、および
i)前記それぞれの入力値の前記予測と、ii)増強された現在の観察の符号化された表現に含まれる入力ベクトルにおけるそれぞれの入力値との間の第2の差
を測定する対照学習目的関数を評価するステップと、
前記対照学習目的関数の計算された勾配に基づいて、前記複数の注意サブネットワークパラメータの現在の値の更新を決定するステップと
を含む請求項1から9のいずれか一項に記載の前記アクション選択ニューラルネットワークを訓練する方法。
【請求項13】
前記マスクされた入力ベクトルを、
前記入力順序における前記複数の入力位置のうちの前記1つまたは複数の入力位置をランダムに選択すること、および
前記入力順序における前記複数の入力位置のうちの前記ランダムに選択された1つまたは複数の入力位置の各位置における前記それぞれの入力値にマスクを適用すること
によって生成するステップをさらに含む請求項12に記載の方法。
【請求項14】
前記増強された現在の観察は、前記現在の状態の後の前記環境の未来の状態を特徴づける未来の観察を含む、請求項12から13のいずれか一項に記載の方法。
【請求項15】
前記増強された現在の観察は、幾何学的に変換された現在の観察、または色空間変換された現在の観察を含む、請求項12から13のいずれか一項に記載の方法。
【請求項16】
前記アクション選択出力を生成すべく、複数のアクション選択ネットワークパラメータを有する前記アクション選択ニューラルネットワークを使用して前記現在の観察を処理するステップと、
前記アクション選択出力に基づいて、強化学習損失を決定するステップと、
前記強化学習損失に基づいて、前記アクション選択ネットワークパラメータの現在の値の更新を決定するステップと
をさらに含む請求項11から15のいずれか一項に記載の方法。
【請求項17】
タスクを実行すべく環境と対話するエージェントを制御するためのコンピュータによって実装される方法であって、
複数の時間ステップの各時間ステップにおいて、
前記環境の現在の状態を特徴づける現在の観察を含むエンコーダサブネットワーク入力を受け取るステップと、
前記現在の観察の符号化された表現を生成するステップと、
少なくとも部分的には、前記現在の観察の前記符号化された表現と、前記環境の1つまたは複数の前の状態を特徴づける1つまたは複数の前の観察の符号化された表現とに対し注意機構を適用することによって、注意サブネットワーク出力を生成するステップと、
前記注意サブネットワーク出力から導出されたリカレントサブネットワーク入力に基づいて、前記時間ステップに対応するリカレントサブネットワークの現在の隠された状態を更新して、リカレントサブネットワーク出力を生成するステップと、
前記リカレントサブネットワーク出力を含むアクション選択サブネットワーク入力に基づいて、アクション選択出力を生成するステップと、
前記アクション選択出力に基づいて、前記エージェントによって実行されるべきアクションを選択するステップと、
前記選択されたアクションを実行するよう前記エージェントに命令する制御データを前記エージェントに送るステップと
を含むコンピュータによって実装される方法。
【請求項18】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項12から17のいずれか一項に記載の方法のうちのいずれか1つの方法のそれぞれの動作を実行させる命令を記憶した1つまたは複数のストレージデバイスと
を備えるシステム。
【請求項19】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項12から17のいずれか一項に記載の方法のうちのいずれか1つの方法のそれぞれの動作を実行させる命令を記憶した1つまたは複数のコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年2月5日に出願した、米国仮特許出願第63/146,361号の優先権を主張するものである。先行出願の開示は、参照により本出願の開示の一部と見なされ、組み込まれる。
【0002】
本明細書は、強化学習に関する。
【背景技術】
【0003】
強化学習システムにおいて、エージェントが、環境の現在の状態を特徴づける観察の受け取りに応答して強化学習システムによって選択されたアクションを実行することによって環境と対話する。
【0004】
一部の強化学習システムは、ニューラルネットワークの出力に応じて所与の観察の受け取りに応答して、エージェントによって実行されるべきアクションを選択する。
【0005】
ニューラルネットワークは、受け取られた入力に関する出力を予測すべく非線形ユニットの1つまたは複数の層を用いる機械学習モデルである。一部のニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む深層ニューラルネットワークである。各隠れ層の出力は、ネットワークにおける次の層、すなわち、次の隠れ層、または出力層に対する入力として使用される。ネットワークの各層は、それぞれのセットのパラメータの現在の値に応じて、受け取られた入力から出力を生成する。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Vaswani他、Attention Is All You Need、arXiv:1706.03762
【非特許文献2】Parisotto他、Stabilizing transformers for reinforcement learning、arXiv:1910.06764
【非特許文献3】Song他、V-mpo: On-policy maximum a posteriori policy optimization for discrete and continuous control, arXiv:1909.12238
【非特許文献4】Kapturowski他、Recurrent experience replay in distributed reinforcement learning. In International conference on learning representations、2018
【非特許文献5】DeepMind Lab(https://arxiv.org/abs/1612.03801)
【発明の概要】
【課題を解決するための手段】
【0007】
本明細書は、環境と対話するエージェントを制御する強化学習システムについて全般的に説明する。
【0008】
本明細書において説明される主題は、以下の利点のうちの1つまたは複数を実現するように特定の実施形態において実装されることが可能である。
【0009】
注意ベースのニューラルネットワークの自己注意機構を長短期記憶(LSTM)ニューラルネットワークなどのリカレントニューラルネットワークの記憶機構と一緒に組み込んで、エージェントによって実行されるべきアクションを選択すべく強化学習システムによって使用されるアクション選択ニューラルネットワークにすることによって、説明される技術は、訓練中に、または訓練後、すなわち、ランタイムに、アクション選択出力の品質を向上させるべくアクション選択ニューラルネットワークに時間的に構造化された情報をもたらすことができる。詳細には、説明される技術は、多数の異なる時間スケールにおける環境とのエージェントの過去の対話についての情報を統合すべく、長距離の依存関係を抽出する自己注意機構と、短期の依存関係について推理する記憶機構の両方を効果的に活用して、その結果、アクション選択ニューラルネットワークが、多数の時間スケールにわたる事象について推理すること、および未来のアクション選択ポリシーを相応するように調整することを可能にする。
【0010】
さらに、本明細書において説明される技術は、アクション選択ニューラルネットワークが、注意ベースのニューラルネットワークおよびリカレントニューラルネットワークを使用することによって計算された情報をより効果的に組み合わせることを可能にすべく、訓練可能なゲーティング機構の実装形態をオプションとして含む。この効果的な組合せは、それが、いずれの情報がロボットエージェントを制御する際に処理されるべきかを決定することにおいてより大きい柔軟性を可能にするため、複雑な環境設定において特に有利であり得る。ここで、「ゲーティング機構」という術語は、ニューラルネットワークに対する入力と、ニューラルネットワークの出力の両方に基づいてデータセットを形成するユニットを意味する。訓練可能なゲーティング機構は、データセットが1つまたは複数の調整可能なパラメータ値にさらに基づくゲーティング機構である。ゲーティング機構は、例えば、注意サブネットワークに対する入力と、注意サブネットワークの出力の両方に基づいてデータセットを生成するために用いられてよい。
【0011】
このため、本明細書において説明される強化学習システムは、例えば、より累積的な外来の報酬を受け取ることによって、タスクを実行するようにエージェントを制御することにおいて従来の強化学習システムに優るパフォーマンスを実現することができる。本明細書において説明される強化学習システムは、自己注意機構を利用しない、または記憶機構を利用しない、あるいはそのいずれも利用しない従来の強化学習システムと比べて、アクション選択ニューラルネットワークをより高速に訓練する。さらに、累積的な報酬を最大化するようにニューラルネットワークを訓練することに加えて、対照学習補助タスクに対してアクション選択ニューラルネットワークを訓練することによって、本明細書において説明される強化学習システムは、訓練をさらに改良するように、例えば、障害物回避または軌道計画を支援する表現の学習を奨励するようにアクション選択ニューラルネットワークの訓練中に受け取られるフィードバック信号を増強することが可能である。したがって、本明細書において説明される強化学習システムは、訓練における計算リソースのより効率的な使用を可能にする。
【0012】
本明細書の主題の1つまたは複数の実施形態の詳細が、添付の図面、および後段の説明において提示される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明白となろう。
【図面の簡単な説明】
【0013】
図1】例示的な強化学習システムを示す図である。
図2】エージェントを制御するための例示的なプロセスを示すフローチャートである。
図3】注意選択ニューラルネットワークのパラメータ値の更新を決定するための例示的なプロセスを示すフローチャートである。
図4】注意選択ニューラルネットワークのパラメータ値の更新を決定することを例示する図である。
図5】本明細書において説明される制御ニューラルネットワークシステムを使用することによって実現され得るパフォーマンス利得の数量的例を示す図である。
【発明を実施するための形態】
【0014】
様々な図面における同様の参照符号および名称は、同様の要素を指す。
【0015】
本明細書は、多数の時間ステップの各時間ステップにおいて、エージェントによって実行されるべきアクションを選択すべく、その時間ステップにおける環境の現在の状態を特徴づけるデータ(すなわち、「観察」)を処理することによって、環境と対話するエージェントを制御する強化学習システムについて説明する。
【0016】
各時間ステップにおいて、その時間ステップにおける環境の状態は、前の時間ステップにおける環境の状態、および前の時間ステップにおいてエージェントによって実行されたアクションに依存する。
【0017】
一部の実装形態において、環境は、現実世界の環境であり、エージェントは、現実世界の環境と対話する機械エージェント、例えば、環境の中を移動するロボット、あるいは自律的もしくは半自律的な地上、空中、または海の乗り物である。
【0018】
これらの実装形態において、観察は、例えば、エージェントが環境と対話するにつれ、観察をキャプチャする画像、物体位置データ、およびセンサデータのうちの1つまたは複数、例えば、画像センサ、距離センサ、または位置センサからの、あるいはアクチュエータからのセンサデータを含んでよい。
【0019】
例えば、ロボットの事例において、観察は、ロボットの現在の状態を特徴づけるデータ、例えば、関節位置、関節速度、関節力、トルクもしくは加速度、例えば、重力補償されたトルクフィードバック、ロボットによって保たれているアイテムの全体的もしくは相対的な姿勢のうちの1つまたは複数を含んでよい。
【0020】
ロボットもしくは他の機械エージェント、または乗り物の事例において、観察は、位置、線速度もしくは角速度、力、トルクもしくは加速度、およびエージェントの1つまたは複数の部分の全体的もしくは相対的な姿勢のうちの1つまたは複数を同様に含んでよい。観察は、1次元、2次元、または3次元において定義されてよく、絶対的観察および/または相対的観察であってよい。
【0021】
また、観察は、例えば、モータ電流もしくは温度信号などの感知された電子信号、および/または例えば、カメラもしくはLIDARセンサからの、画像データもしくはビデオデータ、例えば、エージェントのセンサからのデータ、あるいは環境におけるエージェントとは別に配置されたセンサからのデータを含んでもよい。
【0022】
これらの実装形態において、アクションは、ロボットを制御する制御入力、例えば、ロボットの関節に関するトルク、または高レベルの制御コマンド、あるいは自律的もしくは半自律的な地上、空中、海の乗り物を制御する制御入力、例えば、乗り物の制御表面もしくは他の制御要素に対するトルク、または高レベルの制御コマンドであってよい。
【0023】
言い換えると、アクションは、例えば、ロボットの1つまたは複数の関節、または別の機械エージェントの1つまたは複数の部分に関する位置データ、速度データ、または力/トルク/加速度データを含むことが可能である。アクションデータは、さらに、または代替として、モータ制御データなどの電子制御データを含んでよく、あるいは、より一般的に、制御が環境の観察された状態に影響を及ぼす、環境内の1つまたは複数の電子デバイスを制御するためのデータを含んでよい。例えば、自律的もしくは半自律的な地上、空中、または海の乗り物の事例において、アクションは、乗り物のナビゲーション、例えば、ステアリング、および動き、例えば、制動および/または加速を制御するアクションを含んでよい。
【0024】
他の一部の応用形態において、エージェントは、設備のアイテムを含む現実世界の環境において、例えば、データセンタにおいて、配電/配水システムにおいて、あるいは製造プラントまたはサービス施設においてアクションを制御してよい。その場合、観察は、プラントまたは施設の動作と関係してよい。例えば、観察は、設備による電力使用量または水使用量の観察を含んでよく、あるいは発電制御もしくは配電制御の観察を含んでよく、あるいはリソースの使用量または廃棄物算出の観察を含んでよい。アクションは、プラント/施設の設備のアイテムを制御する、またはプラント/施設の設備のアイテムに動作条件を課すアクション、および/または、例えば、プラント/施設の構成要素を調整する、もしくはオンにする/オフにするように、プラント/施設の動作における設定の変更をもたらすアクションを含んでよい。
【0025】
電子エージェントの事例において、観察は、電流センサ、電圧センサ、電力センサ、温度センサ、および他のセンサなどの、プラントまたはサービス施設の1つまたは複数のセンサ監視部分からのデータ、および/または設備の電子アイテムおよび/または機械アイテムの機能を表す電子信号を含んでよい。例えば、現実世界の環境は、製造プラントまたはサービス施設であってよく、観察は、プラントまたは施設の動作、例えば、電力消費などのリソース使用量と関係してよく、エージェントは、例えば、リソース使用量を低減すべく、プラント/施設におけるアクションもしくは動作を制御してよい。他の一部の実装形態において、現実世界の環境は、再生エネルギープラントであってよく、観察は、例えば、現在または未来の計画される発電を最大化すべく、プラントの動作と関係してよく、エージェントは、これを実現すべくプラントにおけるアクションもしくは動作を制御してよい。
【0026】
別の実施例として、環境は、各状態がタンパク質鎖の、あるいは1つまたは複数の中間体もしくは前駆体化学物質のそれぞれの状態であるように、化学合成環境またはタンパク質フォールディング環境であってよく、エージェントは、タンパク質鎖のフォールディングをどのように行うか、または化学物質をどのように合成するかを決定するためのコンピュータシステムである。この実施例において、アクションは、タンパク質鎖のフォールディングを行うための可能なフォールディングアクション、または前駆体化学物質/中間体を組み立てるためのアクションであり、実現されるべき結果は、例えば、タンパク質が安定しているように、かつタンパク質が特定の生物学的機能を実現するようにタンパク質のフォールディングを行うこと、または化学物質に関する妥当な合成経路をもたらすことを含んでよい。別の実施例として、エージェントは、人間対話なしに自動的にシステムによって選択されたタンパク質フォールディングアクションまたは化学合成ステップを実行する、または制御する機械エージェントであってよい。観察は、タンパク質または化学物質/中間体/前駆体の状態の直接または間接の観察を含んでよく、かつ/またはシミュレーションから導出されてよい。
【0027】
一部の実装形態において、環境は、シミュレートされた環境であってよく、エージェントは、シミュレートされた環境と対話する1つまたは複数のコンピュータとして実装されてよい。
【0028】
シミュレートされた環境は、動きシミュレーション環境、例えば、運転シミュレーションまたは飛行シミュレーションであってよく、エージェントは、動きシミュレーションの中で移動するシミュレートされた乗り物であってよい。これらの実装形態において、アクションは、シミュレートされたユーザ、またはシミュレートされた乗り物を制御する制御入力であってよい。
【0029】
一部の実装形態において、シミュレートされた環境は、特定の現実世界の環境のシミュレーションであってよい。例えば、システムは、制御ニューラルネットワークの訓練中、または評価中にシミュレートされた環境におけるアクションを選択するように使用されてよく、訓練または評価が完了した後、あるいはその両方が完了した後、シミュレートされた環境によってシミュレートされる現実世界の環境において現実世界のエージェントを制御するために展開されてよい。このことは、現実世界の環境または現実世界のエージェントの不要な摩耗および損傷、およびこれらに対する損害を回避することができ、制御ニューラルネットワークが、現実世界の環境において生じることが稀である、または再現することが困難である状況に対して訓練され、評価されることを可能にすることができる。
【0030】
一般に、シミュレートされた環境の事例において、観察は、前述した観察、または前述したタイプの観察のうちの1つまたは複数の観察のシミュレートされたバージョンを含んでよく、アクションは、前述したアクション、または前述したタイプのアクションのうちの1つまたは複数のアクションのシミュレートされたバージョンを含んでよい。
【0031】
オプションとして、前段の実装形態のいずれかにおいて、任意の所与の時間ステップにおける観察が、環境を特徴づけるのに有益である可能性がある前の時間ステップからのデータ、例えば、前の時間ステップにおいて実行されたアクション、前の時間ステップにおいて受け取られた報酬などを含んでよい。
【0032】
図1は、例示的な強化学習システム100を示す。強化学習システム100は、後段で説明されるシステム、構成要素、および技術が実装される1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムの実施例である。
【0033】
システム100は、エージェント102によって実行されるべきアクション106を選択すること、および、次に、アクション106を実行するようエージェント102に命令する制御データをエージェント102に送信することなどによって、エージェント102に、選択されたアクション106を実行させることによって、環境104と対話するエージェント102を制御する。一部の事例において、強化学習システム100は、エージェント102上に実装されてよく、またはエージェント102の構成要素であってよく、制御データは、エージェントの(複数の)アクチュエータに送信される。
【0034】
エージェント102による選択されたアクション106の実行は、一般に、環境104を相次ぐ新たな状態に遷移させる。エージェント102に環境104において動作させることを繰り返すことによって、システム100は、指定されたタスクを完了するようエージェント102を制御することができる。
【0035】
システム100は、制御ニューラルネットワークシステム110と、制御ニューラルネットワークシステム110に含まれるニューラルネットワークのモデルパラメータ118(「ネットワークパラメータ」)のセットを記憶する1つまたは複数のメモリとを含む。
【0036】
高レベルにおいて、制御ニューラルネットワークシステム110は、現在の観察108に応答してエージェント102によって実行されるべき現在のアクション106を選択するのに使用されることが可能なアクション選択出力122を生成すべく、多数の時間ステップの各時間ステップにおいて、環境104の現在の状態を特徴づける現在の観察108を含む入力をモデルパラメータ118に応じて処理するように構成される。
【0037】
制御ニューラルネットワークシステム110は、アクション選択ニューラルネットワーク120を含む。アクション選択ニューラルネットワーク120は、システムが、異なる時間スケールで生じる事象を検出すること、およびそれらの事象に反応することを可能にすることによってアクション選択出力122の品質を向上させるニューラルネットワークアーキテクチャを備えて実装される。具体的には、アクション選択ニューラルネットワーク120は、エンコーダサブネットワーク124と、注意サブネットワーク128と、ゲーティングサブネットワーク132(好ましくは)と、リカレントサブネットワーク136と、アクション選択サブネットワーク140とを含む。各サブネットワークは、アクション選択ニューラルネットワーク120における1つまたは複数のニューラルネットワーク層のグループとして実装されることが可能である。
【0038】
多数の時間ステップの各時間ステップにおいて、エンコーダサブネットワーク124は、環境104の現在の状態を特徴づける現在の観察108を含むエンコーダサブネットワーク入力を受け取ること、および現在の観察108の符号化された表現(「Yt」)126を生成すべく、エンコーダサブネットワーク入力をエンコーダサブネットワークの訓練されたパラメータ値に応じて処理することを行うように構成される。符号化された表現126は、数値の順序づけられた集まり、例えば、数値のベクトルまたは行列の形態であることが可能である。例えば、その後に入力として注意サブネットワーク128に与えられる符号化された表現126は、入力順序における多数の入力位置の各入力位置におけるそれぞれの入力値を有する入力ベクトルであることが可能である。一部の実装形態において、符号化された表現126は、観察108と同一の次元を有し、他の一部の実装形態において、符号化された表現126は、計算効率の理由で、観察108と比べて、より小さい次元を有する。一部の実装形態において、符号化された表現126を入力として注意サブネットワーク128に与えることに加えて、システムは、符号化された表現126が、後に、例えば、その所与の時間ステップの後に続く未来の時間ステップにおいて使用され得るように、所与の時間ステップにおいて生成された符号化された表現126をメモリバッファまたはルックアップテーブルに記憶することもする。
【0039】
観察が画像である場合、エンコーダサブネットワーク124は、時間ステップに関する観察を処理するように構成された畳み込みサブネットワーク、例えば、残差ブロックを有する畳み込みニューラルネットワークであることが可能である。一部の事例において、例えば、観察が、より低い次元のデータを含む場合、エンコーダサブネットワーク124は、1つまたは複数の全結合型のニューラルネットワーク層をさらに、または代わりに含むことが可能である。
【0040】
注意サブネットワーク128は、1つまたは複数の注意ニューラルネットワーク層を含むネットワークである。各注意層は、1つまたは複数の位置(例えば、複数の連結された入力ベクトル)の各位置におけるそれぞれの入力ベクトルを含むそれぞれの入力シークエンスに対して動作する。多数の時間ステップの各時間ステップにおいて、注意サブネットワーク128は、現在の観察108の符号化された表現126と、1つまたは複数の前の観察の符号化された表現とを含む注意サブネットワーク入力を受け取ること、および少なくとも部分的には、現在の観察のそれぞれの符号化された表現、および1つまたは複数の前の観察に注意機構を適用することによって、注意サブネットワーク出力(「Xt」)130を生成すべく、注意サブネットワーク入力を注意サブネットワークの訓練されたパラメータ値に応じて処理することを行うように構成される。すなわち、注意サブネットワーク出力(「Xt」)130は、1つまたは複数の注意ニューラルネットワーク層を使用することによって生成された符号化された表現の更新された(すなわち、「注意が向けられた」)表現から決定された、またはそれ以外で導出された出力である。
【0041】
詳細には、現在の観察108の符号化された表現126に加えて、注意サブネットワーク入力は、環境108の現在の状態に直前に先立つ環境の1つまたは複数の前の状態を特徴づける1つまたは複数の前の観察の符号化された表現も含む。前の観察の各符号化された表現は、入力順序における多数の入力位置の各入力位置におけるそれぞれの入力値を含むそれぞれの入力ベクトルの形態であることが可能である。このため、注意サブネットワーク入力は、現在の状態に至るまでの(かつ現在の状態を含む)環境108の異なる前の状態の観察のそれぞれの符号化された表現にそれぞれが対応する、多数の個々の入力ベクトルから成る連結された入力ベクトルであることが可能である。
【0042】
一般に、注意サブネットワーク128内の注意層は、様々な構成のいずれかにおいて構成されることが可能である。注意層の構成の実施例、注意サブネットワークのその他の構成要素の詳細については、参照により全体が本明細書に組み込まれている、Vaswani他、Attention Is All You Need、arXiv:1706.03762、およびParisotto他、Stabilizing transformers for reinforcement learning、arXiv:1910.06764においてより詳細に説明される。例えば、注意サブネットワーク128内で注意層によって適用される注意機構は、自己注意機構、例えば、マルチヘッド自己注意機構であることが可能である。
【0043】
一般に、注意機構は、クエリおよびキー-値ペアのセットを出力にマップし、ここで、クエリ、キー、および値はすべて、それぞれの行列に基づいて注意機構に対する入力から導出されたベクトルである。出力は、値の重み付けされた総和として計算され、ここで、各値に割り当てられる重みは、対応するキーを有するクエリの適合度関数、例えば、内積またはスケール化内積(scaled dot product)によって計算される。一般に、注意機構は、2つのシークエンスの間の関係を決定する一方で、自己注意機構は、同一のシークエンスにおける異なる位置を関係付けて、そのシークエンスの変換されたバージョンを出力として決定するように構成される。注意層入力は、入力シークエンスの各要素に関するベクトルを含んでよい。これらのベクトルは、自己注意機構に入力を与え、入力シークエンスの各要素に関するベクトルを同様に含む、注意層出力のための同一のシークエンスの新たな表現を決定すべく自己注意機構によって使用される。自己注意機構の出力は、注意層出力として使用されてよい。
【0044】
一部の実装形態において、注意機構は、例えば、行列WQによって定義されるクエリ変換、例えば、行列WKによって定義されるキー変換、および例えば、行列WVによって定義される値変換のそれぞれを、入力シークエンスの各入力ベクトルXに関する注意層入力に、出力のための注意が向けられたシークエンスを決定するのに使用される、それぞれのクエリベクトルQ=XWQ、キーベクトルK=XWK、および値ベクトルV=XWVを導出すべく適用するように構成される。例えば、注意機構は、各値ベクトルに関するそれぞれの重みを決定すべく各キーベクトルに各クエリベクトルを適用し、次に、入力シークエンスの各要素に関する注意層出力を決定すべくそれぞれの重みを使用して値ベクトルを組み合わせることによって適用される内積注意機構であってよい。注意層出力は、スケール化内積注意を実装すべく、スケーリング係数、例えば、クエリおよびキーの次元の平方根によってスケール化されてよい。このため、例えば、注意機構の出力は、
【0045】
【数1】
【0046】
として決定されてよく、ここで、dは、キー(および値)ベクトルの次元である。別の実装形態において、注意機構は、隠れ層を有するフィードフォワードネットワークを使用して適合度関数を計算する「加法注意」機構を備える。
【0047】
注意機構は、マルチヘッド注意を実装してよく、すなわち、注意機構は、多数の異なる注意機構を並行に適用してよい。次に、これらの出力が、必要な場合、元の次元に低減すべく適用される学習された線形変換と組み合わされてよく、例えば、連結されてよい。
【0048】
注意ニューラルネットワーク層または自己注意ニューラルネットワーク層は、注意機構または自己注意機構(注意層出力を生成すべく注意層入力に対して動作する)を含むニューラルネットワーク層である。注意サブネットワーク128は、単一の注意層を備えてよく、または、代替として、最初の注意層以外の各注意層が、シークエンスの先行する注意層からの出力を入力として受け取る、注意層のシークエンスを備えてよい。
【0049】
さらに、この実施例において、自己注意機構は、入力シークエンスにおける任意の所与の位置が、入力シークエンスにおけるその所与の位置の後のいずれの位置にも注意を向けないように、マスクされることが可能である。例えば、入力シークエンスにおけるその所与の位置の後にある後続の位置に関して、後続の位置に関する注意重みが、0に設定される。
【0050】
リカレントサブネットワーク136は、1つまたは複数のリカレントニューラルネットワーク層、例えば、1つまたは複数の長短期記憶(LSTM)層、1つまたは複数のゲート付きリカレントユニット(GRU)層、1つまたは複数のバニラリカレントニューラルネットワーク(RNN)(vanilla recurrent neural network)層などを含むネットワークである。リカレントサブネットワーク136は、多数の時間ステップの各時間ステップにおいて、リカレントサブネットワーク入力を受け取り、リカレントサブネットワークの訓練されたパラメータ値に応じて処理することを、その時間ステップに対応するリカレントサブネットワークの現在の隠された状態を更新して、リカレントサブネットワーク出力を生成すべく、行うように構成される。
【0051】
詳細には、リカレントサブネットワーク入力は、注意サブネットワーク出力130から導出される。一部の実装形態において、アクション選択ニューラルネットワーク120が、注意サブネットワーク出力130をリカレントサブネットワーク136に入力として直接に与えることが可能である。代替として、一部の実装形態において、アクション選択ニューラルネットワーク120は、エンコーダサブネットワーク124の出力126と注意サブネットワーク128の出力130を組み合わせるべくゲーティングサブネットワーク132を利用することが可能である。このため、リカレントサブネットワーク入力は、アクション選択ニューラルネットワーク120のゲーティングサブネットワーク132の出力(「Zt」)134であることが可能である。
【0052】
これらの実装形態のうちのいくつかにおいて、ゲーティングサブネットワーク132によって実装されるゲーティング機構は、固定の、加算(または連結)機構であり、ゲーティングサブネットワークは、現在の観察の符号化された表現126、および注意サブネットワーク出力130を受け取ること、ならびに表現126および出力130に基づいて出力を生成することを行うように構成された加算(または連結)層を含むことが可能である。例えば、ゲーティングサブネットワークは、受け取られた層入力の所定の次元に沿って、i)現在の観察の符号化された表現126とii)注意サブネットワーク出力130の加算(または連結)を計算してよい。
【0053】
これらの実装形態のうちの他のいくつかにおいて、ゲーティングサブネットワーク132によって実装されるゲーティング機構は、エンコーダサブネットワーク124の出力126、および注意サブネットワーク128の出力130に包含される、またはそれ以外で出力126および出力130から導出可能な情報のより効果的な組合せを容易化する学習されたゲーティング機構である。これらの実装形態において、ゲーティングサブネットワーク132は、その後、リカレントサブネットワーク136に入力として与えられる、ゲート付き出力、すなわち、ゲーティングサブネットワーク出力134を生成すべく、i)現在の観察の符号化された表現126およびii)注意サブネットワーク出力130に、学習されたGRUゲーティング機構を、GRU層の訓練されたパラメータ値に応じて適用するように構成された、すなわち、訓練を通じて構成されたゲート付きリカレントユニット(GRU)層を含むことが可能である。GRUゲーティング機構を使用して、符号化された表現126と注意サブネットワーク出力130を組み合わせることについては、図2を参照して後段でさらに説明される。一部の実装形態において、スキップ(「残差」)接続が、エンコーダサブネットワーク124とゲーティングサブネットワーク132の間で構成されることが可能であり、ゲーティングサブネットワーク132は、注意サブネットワーク128から注意サブネットワーク出力130を直接に受け取ることに加えて、スキップ接続を介して、符号化された表現126を受け取るように構成されることが可能である。
【0054】
アクション選択サブネットワーク140が、多数の時間ステップの各時間ステップにおいて、アクション選択サブネットワーク入力を受け取り、アクション選択出力122を生成すべく、アクション選択サブネットワーク入力をアクション選択サブネットワーク140の訓練されたパラメータ値に応じて処理することを行うように構成される。アクション選択サブネットワーク入力は、リカレントサブネットワーク出力を含み、一部の実装形態において、エンコーダサブネットワーク124によって生成された符号化された表現126をさらに含む。アクション選択サブネットワーク入力が符号化された表現126も含む実装形態において、スキップ接続が、エンコーダサブネットワーク124とアクション選択サブネットワーク140の間で構成されることが可能であり、アクション選択サブネットワーク140は、リカレントサブネットワーク136からリカレントサブネットワーク出力を直接に受け取ることに加えて、スキップ接続を介して符号化された表現126を受け取るように構成されることが可能である。
【0055】
次に、システム100は、現在の時間ステップにおいてエージェントによって実行されるべきアクションを選択すべくアクション選択出力を使用する。エージェントによって実行されるべきアクションを選択すべくアクション選択出力を使用することのいくつかの実施例について、次に説明される。
【0056】
一実施例において、アクション選択出力122は、エージェントによって実行され得る可能なアクションのセットの中の各アクションに関してそれぞれの数的な確率値を含んでよい。システムは、例えば、アクションに関する確率値に応じてアクションをサンプリングすること、または最高の確率値を有するアクションを選択することによって、エージェントによって実行されるべきアクションを選択することが可能である。
【0057】
別の実施例において、アクション選択出力122は、例えば、ロボットエージェントの関節に適用されるべきトルクの値を定義することによって、エージェントによって実行されるべきアクションを直接に定義してよい。
【0058】
別の実施例において、アクション選択出力122は、エージェントによって実行され得る可能なアクションのセットの中の各アクションに関するそれぞれのQ値を含んでよい。システムは、エージェントによって実行されるべきアクションを選択するのに使用されることが可能である(前段で説明されるとおり)、可能な各アクションに関するそれぞれの確率値を生成すべくQ値を処理する(例えば、ソフトマックス関数を使用して)ことが可能である。また、システムは、最高のQ値を有するアクションを、エージェントによって実行されるべきアクションとして選択することも可能である。
【0059】
アクションに関するQ値は、現在の観察に応答してエージェントがアクションを実行すること、および、その後、ポリシーニューラルネットワークパラメータの現在の値に応じてエージェントによって実行される未来のアクションを選択することからもたらされる「リターン」の推定値である。
【0060】
リターンとは、エージェントによって受け取られる「報酬」の累積的な測度、例えば、報酬の時間割引される総和を指す。エージェントは、各時間ステップにおいてそれぞれの報酬を受け取ることが可能であり、ここで、報酬は、スカラ数値によって規定され、例えば、割り当てられたタスクを完了することに向けてのエージェントの進歩を特徴づける。
【0061】
一部の事例において、システムは、エージェントによって実行されるべきアクションを探索ポリシーに応じて選択することが可能である。例えば、探索ポリシーは、システムが、エージェントによって実行されるべきアクションを、確率1-∈を有するアクション選択出力122に応じて選択し、確率∈を有するアクションをランダムに選択する、∈-グリーディ探索ポリシーであってよい。この実施例において、∈は、0から1までの範囲内のスカラ値である。
【0062】
制御ニューラルネットワークシステム110を使用してエージェントを制御することについて、図2を参照して後段でより詳細に説明される。
【0063】
環境104と対話するエージェント102をより効果的に制御すべく、強化学習システム100は、アクション選択ニューラルネットワーク120のパラメータ118の訓練された値を決定するようにアクション選択ニューラルネットワーク120を訓練すべく訓練エンジン150を使用することが可能である。
【0064】
訓練エンジン150は、環境108(または環境の別のインスタンス)とのエージェント102(または別のエージェント)の対話に基づいて、モデルパラメータ118、すなわち、エンコーダサブネットワーク124、注意サブネットワーク128、ゲーティングサブネットワーク132、リカレントサブネットワーク136、およびアクション選択サブネットワーク140のパラメータ値を繰り返し更新することによって、アクション選択ニューラルネットワーク120を訓練するように構成される。
【0065】
詳細には、訓練エンジン150は、強化学習を通じて、またさらに、オプションとして、対照表現学習を通じて、アクション選択ニューラルネットワーク120を訓練する。対照表現学習とは、アクション選択ニューラルネットワークが、類似した入力のペア(例えば、類似性測度、例えば、ユークリッド距離などの距離測度によって測定された)を相次いで受け取ると、類似した入力のペアと比べて、より離れた入力からアクション選択ネットワークが生成するそれぞれの出力と比べて、互いにより類似したそれぞれの出力を生成するように、それぞれの入力を受け取ると、出力を生成するよう、アクション選択ニューラルネットワークのニューラルネットワーク構成要素、特に、注意サブネットワーク128を教育することを意味する。後段で与えられる実施例において、対照表現学習は、所与の時間ステップにおいてエンコーダサブネットワーク124によって生成されたデータのマスクされた形態である入力を受け取ると、エンコーダサブネットワーク124によって生成されたのと同一のデータを再構成する出力、および/または別の時間ステップにおいてエンコーダサブネットワーク124によって生成されたデータを生成するようにアクションサブネットワーク128を訓練することに基づく。
【0066】
強化学習において、アクション選択ニューラルネットワーク120は、適切な強化学習目的関数を最適化するために、環境とのエージェントの対話に基づいて訓練される。アクション選択ニューラルネットワーク120のアーキテクチャは、厳密なRL訓練アルゴリズムの選択に関してアグノスティックであり、このため、RL訓練は、オンポリシー(例えば、Song他、V-mpo: On-policy maximum a posteriori policy optimization for discrete and continuous control, arXiv:1909.12238においてより詳細に説明されるRLアルゴリズムのうちの1つ)であることも、オフポリシー(例えば、Kapturowski他、Recurrent experience replay in distributed reinforcement learning. In International conference on learning representations、2018においてより詳細に説明されるRLアルゴリズムのうちの1つ)であることも可能である。
【0067】
このRL訓練プロセスの一環として、対話中に強化学習システム100によって受け取られた観察108が、符号化されて、アクション選択出力122が生成される符号化された表現にされる。このため、役立つ情報をもたらす符号化された表現を生成する学習は、RL訓練の成功のための重要な要因である。そのようにすべく、訓練エンジン150が、時間領域対照学習目的を評価し、注意サブネットワーク128のマスクされた予測訓練のための、すなわち、注意サブネットワーク入力のマスクされた部分を予測するように注意サブネットワーク128を訓練するためのプロクシ監督信号として使用する。そのような信号は、アクション選択サブネットワーク140が注意サブネットワーク128によって以前に観察された(または抽出された)情報を効果的に組み込むように適切な情報を包含する自己注意に整合性のある表現を学習することを目指す。
【0068】
一部の実装形態において、パラメータ値更新を決定するのを支援すべく対照表現学習技術を利用することによって、訓練エンジン150は、例えば、所与のタスクを実行するようエージェントを制御することにおいて最新技術のパフォーマンスを実現すべく、またはそれを凌ぐべくアクション選択ニューラルネットワーク120を訓練するのに要求される訓練プロセスによって消費される計算リソースまたは実時間の量の点で、訓練プロセスの効率を向上させる。
【0069】
アクション選択ニューラルネットワーク120を訓練することについて、図3および図4を参照して後段でより詳細に説明される。
【0070】
図2は、エージェントを制御するための例示的なプロセス200のフローチャートである。便宜のため、プロセス200は、1つまたは複数のロケーションに配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。例えば、適切にプログラミングされた強化学習システム、例えば、図1の強化学習システム100が、プロセス200を実行することが可能である。
【0071】
一般に、システムは、多数の時間ステップの各時間ステップにおいて、その時間ステップ(以降、「現在の」時間ステップと呼ばれる)に対応する環境のそれぞれの状態(以降、「現在の」状態と呼ばれる)においてエージェントによって実行されるべきそれぞれのアクション(以降、「現在の」アクションと呼ばれる)を選択するべくプロセス200を繰り返し実行することが可能である。
【0072】
システムが、現在の時間ステップにおける環境の現在の状態を特徴づける現在の観察を受け取り、エンコーダサブネットワークを使用することによって現在の観察の符号化された表現を生成する(ステップ202)。例えば、現在の観察は、画像、ビデオフレーム、オーディオデータセグメント、自然言語における文、またはそれに類するものを含むことが可能である。これらの実施例のうちのいくつかにおいて、観察は、前の時間ステップから導出された情報、例えば、実行された前のアクション、前の時間ステップにおいて受け取られた報酬、またはその両方を含むことも可能である。観察の符号化された表現は、数値の順序づけられた集まり、例えば、数値のベクトルまたは行列として表現されることが可能である。
【0073】
システムが、注意サブネットワーク出力を生成すべく、注意サブネットワークを使用することによって、現在の観察の符号化された表現と、1つまたは複数の前の観察の符号化された表現とを含む注意サブネットワーク入力を処理する(ステップ204)。1つまたは複数の前の観察は、環境の現在の状態に先行する環境の1つまたは複数の前の状態を特徴づけ、このため、1つまたは複数の前の観察の符号化された表現は、現在の時間ステップに先行する1つまたは複数の時間ステップにおいてエンコーダサブネットワークを使用することによって生成された、符号化された表現であることが可能である。
【0074】
注意サブネットワークは、1つまたは複数の注意ニューラルネットワーク層を含み、少なくとも部分的には、注意機構、例えば、自己注意機構を、現在の観察の符号化された表現、および環境の1つまたは複数の前の状態を特徴づける1つまたは複数の前の観察の符号化された表現に適用することによって、注意サブネットワーク出力を生成するように構成されたニューラルネットワークであることが可能である。注意機構のこの使用は、例えば、環境の異なる状態の長引くシークエンスのそれぞれの観察にわたる、長距離のデータ依存関係の接続を容易化する。
【0075】
より詳細には、注意サブネットワーク入力は、入力順序における多数の入力位置の各入力位置におけるそれぞれの入力値をそれぞれが有する異なる符号化された表現に対応する多数の個々の入力ベクトルからなる連結された入力ベクトルを含むことが可能である。注意サブネットワーク出力を生成すべく、注意サブネットワークに含まれる各注意層が、1つまたは複数の層入力位置の各位置に関して注意層入力(同様にベクトルのフォーマットであってよい)を受け取ること、および、層入力順序におけるそれぞれの特定の層入力位置に関して、その特定の層入力位置に関してそれぞれの注意層出力を生成すべく、その特定の層入力位置における注意層入力から導出された1つまたは複数のクエリを使用して、その層入力位置における注意層入力に注意機構を適用することを行うように構成されることが可能である。
【0076】
システムが、i)現在の観察の符号化された表現とii)注意サブネットワーク出力の組合せを生成し、その後、その組合せをリカレントサブネットワークに入力として与える。その組合せを生成すべく、システムは、リカレントサブネットワーク入力を生成すべく、i)現在の観察の符号化された表現、およびii)注意サブネットワーク出力にゲーティング機構を適用するように構成されたゲーティングサブネットワークを利用することが可能である。例えば、ゲーティングサブネットワークは、より少ない数の層パラメータを利用することによって、LSTM層と比べて、より低い複雑度のGRUゲーティング機構を適用するように構成可能であるゲート付きリカレントユニット(GRU)層を含むことが可能である。別の実施例として、ゲーティングサブネットワークは、i)現在の観察の符号化された表現とii)注意サブネットワーク出力の加算または連結を計算することも可能である。
【0077】
具体的には、前段の実施例において、GRU層は、忘却ゲートを有する長短期記憶(LSTM)層と類似したパフォーマンスをもたらすが、出力ゲートを欠くので、LSTMと比べて、より少ないパラメータを有するリカレントニューラルネットワーク層である。一部の実装形態において、このゲーティング機構は、時間について巻き戻される代わりに、アクション選択ニューラルネットワークの深度について巻き戻されたGRU層の更新として適応されることが可能である。そうであることは、GRU層がリカレントニューラルネットワーク(RNN)層である一方で、ゲーティング機構は、GRU層が、時間の経過とともにGRU層の隠された状態を更新するのに使用するのと同一のフォーミュラを使用して、アクション選択ニューラルネットワークのゲーティングサブネットワークにおいて受け取られた入力の「更新された」組合せを代わりに生成することができることを意味する。
【0078】
これらの実装形態において、GRU層は、リセットゲートrおよび更新ゲートz、すなわち、
【0079】
【数2】
【0080】
をそれぞれ計算すべく、シグモイド活性化σ()などの非線形関数を、受け取られた層入力の重み付けされた組合せに、すなわち、符号化された表現Ytおよび注意サブネットワーク出力Xtに適用し、更新された隠された状態
【0081】
【数3】
【0082】
すなわち、
【0083】
【数4】
【0084】
を生成すべく、tanh活性化tanh()などの非線形関数を、符号化された表現Ytの重み付けされた組合せ、およびリセットゲートrと注意サブネットワーク出力Xtの間の要素ごとの積に適用し、ここで、
【0085】
【数5】
【0086】
は、GRU層パラメータの値から決定された重み(またはバイアス)であり、
【0087】
【数6】
【0088】
は、要素ごとの乗算を表す。次に、GRU層は、ゲート付き出力g(l)(x,y)(リカレントサブネットワーク入力として使用されることが可能である)を以下のとおり、
【0089】
【数7】
【0090】
生成する。
【0091】
システムが、リカレントサブネットワーク出力を生成すべく、リカレントサブネットワークを使用することによってリカレントサブネットワーク入力を処理する(ステップ206)。リカレントサブネットワークは、リカレントサブネットワーク入力を受け取ること、および受け取られた入力を処理することによって、すなわち、前のリカレントサブネットワーク入力を処理することによって生成されたリカレントサブネットワークの現在の隠された状態を、現在の受け取られたリカレントサブネットワーク入力を処理することによって変更するようにリカレントサブネットワークの現在の隠された状態を更新することを行うように構成されることが可能である。リカレントサブネットワーク入力を処理した後のリカレントサブネットワークの更新された隠された状態は、以降、現在の時間ステップに対応する隠された状態と呼ばれる。現在の時間ステップに対応する更新された隠された状態が生成されると、システムは、リカレントサブネットワーク出力を生成すべくリカレントサブネットワークの更新された隠された状態を使用することが可能である。
【0092】
例えば、リカレントサブネットワークは、1つまたは複数の長短期記憶(LSTM)層を含むリカレントニューラルネットワークであることが可能である。LSTM層が順次の性質であるため、LSTM層は、例えば、環境の最近の状態の連続する観察にわたって、短距離の依存関係を効果的にキャプチャすることができる。
【0093】
システムが、現在の観察に応答してエージェントによって実行されるべきアクションを選択するのに使用されるアクション選択出力を生成すべく、アクション選択サブネットワークを使用することによって、リカレントサブネットワーク出力を含むアクション選択サブネットワーク入力を処理する(ステップ208)。一部の実装形態において、アクション選択サブネットワーク入力は、符号化された表現も含む。これらの実装形態において、アクション選択サブネットワーク入力を生成すべく、システムは、i)リカレントサブネットワーク出力とii)現在の時間ステップにおいてエンコーダサブネットワークによって生成された、符号化された表現の連結を計算することが可能である。
【0094】
次に、システムは、エージェントに、選択されたアクションを実行するようにさせること、すなわち、アクションを実行するようエージェントに命令すること、またはエージェントに関する制御システムに制御信号を渡すことによって、それを行わせることが可能である。
【0095】
前述したとおり、システムの構成要素は、対照表現学習と組み合わされた強化学習を通じて訓練されることが可能である。一部の実装形態において、システムは、訓練を支援すべくリプレイバッファを保持する。リプレイバッファは、エージェントが環境と対話したことの結果として生成された多数の遷移を記憶する。各遷移は、環境とのエージェントの対話についての情報を表す。
【0096】
これらの実装形態において、各遷移は、i)一時点における環境の現在の状態を特徴づける現在の観察と、ii)現在の観察に応答してエージェントによって実行される現在のアクションと、iii)エージェントが現在のアクションを実行した後の環境の次の状態、すなわち、エージェントが現在のアクションを実行したことの結果として遷移してもたらされた環境の状態を特徴づける次の観察と、iv)エージェントが現在のアクションを実行することに応答して受け取られた報酬とを含む経験タプル(experience tuple)である。
【0097】
簡単に述べると、これらの実装形態において、RL訓練は、リプレイバッファから1つまたは複数の遷移のバッチを反復的にサンプリングすること、および、次に、適切な強化学習アルゴリズムを使用することによってサンプリングされた遷移に対してアクション選択ニューラルネットワークを訓練することを含むことが可能である。各RL訓練反復中、システムは、アクション選択出力を生成すべく、アクション選択ニューラルネットワークの現在のパラメータ値に応じてアクション選択ニューラルネットワークを使用して各サンプリングされた遷移に含まれる現在の観察を処理すること、アクション選択出力に基づいて強化学習損失を決定すること、および、次に、アクション選択ニューラルネットワークパラメータに関する強化学習損失の勾配を計算することに基づいて、アクション選択ネットワークパラメータの現在の値の更新を決定することが可能である。
【0098】
図4は、注意選択ニューラルネットワークのパラメータ値の更新を決定することを例示する図である。図示されるとおり、システムが、各時間ステップにおいて、例えば、時間ステップ402Aにおいて生成されたアクション選択出力に関するそれぞれの強化学習損失、例えば、RL損失410Aを決定することが可能である。
【0099】
訓練データ効率を向上させるべくRL訓練を支援するのに使用されることが可能な対照表現学習について、後段でさらに説明される。
【0100】
図3は、注意選択ニューラルネットワークのパラメータ値の更新を決定するための例示的なプロセス300のフローチャートである。便宜のため、プロセス300は、1つまたは複数のロケーションに配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。例えば、適切にプログラミングされた強化学習システム、例えば、図1の強化学習システム100が、プロセス300を実行することが可能である。
【0101】
詳細には、システムは、所与のタスクを実行することにおけるエージェントの効果的な制御をもたらすことになる、高品質のアクション選択出力の生成を容易化する、高品質の(例えば、役立つ情報をもたらす、または予測的な、あるいはその両方である)符号化された表現、および注意サブネットワーク出力をそれぞれ生成すべく、アクション選択ニューラルネットワークのエンコーダおよび注意サブネットワークを訓練するようにプロセス300を繰り返し実行することが可能である。
【0102】
システムは、リプレイバッファからサンプリングされた1つまたは複数の遷移のバッチごとにプロセス300の1つの反復を実行することが可能である。各反復の開始時に、システムは、エンコーダサブネットワークの現在のパラメータ値に応じてエンコーダサブネットワークを使用して現在の観察を処理することによって、サンプリングされた各遷移に含まれる現在の観察の符号化された表現を生成することが可能である。しかし、符号化された表現が注意サブネットワークに入力として直接に与えられる推論時においてとは異なり、システムは、符号化された表現からマスクされた符号化された表現を生成し、その後、そのマスクされた符号化された表現を注意サブネットワークに入力として与える。
【0103】
前述したとおり、現在の観察の符号化された表現は、入力順序における複数の入力位置の各入力位置におけるそれぞれの入力値を有する入力ベクトルの形態であることが可能である。対照的に、マスクされた符号化された表現は、入力順序における複数の入力位置のうちの1つまたは複数の入力位置の各入力位置におけるそれぞれの入力値をマスクする、すなわち、1つまたは複数の入力位置の各入力位置における元の入力値の代わりに、固定値(例えば、負の無限大、正の無限大、または別の所定のマスク値)を含む。
【0104】
マスクされた符号化された表現(以降、「マスクされた入力ベクトル」と呼ばれる)を生成すべく、システムは、符号化された表現から、入力順序における複数の入力位置のうちの1つまたは複数を選択し、入力順序における複数の入力位置のうちの選択された1つまたは複数の入力位置の各入力位置におけるそれぞれの入力値にマスクを適用する、すなわち、選択された入力位置の各入力位置においてそれぞれの入力値を固定値で置き換える。例えば、選択は、ランダムサンプリングを介して実行されてよく、それぞれの符号化された表現に関して入力値の固定量(例えば、10%、15%、または20%)がマスクされてよい。
【0105】
システムは、入力順序における複数の入力位置のうちの1つまたは複数の入力位置の各入力位置におけるそれぞれの入力値の予測を生成すべく、注意サブネットワークを使用して、注意サブネットワークの現在のパラメータ値に応じて、入力順序における複数の入力位置のうちの1つまたは複数の入力位置の各入力位置におけるそれぞれの入力値をマスクするマスクされた入力ベクトルを処理する(ステップ302)。すなわち、対照学習訓練中、注意サブネットワークが、入力ベクトルをそのマスクされたバージョンから再構成する補助タスクを実行すべく訓練される。
【0106】
システムが、対照学習目的関数を評価する(ステップ304)。対照学習目的関数は、マスクされた入力ベクトルを処理することからマスクされた入力値を予測する際の注意サブネットワークの対照学習損失(例えば、図4の対照損失420)を測定する。
【0107】
具体的には、入力順序における複数の入力位置のうちの1つまたは複数の入力位置の各入力位置に関して、対照学習目的関数は、i)それぞれの入力値の予測と、ii)現在の観察の符号化された表現に対応する入力ベクトルにおけるそれぞれの入力値の間の第1の差を測定してよい。第1の差は、「正の例」に関して評価された差と呼ばれてよい。図4の実施例において図示されるとおり、所与の時間ステップ402Aにおいて、システムが、各入力位置に関して、i)その入力位置におけるそれぞれの入力値の予測を含む注意サブネットワーク訓練出力(「X1」)414Aと、ii)その所与の時間ステップ402Aに対応する観察の符号化された表現(「Y1」)412Aに当初、含まれていたそれぞれの入力値をマスクするマスクされた入力ベクトルの間のそれぞれの差を決定することが可能である。
【0108】
また、対照学習目的関数は、i)それぞれの入力値の予測と、ii)増強された現在の観察の符号化された表現に対応する別の入力ベクトルにおけるそれぞれの入力値の間の第2の差を測定してもよい。第2の差は、「負の例」に関して評価された差と呼ばれてよい。さらに、または代替として、第2の差は、i)それぞれの入力値の予測と、ii)増強された現在の観察に対応するマスクされた入力ベクトルから注意サブネットワークによって生成されたその他の入力ベクトルにおけるそれぞれの入力値の予測の間の差であることが可能である。すなわち、第2の差は、増強された現在の観察に関して生成された注意サブネットワーク訓練出力に関して評価された差であることが可能である。例えば、第1の差、および第2の差は、カルバック-ライブラ情報量(Kullback-Leibler divergence)の点で評価されることが可能である。
【0109】
詳細には、対照表現学習は、通常、有意な訓練信号を生成すべく比較されることが可能なデータのグループ化を作成するようにデータ増強技術を利用する。
【0110】
一部の実装形態において、システムは、入力データが順次である性質に依拠することが可能であり、増強された現在の観察は、現在の状態の後である環境の未来の状態を特徴づける未来の観察であることが可能である。さらに、または代替として、増強された現在の観察は、現在の状態に先立つ環境の過去の状態を特徴づける履歴観察であることが可能である。
【0111】
図4の実施例において図示されるとおり、所与の時間ステップ402Aにおいて、システムが、各入力位置に関して、i)その入力位置におけるそれぞれの入力値の予測を含む注意サブネットワーク訓練出力(「X1」)414Aと、ii)未来の時間ステップ402Bにおいて受け取られる未来の観察の符号化された表現412Bに対応する別の入力ベクトルにおけるそれぞれの入力値の間のそれぞれの差を決定することが可能である。さらに、または代替として、システムは、各入力位置に関して、i)その入力位置におけるそれぞれの入力値の予測を含む注意サブネットワーク訓練出力(「X1」)414Aと、ii)未来の時間ステップ402Bに対応するマスクされた入力ベクトルから注意サブネットワークによって生成されたその他の入力ベクトルにおけるそれぞれの入力値の予測を含む注意サブネットワーク訓練出力(「X2」)414Bの間のそれぞれの差を決定することが可能である。具体的には、これらの実施例において、その他の入力ベクトルにおけるそれぞれの入力値は、その他の入力ベクトル内で、サンプリングされた遷移に対応する入力ベクトルにおけるそれぞれの入力値と同一の入力位置を有することが可能である。
【0112】
他の一部の実装形態において、システムは、視覚表現ベースの増強技術に代わりに依拠することが可能であり、増強された現在の観察は、例えば、現在の観察の幾何学的に変換された表現または色空間変換された表現であることが可能である。
【0113】
システムが、注意サブネットワークパラメータに関して対照学習損失の勾配を計算することに基づいて、注意サブネットワークの現在のパラメータ値の更新を決定する(ステップ306)。さらに、システムは、誤差逆伝播法を介して、エンコーダサブネットワークの現在のパラメータ値の更新を決定する。
【0114】
一部の実装形態において、システムは、次に、従来の最適化アルゴリズム、例えば、確率的勾配降下法、RMSprop、または重み減衰を伴うAdam(「AdamW」)最適化アルゴリズムを含むAdam最適化アルゴリズムを使用することによって、対照学習損失の勾配に基づいて現在のパラメータ値を更新することに進む。代替として、システムは、サンプリングされた遷移のバッチ全体に関してステップ302~306が実行されると、現在のパラメータ値を更新することだけに進む。言い換えると、システムは、ステップ302~306の固定した数の反復中に決定されたそれぞれの勾配を、それらの重み付けされた平均、または重み付けさない平均を計算することによって、組み合わせ、その組み合わされた勾配に基づいて現在のパラメータ値を更新することに進む。
【0115】
システムは、対照学習訓練終了基準が満たされるまで、例えば、ステップ302~306が所定の回数、実行された後、または対照学習目的関数の勾配が、指定された値に収束した後、ステップ302~306を繰り返し実行することが可能である。
【0116】
一部の実装形態において、システムは、強化学習損失を対照学習損失と一緒に共々に最適化することが可能である。このため、これらの実装形態において、システムは、例えば、強化学習損失と対照学習損失を、その重み付けされた総和を計算することによって組合せ、次に、その組み合わされた損失に基づいて現在のパラメータ値を更新することに進む。これらの実装形態において、ステップ302~306は、システムのRL訓練が完了するまで、例えば、強化学習目的関数の勾配が、指定された値に収束する後、繰り返し実行されることが可能である。
【0117】
図5は、本明細書において説明される制御ニューラルネットワークシステムを使用することによって実現され得るパフォーマンス利得の数量的な例を示す。具体的には、図5は、或る範囲のDeepMind Labタスクに対して図1の制御ニューラルネットワークシステム110を使用して制御されるエージェントによって受け取られる得点(ここで、より高い得点は、より大きい報酬を示す)のリストを示す。一般的な人工知能システムおよび機械学習システムの研究および開発のために設計されたプラットフォームとして、DeepMind Lab(https://arxiv.org/abs/1612.03801)が、自律的な人工エージェントがどのように、広い、部分的に観察され、視覚的に多様である環境において複雑なタスクを学習することが可能であるかを研究するのに使用され得る。図示されるとおり、「coberl」エージェント(本明細書において説明される制御ニューラルネットワークシステムを使用して制御されるエージェントに対応する)が、タスクの大多数に関してかなりの差で「gtrxl」エージェント(注意機構だけを使用する既存の制御システム、すなわち、Parisotto他、Stabilizing transformers for reinforcement learning、arXiv:1910.06764において説明される「Gated Transformer XL」システムを使用して制御されるエージェントに対応する)に全般的にパフォーマンスが優ることが認識され得る。
【0118】
本明細書は、システム構成要素およびコンピュータプログラム構成要素に関連して「構成された」という術語を使用する。1つまたは複数のコンピュータのシステムが、特定の動作またはアクションを実行するように構成されることは、作動時に、システムに、その動作またはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはその組合せがシステムにインストールされていることを意味する。1つまたは複数のコンピュータプログラムが、特定の動作またはアクションを実行するように構成されることは、その1つまたは複数のプログラムが、データ処理装置によって実行されると、装置に、その動作またはアクションを実行させる命令を含むことを意味する。
【0119】
本明細書において説明される主題および機能上の動作の実施形態は、本明細書において開示される構造、およびそれらの構造上の均等物、またはこれらのうちの1つまたは複数のものの組合せを含む、デジタル電子回路において、有形で実現されたコンピュータソフトウェアもしくはコンピュータファームウェアにおいて、コンピュータハードウェアにおいて実装されることが可能である。本明細書において説明される主題の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置によって実行されるように、またはデータ処理装置の動作を制御するように有形の非一過性の記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装されることが可能である。コンピュータ記憶媒体は、機械可読のストレージデバイス、機械可読の記憶基板、ランダムアクセスメモリデバイスもしくはシリアルアクセスメモリデバイス、またはこれらのうちの1つまたは複数の記憶媒体の組合せであることが可能である。代替として、またはさらに、プログラム命令は、データ処理装置によって実行されるように適切な受信装置に送信するために情報を符号化するように生成された、人工的に生成された伝播される信号、例えば、機械によって生成された電気信号、光信号、または電磁信号の上に符号化されることが可能である。
【0120】
「データ処理装置」という術語は、データ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、または多数のプロセッサもしくは多数のコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。また、その装置は、専用のロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)であること、またはそのような専用のロジック回路をさらに含むことも可能である。その装置は、オプションとして、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらのうちの1つまたは複数のものの組合せを構成するコードを含むことが可能である。
【0121】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれてもよい、またはそのようなものとして説明されてもよい、コンピュータプログラムは、コンパイルされる言語もしくは解釈される言語、または宣言型言語もしくは手続き型言語を含め、任意の形態のプログラミング言語で書かれることが可能であり、コンピューティング環境において使用されるのに適した、スタンドアローンのプログラムとして、あるいはモジュール、構成要素、サブルーチン、または他のユニットとして展開されることを含め、任意の形態で展開されることが可能である。プログラムは、ファイルシステムにおけるファイルに対応してよいが、対応しなくてもよい。プログラムは、他のプログラムまたは他のデータを保持するファイルの一部分、例えば、マークアップ言語文書に記憶された1つまたは複数のスクリプトに、当該のプログラムに専用の単一のファイルに、あるいは多数の協調型のファイル、例えば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイルに記憶されることが可能である。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置された、もしくは多数のサイトに分散されて、データ通信ネットワークによって互いに接続された多数のコンピュータの上で実行されるべく展開されることが可能である。
【0122】
本明細書において、「データベース」という術語は、データの任意の集まりを広く指すように使用され、データは、いずれの特定の様態で構造化されている必要も、まったく構造化されている必要もなく、1つまたは複数のロケーションにおけるストレージデバイス上に記憶されることが可能である。このため、例えば、インデックスデータベースは、それぞれが異なるように編成されてよく、異なるようにアクセスされてよい、データの多数の集まりを含むことが可能である。
【0123】
同様に、本明細書において「エンジン」という術語は、1つまたは複数の特定の機能を実行するようにプログラミングされたソフトウェアベースのシステム、サブシステム、またはプロセスを広く指すように使用される。一般に、エンジンは、1つまたは複数のロケーションにおける1つまたは複数のコンピュータにインストールされた1つまたは複数のソフトウェアモジュールもしくはソフトウェア構成要素として実装される。一部の事例において、1つまたは複数のコンピュータは、特定のエンジンに専用であり、他の事例において、多数のエンジンが、同一のコンピュータ、または同一の複数のコンピュータにインストールされて、実行されていることが可能である。
【0124】
本明細書において説明されるプロセスおよび論理フローは、入力データを操作すること、および出力を生成することによって機能を実行すべく1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルコンピュータによって実行されることが可能である。また、プロセスおよび論理フローは、専用のロジック回路、例えば、FPGAもしくはASICによって、または専用のロジック回路と1つまたは複数のプログラミングされたコンピュータの組合せによって実行されることも可能である。
【0125】
コンピュータプログラムを実行するのに適したコンピュータは、汎用のマイクロプロセッサもしくは専用のマイクロプロセッサ、またはその両方、あるいは他の任意の種類の中央処理装置に基づくことが可能である。一般に、中央処理装置は、読取り専用メモリまたはランダムアクセスメモリから、あるいはその両方から命令およびデータを受け取る。コンピュータの不可欠な要素は、命令を実行するため、または執行するための中央処理装置と、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。中央処理装置およびメモリは、専用のロジック回路によって補足されること、または専用のロジック回路に組み込まれることが可能である。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量ストレージデバイス、例えば、磁気ディスク、光磁気ディスク、または光ディスクも含む、あるいはそのような大容量ストレージデバイスからデータを受け取るように、または大容量ストレージデバイスにデータを転送するように、あるいはその両方を行うように動作上、結合される。しかし、コンピュータは、そのようなデバイスを有さなくてもよい。さらに、コンピュータは、別のデバイス、例えば、いくつかだけを挙げると、携帯電話、携帯情報端末(PDA)、モバイルオーディオプレーヤもしくはモバイルビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス、例えば、ユニバーサルシリアルバス(USB)フラッシュドライブに埋め込まれることが可能である。
【0126】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクもしくはリムーバブルディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、不揮発性媒体、および不揮発性メモリデバイスを含む。
【0127】
ユーザとの対話を可能にすべく、本明細書において説明される主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(陰極線管)モニタもしくはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができる、キーボードおよびポインティングデバイス、例えば、マウスもしくはトラックボールを有するコンピュータ上に実装されることが可能である。他の種類のデバイスが、ユーザとの対話を可能にするのに使用されることも可能であり、例えば、ユーザに与えられるフィードバックは、任意の形態の知覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受け取られることが可能である。さらに、コンピュータは、ユーザによって使用されるデバイスに文書を送ること、およびそのようなデバイスから文書を受け取ることによって、例えば、ユーザのデバイス上のウェブブラウザに、そのウェブブラウザから受け取られた要求に応答して、ウェブページを送ることによって、ユーザと対話することが可能である。また、コンピュータは、個人用デバイスに、例えば、メッセージングアプリケーションを実行しているスマートフォンに、テキストメッセージまたは他の形態のメッセージを送信すること、および返しでユーザから応答メッセージを受信することによってユーザと対話することが可能である。
【0128】
機械学習モデルを実装するためのデータ処理装置は、例えば、機械学習訓練または機械学習生産の通常の、計算が大量である部分、すなわち推論の作業負荷を処理するための専用のハードウェアアクセラレータユニットを含むことも可能である。
【0129】
機械学習モデルは、機械学習フレームワーク、例えば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実装されて、展開されることが可能である。
【0130】
本明細書において説明される主題の実施形態は、バックエンド構成要素を含むコンピューティングシステムにおいて、例えば、データサーバとして、またはミドルウェア構成要素を含むコンピューティングシステムにおいて、例えば、アプリケーションサーバとして、またはフロントエンド構成要素を含むコンピューティングシステムにおいて、例えば、ユーザが本明細書において説明される主題の実装と対話することができるグラフィカルユーザインターフェース、ウェブブラウザ、またはアプリを有するクライアントコンピュータとして、あるいは1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の組合せを含むコンピューティングシステムにおいて実装されることが可能である。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、例えば、通信ネットワークによって互いに接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、例えば、インターネットを含む。
【0131】
コンピューティングシステムは、クライアントと、サーバとを含むことが可能である。クライアントとサーバは、一般に、互いに遠隔であり、通常、通信ネットワークを介して対話する。クライアントとサーバの間の関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムのお陰で生じる。一部の実施形態において、サーバが、例えば、クライアントとして動作するデバイスと対話するユーザにデータを表示する目的、およびそのようなユーザからユーザ入力を受け取る目的で、データ、例えば、HTMLページをユーザデバイスに送信する。ユーザデバイスにおいて生成されたデータ、例えば、ユーザ対話の結果が、サーバにおいてデバイスから受信されることが可能である。
【0132】
本明細書は、多くの特定の実装の詳細を包含するが、これらは、発明の範囲に対する限定としても、請求の対象とされる可能性がある範囲に対する限定としても解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に特有である可能性がある特徴の説明として解釈されるべきである。また、別々の実施形態の脈絡において本明細書において説明されるいくつかの特徴は、単一の実施形態において組合せで実装されることも可能である。逆に、単一の実施形態の脈絡において説明される様々な特徴が、多数の実施形態において別々に、または任意の適切な部分的組合せで実装されることも可能である。さらに、特徴は、或る組合せで作用するものとして前段で説明される可能性があり、当初、そのようなものとして請求される可能性さえあるものの、請求される組合せからの1つまたは複数の特徴は、一部の事例において、その組合せから取り除かれることが可能であり、請求される組合せは、部分的組合せ、または部分的組合せの変形を対象とすることが可能である。
【0133】
同様に、動作は、特定の順序で図面に描かれ、特許請求の範囲において記載されるが、このことは、望ましい結果を実現するのに、そのような動作が、図示される特定の順序で実行されるべきことも、順次の順序で実行されるべきことも、例示されるすべての動作が実行されるべきことも要求するものと理解されるべきではない。いくつかの状況において、マルチタスキングおよび並行処理が、有利である可能性がある。さらに、前段で説明される実施形態における様々なシステムモジュールおよびシステム構成要素の分離は、すべての実施形態においてそのような分離が要求されるものと理解されるべきではなく、説明されるプログラム構成要素とシステムは、一般に、単一のソフトウェア製品として一緒に統合されること、または多数のソフトウェア製品としてパッケージ化されることが可能であるものと理解されるべきである。
【0134】
主題の特定の実施形態について説明されてきた。他の実施形態が、添付の特許請求の範囲に含まれる。例えば、特許請求の範囲に記載されるアクションは、異なる順序で実行されることが可能であり、それでも、望ましい結果を実現することが可能である。一例として、添付の図面に描かれるプロセスは、望ましい結果を実現するのに、図示される特定の順序も、順次の順序も必ずしも要求しない。一部の事例において、マルチタスキングおよび並行処理が、有利である可能性がある。
【符号の説明】
【0135】
100 強化学習システム
102 エージェント
104 環境
106 アクション
108 観察
110 制御ニューラルネットワークシステム
118 ネットワークパラメータ
120 アクション選択ニューラルネットワーク
122 アクション選択出力
124 エンコーダサブネットワーク
126 符号化された表現
128 注意サブネットワーク
130 注意サブネットワーク出力
132 ゲーティングサブネットワーク
134 ゲーティングサブネットワーク出力
136 リカレントサブネットワーク
140 アクション選択サブネットワーク
150 訓練エンジン
402A、402B 時間ステップ
412A、412B 観察の符号化された表現
414A、414B 注意サブネットワーク訓練出力
410 RL損失
420 対照損失
図1
図2
図3
図4
図5
【国際調査報告】