(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-07-04
(54)【発明の名称】マルチタスク強化学習におけるメタ勾配を用いたアクション選択のための学習オプション
(51)【国際特許分類】
G06N 3/092 20230101AFI20230627BHJP
【FI】
G06N3/092
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022561576
(86)(22)【出願日】2021-06-07
(85)【翻訳文提出日】2022-12-02
(86)【国際出願番号】 EP2021065124
(87)【国際公開番号】W WO2021245286
(87)【国際公開日】2021-12-09
(32)【優先日】2020-06-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】517030789
【氏名又は名称】ディープマインド テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ヴィヴェク・ヴェーリア・ジェヤ・ヴェーライア
(72)【発明者】
【氏名】トム・ベン・ジオン・ザハヴィー
(72)【発明者】
【氏名】マッテオ・ヘッセル
(72)【発明者】
【氏名】ジョンウェン・シュ
(72)【発明者】
【氏名】ジュンヒュク・オ
(72)【発明者】
【氏名】ユーリー・ケマエヴ
(72)【発明者】
【氏名】ハド・フィリップ・ファン・ハッセルト
(72)【発明者】
【氏名】デイヴィッド・シルヴァー
(72)【発明者】
【氏名】サティンダー・シン・バヴェジャ
(57)【要約】
環境と対話しながら複数のタスクを実行するようにエージェントを制御するための強化学習システム、方法、およびコンピュータプログラムコード。システムはオプションを学習し、ここで、オプションは、オプションポリシーニューラルネットワークの制御下でエージェントによって実行される基本アクションのシーケンスを含む。実装形態では、システムは、エージェントが環境と対話しながらオプションポリシーニューラルネットワークをトレーニングするためのメタ学習報酬によって複数の異なるタスクに有用なオプションを発見する。
【特許請求の範囲】
【請求項1】
環境と対話しながら複数のタスクを実行するようにエージェントを制御するためのコンピュータ実装システムであって、複数の時間ステップの各々において、前記エージェントによって実行されることになるアクションを選択するための出力を生成するために前記環境の現状を特徴付ける観測を含む入力を処理し、前記アクションに応答してタスク報酬を受信するように構成され、前記システムが、
マネージャニューラルネットワーク、およびオプションポリシーニューラルネットワークのセットを備え、各オプションポリシーニューラルネットワークが、それぞれのオプションポリシーに従って前記エージェントによって実行されることになるアクションのシーケンスを選択するためのものであり、
前記マネージャニューラルネットワークが、ある時間ステップにおいて、
マネージャアクションのセットからマネージャアクションを選択するための出力を生成するために、前記マネージャニューラルネットワークのパラメータ値に従って、前記観測と、前記エージェントによって現在実行されている前記タスクのうちの1つを識別するデータとを処理することであって、マネージャアクションの前記セットが、前記エージェントによって実行され得る考えらえるアクションとオプション選択アクションのセットとを含み、各オプション選択アクションが、前記オプションポリシーニューラルネットワークのうちの1つを選択する、処理すること
を行うように構成され、
各オプションポリシーニューラルネットワークが、連続する時間ステップの各々において、
前記エージェントによって実行されることになるアクションを選択するための出力を生成するために、前記オプションポリシーニューラルネットワークのパラメータ値によって定義されたオプションポリシーに従って、前記時間ステップにわたって前記観測を処理する
ように構成され、
前記選択されたマネージャアクションがオプション選択アクションであるとき、前記マネージャアクションによって選択される前記オプションポリシーニューラルネットワークが、オプション終了基準が満たされるまでの連続時間ステップにわたってアクションを選択するための前記出力を生成し、前記選択されたマネージャアクションが、前記エージェントによって実行され得る前記考えらえるアクションのうちの1つであるとき、前記アクションを選択するための前記出力が前記選択されたマネージャアクションであり、
前記システムがさらに、
各それぞれのオプションポリシーニューラルネットワークに対して1つ、オプション報酬ニューラルネットワークのセットを備え、各オプション報酬ニューラルネットワークが、時間ステップにわたって、
前記それぞれのオプションポリシーニューラルネットワークのためのオプション報酬を生成するために、前記オプション報酬ニューラルネットワークのパラメータ値に従って、前記観測を処理する
ように構成され、
前記システムが、前記タスク報酬を使用してオプション報酬ニューラルネットワークの前記セットおよび前記マネージャニューラルネットワークをトレーニングし、前記それぞれのオプションポリシーニューラルネットワークのための前記オプション報酬を使用して前記オプションポリシーニューラルネットワークの各々をトレーニングするように構成される
システム。
【請求項2】
前記オプション報酬ニューラルネットワークのパラメータ値が、前記環境からのリターンを最適化するために、前記それぞれのオプションポリシーニューラルネットワークの制御下で前記エージェントの前記環境との対話に基づいて調整されるメタ勾配トレーニング技法で前記タスク報酬を使用して各オプション報酬ニューラルネットワークをトレーニングするように構成される、請求項1に記載のシステム。
【請求項3】
前記タスク報酬を使用してオプション報酬ニューラルネットワークの前記セットおよび前記マネージャニューラルネットワークをトレーニングし、
前記オプション選択アクションの後、前記終了基準が満たされるまでの連続する時間ステップの間、
前記タスク報酬を使用して前記マネージャニューラルネットワークの前記パラメータ値を更新し、前記それぞれのオプションポリシーニューラルネットワークのための前記オプション報酬を使用して、前記オプション選択アクションによって選択された前記それぞれのオプションポリシーニューラルネットワークの前記パラメータ値を更新し、次いで、
前記終了基準が満たされた後、
前記タスク報酬を使用して前記それぞれのオプションポリシーニューラルネットワークのための前記オプション報酬ニューラルネットワークの前記パラメータ値を更新する
ことによって、前記それぞれのオプションポリシーニューラルネットワークのための前記オプション報酬を使用して前記オプションポリシーニューラルネットワークの各々をトレーニングするように構成される、請求項1または2に記載のシステム。
【請求項4】
前記タスク報酬を使用して前記それぞれのオプションポリシーニューラルネットワークのための前記オプション報酬ニューラルネットワークの前記パラメータ値を前記更新することが、
前記オプション選択アクションによって選択された前記それぞれのオプションポリシーニューラルネットワークによって選択された1つまたは複数のアクションのシーケンス、ならびに対応する観測およびタスク報酬を含む軌跡を生成することと、
前記軌跡からの前記タスク報酬を使用して前記それぞれのオプションポリシーニューラルネットワークのための前記オプション報酬ニューラルネットワークの前記パラメータ値を更新することと
を含む、請求項3に記載のシステム。
【請求項5】
前記軌跡からの前記タスク報酬を使用して前記それぞれのオプションポリシーニューラルネットワークのための前記オプション報酬ニューラルネットワークの前記パラメータ値を前記更新することが、前記それぞれのオプションポリシーニューラルネットワークを通して、かつ前記それぞれのオプションポリシーニューラルネットワークのための前記オプション報酬ニューラルネットワークを通して、前記軌跡からの前記タスク報酬に基づいてオプション報酬目的関数の勾配を逆伝搬することを含む、請求項4に記載のシステム。
【請求項6】
前記マネージャニューラルネットワークの前記パラメータ値、前記それぞれのオプションポリシーニューラルネットワークの前記パラメータ値、および前記オプション報酬ニューラルネットワークの前記パラメータ値のうちの1つまたは複数を前記更新することが、nステップリターンに基づいて更新することを含む、請求項3から5のいずれか一項に記載のシステム。
【請求項7】
前記タスク報酬を使用して前記マネージャニューラルネットワークの前記パラメータ値を前記更新することが、マネージャ目的関数の勾配を逆伝搬することを含み、前記それぞれのオプションポリシーニューラルネットワークの前記パラメータ値を前記更新することが、オプションポリシー目的関数の勾配を逆伝搬することを含み、前記マネージャ目的関数および前記オプションポリシー目的関数が各々、それぞれの強化学習目的関数を含む、請求項3から6のいずれか一項に記載のシステム。
【請求項8】
前記マネージャ目的関数および前記オプションポリシー目的関数の前記勾配が、それぞれのポリシー勾配を含む、請求項7に記載のシステム。
【請求項9】
各それぞれのオプションポリシーニューラルネットワークに対して1つ、オプション終了ニューラルネットワークのセットをさらに備え、各オプション終了ニューラルネットワークが、前記時間ステップの各々において、
前記それぞれのオプションポリシーニューラルネットワークのためのオプション終了値を生成するために、前記オプション報酬ニューラルネットワークの前記パラメータ値に従って、前記観測を処理する
ように構成され、
各オプション報酬ニューラルネットワークに対して、前記オプション終了値が、前記オプション終了基準が満たされるかどうかを決定する
請求項1から8のいずれか一項に記載のシステム。
【請求項10】
前記オプション終了ニューラルネットワークのパラメータ値が、前記環境からのリターンを最適化するために、前記それぞれのオプションポリシーニューラルネットワークの制御下で前記エージェントの前記環境との対話に基づいて調整されるメタ勾配トレーニング技法で前記タスク報酬を使用して前記オプション終了ニューラルネットワークをトレーニングするように構成される、請求項9に記載のシステム。
【請求項11】
前記終了基準がそれぞれのオプションポリシーニューラルネットワークに対して満たされた後、
前記タスク報酬を使用して前記それぞれのオプションポリシーニューラルネットワークのための前記オプション終了ニューラルネットワークの前記パラメータ値を更新すること
によって、オプション終了ニューラルネットワークの前記セットをトレーニングするように構成される、請求項9または10に記載のシステム。
【請求項12】
前記タスク報酬を使用して前記それぞれのオプションポリシーニューラルネットワークのための前記オプション終了ニューラルネットワークの前記パラメータ値を前記更新することが、
前記オプション選択アクションによって選択された前記それぞれのオプションポリシーニューラルネットワークによって選択された1つまたは複数のアクションのシーケンス、ならびに対応する観測およびタスク報酬を含む軌跡を生成することと、
前記軌跡からの前記タスク報酬を使用して前記それぞれのオプションポリシーニューラルネットワークのための前記オプション終了ニューラルネットワークの前記パラメータ値を更新することと
を含む、請求項11に記載のシステム。
【請求項13】
前記軌跡からの前記タスク報酬を使用して前記それぞれのオプションポリシーニューラルネットワークのための前記オプション終了ニューラルネットワークの前記パラメータ値を前記更新することが、前記それぞれのオプションポリシーニューラルネットワークを通して、かつ前記それぞれのオプションポリシーニューラルネットワークのための前記オプション終了ニューラルネットワークを通して、前記軌跡からの前記タスク報酬に基づいてオプション終了目的関数の勾配を逆伝搬することを含む、請求項12に記載のシステム。
【請求項14】
前記マネージャニューラルネットワークの現在のパラメータ値に従って、マネージャアクションを選択するときに前記環境から前記予想されるタスク報酬を含む予想されるリターンと切替えコストとに応じて、前記マネージャニューラルネットワークをトレーニングするように構成される、請求項1から13のいずれか一項に記載のシステム。
【請求項15】
前記切替えコストが、前記タスク報酬、または前記マネージャニューラルネットワークの前記パラメータ値を更新するために使用されるリターンを低減するように構成される、請求項14に記載のシステム。
【請求項16】
オプションポリシーニューラルネットワークの前記セットが、共有されるオプションポリシーニューラルネットワーク本体上にオプションポリシーニューラルネットワークヘッドのセットを備え、オプション報酬ニューラルネットワークの前記セットが、共有されるオプション報酬ニューラルネットワーク本体上にオプション報酬ニューラルネットワークヘッドのセットを備える、請求項1から15のいずれか一項に記載のシステム。
【請求項17】
環境と対話しながら複数のタスクを実行するようにエージェントを制御するために使用されるシステムをトレーニングするコンピュータ実装方法であって、前記システムが、複数の時間ステップの各々において、前記エージェントによって実行されることになるアクションを選択するための出力を生成するために前記環境の現状を特徴付ける観測を含む入力を処理し、前記アクションに応答してタスク報酬を受信するように構成され、前記方法が、
観測と、前記エージェントによって現在実行されている前記タスクのうちの1つを識別するタスク識別データとを取得するステップと、
マネージャアクションのセットからマネージャアクションを選択するための出力を生成するために、マネージャニューラルネットワークのパラメータ値に従って、前記観測および前記タスク識別データを処理するステップであって、
マネージャアクションの前記セットが、前記エージェントによって実行され得る考えられるアクションとオプション選択アクションのセットとを含み、各オプション選択アクションが、オプションポリシーニューラルネットワークのセットのうちの1つを選択するためのものである、ステップと、
前記選択されたマネージャアクションが前記エージェントによって実行され得る前記考えらえるアクションのうちの1つであるとき、前記エージェントによって実行されることになるアクションを選択するための出力を生成するために、前記選択されたマネージャアクションを使用するステップと、
前記選択されたマネージャアクションがオプション選択アクションであるとき、オプションポリシーニューラルネットワークを選択し、オプション終了基準が満たされるまでの連続時間ステップにわたって、前記エージェントによって実行されることになる前記アクションを選択するための前記出力を生成するために、前記選択されたオプションポリシーニューラルネットワークのパラメータ値によって定義されたオプションポリシーに従って、前記時間ステップにわたって前記観測を処理するステップと、
各それぞれのオプションポリシーニューラルネットワークに対して1つ、オプション報酬ニューラルネットワークのセットを維持するステップと、
前記選択されたオプションポリシーニューラルネットワークによる前記連続時間ステップにわたる前記観測の処理に基づいて、
前記それぞれのオプション報酬ニューラルネットワークのパラメータ値に従って前記観測を処理することによって生成されたオプション報酬を使用して、前記選択されたオプションポリシーニューラルネットワークをトレーニングするステップと、
前記タスク報酬を使用して前記マネージャニューラルネットワークをトレーニングするステップと、
前記選択されたオプションポリシーニューラルネットワークによる前記連続時間ステップにわたる前記観測の処理の後、前記タスク報酬を使用して前記それぞれのオプション報酬ニューラルネットワークをトレーニングするステップと
を含む、方法。
【請求項18】
前記それぞれのオプション報酬ニューラルネットワークを前記トレーニングするステップが、1つまたは複数のタスク報酬を受信するための1つまたは複数の観測に応答して前記環境において実行されることになる1つまたは複数のさらなるアクションを選択するために、前記トレーニングの後、前記選択されたオプションポリシーニューラルネットワークを使用するステップと、前記さらなるアクションに応答して受信された前記タスク報酬を使用して前記それぞれのオプション報酬ニューラルネットワークをトレーニングするステップとを含む、請求項17に記載の方法。
【請求項19】
各々がそれぞれのオプションポリシーニューラルネットワークに対して前記オプション終了基準が満たされるかどうかを決定する前記オプション終了ニューラルネットワークのパラメータ値に従ってオプション終了値を提供する、各前記それぞれのオプションポリシーニューラルネットワークに対して1つ、オプション終了ニューラルネットワークのセットを維持するステップと、
前記選択されたオプションポリシーニューラルネットワークによる前記連続時間ステップにわたる前記観測の処理中、前記オプション終了ニューラルネットワークの前記パラメータ値を固定するステップと、
前記選択されたオプションポリシーニューラルネットワークの前記連続時間ステップにわたる前記観測の処理の後、前記タスク報酬を使用して前記それぞれのオプション終了ニューラルネットワークをトレーニングするステップと
をさらに含む、請求項17または18に記載の方法。
【請求項20】
前記タスク報酬を使用して前記それぞれのオプション終了ニューラルネットワークを前記トレーニングするステップが、1つまたは複数のタスク報酬を受信するための1つまたは複数の観測に応答して前記環境において実行されることになる1つまたは複数のさらなるアクションを選択するために、前記トレーニングされた選択されたオプションポリシーニューラルネットワークを使用するステップと、前記さらなるアクションに応答して受信された前記タスク報酬を使用して前記それぞれのオプション終了ニューラルネットワークをトレーニングするステップとを含む、請求項19に記載の方法。
【請求項21】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項1から16のいずれか一項に記載のシステムまたは請求項17から20のいずれか一項に記載の方法を実装させる、コンピュータ可読命令、または前記コンピュータ可読命令を記憶した1つまたは複数のコンピュータ記憶媒体。
【請求項22】
1つまたは複数のコンピュータと、命令を記憶した1つまたは複数の記憶デバイスとを備えたシステムであって、前記命令が、1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項17から20のいずれか一項に記載の方法のそれぞれの動作を実行させる、システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年6月5日に出願した、米国仮出願第63/035,467号の優先権を主張するものである。先願の開示は、本出願の開示の一部であると見なされ、参照により本出願の開示に組み込まれる。
【0002】
本明細書は、強化学習に関する。
【背景技術】
【0003】
強化学習システムにおいて、エージェントは、環境の現状を特徴付ける観測の受信に応答して、強化学習システムによって選択された活動を実行することによって環境と対話する。
【0004】
いくつかの強化学習システムは、ニューラルネットワークの出力に従って、所与の観測の受信に応答して、エージェントによって実行されることになるアクションを選択する。
【0005】
ニューラルネットワークは、受信された入力に対する出力を予測するために非線形ユニットの1つまたは複数の層を採用する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む深層ニューラルネットワークである。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層に対する入力として使用される。ネットワークの各層は、パラメータのそれぞれのセットの現在値に従って、受信された入力から出力を生成する。
【発明の概要】
【課題を解決するための手段】
【0006】
本明細書は、概して、環境と対話しながら複数のタスクを実行するようにエージェントを制御するための強化学習システムについて説明する。システムはオプションを学習し、ここで、オプションは、オプションポリシーニューラルネットワークの制御下でエージェントによって実行される基本アクションのシーケンスを含む。基本アクションは、ある時間ステップにおいてエージェントによって実行されるアクションである。実装形態では、システムは、メタ学習によって、より詳細には、エージェントが環境と対話しながらオプションポリシーニューラルネットワークをトレーニングするための報酬を学習することによって、複数の異なるタスクに対して有用なオプションを発見する。
【0007】
したがって、一態様では、環境と対話しながら複数のタスクを実行するようにエージェントを制御するためのシステムについて説明する。このシステムは、複数の時間ステップの各々において、エージェントによって実行されることになるアクション、たとえば、考えられるアクションの所定のセットのうちの1つを選択するための出力を生成するために環境の現状を特徴付ける観測を含む入力を処理するように構成される。タスク報酬は、アクションに応答して受信され、いくつかのまたは多くの時間ステップに対して、タスク報酬はゼロであってよい。
【0008】
このシステムは、マネージャニューラルネットワーク、およびオプションポリシーニューラルネットワークのセットを備えてよく、各オプションポリシーニューラルネットワークは、それぞれのオプションポリシーに従ってエージェントによって実行されることになるアクションのシーケンスを選択するためのものである。マネージャニューラルネットワークは、ある時間ステップにおいて、たとえば、オプションアクションまたは基本アクションを選ぶ必要があるときに各時間ステップにおいて、マネージャアクションのセットからマネージャアクションを選択するための出力を生成するために、マネージャニューラルネットワークのパラメータ値に従って、その観測と、エージェントによって現在実行されているタスクのうちの1つ、たとえば、タスク埋込みを識別するデータとを処理するように構成され得る。マネージャアクションのセットは、エージェントによって実行され得る考えられる(基本)アクション、たとえば、考えられるアクションの所定のセット内の各アクションを含み得る。マネージャアクションのセットは、オプション選択アクションのセットを含んでよく、各オプション選択アクションは、オプションポリシーニューラルネットワークのうちの1つを選択する。
【0009】
各オプションポリシーニューラルネットワークは、時間ステップ(たとえば、オプションが選択されている間の時間ステップ)の連続の各々において、エージェントによって実行されることになるアクション、すなわち、基本アクションを選択するための出力を生成するために、オプションポリシーニューラルネットワークのパラメータ値によって定義されたオプションポリシーに従って、その時間ステップにわたって観測を処理するように構成され得る。選択されたマネージャアクションがオプション選択アクションであるとき、マネージャアクションによって選択されるオプションポリシーニューラルネットワークは、オプション終了基準が満たされるまでの連続時間ステップにわたってその出力を生成する。選択されたマネージャアクションがエージェントによって実行され得る考えられる(基本)アクションのうちの1つであるとき、アクションを選択するための出力は選択されたマネージャアクションである。
【0010】
このシステムは、各それぞれのオプションポリシーニューラルネットワークに対して1つ、オプション報酬ニューラルネットワークのセットを含み得る。各オプション報酬ニューラルネットワークは、それぞれのオプションポリシーニューラルネットワークのためのオプション報酬を生成するために、オプション報酬ニューラルネットワークのパラメータ値に従って、ある時間ステップにおいて観測を処理するように構成され得る。オプション報酬は、対応するオプションが選択される各時間ステップにわたって生成され得る。
【0011】
実装形態では、このシステムは、タスク報酬を使用してオプション報酬ニューラルネットワークのセットおよびマネージャニューラルネットワークをトレーニングするように構成される。このシステムは、それぞれのオプションポリシーニューラルネットワークのためのオプション報酬を使用してオプションポリシーニューラルネットワークの各々をトレーニングするように構成されてもよい。
【0012】
様々なニューラルネットワークおよびトレーニングが任意のモデルベースまたはモデルフリー強化学習方法、たとえば、単なる例として、アクタークリティック(A-C)方法、信頼領域ポリシー最適化(TRPO:Trust Region Policy Optimization)方法、深層決定論的ポリシー勾配(DDPG:Deep Deterministic Policy Gradient)方法など、確率的または決定論的ポリシー勾配技法、またはディープQネットワーク(DQN)方法など、関数近似技法を使用し得る。概して、本明細書において、アクションまたはオプションポリシーニューラルネットワークを選択するために出力が使用されるとき、出力は、アクションまたは選択を直接定義することができるか、もしくはアクションまたは選択のセットの中の各アクションまたは選択に対するスコアを定義することができるか、またはたとえば、1つまたは複数の確率分布のパラメータを提供することによって、各アクションまたは選択にそれぞれの確率を割り当てることができる。タスク報酬は、識別されたタスクの完了に向かうエージェントの進展を特徴付け得る。
【0013】
実装形態では、このシステムは、メタ勾配(meta-gradient)トレーニング技法、具体的には、環境からのリターン(return)を最適化するためにそれぞれのオプションポリシーニューラルネットワークの制御下でエージェントの環境との対話中、すなわち、その対話に基づいて、オプション報酬ニューラルネットワークのパラメータ値が調整される技法においてタスク報酬を使用して各オプション報酬ニューラルネットワークをトレーニングするように構成される。この文脈で、リターンは、エージェントによって受信されるタスク報酬の累積測度、たとえば、リターンを計算するとき、将来の報酬が割引係数γだけ割り引かれる時間割引された報酬和を指し得る。
【0014】
たとえば、オプション選択アクションの後、また終了基準が満たされるまでの連続する時間ステップの間、トレーニングすることは、タスク報酬を使用してマネージャニューラルネットワークのパラメータ値を更新することと、それぞれのオプションポリシーニューラルネットワークのためのオプション報酬を使用して、選択されたオプションポリシーニューラルネットワークのパラメータ値を更新することとを含み得る。この段階で、オプション報酬ニューラルネットワークのパラメータは固定され得る。その場合、終了基準が満たされた後、トレーニングすることは、タスク報酬を使用してそれぞれのオプションポリシーニューラルネットワークのためのオプション報酬ニューラルネットワークのパラメータ値を更新することを含み得る。
【0015】
タスク報酬はマネージャ(強化学習)目的関数を定義し得、オプション報酬はオプションポリシー(強化学習)目的関数を定義し得る。マネージャ目的関数およびオプションポリシー目的関数の勾配は各々、それぞれのポリシー勾配を含み得る。マネージャニューラルネットワークのパラメータ値を更新することは、マネージャ目的関数の勾配を逆伝搬することを含んでよく、同様に、オプションポリシーニューラルネットワークのパラメータ値を更新することは、オプションポリシー目的関数の勾配を逆伝搬することを含んでよい。
【0016】
実装形態では、パラメータ値を更新することは、前に選択されたオプションポリシーニューラルネットワークによって選定された1つまたは複数のアクションのシーケンス、ならびに対応する観測およびタスク報酬を含む軌跡を生成することを含み得る。それぞれのオプションポリシーニューラルネットワークのためのオプション報酬ニューラルネットワークのパラメータ値は、軌跡から取得されたタスク報酬を使用して更新され得る。これは、軌跡からのタスク報酬に基づくオプション報酬目的関数、たとえば、ポリシー勾配目的関数の勾配を逆伝搬することを必要とし得る。勾配は、それぞれのオプションポリシーニューラルネットワークを通して、たとえば、その間にオプションポリシーニューラルネットワークが(基本)アクションを選択するように動作する時間ステップの各々を通して、それぞれのオプション報酬ニューラルネットワークに逆伝搬され得る。
【0017】
いくつかの実装形態では、マネージャニューラルネットワーク、オプション報酬ニューラルネットワーク、および存在する場合、オプション終了ニューラルネットワーク(後で説明する)を更新するために、たとえば、ポリシー勾配更新において、同じ形態の推定されるリターンが使用されてよい。
【0018】
いくつかの実装形態では、マネージャニューラルネットワーク、オプション報酬ニューラルネットワーク、および存在する場合、オプション終了ニューラルネットワーク(後で説明する)を更新するために使用されるポリシー勾配はまた、値推定に依存する。同じ値推定がこれらのニューラルネットワークの各々を更新するために使用され得る。この文脈で、値推定は、識別されたタスクの成功裏の実行に向けた環境の現状の値を表す。たとえば、値推定は、環境が観測によって特徴付けられた現状にあることから得られる、識別されたタスクに対するリターンの推定を含み得る。
【0019】
アクタークリティックベースの実装形態では、マネージャニューラルネットワークは、たとえば、そのタスクを識別するデータに基づいて、タスク報酬を使用してトレーニングされた他のニューラルネットワークのための値推定を生成し得る。各オプションポリシーニューラルネットワークは、その独自の値推定を生成し得る。アクタークリティックベースの実装形態では、マネージャニューラルネットワーク、および各オプションポリシーニューラルネットワークは、対応するアクション選択データを提供するためのポリシーヘッド、および値推定を提供するための値ヘッドを備えた、ニューラルネットワークを含み得る。マネージャニューラルネットワーク、オプションポリシーニューラルネットワーク、およびオプション報酬ニューラルネットワークのうちの1つまたは複数は、推定されたnステップリターン、すなわち、n個のアクション選択時間ステップから計算されたリターンに基づいて更新され得る。
【0020】
このシステムのいくつかの実装形態は、各それぞれのオプションポリシーニューラルネットワークに対して1つ、オプション終了ニューラルネットワークのセットを含む。オプション終了ニューラルネットワークは各々、時間ステップの各々において、それぞれのオプションポリシーニューラルネットワークのためのオプション終了値を生成するために、オプション報酬ニューラルネットワークのパラメータ値に従って観測を処理するように構成され得る。各オプション報酬ニューラルネットワークに対して、オプション終了値は、オプション終了基準が満たされるかどうかを決定し得る。オプション報酬ニューラルネットワークは、直接または間接的にオプション終了値を生成することができ、たとえば、オプション報酬ニューラルネットワークは、そこからオプション終了値がサンプリングされ得る確率分布をパラメータ化し得る。
【0021】
このシステムは、メタ勾配トレーニング技法においてタスク報酬を使用してオプション終了ニューラルネットワークをトレーニングするように構成され得る。これは、環境からのリターンを最適化するために、それぞれのオプションポリシーニューラルネットワークの制御下でエージェントと環境との対話中、すなわち、その対話に基づいて、オプション終了ニューラルネットワークのパラメータ値が調整される技法であり得る。
【0022】
したがって、このシステムは、タスク報酬を使用してそれぞれのオプションポリシーニューラルネットワークのためのオプション報酬ニューラルネットワークのパラメータ値を更新することによって、それぞれのオプションポリシーニューラルネットワークに対して終了基準が満たされた後、オプション終了ニューラルネットワークのセットをトレーニングするように構成され得る。これは、それぞれのオプションポリシーニューラルネットワークによって選択された(すなわち、オプション選択アクションによって選択された)1つまたは複数のアクションのシーケンス、ならびに対応する観測およびタスク報酬を含む軌跡を生成することを含み得る。それぞれのオプションポリシーニューラルネットワークのためのオプション終了ニューラルネットワークのパラメータ値は、次いで、軌跡からのタスク報酬を使用して更新され得る。これは、オプションポリシーニューラルネットワークを通して、かつ対応するオプション終了ニューラルネットワークを通して、軌跡からのタスク報酬に基づいてオプション終了目的関数の勾配を逆伝搬することを必要とし得る。
【0023】
実装形態では、このシステムは、マネージャニューラルネットワークの現在のパラメータ値に従って、マネージャアクションを選択するときに環境から予想されるタスク報酬を含む推定されたリターンと切替えコストとに応じて、マネージャニューラルネットワークをトレーニングするように構成される。切替えコストは、時間的に拡張されるオプションの発見を促すためのオプションポリシーニューラルネットワークを選択するようにマネージャニューラルネットワークを促す。実装形態では、切替えコストは、タスク報酬、またはマネージャニューラルネットワークのパラメータを更新するために使用される各時間ステップにおけるリターンを低減するように構成される。切替えコストは、小さな負値を含み得る。
【0024】
オプションポリシーニューラルネットワークのセットは、共有されるオプションポリシーニューラルネットワーク本体上のオプションポリシーニューラルネットワークヘッドのセットとして実装され得る。同様に、オプション報酬ニューラルネットワークのセットは、共有されるオプション報酬ニューラルネットワーク本体上にオプション報酬ニューラルネットワークヘッドのセットを備えてよく、オプション終了ニューラルネットワークのセットは、共有されるオプション終了ニューラルネットワーク本体上にオプション終了ニューラルネットワークヘッドのセットを備えてよい。
【0025】
実装形態では、マネージャニューラルネットワークのみが、実行されているタスクを識別するデータを受信し、処理する。
【0026】
観測は、上記で説明したニューラルネットワークに提供される前に事前処理され得る。たとえば、観測が画像であるとき、事前処理は、観測をよりコンパクトな表現にマッピングする、畳み込みニューラルネットワーク層、随意に、その後、1つまたは複数の全結合ニューラルネットワーク層および/または1つまたは複数のリカレントニューラルネットワーク層のスタックを使用し得る。観測が追加の特徴、たとえば、固有受容性特徴(proprioceptive features)を含むとき、これらは、畳み込みスタックの出力を伴う1つまたは複数の全結合層に対する入力として提供され得る。
【0027】
別の態様では、環境と対話しながら複数のタスクを実行するようにエージェントを制御するために使用されるシステムをトレーニングするコンピュータ実装方法について説明する。このシステムは、複数の時間ステップの各々において、エージェントによって実行されることになるアクションを選択するための出力を生成するために環境の現状を特徴付ける観測を含む入力を処理し、そのアクションに応答してタスク報酬を受信するように構成される。
【0028】
この方法は、観測と、エージェントによって現在実行されているタスクのうちの1つを識別するタスク識別データとを取得するステップと、マネージャアクションのセットからマネージャアクションを選択するための出力を生成するために、マネージャニューラルネットワークのパラメータ値に従って、観測およびタスク識別データを処理するステップとを含み得る。マネージャアクションのセットは、エージェントによって実行され得る考えられるアクションとオプション選択アクションのセットとを含んでよく、各オプション選択アクションは、オプションポリシーニューラルネットワークのセットのうちの1つを選択するためのものである。選択されたマネージャアクションがエージェントによって実行され得る考えられるアクションのうちの1つであるとき、この方法は、エージェントによって実行されることになるアクションを選択するための出力を生成するために、選択されたマネージャアクションを使用するステップを含み得る。選択されたマネージャアクションがオプション選択アクションであるとき、この方法は、オプションポリシーニューラルネットワークを選択し、たとえば、オプション終了基準が満たされるまでの連続時間ステップにわたって、エージェントによって実行されることになるアクションを選択するための出力を生成するために、選択されたオプションポリシーニューラルネットワークのパラメータ値によって定義されたオプションポリシーに従って、その時間ステップにわたって観測を処理するステップとを含み得る。
【0029】
この方法は、各それぞれのオプションポリシーニューラルネットワークに対して1つ、オプション報酬ニューラルネットワークのセットを維持するステップをさらに含み得る。選択されたオプションポリシーニューラルネットワークによる連続時間ステップにわたる観測の処理中、すなわち、それに基づいて、この方法は、それぞれのオプション報酬ニューラルネットワークのパラメータ値に従って観測を処理することによって生成されたオプション報酬を使用して、選択されたオプションポリシーニューラルネットワークをトレーニングするステップと、タスク報酬を使用してマネージャニューラルネットワークをトレーニングするステップとを含み得る。選択されたオプションポリシーニューラルネットワークをトレーニングするステップは、それぞれのオプション報酬ニューラルネットワークからのオプション報酬を使用して、選択されたオプションポリシーニューラルネットワークのパラメータ値を更新するステップを含み得る。選択されたオプションポリシーニューラルネットワークによる連続時間ステップにわたる観測の処理の後、たとえば、終了条件が満たされた後、この方法は、タスク報酬を使用してそれぞれのオプション報酬ニューラルネットワークをトレーニングし得る。
【0030】
大まかに、この方法は、内部トレーニングループ内で、学習されたオプション報酬に対してオプションポリシーニューラルネットワークをトレーニングし、オプション報酬ニューラルネットワーク、存在する場合、オプション終了ニューラルネットワークのパラメータを更新する外部トレーニングループ内で、オプション報酬ニューラルネットワークを更新する、たとえば、内部ループ更新を通して逆伝搬する、コールアンドリターン(call-and-return)オプション実行モデルを実装する。
【0031】
この方法は、各々がそれぞれのオプションポリシーニューラルネットワークに対してオプション終了基準が満たされるかどうかを決定するオプション終了ニューラルネットワークのパラメータ値に従ってオプション終了値を提供する、各それぞれのオプションポリシーニューラルネットワークに対して1つ、オプション終了ニューラルネットワークのセットを維持するステップを必要とし得る。選択されたオプションポリシーニューラルネットワークによる連続時間ステップにわたる観測の処理中、オプション終了ニューラルネットワークの(またオプション報酬ニューラルネットワークの)パラメータ値は固定され得る。選択されたオプションポリシーニューラルネットワークによる連続時間ステップにわたる観測の処理の後、それぞれのオプション終了ニューラルネットワークは、タスク報酬を使用してトレーニングされ得る。
【0032】
オプション報酬ニューラルネットワークをトレーニングすることは、新しい軌跡を生成するために、すなわち、1つまたは複数のタスク報酬を受信するための1つまたは複数の観測に応答して環境において実行されることになる1つまたは複数のさらなるアクションを選択するために、(部分的に)トレーニングされた、選択されたオプションポリシーニューラルネットワークを使用することを含み得る。それぞれのオプション報酬ニューラルネットワークは、さらなるアクションに応答して受信されたタスク報酬を使用してトレーニングされ得る。それぞれのオプション終了ニューラルネットワークは、同様の方法でトレーニングされてよい。
【0033】
上記で説明したシステムおよび方法のいくつかの実装形態では、タスクは、複数の異なるエージェント制御タスク、すなわち、同じ機械的エージェントに同じ実世界環境内でまたは実世界環境のシミュレートされたバージョン内で異なる目的を達成させるようにエージェントを制御することを含むタスクである。
【0034】
エージェントは、たとえば、ロボットまたは自律型もしくは半自律型車両であってよい。たとえば、タスクは、エージェントを環境における異なるロケーションにナビゲートさせること、エージェントに異なる対象物を見つけさせること、エージェントに異なる対象物を取り上げさせることまたは異なる対象物を1つまたは複数の指定されたロケーションに移動させることなどを含み得る。これらのオプションは、メインタスクに関するより単純なサブタスクを定義し得る。
【0035】
より詳細には、いくつかの適用例では、環境は実世界環境であり、エージェントはその実世界環境と対話する機械的エージェントである。たとえば、エージェントは、1つまたは複数の特定のタスクを達成するために環境と対話するロボットであり得る。別の例では、エージェントは、環境を通してナビゲートする、自律型または半自律型の陸上もしくは空中または水中車両であってよい。これらの実装形態では、アクションは、ロボットまたは車両の物理的挙動を制御するための制御信号であり得る。
【0036】
概して、観測は、たとえば、画像、対象物、位置データ、およびエージェントが環境と対話するにつれて観測をキャプチャするためのセンサーデータ、たとえば、画像、距離、またはアクチュエータの位置センサーからのセンサーデータのうちの1つまたは複数を含み得る。ロボットまたは他の機械的エージェントもしくは車両の場合、観測は同様に、位置、線形または角度速度、力、トルクまたは加速度、およびエージェントの1つまたは複数の部分の包括的または相対的ポーズのうちの1つまたは複数を含み得る。観測は、1次元、2次元、または3次元で定義されてよく、絶対的および/または相対的観測であってよい。たとえば、ロボットの場合、観測は、ロボットの現状、たとえば、関節位置、関節速度、関節力、トルクまたは加速度、およびロボットによって保持されるアームおよび/またはアイテムなど、アイテムロボットの部分の包括的または相対的ポーズのうちの1つまたは複数を特徴付けるデータを含み得る。観測はまた、たとえば、モーター電流または温度信号など感知された電子信号、および/またはたとえば、カメラまたはLIDARセンサーからの画像またはビデオデータ、たとえば、エージェントのセンサーからのデータまたは環境においてエージェントから個別に位置するセンサーからのデータを含み得る。
【0037】
これらの適用例では、アクションは、ロボット、たとえば、ロボットの関節に対するトルクまたはハイレベルの制御コマンドを制御するための制御信号、または自律型または半自律型の陸上もしくは空中または水中車両、たとえば、制御面、または車両の他の制御要素に対するトルクまたはハイレベルの制御コマンドを制御するための制御信号、またはたとえば、モーター制御データであってよい。言い換えれば、アクションは、たとえば、ロボットの1つまたは複数の関節または他の機械的エージェントの部分に対する位置、速度、または力/トルク/加速度データを含み得る。アクションデータは、モーター制御データなど、これらのアクションに関するデータおよび/または電子制御データ、または、より一般に、その制御が環境の観測された状態に対して影響を有する環境内の1つまたは複数の電子デバイスを制御するためのデータを含み得る。たとえば、自律型または半自律型の陸上もしくは空中または水中車両の場合、アクションは、ナビゲーションを制御するアクション、たとえば、ステアリングおよび移動、たとえば、車両の制御および/または加速度を含み得る。
【0038】
報酬は、たとえば、1つまたは複数のターゲットロケーション、1つまたは複数のターゲットポーズ、または1つまたは複数の他のターゲット構成に近づくまたはそれを達成するための1つまたは複数の報酬を含み得る。たとえば、ロボットの場合、報酬は、関節の向き(角度)もしくは速度、エンドエフェクタ位置、中心位置、または本体部分のグループの位置および/または向きに依存し得る。たとえば、対象物と対話するときにかかる力、エネルギー使用、またはロボット本体部分の位置に応じて、コスト(すなわち、負の報酬)が同様に定義され得る。
【0039】
このシステムは、倉庫、ロジスティックス、または工場の自動化タスク、たとえば、収納された商品またはそれらの製造中の商品もしくは商品の部分の収集、配置、または移動などのタスクを実行するために車両またはロボットをトレーニングするために使用されてよく、または実行されるタスクは、パッケージ配送制御タスクを含んでよい。アクションは、ステアリングに関するアクションまたは他の方向制御アクションを含んでよく、観測は、他の車両またはロボットの位置または運動の観測を含んでよい。ロボットまたは車両は、実世界環境において使用される前にシミュレーションでトレーニングされ得る。
【0040】
いくつかの適用例では、エージェントは、静止またはモバイルソフトウェアエージェント、すなわち、自律的にかつ/またはタスクを実行するための他のソフトウェアエージェントまたは人々と共に動作するように構成されたコンピュータプログラムであってよい。たとえば、環境は、集積回路ルーティング環境であってよく、システムは、ASICなどの集積回路の相互接続線をルーティングするためのルーティングタスクを実行するために学習するように構成されてよい。報酬(またはコスト)は、その場合、配線抵抗、キャパシタンス、インピーダンス、損失、速度または伝搬遅延など、1つまたは複数のルーティングメトリック、幅、厚さ、またはジオメトリなどの物理行(physical line)パラメータ、および設計規則に依存し得る。観測は、構成要素の位置および相互接続の観測であってよく、アクションは、たとえば、構成要素の位置または向きを定義するための構成要素配置アクションおよび/または相互接続ルーティングアクション、たとえば、相互接続選択および/または配置アクションを含んでよい。
【0041】
いくつかの適用例では、エージェントは、電子エージェントであってよく、観測は、電流、電圧、電力、温度など、工場またはサービス施設の部分を監視する1つまたは複数のセンサー、および器機の電子および/または機械部材の機能を表す他のセンサーおよび/または電子信号からのデータを含んでよい。エージェントは、器機の部材を含めて、実世界環境における、たとえば、データセンター、サーバファーム、もしくはグリッド主電源または配水システムなどの施設におけるアクション、または製造工場またはサービス施設におけるアクション、またはソーラーまたはウィンドファームなど、発電施設におけるアクションを制御し得る。観測は、その場合、工場または施設の運営に関することがあり、たとえば、観測は、器機による電力または水の使用の観測、もしくは発電または配電制御の観測、またはリソース使用または廃棄物生産の観測を含んでよい。アクションは、工場/施設の器機の部材に対する動作条件を制御または課すアクション、および/または、たとえば、工場/施設の構成要素を調整するまたはオン/オフにするための、工場/施設の動作における設置に変更をもたらすアクションを含んでよい。タスクは、複数の異なる制御タスク、たとえば、リソース使用、たとえば、水または電力制御;環境影響制御、電気または他の電力消費制御;加熱、冷却、または温度制御、また概して、施設内の部材の制御を含んでよい。
【0042】
いくつかの適用例では、環境は、データパケット通信ネットワーク環境であってよく、エージェントは、通信ネットワーク上のデータのパケットをルーティングするためのルータを含んでよい。アクションは、データパケットルーティングアクションを含んでよく、観測は、たとえば、ルーティング経路の長さ、帯域、負荷、ホップカウント、パスコスト、遅延、最大送信単位(MTU)、および信頼性のメトリックなど、ルーティングメトリックを含めて、ルーティングテーブルの観測を含んでよい。タスクは、ルーティングメトリックのうちの1つまたは複数を最大化または最小化するためのリワード/コストを伴うパケットルーティングタスクを含んでよい。
【0043】
いくつかの他の適用例では、エージェントは、たとえば、モバイルデバイス上でかつ/またはデータセンター内でコンピューティングリソースにわたって計算タスクの分布を管理するソフトウェアエージェントである。これらの実装形態では、観測は、計算および/またはメモリ容量などのコンピューティングリソース、またはインターネットアクセス可能リソースの観測を含んでよく、アクションおよび関連タスクは、計算タスクを特定のコンピューティングリソースに割り当てることを含んでよい。報酬は、たとえば、コンピューティングリソースの利用、電力、帯域、および計算速度に依存し得る。
【0044】
いくつかの他の適用例では、環境は、インターネットまたはモバイル通信環境であり、エージェントは、ユーザ用の個人化された推奨を管理するソフトウェアエージェントである。観測は、ユーザが前にとったアクション(を特徴付ける特徴)を含んでよく、タスクは、ユーザに対するコンテンツアイテムなど、アイテムを推奨するアクションを含んでよい。報酬は、ユーザが推奨された(コンテンツ)アイテムに好都合に反応すると推定される見込み、またはユーザが(随意に、ある時間帯内に)受信した推奨の数を含んでよく、コストは、1つまたは複数の推奨されるアイテムの適合性、推奨されるアイテムのコストに依存し得る。
【0045】
いくつかのさらなる適用例では、環境はサイバーセキュリティ環境である。たとえば、観測は、コンピュータネットワークまたは分散型コンピューティングシステムの状態を特徴付けるデータを含んでよく、アクションは、たとえば、1つまたは複数の他のエージェントによる、サイバーセキュリティ攻撃からコンピュータシステムを守るタスクに関することがある。
【0046】
本明細書で説明する主題は、以下の利点のうちの1つまたは複数を実現するために、特定の実施形態で実装され得る。
【0047】
これらの技法のいくつかの実装形態は、個別のアクションを伴うタスクおよび連続的な制御タスクを含めて、複数のタスクにとって有用な、オプション、すなわち、基本アクションのシーケンスを発見し得る。対照的に、2つ以上のタスクにとって有用なアクションのシーケンスをハンドエンジニアする(hand-engineered)ことは困難なことがある。説明する技法は、一般的であり、いずれかの特定の適用領域に限定されず、人間の監督または領域固有の知識なしにオプションを学習し得る。
【0048】
モデルベースの強化学習の文脈で、説明する技法は、アクションの長いシーケンスにわたって適用される更新を提供することができるため、これらの技法は、学習の速度およびデータ効率を改善し得る。モデルフリー強化学習の文脈で、これらの技法は、エージェントにアクションのシーケンスを含む意図的な挙動にコミットさせ、より良い探索をもたらし得る。
【0049】
たとえば、有用でないオプションはアクション空間を増大させる可能性があるため、複数のタスクに有用なオプションを手で設計するのではなく、学習することは、オプションが学習を減速させるリスクを低減するのに役立つ。説明する技法はまた、マネージャニューラルネットワークが基本アクションのみを使用してタスクを実行することを学習するリスクも低減し得る。システムの実装形態は、オプション終了値、ならびに、オプション挙動を介して、オプションの時間的なスケールを学習することが可能である。
【0050】
システムの実装形態は、したがって、非常に安定したデータ効率の高い方法で高品質のマルチタスクポリシーを学習することが可能である。環境と繰り返し対話を行う結果としての損傷および機械故障のリスクが大きく低減され得るため、これは、説明する技法を実世界のロボットまたは他の機械的エージェントによって実行されるタスクに対して特に有用にする。新しく複雑なタスクは、従来の技法よりも少ない計算リソースを消費すると同時に、システムによってより高速で収集された、より少ないデータを使用して学習され得る。有用なオプションを発見し学習することによって、システムがそれらのタスクのすべてを実行するようにエージェントを効果的に制御することを可能にするために、知識は複数のタスクにわたって効果的に共有され得る。
【0051】
本明細書を通して、たとえば、ニューラルネットワークを使用して画像を処理することは、ニューラルネットワークを使用して画像の画素に関連付けられた強度値を処理することを指す。
【0052】
本明細書で説明する主題の1つまたは複数の実装形態の詳細は、添付の図面および以下の発明を実施するための形態に記載される。主題の他の特徴、態様、および利点は、発明を実施するための形態、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0053】
【
図1】オプションを学習する強化学習ニューラルネットワークシステムを示す図である。
【
図2】タスクを実行するために
図1のシステムを使用するための例示的なプロセスを示す図である。
【
図3】
図1のシステムをトレーニングするための内部ループプロセスの一例を示す図である。
【
図4】
図1のシステムをトレーニングするための外部ループプロセスの一例を示す図である。
【発明を実施するための形態】
【0054】
図において、同様の参照符号は同様の要素を示す。
【0055】
本明細書は、ニューラルネットワークベースの強化学習システム、および異なるタスクにわたって再使用可能なオプション、すなわち、基本アクションのシーケンスを発見するために学習する方法について説明する。1つの特定のタスクの文脈で学習されるオプションは、別の異なるタスクの学習を減速させることがある。本明細書で説明する技法は、一般的なユーティリティのオプションが発見されることを可能にし、複数の異なるタスクにわたる学習を円滑にする。これは、それらのオプションについてオプションポリシーニューラルネットワークに何の報酬を提供するかを学習すること、また実装形態では、オプションをいつ終了するかをやはり学習することによって、達成される。
【0056】
実装形態では、タスクは、エージェント制御タスク、一般に、同じ実世界環境において異なる目標を達成するために、ロボットなど、同じ機械的エージェントを制御することを必要とするタスクである。たとえば、タスクは、環境においてエージェントが1つまたは複数の対象物を拾い上げること、特定のロケーションに移動させること、配列すること、またはさもなければ、操作することを必要とし得るか、またはタスクは、エージェントが環境内でナビゲートすることを必要とし得る。いくつかの実装形態では、システムは、実世界環境のシミュレートされたバージョンの中でトレーニングされ、次いで、実世界環境において使用されてよく、実世界環境において、システムはさらにトレーニングしてよく、またはしなくてもよい。タスクは、その目標によって指定され得る。概して、1つのタスクのみが一度に実行される。
【0057】
図1は、1つまたは複数のロケーション内の1つまたは複数のコンピュータ上の1つまたは複数のコンピュータプログラムとして実装され得る強化学習ニューラルネットワークシステム100を示す。
【0058】
システム100は、環境104においてエージェントのアクションを制御するための制御信号をエージェント102に提供する出力を有する。概して、エージェントがアクションを実行するとき、環境は、現状から新しい状態に遷移し、エージェント102に環境104内で繰り返し活動させることによって、システム100は、指定されたタスクを完了するようにエージェント102を制御し得る。エージェントアクションは、考えられるアクションのセットから選択された個別アクション、または連続アクション、すなわち、モータートルクなどの連続変数によって定義されたアクションなどであってよい。
【0059】
システム100はまた、環境からデータを受信するための1つまたは複数の入力を有する。これは、時間tにおける環境の状態stを特徴付ける情報を提供する1つまたは複数のセンサーからのデータを含む。これらのデータは、観測106と呼ばれる。環境からのデータはまた、タスク報酬rを含む。概して、タスク報酬は、タスク目標に向かうエージェントの進展を特徴付けるスカラー数値であり得る。タスク報酬は、たとえば、タスクが進展するにつれて受信され得るか、またはタスクの成功裏の完了(またはそれ以外)を示すための、タスクの終了時にのみ受信され得る。報酬は、正であっても負であってもよく、すなわち、本明細書で使用する「報酬」はコストを含む。
【0060】
概して、システム100は、環境の状態の観測を受信し、これらを処理して、エージェントにタスクを実行させる制御信号をエージェントに提供する。少なくとも学習の間、システム100は、報酬を使用して、タスクを実行するために何の制御信号を提供するかを学習する。
【0061】
システム100は、複数の異なるタスクを実行するように学習することが可能であり、いくつかの実装形態では、実行されることになるタスクを識別するデータ110を受信するための入力を含む。実行することになるタスクを識別するためのデータは、ユーザなど、外部ソースから入ってよく、またはそのデータは、たとえば、システム100が含まれるより大きなシステムによって、自律的に選択されてもよい。
【0062】
本明細書で説明する技法は、タスクを識別するいずれかの特定の方法に依拠しない。いくつかの実装形態では、タスクは、タスクの目標g、たとえば、タスクによって達成されることになる最終状態の表現によって識別され得る。いくつかの他の実装形態では、タスクは、標示によって単に識別されてよい(また、受信される特定の報酬はタスクごとに異なってよい)。
【0063】
システム100は、マネージャニューラルネットワーク120、オプションポリシーニューラルネットワーク130のセット、オプション報酬ニューラルネットワーク140のセット、および随意に、オプション終了ニューラルネットワーク150のセットを含む。ニューラルネットワークの機能については以下で説明する。
【0064】
少なくともトレーニング中、システム100はまたトレーニングエンジン160を含む。トレーニングエンジンは、たとえば、後で説明するように、ニューラルネットワークのパラメータを更新するために、トレーニングプロセスを実装するように動作する。
【0065】
トレーニングエンジンは、強化学習を使用して、それらのそれぞれの報酬に基づいて、マネージャニューラルネットワーク120およびオプションポリシーニューラルネットワーク130をトレーニングする。トレーニングエンジンはまた、オプション報酬ニューラルネットワーク140およびオプション終了ニューラルネットワーク150をトレーニングする。これらのニューラルネットワークのパラメータに対する変更はマネージャニューラルネットワーク120の性能およびオプションポリシーニューラルネットワーク130の性能に間接的に影響を及ぼすため、これはメタ勾配手法を使用する。メタ勾配手法は、複数のタスクにわたってマネージャおよびオプションポリシーニューラルネットワークの性能を評価し、この評価を使用してオプション報酬およびオプション終了ニューラルネットワークをトレーニングする。このようにして、オプション報酬およびオプション終了ニューラルネットワークは、複数のタスクにわたって有用なオプション報酬および終了基準を発見する。
【0066】
マネージャニューラルネットワーク120は、マネージャニューラルネットワーク出力(πM)を生成するために、マネージャニューラルネットワークのパラメータ値に従って、観測106、および現在実行されているタスクを識別するデータ110を受信し処理するように構成される。マネージャニューラルネットワーク出力は、エージェントによって実行され得る考えられる個別または連続アクションを含むマネージャアクションのセットおよびオプション選択アクションのセットからマネージャアクションを選択するように構成され、各オプション選択アクションは、オプションポリシーニューラルネットワークのうちの1つを選択する。いくつかの実装形態では、マネージャニューラルネットワーク出力は、考えられるマネージャアクションに対する確率分布の1つまたは複数のパラメータを定義する、すなわち、マネージャニューラルネットワーク出力は、確率的アクション選択ポリシーを定義する。次いで、たとえば、確率分布からのサンプリングによって、または最高確率アクションを選択することによって、マネージャアクションが選択され得る。トレーニングエンジン160は、タスク報酬を最大化するようにマネージャニューラルネットワークをトレーニングするように構成される。
【0067】
各オプションポリシーニューラルネットワーク130は、エージェントによって実行され得る、考えられるアクションを選択するように構成されたオプションポリシーニューラルネットワーク出力
【0068】
【0069】
を生成するために、オプションポリシーニューラルネットワークのパラメータ値に従って、観測106を受信し処理するように構成される。いくつかの実装形態では、オプションポリシーネットワーク出力は、考えられる個別または連続エージェントアクションに対する確率分布の1つまたは複数のパラメータを定義する、すなわち、オプションポリシーネットワーク出力は確率アクション選択ポリシーを定義する。マネージャニューラルネットワーク120によって選択されると、オプションポリシーニューラルネットワーク130は、オプション終了基準が満たされるまでの連続時間ステップにわたってエージェントによって実行されることになるアクションを選択する。これらのアクションは、たとえば、確率分布からサンプリングすることによってまたは最高確率アクションを選択することによって選択される。トレーニングエンジン160は、それぞれのオプション報酬ニューラルネットワーク140によって生成されたオプション報酬を最大化するように各オプションポリシーニューラルネットワークをトレーニングするように構成される。
【0070】
各オプション報酬ニューラルネットワーク140は、そのそれぞれのオプションポリシーニューラルネットワーク130のためのオプション報酬
【0071】
【0072】
を生成するために、オプション報酬ニューラルネットワークのパラメータ値に従って、観測106を受信し処理するように構成される。実装形態では、オプション報酬はスカラー数値である。
【0073】
各オプション終了ニューラルネットワーク150は、そのそれぞれのオプションポリシーニューラルネットワーク130に対するオプション終了値
【0074】
【0075】
を生成するために、オプション終了ニューラルネットワークのパラメータ値に従って、観測106を受信し処理するように構成される。オプション終了値は、オプション終了基準がそのそれぞれのオプションポリシーニューラルネットワーク130に対して満たされるかどうかを決定する。実装形態では、オプション終了値は、スカラー値、たとえば、{0,1}など、カテゴリー分布から確率的にサンプリングされた値であり、ここで、1つの値は終了、または、たとえば、終了の確率を示す[0,1]などの範囲内のスカラーを示す。
【0076】
あるオプションはタスクに対して学習された副目標に対応する。以下で説明するトレーニングプロセスは、学習されることになる複数の異なるタスクに対して有用な副目標、または「オプション」を可能にする。オプションは各々、オプションポリシーニューラルネットワークのうちの1つに対応する。単なる例として、実装形態は、1~20の順位のオプションを有してよい。
【0077】
図1に示すように、オプションポリシーニューラルネットワーク130、オプション報酬ニューラルネットワーク140、およびオプション終了ニューラルネットワーク150は各々、共有ニューラルネットワーク本体上に異なるニューラルネットワークヘッドを備え得る。いくつかの実装形態では、各ニューラルネットワーク本体は、基本的に同じアーキテクチャを有し得る。しかしながら、実装形態では、マネージャニューラルネットワーク120のみがタスクを識別するデータ110、すなわち、タスク目標を受信し、他のニューラルネットワークは、タスク目標を受信しない。これは、複数のタスクにわたって有用なタスク独立オプションを発見するのに役立つ。
【0078】
図1に示さないが、マネージャニューラルネットワーク120、オプションポリシーニューラルネットワーク130、オプション報酬ニューラルネットワーク140、またはオプション終了ニューラルネットワーク150のうちの1つまたは複数によって処理されるのに先立って、観測106が符号化されてよく、かつ/または画像特徴および固有受容性特徴など、異なるタイプの観測特徴が組み合わされてよい。単なる例として、マネージャニューラルネットワーク120の場合、現在実行されているタスクを識別するデータ110は、画像の符号化されたバージョンの追加のチャネルとして、画像を含む観測と組み合わされてよい。概して、マネージャニューラルネットワーク120、オプションポリシーニューラルネットワーク130、オプション報酬ニューラルネットワーク140、およびオプション終了ニューラルネットワーク150は、任意のアーキテクチャを有してよく、たとえば、これらは、1つまたは複数のフィードフォワード、畳み込み、リカレント、バッチ正規化、またはレイヤ正規化ニューラルネットワーク層を含んでよい。
【0079】
図2は、タスクを実行するために強化学習ニューラルネットワークシステム100を使用するための例示的なプロセスを示す。
図2のプロセスは、1つまたは複数のロケーション内の1つまたは複数のコンピュータのシステムによるトレーニング中および/または後に実行され得る。
【0080】
ステップ200において、システムは、現在の時間ステップtにおける環境の状態stの観測106、およびタスク(目標)gを識別するデータ110を受信し処理し、ステップ202において、たとえば、確率分布πMを定義する、マネージャニューラルネットワーク出力を生成するために、マネージャニューラルネットワーク120を使用してこれを処理する。
【0081】
プロセスは、次いで、エージェントのためのアクション、すなわち、基本アクション、またはオプションポリシーニューラルネットワークを選択するためのオプション選択アクションのいずれかであるマネージャアクションを選択するためにマネージャニューラルネットワーク出力を使用する(ステップ204)。マネージャアクションを選択することは、確率分布πMからサンプリングすることを含み得る。マネージャアクションがオプション選択アクションである場合、エージェントのためのアクションを選択するために選択されたオプションポリシーニューラルネットワークを使用する(ステップ206)。
【0082】
プロセスは、次いで、選択されたアクションをエージェントによって実行させる出力、たとえば、制御信号出力を生成する(ステップ208)。結果として、環境の次の観測が受信され、随意に、タスク報酬が受信される。
【0083】
実行されることになるアクションを選択するための出力は、マネージャニューラルネットワーク120によってまたは選択されたオプションポリシーニューラルネットワークによって生成され得る。マネージャニューラルネットワークがオプション選択アクションを出力する場合、プロセスは、オプション終了基準が満たされるまで、継続的に観測を受信し処理し、エージェントアクションを選択するための出力を生成するために、選択されたオプションポリシーニューラルネットワークを使用する(ステップ210)。プロセスは、マネージャニューラルネットワークを再度用いて最近の観測を処理するためにループバックし得る。
【0084】
実装形態では、選択されたオプションポリシーニューラルネットワークに対応するオプション終了ニューラルネットワークが、オプションが終了されるべきであることを示すオプション終了値、たとえば、
【0085】
【0086】
などのカテゴリー値、またはしきい値よりも大きい終了確率を示すスカラー値を出力するとき、オプション終了基準は満たされる。オプション終了基準が満たされると、新しいオプションまたは基本アクションを選択するための新しいマネージャニューラルネットワーク出力が生成される。
【0087】
タスクを実行するための強化学習ニューラルネットワークシステム100用の例示的なトレーニングプロセスは、内部ループおよび外部ループを有する。内部ループは、マネージャニューラルネットワーク120のパラメータおよびオプションポリシーニューラルネットワーク130のパラメータを更新する。外部ループは、オプション報酬ニューラルネットワーク140のパラメータおよびオプション終了ニューラルネットワーク150のパラメータを更新する。トレーニングプロセスの開始時に、システム100のニューラルネットワークのパラメータは、たとえば、ランダムに初期化される。
【0088】
図3は、内部ループプロセスの例を示す。プロセスは、1つまたは複数のロケーション内の1つまたは複数のコンピュータによって実行され得る。プロセスは、たとえば、考えられるタスクからランダムにサンプリングすることによって、タスクを選定することによって開始する(ステップ300)。
【0089】
次いで、環境の状態の観測106が取得され、マネージャニューラルネットワーク出力を生成するために、マネージャニューラルネットワーク120によるタスクを識別するデータ110とともに処理される。この例では、これは、エージェントアクションまたは「オプション」、すなわち、前に説明したように、オプションポリシーニューラルネットワーク130のうちの1つを選択する(ステップ302)ためにサンプリングされる。マネージャニューラルネットワークがエージェントアクションを選択すると、これが実行される。オプションが選択される場合、この場合も前に説明したように、選択されたオプションポリシーニューラルネットワークによってエージェントアクションが選択される。マネージャニューラルネットワークは、オプションを選択する前に、複数のエージェントアクションを選択し得る。
【0090】
オプションが選択された場合、観測106は、選択されたオプションポリシーニューラルネットワーク、選択されたオプションポリシーニューラルネットワークに対応するオプション報酬ニューラルネットワークおよび選択されたオプションポリシーニューラルネットワークに対応するオプション終了ニューラルネットワークの各々によって処理される。
図1に示すような実装形態では、ニューラルネットワーク130~150が各々、共有本体上に複数のニューラルネットワークヘッドを備える場合、ニューラルネットワークはすべて、観測を処理することができる。
【0091】
エージェントアクションを選択するために、選択されたオプションポリシーニューラルネットワークが使用される(ステップ304)。システムは、次いで、選択されたアクションを実行するようにエージェントを制御するための出力を生成し(ステップ306)、環境は新しい状態に遷移し、新しい状態の観測が取得され、タスク報酬が環境から受信され得る。
【0092】
たとえば、対応するオプション終了ニューラルネットワークからのオプション終了値、たとえば、βo=1によって示されるように、終了までオプションは続く。したがって、ステップ304および306は繰り返される。このようにして、内部ループによって遷移のnステップ軌跡を取得する(ステップ308)。
【0093】
遷移の軌跡は、一連のn個の時間ステップ(ここで、nは1であってよい)の各々に対する遷移を含む。各遷移は、観測を表すデータ、選択されたエージェントアクション、タスク報酬(もしあれば)、および選択されたオプションポリシーニューラルネットワークに対応するオプション報酬ニューラルネットワークからのオプション報酬を含む。遷移はまた、対応するオプション終了ニューラルネットワークからのオプション終了値を含み得る。随意に、軌跡は、タスクを識別するデータ、および選択されたオプションを示すデータを含み得る。
【0094】
プロセスは、次いで、nステップ軌跡を使用して、マネージャニューラルネットワーク120および選択されたオプションポリシーニューラルネットワークをトレーニングするために任意の強化学習技法を使用する(ステップ310)。具体的には、マネージャニューラルネットワークは、タスク報酬を使用してトレーニングされ、選択されたオプションポリシーニューラルネットワークは、選択されたオプションポリシーニューラルネットワークに対応するオプション報酬ニューラルネットワークからのオプション報酬を使用してトレーニングされる。実装形態では、マネージャニューラルネットワーク出力がオプション(またはエージェントアクション)を選択するために使用された場合、マネージャニューラルネットワーク120は、遷移を使用してのみトレーニングされる。
【0095】
各ニューラルネットワークをトレーニングすることは、ニューラルネットワークのパラメータを更新するために、ニューラルネットワークを通して、ニューラルネットワークのための報酬に応じて、強化学習目的関数の勾配を逆伝搬することを含み得る。具体的には、マネージャニューラルネットワークは、タスク報酬の時間割引された和、すなわち、環境からのリターンを最大化するようにトレーニングされ得、選択されたオプションポリシーニューラルネットワークは、オプション報酬の時間割引された和を最大化するようにトレーニングされ得る。いくつかの実装形態では、対応するオプション終了ニューラルネットワークからのオプション終了値は、時間割引係数として使用され得る(たとえば、オプション終了値がカテゴリー変数でない場合)。
【0096】
1つの例示的な実装形態では、アクタークリティック強化学習方法が使用される。そのような実装形態では、マネージャニューラルネットワーク出力、およびオプションポリシーニューラルネットワーク出力の各々は、それぞれの状態値を定義する、たとえば、別個のヘッドからの、出力を含む。状態値は、アクションを選択するためにオプションポリシーニューラルネットワークを使用するとき、タスクの成功裏の実行に向けた環境の現状の値の推定値、たとえば、現在の観測によって特徴付けられるような、現状からタスクに対して推定されるリターンである。その場合、オプションポリシーニューラルネットワークのパラメータ値θoに対する更新は、次のように、各時間tに対して決定され得る:
【0097】
【0098】
式中、πo(at|st)は、時間tにおける環境の状態stを前提として、時間tにおけるアクションatを選択するためのオプションポリシーニューラルネットワーク出力、たとえば、アクションatに対する確率値またはスコアであり、vo(st)は、状態stに対するオプションポリシーニューラルネットワーク状態値出力であり、κoは、ポリシー更新に関する状態値更新を重み付けする(一般に、順序単位、たとえば、0.5の)ハイパーパラメータであり、
【0099】
【0100】
は、オプションポリシーニューラルネットワークのパラメータ値に対してとられる勾配であり、
【0101】
【0102】
は、アクションを選択するためのオプションポリシーニューラルネットワーク出力に対する、時間tにおけるターゲット値または目標、すなわち、オプションポリシー目的関数であり、αは、学習レートである。
【0103】
同様に、マネージャニューラルネットワークのパラメータ値θMに対する更新は、オプションが次のようにサンプリングされるとき、時間t0に対して決定され得:
【0104】
【0105】
式中、
【0106】
【0107】
は、タスク識別gおよび時間t0における環境の状態
【0108】
【0109】
を前提として、時間t0におけるオプションoを選択するためのマネージャニューラルネットワーク出力、たとえば、オプションoに対する確率値またはスコアであり、
【0110】
【0111】
は、状態
【0112】
【0113】
に対するマネージャニューラルネットワーク状態値出力であり、κMは、(一般に、順序単位、たとえば、0.5の)ポリシー更新に対して状態値更新に重み付けするハイパーパラメータであり、
【0114】
【0115】
は、マネージャニューラルネットワークのパラメータ値に対してとられる勾配であり、
【0116】
【0117】
は、オプションを選択するためのマネージャニューラルネットワーク出力に対する、時間t0におけるターゲット値または目標、すなわち、マネージャ目的関数であり、αは、その学習レートまたは別の学習レートである。
【0118】
オプションポリシーニューラルネットワーク出力
【0119】
【0120】
に対する、およびマネージャニューラルネットワーク出力
【0121】
【0122】
に対するターゲット値または目標は各々、それぞれのnステップリターンであり得る。nステップリターンは、内部ループによって収集されたnステップ軌跡、すなわち、時間toに開始し、後でオプション終了ニューラルネットワークが、オプションが完了すべきであることを示すときにn個の時間ステップにおいて終了する軌跡に対して評価され得る。オプションポリシーニューラルネットワーク出力に対するnステップリターンは、オプションポリシーニューラルネットワークのためのオプション報酬ニューラルネットワークからのオプション報酬を使用して評価される。たとえば、時間tにおけるオプションポリシーニューラルネットワークのためのオプション終了値
【0123】
【0124】
が時間割引係数として使用される場合、
【0125】
【0126】
オプションポリシーニューラルネットワーク出力に対するnステップリターンは、環境からのタスク報酬を使用して評価される。たとえば、
【0127】
【0128】
であり、式中、γは時間割引係数であり、-cは、オプション終了時に、マネージャニューラルネットワーク更新のためのステップ単位報酬に加えられる切替えコストを表す。切替えコストは、時間的に拡張されたオプションを選択するように、したがって、それらの発見を加えるようにマネージャニューラルネットワークを促すハイパーパラメータである。単なる例として、cは、報酬スケールに相当するが、これよりも小さい値を有し得る。
【0129】
図4は、外部ループプロセスの例を示す。この場合も、プロセスは、1つまたは複数のロケーション内の1つまたは複数のコンピュータによって実行され得る。これは、一度または複数回数、内部ループプロセスを実行することによって開始する(ステップ400)。たとえば、内部ループは、後続の外部ループステップの前に、最高で10回まで実行され得る。
【0130】
内部ループが実行されると、随意に、新しいタスクが選択され得る。しかしながら、これは、内部ループに対して使用されるタスクと異なる必要はない(ステップ402)。このタスクは、前に説明したように、すなわち、オプション(または、エージェントアクション)を選択するためにマネージャニューラルネットワークを使用して、次いで、オプションの終了まで、エージェントアクションを選択するために、選択されたオプションポリシーニューラルネットワークを使用して、実行される。このようにして、新しいタスクは、新しいmステップ「検証」軌跡を取得するために、たとえば、m個のステップに対して実行される(ステップ404)。
【0131】
プロセスは、次いで、検証軌跡を使用して、具体的には、検証軌跡においてタスク報酬を使用して、選択されたオプションに対してオプション報酬ニューラルネットワークおよびオプション終了ニューラルネットワークをトレーニングする(ステップ406)。これは、オプション報酬ニューラルネットワークのパラメータを更新するために、オプション選択されたオプションポリシーニューラルネットワークを通して、タスク報酬に応じて、オプション報酬目的関数の勾配を対応するオプション報酬ニューラルネットワークに逆伝搬することを含み得る。これは、オプション終了ニューラルネットワークのパラメータを更新するために、選択されたオプションポリシーニューラルネットワークを通して、タスク報酬に応じて、オプション終了目的関数の勾配を対応するオプション終了ニューラルネットワークに逆伝搬することをさらに含み得る。
【0132】
オプション報酬目的関数およびオプション終了目的関数は、タスク報酬またはリターンに応じた任意のタイプの強化学習目的関数であってよい。オプション報酬ニューラルネットワークの各々に対して、またはオプション終了ニューラルネットワークの各々に対して、同じ目的関数が使用され得る。たとえば、アクタークリティック強化学習方法が使用される場合、オプション報酬ニューラルネットワークのパラメータ値
【0133】
【0134】
に対する、およびオプション終了ニューラルネットワークのパラメータ値
【0135】
【0136】
に対する更新は、
【0137】
【0138】
および
【0139】
【0140】
として決定され得、式中、
【0141】
【0142】
および
【0143】
【0144】
は、それぞれのオプション報酬およびオプション終了ニューラルネットワークのパラメータ値に対してとられる勾配であり、αηは、2つの更新に対して同じであってよいが、そうでなくてもよい学習レートである。
【0145】
いくつかの実装形態では、マネージャ、オプションポリシー、オプション報酬、およびオプション終了ニューラルネットワークのパラメータ値に対する更新を決定する式は、トレーニング中の初期収束を抑制するためのエントロピー正則化条件、たとえば、-logπ(a|st)の勾配に応じたスモールターム(small term)など、エントロピーボーナスのパラメータ値に対する勾配を含み得る。
【0146】
上記の勾配
【0147】
【0148】
および
【0149】
【0150】
はメタ勾配と呼ばれることがあるが、それは、これらの勾配は、選択されたオプションポリシーニューラルネットワークの挙動を制御するオプション報酬値およびオプション終了値を生成する、メタパラメータ、すなわち、対応するオプション報酬ニューラルネットワークおよびオプション終了ニューラルネットワークのパラメータを更新するためのものである。
【0151】
実装形態では、オプション報酬ニューラルネットワークおよびオプション終了ニューラルネットワークは、タスク報酬の時間割引された和、すなわち、環境からのリターン、たとえば、マネージャニューラルネットワークをトレーニングするために内部ループ内で使用されたのと同じリターンを最大化するようにトレーニングされ得る。
【0152】
概念的に、検証軌跡は、内部ループ内で学習されたオプションポリシーを評価するために、またこれらのポリシーの学習を導くオプション報酬値および終了値を更新するために使用される。したがって、内部ループ内で、オプション報酬ニューラルネットワークおよびオプション終了ニューラルネットワークのパラメータは固定され、マネージャおよびオプションポリシーニューラルネットワークのパラメータに対して更新が行われる。次いで、外部ループ内でメタ勾配が決定され、メタ勾配は、オプション報酬およびオプション終了ニューラルネットワークのパラメータに対する外部ループ目的の変更に依存し、したがって、マネージャおよびオプションポリシーニューラルネットワークのための更新が外部ループ目的に対して有する影響に依存する。オプション報酬およびオプション終了ニューラルネットワークのパラメータに対する更新は、内部ループ更新を通して逆伝搬すること、たとえば、選択されたオプションポリシーニューラルネットワークのパラメータに対する内部ループ更新の各々のコピーを記憶することによって、計算され得る。実際には、これは、オプション報酬ニューラルネットワークのパラメータを通して遡って自動微分することによって達成され得る。
【0153】
外部ループは、トレーニングが完了するまで、たとえば、最大数のトレーニング時間ステップに達するまで、複数回数実行される。外部ループは、選択されたオプションに対応するオプション報酬およびオプション終了ニューラルネットワークのパラメータのみを更新し得るが、経時的に、すべてのオプション報酬およびオプション終了ニューラルネットワークのパラメータが更新される。
【0154】
上記で説明したシステムおよび方法の実装形態は、オプション報酬およびオプション終了ニューラルネットワークによってパラメータ化された、各オプションポリシーニューラルネットワークのための異なる目的を最適化するように学習し得る。これらのオプションは、複数のタスクにわたって有用な目的が発見されるという意味で、ディスエンタングルされる(disentangled)。これは、新しいタスクの学習を加速することができ、トレーニング中により高い報酬を達成するのに役立ち得る。
【0155】
たとえば、いくつかの実装形態では、オプションポリシー、オプション報酬、およびオプション終了ニューラルネットワークのパラメータは、何らかのトレーニングの後で固定されてよい。マネージャニューラルネットワークは、その場合、学習されたオプションによって円滑にされて、新しい(前に見られなかった)タスクを実行するようにトレーニングされ得る。この段階で、マネージャニューラルネットワークをトレーニングするとき、切替えコストは省かれてよい。
【0156】
概して、システムがトレーニングされると、そのシステムは、環境において学習されたタスクのうちの1つまたは複数を実行するようにエージェントを制御するために使用され得る。同じくまたは代わりに、第2のシステムのマネージャニューラルネットワークが前に学習されたオプションを使用して、すなわち、提供されるパラメータを有するオプションポリシー、オプション報酬、およびオプション終了ニューラルネットワークを使用して1つまたは複数のタスクを実行するようにトレーニングされ得るように、トレーニングされたオプションポリシー、オプション報酬、およびオプション終了ニューラルネットワークのパラメータが第2の同様のシステムに提供され得る。
【0157】
ここで論じるシステムが個人情報を潜在的に含むデータを使用する状況では、記憶または使用されるデータからそのような個人情報を決定することができないように、そのデータが記憶または使用される前に、そのデータは、アグリゲーションおよび匿名化など、1つまたは複数の方法で処理され得る。さらに、そのような情報の使用は、そのような情報を使用するシステムの出力から個人的に識別可能な情報を決定することができないようなものであり得る。
【0158】
本明細書は、システムおよびコンピュータプログラム構成要素に関して「構成された」という用語を使用する。1つまたは複数のコンピュータのシステムが特定の動作またはアクションを実行するように構成されることは、そのシステムが、そのシステムにそれらの動作またはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをその上にインストールしていることを意味する。1つまたは複数のコンピュータプログラムが特定の動作またはアクションを実行するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されると、その装置にそれらの動作またはアクションを実行させる命令を含むことを意味する。
【0159】
主題および本明細書で説明する機能的動作の実施形態は、デジタル電子回路で、有形に実施されたコンピュータソフトウェアまたはファームウェアで、本明細書で開示する構造およびそれらの構造的均等物を含めて、コンピュータハードウェアで、またはそれらのうちの1つまたは複数の組合せで、実装され得る。本明細書で説明する主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のための、またはその動作を制御するための有形の非一時的記憶媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基盤、ランダムまたはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたは複数の組合せであってよい。代替または追加として、プログラム命令は、データ処理装置による実行のために好適な受信機装置に送信するための情報を符号化するために生成された、人工的に生成された伝搬信号、たとえば、機械生成された電気、光、または電磁信号上で符号化され得る。
【0160】
「データ処理装置」という用語は、データ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含めて、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)であってもよく、またはそれらをさらに含んでもよい。装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を生み出すコード、たとえば、プロセッサファームウェア、プロトコルタスク、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せを構成するコードを随意に含んでよい。
【0161】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるかまたはそれとして説明されることもあるコンピュータプログラムは、コンパイル型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含めて、任意の形態のプログラミング言語で書き込まれてよく、そのコンピュータプログラムは、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、もしくはコンピューティング環境における使用に適した他のユニットとして、を含めて、任意の形態で展開されてよい。プログラムはファイルシステム内のファイルに対応し得るが、そうでなくてもよい。プログラムは、他のプログラムまたはデータ、たとえば、マークアップ言語文書で記憶された1つまたは複数のスクリプトを保持するファイルの一部分の中に、当該プログラム専用の単一のファイルの中に、または複数の協調ファイル、たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイルの中に記憶されてよい。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトにおいて配置されるか、または複数のサイトにわたって分散され、データ通信ネットワークによって相互接続された、複数のコンピュータ上で実行されるように展開され得る。
【0162】
本明細書では、「エンジン」という用語は、1つまたは複数の特定の機能を実行するようにプログラムされたソフトウェアベースのシステム、サブシステム、またはプロセスを広く指すために使用される。概して、エンジンは、1つまたは複数のロケーション内の1つまたは複数のコンピュータ上にインストールされた、1つまたは複数のソフトウェアモジュールまたは構成要素として実装されることになる。場合によっては、1つまたは複数のコンピュータが特定のエンジン専用になり、他の場合には、複数のエンジンが同じ1つまたは複数のコンピュータ上にインストールされ、その上で実行され得る。
【0163】
本明細書で説明するプロセスおよび論理フローは、入力データを動作させ、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する、1つまたは複数のプログラマブルコンピュータによって実行され得る。プロセスおよび論理フローはまた、特定用途向け論理回路、たとえば、FPGAまたはASICによって、または専用論理回路と1つまたは複数のプログラムされたコンピュータの組合せによって実行されてもよい。
【0164】
コンピュータプログラムの実行に適したコンピュータは、汎用もしくは専用マイクロプロセッサまたはそれらの両方、あるいは任意の他のタイプの中央処理装置に基づいてよい。概して、中央処理装置は、読取り専用またはランダムアクセスメモリまたはそれらの両方から命令およびデータを受信することになる。コンピュータの要素は、命令を実行(performing)または実行(executing)するための中央処理装置、および命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央処理装置およびメモリは、専用論理回路によって補足されてよく、またはその中に組み込まれてよい。概して、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気、光磁気、または光ディスクを含むことになるか、またはそこからデータを受信するように、もしくはそこにデータを転送するように、または両方のために動作可能に結合されることになる。しかしながら、コンピュータは、そのようなデバイスを有さなくてもよい。さらに、コンピュータは、別のデバイス、たとえば、いくつかの例を挙げれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ内に埋め込まれてよい。
【0165】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス;磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク;光磁気ディスク;およびCD-ROMおよびDVD-ROMディスクを含めて、すべての形態の不揮発性メモリ、メディアおよびメモリデバイスを含む。
【0166】
ユーザとの対話を実現するために、本明細書で説明する主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、それによりユーザがコンピュータに入力を提供し得るキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実装され得る。ユーザとの対話を実現するための他の種類のデバイスが同様に使用されてよく、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってよく、ユーザからの入力は、音響入力、音声入力、または触覚入力を含めて、任意の形態で受信されてよい。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信すること、またはそこから文書を受信することによって、たとえば、ユーザのデバイス上のウェブブラウザから受信された要求に応答して、そのウェブブラウザにウェブページを送信することによって、ユーザと対話し得る。また、コンピュータは、テキストメッセージまたは他の形態のメッセージをパーソナルデバイス、たとえば、メッセージングアプリケーションを実行しているスマートフォンに送信すること、および返報に応答メッセージをユーザから受信することによって、ユーザと対話し得る。
【0167】
機械学習モデルを実装するためのデータ処理装置は、たとえば、機械学習トレーニングまたは生成の一般的および計算集約的部分、すなわち、推論、作業負荷を処理するための専用ハードウェアアクセラレータユニットを含んでもよい。
【0168】
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワークを使用して実装され展開されてよい。
【0169】
本明細書で説明する主題の実施形態は、バックエンド構成要素、たとえば、データサーバを含む、もしくはミドルウェア構成要素、たとえば、アプリケーションサーバを含む、またはフロントエンド構成要素、たとえば、それを通してユーザが本明細書で説明する主題の実装形態と対話し得るグラフィカルユーザインターフェース、ウェブブラウザ、またはアプリを有するクライアントコンピュータを含む、あるいは1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムで実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)、たとえば、インターネットを含む。
【0170】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して、互いと離れており、一般に、通信ネットワークを通して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行し、互いとクライアント-サーバの関係を有する、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、たとえば、クライアントとして働くデバイスと対話するユーザにデータを表示し、ユーザからユーザ入力を受信するために、データ、たとえば、HTMLページをユーザデバイスに送信する。ユーザデバイスにおいて生成されたデータ、たとえば、ユーザ対話の結果は、デバイスからサーバにおいて受信され得る。
【0171】
本明細書は多くの特定の実装形態の詳細を含むが、これらは、いずれの発明の範囲に対するまたは特許請求され得るものの範囲に対する限定と解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に固有であり得る特徴の説明と解釈されるべきである。別個の実施形態の文脈で本明細書において説明するいくつかの特徴は、単一の実施形態で組み合わせて実装されてもよい。反対に、単一の実施形態の文脈で説明する様々な特徴は、複数の実施形態で別個に、またはいずれかの好適な部分組合せで実装されてもよい。さらに、特徴は、いくつかの組合せで動作するとして上記で説明され、当初、そのように特許請求されることすらあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除されてよく、特許請求される組合せは、部分組合せまたは部分組合せの変形体を対象とすることがある。
【0172】
同様に、動作は特定の順序で図面に示され、請求項で列挙されるが、これは、そのような動作が示された特定の順序でまたは順番で実行されること、または所望の結果を達成するために、すべての示された動作が実行されることを必要とすると理解すべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。さらに、上記で説明した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とすると理解すべきではなく、説明したプログラム構成要素およびシステムは、概して、単一のソフトウェア製品内に一緒に組み込まれてよいか、または複数のソフトウェア製品にパッケージ化されてよいと理解すべきである。
【0173】
主題の特定の実施形態について説明してきた。他の実施形態は、以下の請求項の範囲内である。たとえば、請求項で列挙されるアクションは、異なる順序で実行されてよく、依然として、所望の結果をもたらし得る。一例として、添付の図面に示したプロセスは、所望の結果を達成するために、示した特定の順序、または順番を必ずしも必要とするとは限らない。場合によっては、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【0174】
100 強化学習ニューラルネットワークシステム、システム
102 エージェント
104 環境
106 観測
110 データ
120 マネージャニューラルネットワーク
130 オプションポリシーニューラルネットワーク
140 オプション報酬ニューラルネットワーク
150 オプション終了ニューラルネットワーク
160 トレーニングエンジン
【手続補正書】
【提出日】2022-12-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
環境と対話しながら複数のタスクを実行するようにエージェントを制御するためのコンピュータに実装されるシステムであって、複数の時間ステップの各々において、前記エージェントによって実行されることになるアクションを選択するための出力を生成するために前記環境の現状を特徴付ける観測を含む入力を処理し、前記アクションに応答してタスク報酬を受信するように構成され、前記システムが、
マネージャニューラルネットワークと、複数のオプションポリシーニューラルネットワークのセットであって、各オプションポリシーニューラルネットワークが、それぞれのオプションポリシーに従って前記エージェントによって実行されることになるアクションのシーケンスを選択するためのものである複数のオプションポリシーニューラルネットワークのセットと、
前記複数のオプションポリシーニューラルネットワークの各々に対して1つ、複数のオプション報酬ニューラルネットワークのセットとを備え、
前記マネージャニューラルネットワークが、ある時間ステップにおいて、
マネージャアクションのセットから1つのマネージャアクションを選択するための出力を生成するために、前記マネージャニューラルネットワークのパラメータ値に従って、前記観測と、前記エージェントによって現在実行されている前記タスクのうちの1つを識別するデータとを処理することであって、マネージャアクションの前記セットが、前記エージェントによって実行され得る考えらえるアクションとオプション選択アクションのセットとを含み、各オプション選択アクションが、前記複数のオプションポリシーニューラルネットワークのうちの1つのニューラルネットワークを選択する、処理すること
を行うように構成され、
前記複数のオプションポリシーニューラルネットワークの各々が、連続する時間ステップの各々において、
前記エージェントによって実行されることになるアクションを選択するための出力を生成するために、前記複数のオプションポリシーニューラルネットワークのパラメータ値によって定義されたオプションポリシーに従って、前記時間ステップにわたって前記観測を処理する
ように構成され、
前記1つのマネージャアクションがオプション選択アクションであるとき、前記1つのマネージャアクションによって選択される前記1つのニューラルネットワークが、オプション終了基準が満たされるまでの連続時間ステップにわたってアクションを選択するための前記出力を生成し、前記1つのマネージャアクションが、前記エージェントによって実行され得る前記考えらえるアクションのうちの1つであるとき、前記アクションを選択するための前記出力が前記1つのマネージャアクションであり、
前記複数のオプション報酬ニューラルネットワークの各々が、時間ステップにわたって、
前記複数のオプションポリシーニューラルネットワークの各々のためのオプション報酬を生成するために、前記複数のオプション報酬ニューラルネットワークのパラメータ値に従って、前記観測を処理する
ように構成され、
前記システムが、前記タスク報酬を使用して前記複数のオプション報酬ニューラルネットワークの前記セットおよび前記マネージャニューラルネットワークをトレーニングし、前記オプション報酬を使用して前記複数のオプションポリシーニューラルネットワークの各々をトレーニングするように構成される
システム。
【請求項2】
前記複数のオプション報酬ニューラルネットワークのパラメータ値が、前記環境からのリターンを最適化するために、前記複数のオプションポリシーニューラルネットワークの各々の制御下で前記エージェントの前記環境との対話に基づいて調整されるメタ勾配トレーニング技法で前記タスク報酬を使用して前記複数のオプション報酬ニューラルネットワークの各々をトレーニングするように構成される、請求項1に記載のシステム。
【請求項3】
前記タスク報酬を使用してオプション報酬ニューラルネットワークの前記セットおよび前記マネージャニューラルネットワークをトレーニングし、
前記オプション選択アクションの後、前記オプション終了基準が満たされるまでの連続する時間ステップの間、
前記タスク報酬を使用して前記マネージャニューラルネットワークの前記パラメータ値を更新し、
前記オプション報酬を使用して、前記オプション選択アクションによって選択された前記複数のオプションポリシーニューラルネットワークの各々の前記パラメータ値を更新し、次いで、
前記オプション終了基準が満たされた後、
前記タスク報酬を使用して前記複数のオプションポリシーニューラルネットワークの各々のための前記複数のオプション報酬ニューラルネットワークの前記パラメータ値を更新することによって、前記オプション報酬を使用して前記複数のオプションポリシーニューラルネットワークの各々をトレーニングするように構成される、請求項1または2に記載のシステム。
【請求項4】
前記タスク報酬を使用して前記複数のオプションポリシーニューラルネットワークの各々のための前記複数のオプション報酬ニューラルネットワークの前記パラメータ値を前記更新することが、
前記オプション選択アクションによって選択された前記複数のオプションポリシーニューラルネットワークの各々によって選択された1つまたは複数のアクションのシーケンス、ならびに対応する観測およびタスク報酬を含む軌跡を生成することと、
前記軌跡からの前記タスク報酬を使用して前記複数のオプションポリシーニューラルネットワークの各々のための前記複数のオプション報酬ニューラルネットワークの前記パラメータ値を更新することと
を含む、請求項3に記載のシステム。
【請求項5】
前記軌跡からの前記タスク報酬を使用して前記複数のオプションポリシーニューラルネットワークの各々のための前記複数のオプション報酬ニューラルネットワークの前記パラメータ値を前記更新することが、前記複数のオプションポリシーニューラルネットワークの各々を通して、かつ前記複数のオプションポリシーニューラルネットワークの各々のための前記オプション報酬ニューラルネットワークの1つを通して、前記軌跡からの前記タスク報酬に基づいてオプション報酬目的関数の勾配を逆伝搬することを含む、請求項4に記載のシステム。
【請求項6】
前記マネージャニューラルネットワークの前記パラメータ値と、前記複数のオプションポリシーニューラルネットワークの各々の前記パラメータ値と、前記複数のオプション報酬ニューラルネットワークの前記パラメータ値と、のうちの1つまたは複数を前記更新することが、nステップリターンに基づいて更新することを含む、請求項3から5のいずれか一項に記載のシステム。
【請求項7】
前記タスク報酬を使用して前記マネージャニューラルネットワークの前記パラメータ値を前記更新することが、マネージャ目的関数の勾配を逆伝搬することを含み、前記複数のオプションポリシーニューラルネットワークの各々の前記パラメータ値を前記更新することが、オプションポリシー目的関数の勾配を逆伝搬することを含み、前記マネージャ目的関数および前記オプションポリシー目的関数が各々、それぞれの強化学習目的関数を含む、請求項3から6のいずれか一項に記載のシステム。
【請求項8】
前記マネージャ目的関数および前記オプションポリシー目的関数の前記勾配が、それぞれのポリシー勾配を含む、請求項7に記載のシステム。
【請求項9】
前記複数のオプションポリシーニューラルネットワークの各々に対して1つ、複数のオプション終了ニューラルネットワークのセットをさらに備え、前記複数のオプション終了ニューラルネットワークの各々が、前記時間ステップの各々において、
前記複数のオプションポリシーニューラルネットワークの各々のためのオプション終了値を生成するために、前記複数のオプション報酬ニューラルネットワークの前記パラメータ値に従って、前記観測を処理する
ように構成され、
前記複数のオプション報酬ニューラルネットワークの各々に対して、前記オプション終了値が、前記オプション終了基準が満たされるかどうかを決定する
請求項1から8のいずれか一項に記載のシステム。
【請求項10】
前記複数のオプション終了ニューラルネットワークのパラメータ値が、前記環境からのリターンを最適化するために、前記複数のオプションポリシーニューラルネットワークの各々の制御下で前記エージェントの前記環境との対話に基づいて調整されるメタ勾配トレーニング技法で前記タスク報酬を使用して前記複数のオプション終了ニューラルネットワークをトレーニングするように構成される、請求項9に記載のシステム。
【請求項11】
前記オプション終了基準が前記複数のオプションポリシーニューラルネットワークの各々に対して満たされた後、
前記タスク報酬を使用して前記複数のオプションポリシーニューラルネットワークの各々のための前記複数のオプション終了ニューラルネットワークの前記パラメータ値を更新することによって、前記複数のオプション終了ニューラルネットワークの前記セットをトレーニングするように構成される、請求項9または10に記載のシステム。
【請求項12】
前記タスク報酬を使用して前記複数のオプションポリシーニューラルネットワークの各々のための前記複数のオプション終了ニューラルネットワークの前記パラメータ値を前記更新することが、
前記オプション選択アクションによって選択された前記複数のオプションポリシーニューラルネットワークの各々によって選択された1つまたは複数のアクションのシーケンス、ならびに対応する観測およびタスク報酬を含む軌跡を生成することと、
前記軌跡からの前記タスク報酬を使用して前記複数のオプションポリシーニューラルネットワークの各々のための前記複数のオプション終了ニューラルネットワークの前記パラメータ値を更新することと
を含む、請求項11に記載のシステム。
【請求項13】
前記軌跡からの前記タスク報酬を使用して前記複数のオプションポリシーニューラルネットワークの各々のための前記複数のオプション終了ニューラルネットワークの前記パラメータ値を前記更新することが、前記複数のオプションポリシーニューラルネットワークの各々を通して、かつ前記複数のオプションポリシーニューラルネットワークの各々のための前記複数のオプション終了ニューラルネットワークを通して、前記軌跡からの前記タスク報酬に基づいてオプション終了目的関数の勾配を逆伝搬することを含む、請求項12に記載のシステム。
【請求項14】
前記マネージャニューラルネットワークの現在のパラメータ値に従って、マネージャアクションを選択するときに前記環境から予想されるタスク報酬を含む予想されるリターンと切替えコストとに応じて、前記マネージャニューラルネットワークをトレーニングするように構成される、請求項1から13のいずれか一項に記載のシステム。
【請求項15】
前記切替えコストが、前記タスク報酬、または前記マネージャニューラルネットワークの前記パラメータ値を更新するために使用されるリターンを低減するように構成される、請求項14に記載のシステム。
【請求項16】
前記複数のオプションポリシーニューラルネットワークの前記セットが、共有されるオプションポリシーニューラルネットワーク本体上にオプションポリシーニューラルネットワークヘッドのセットを備え、前記複数のオプション報酬ニューラルネットワークの前記セットが、共有されるオプション報酬ニューラルネットワーク本体上にオプション報酬ニューラルネットワークヘッドのセットを備える、請求項1から15のいずれか一項に記載のシステム。
【請求項17】
環境と対話しながら複数のタスクを実行するようにエージェントを制御するために使用されるシステムをトレーニングするコンピュータに実装される方法であって、前記システムが、複数の時間ステップの各々において、前記エージェントによって実行されることになるアクションを選択するための出力を生成するために前記環境の現状を特徴付ける観測を含む入力を処理し、前記アクションに応答してタスク報酬を受信するように構成され、前記方法が、
観測と、前記エージェントによって現在実行されている前記複数のタスクのうちの1つを識別するタスク識別データとを取得するステップと、
マネージャアクションのセットから1つのマネージャアクションを選択するための出力を生成するために、マネージャニューラルネットワークのパラメータ値に従って、前記観測および前記タスク識別データを処理するステップであって、
マネージャアクションの前記セットが、前記エージェントによって実行され得る考えられるアクションとオプション選択アクションのセットとを含み、各オプション選択アクションが、複数のオプションポリシーニューラルネットワークのセットのうちの1つのニューラルネットワークを選択するためのものである、ステップと、
前記1つのマネージャアクションが前記エージェントによって実行され得る前記考えらえるアクションのうちの1つであるとき、前記エージェントによって実行されることになるアクションを選択するための出力を生成するために、前記選択されたマネージャアクションを使用するステップと、
前記1つのマネージャアクションがオプション選択アクションであるとき、前記1つのニューラルネットワークを選択し、オプション終了基準が満たされるまでの連続時間ステップにわたって、前記エージェントによって実行されることになる前記アクションを選択するための前記出力を生成するために、前記1つのニューラルネットワークのパラメータ値によって定義されたオプションポリシーに従って、前記時間ステップにわたって前記観測を処理するステップと、
前記複数のオプションポリシーニューラルネットワークに対して1つ、複数のオプション報酬ニューラルネットワークのセットを維持するステップと、
前記1つのニューラルネットワークによる前記連続時間ステップにわたる前記観測の処理に基づいて、
前記複数のオプション報酬ニューラルネットワークの各々のパラメータ値に従って前記観測を処理することによって生成されたオプション報酬を使用して、前記1つのニューラルネットワークをトレーニングするステップと、
前記タスク報酬を使用して前記マネージャニューラルネットワークをトレーニングするステップと、
前記1つのニューラルネットワークによる前記連続時間ステップにわたる前記観測の処理の後、前記タスク報酬を使用して前記複数のオプション報酬ニューラルネットワークの各々をトレーニングするステップと
を含む、方法。
【請求項18】
前記複数のオプション報酬ニューラルネットワークの各々を前記トレーニングするステップが、前記タスク報酬を受信するための1つまたは複数の観測に応答して前記環境において実行されることになる1つまたは複数のさらなるアクションを選択するために、前記トレーニングの後、前記1つのニューラルネットワークを使用するステップと、前記さらなるアクションに応答して受信された前記タスク報酬を使用して前記複数のオプション報酬ニューラルネットワークの各々をトレーニングするステップとを含む、請求項17に記載の方法。
【請求項19】
各々がそれぞれのオプションポリシーニューラルネットワークに対して前記オプション終了基準が満たされるかどうかを決定する複数のオプション終了ニューラルネットワークのパラメータ値に従ってオプション終了値を提供する、前記複数のオプションポリシーニューラルネットワークの各々に対して1つ、前記複数のオプション終了ニューラルネットワークのセットを維持するステップと、
前記1つのニューラルネットワークによる前記連続時間ステップにわたる前記観測の処理中、前記複数のオプション終了ニューラルネットワークの前記パラメータ値を固定するステップと、
前記1つのニューラルネットワークの前記連続時間ステップにわたる前記観測の処理の後、前記タスク報酬を使用して前記複数のオプション終了ニューラルネットワークの各々をトレーニングするステップと
をさらに含む、請求項17または18に記載の方法。
【請求項20】
前記タスク報酬を使用して前記複数のオプション終了ニューラルネットワークの各々を前記トレーニングするステップが、前記タスク報酬を受信するための1つまたは複数の観測に応答して前記環境において実行されることになる1つまたは複数のさらなるアクションを選択するために、前記1つのニューラルネットワークを使用するステップと、前記さらなるアクションに応答して受信された前記タスク報酬を使用して前記複数のオプション終了ニューラルネットワークの各々をトレーニングするステップとを含む、請求項19に記載の方法。
【請求項21】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項1から16のいずれか一項に記載のシステムまたは請求項17から20のいずれか一項に記載の方法を実装させる、コンピュータ可読命令、または前記コンピュータ可読命令を記憶した1つまたは複数のコンピュータ記憶媒体。
【請求項22】
1つまたは複数のコンピュータと、命令を記憶した1つまたは複数の記憶デバイスとを備えたシステムであって、前記命令が、1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項17から20のいずれか一項に記載の方法のそれぞれの動作を実行させる、システム。
【国際調査報告】