(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-25
(54)【発明の名称】観測値の尤度を使用して環境を探索するためのエージェントを制御すること
(51)【国際特許分類】
G06N 20/00 20190101AFI20220418BHJP
G06N 3/08 20060101ALI20220418BHJP
【FI】
G06N20/00
G06N3/08
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021542499
(86)(22)【出願日】2020-01-23
(85)【翻訳文提出日】2021-09-17
(86)【国際出願番号】 EP2020051689
(87)【国際公開番号】W WO2020152300
(87)【国際公開日】2020-07-30
(32)【優先日】2019-01-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】517030789
【氏名又は名称】ディープマインド テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ビラル・ピオット
(72)【発明者】
【氏名】ベルナルド・アヴィラ・ピレス
(72)【発明者】
【氏名】モハメド・ゲシラギ・アザール
(57)【要約】
方法、システムおよび装置は、エージェントを制御するためにコンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む。方法のうちの1つは、エージェントを制御するために使用されるニューラルネットワークを訓練する間に、環境の第1の統計モデルと第2の統計モデルとのもとでのさらなる観測値の尤度の間の相違の測度として訓練に対する報酬値を生成するステップを含み、第1の統計モデルおよび第2のモデルは、過去の観測値およびアクションのそれぞれの第1および第2の履歴に基づき、第1の履歴における直近の観測値は、第2の履歴における直近の観測値より新しい。
【特許請求の範囲】
【請求項1】
環境と相互作用するエージェントによって実行されるべきアクションを生成するための方法であって、前記環境が、連続する時間において複数の状態のうちの対応する1つを取り、
前記方法が、前記アクションを生成するように機能しかつ複数のネットワークパラメータによって規定されるニューラルネットワークを、複数の連続する時間ステップの各々において、
(a)前記ニューラルネットワークを使用して、現在の時間において前記環境の現在の観測値に基づいてアクションを生成するステップと、
(b)前記環境上で前記生成されたアクションを前記エージェントに実行させるステップと、
(c)前記エージェントによって前記生成されたアクションの前記実行に続いて前記環境の前記状態のさらなる観測値を取得するステップと、
(d) (i)前記環境の第1の統計モデルのもとでの前記さらなる観測値の尤度と(ii)前記環境の第2の統計モデルのもとでの前記さらなる観測値の尤度との間の相違の測度として報酬値を生成するステップであって、
前記第1の統計モデルが、過去の観測値およびアクションの第1の履歴に基づき、
前記第2の統計モデルが、過去の観測値およびアクションの第2の履歴に基づき、
前記第1の履歴における直近の観測値が、前記第2の履歴における直近の観測値より新しい、ステップと、
(e)前記報酬値に基づいて前記ニューラルネットワークの1つまたは複数の前記ネットワークパラメータを修正するステップとによって連続的に修正するステップを含む、方法。
【請求項2】
前記第1および第2の統計モデルが、前記さらなる観測値に対するそれぞれの第1および第2の確率分布であり、前記第1の履歴における前記直近の観測値が、前記現在の時間と比較して過去へH時間ステップであり、Hがゼロより大きい整数である、請求項1に記載の方法。
【請求項3】
前記第2の履歴における前記直近の観測値が、前記現在の時間と比較して過去へH+1ステップである、請求項2に記載の方法。
【請求項4】
Hが1より大きい整数である、請求項2または請求項3に記載の方法。
【請求項5】
前記測度が、前記第1の確率分布のもとでの前記さらなる観測値の確率の対数関数と、前記第2の確率分布のもとでの前記さらなる観測値の前記確率の前記対数関数との間の差である、請求項2から4のいずれか一項に記載の方法。
【請求項6】
各統計モデルが、複数のパラメータによって規定されるそれぞれの適応システムによって規定される、請求項1から5のいずれか一項に記載の方法。
【請求項7】
各適応システムが、直近のアクションがそれぞれの履歴内に記録された後、前記それぞれの履歴の符号化および前記エージェントによって実行されたアクションを符号化するデータを受信するそれぞれの確率分布生成ユニットを含み、前記確率生成ユニットが、前記システムの前記複数の状態にわたって前記さらなる観測値に対する確率分布を生成するように配置される、請求項6に記載の方法。
【請求項8】
前記確率生成ユニットが、多層パーセプトロンである、請求項7に記載の方法。
【請求項9】
前の観測値およびアクションの前記履歴の前記符号化するステップが、前記アクションおよび前記結果として生じる観測値の対応する表現を連続的に受信する再帰型ユニットによって生成される、請求項7または8に記載の方法。
【請求項10】
各観測値の前記表現が、前記観測値を受信する畳み込みモデルの出力として取得される、請求項9に記載の方法。
【請求項11】
前記第2の統計モデルに対する前記適応システムが、前記ニューラルネットワークによって生成されてマルチアクション確率生成ユニットに入力された、対応する複数のアクションの連続するアプリケーションに続いて、前記システムの前記状態の可能な観測値にわたってそれぞれの確率分布を生成するように機能する前記マルチアクション確率生成ユニットである、請求項6から10のいずれか一項に記載の方法。
【請求項12】
前記報酬値が、前記アクションがタスクを実行する程度を示す報酬構成要素をさらに含む、請求項1から11のいずれか一項に記載の方法。
【請求項13】
ニューラルネットワークが、可能なアクションにわたって確率分布を出力するポリシーネットワークであり、前記アクションが、前記確率分布からのサンプルとして生成される、請求項1から12のいずれか一項に記載の方法。
【請求項14】
各観測値が、前記環境の前記状態に基づく確率分布からのサンプルである、請求項1から13のいずれか一項に記載の方法。
【請求項15】
1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを含むシステムであって、前記命令が、前記1つまたは複数のコンピュータによって実行されたとき、請求項1から14のいずれか一項に記載の前記それぞれの方法の動作を前記1つまたは複数のコンピュータに実行させる、システム。
【請求項16】
命令を記憶する1つまたは複数のコンピュータ記憶媒体であって、前記命令が、1つまたは複数のコンピュータによって実行されたとき、請求項1から14のいずれか一項に記載の前記それぞれの方法の動作を前記1つまたは複数のコンピュータに実行させる、1つまたは複数のコンピュータ記憶媒体。
【請求項17】
環境上でエージェントによって実行されるべきアクションを生成するように機能するニューラルネットワークを訓練するための訓練システムであって、前記ニューラルネットワークが、複数のネットワークパラメータによって規定され、前記環境が、連続する時間において複数の状態のうちの連続する状態を取り、前記訓練システムが、
前記ニューラルネットワークによって生成されたアクションと過去の観測値およびアクションの第1および第2の履歴とにそれぞれ基づいて、前記システムの第1および第2の統計モデルを生成するように機能する予測器であって、前記第1の履歴における直近の観測値が、前記第2の履歴における直近の観測値より新しい、予測器と、
前記エージェントがアクションを実行した後に前記システムのさらなる観測値から、前記第1の統計モデルと前記第2の統計モデルとのもとでの前記さらなる観測値の尤度の間の差の測度として報酬値を生成するように機能する報酬生成器と、
前記報酬値に基づいて前記ニューラルネットワークを更新するニューラルネットワークアップデーターとを含む、訓練システム。
【請求項18】
前記第1および第2の統計モデルが、前記さらなる観測値に対するそれぞれの第1および第2の確率分布である、請求項17に記載のシステム。
【請求項19】
前記測度が、前記第1の確率分布のもとでの前記さらなる観測値の確率の対数関数と、前記第2の確率分布のもとでの前記さらなる観測値の前記確率の前記対数関数との間の差である、請求項18に記載のシステム。
【請求項20】
前記予測器が、各統計モデルに対して、複数のパラメータによって規定されるそれぞれの適応システムを含む、請求項17から19のいずれか一項に記載のシステム。
【請求項21】
各適応システムが、直近のアクションがそれぞれの履歴内に記録された後、前記それぞれの履歴の符号化および前記エージェントによって実行されたアクションを符号化するデータを受信するように配置されたそれぞれの確率分布生成ユニットを含み、前記確率生成ユニットが、前記システムの前記複数の状態にわたって前記さらなる観測値に対する確率分布を生成するように配置される、請求項20に記載のシステム。
【請求項22】
前記確率生成ユニットが、多層パーセプトロンである、請求項21に記載のシステム。
【請求項23】
前記予測器が、前の観測値およびアクションの前記履歴を符号化するように機能する再帰型ユニットをさらに含む、請求項21または22に記載のシステム。
【請求項24】
前記予測器が、各観測値の表現を前記再帰型ユニットに出力するように機能する畳み込みモデルをさらに含む、請求項23に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、機械学習モデルを使用してデータを処理することに関する。
【0002】
本明細書は、さらに、環境内で動作するエージェントを制御するためにニューラルネットワークを訓練するための方法およびシステムに関する。詳細には、エージェントは、環境を探索するために、および随意に同じく、環境内でタスクを実行するために制御される。
【背景技術】
【0003】
ニューラルネットワークは、受信された入力に対する出力を予測するために非線形ユニットの1つまたは複数の層を採用する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む深層ニューラルネットワークである。各隠れ層の出力は、ネットワーク内の次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、それぞれのパラメータのセットの現在の値に従って、受信された入力から出力を生成する。
【0004】
いくつかのニューラルネットワークは、再帰型ニューラルネットワークである。再帰型ニューラルネットワークは入力シーケンスを受信するニューラルネットワークであり、入力シーケンスから出力シーケンスを生成する。特に、再帰型ニューラルネットワークは、現在の時間ステップにおける出力の計算において前の時間ステップからのネットワークの一部または全部の内部状態を使用することができる。再帰型ニューラルネットワークの例は、1つまたは複数の長・短期記憶(LSTM:long short term memory)メモリブロックを含むLSTMニューラルネットワークである。各LSTMメモリブロックは、たとえば、現在の活性化の生成に使用するためにセルに対する前の状態をセルが記憶することまたはLSTMニューラルネットワークの他の構成要素にセルが与えられることを可能にする、入力ゲート、忘却ゲート、および出力ゲートをそれぞれ含む1つまたは複数のセルを含むことができる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】表現学習国際学会、2019年における、分散強化学習における再帰的経験再生(Recurrent Experience Replay)
【発明の概要】
【課題を解決するための手段】
【0006】
本明細書は、一般に、1つまたは複数のロケーションにおいて1つまたは複数のコンピュータにコンピュータプログラムとして実装されたシステムが、環境と相互作用するエージェントによって実行されるべきアクションを選択するために使用される適応システム(「ニューラルネットワーク」)を訓練する(すなわち、適応システムのパラメータを調整する)ための方法を、いかにして実行することができるかについて説明する。
【0007】
大まかには、強化学習(RL)システムは、環境と相互作用する強化学習エージェントによって実行されるべきアクションを選択するシステムである。エージェントが環境と相互作用するために、システムは、環境の現在の状態を特徴付けるデータを受信し、受信されたデータに応答してエージェントによって実行されるべき1つのアクションを選択する。環境の状態を(少なくとも部分的に)特徴付けるデータは、本明細書では観測値と呼ばれる。
【0008】
一般的には、本開示は、強化学習システムが、環境とのインタラクションの2つの履歴から導出され得る環境についての情報(すなわち、環境の状態の連続する観測値および環境上で実行される連続するアクション)の間の差に基づいて計算される報酬関数に少なくとも部分的に基づいて訓練されることを提案し、ここで2つの履歴のうちの1つは、それらの観測値のうちの1つを含み、別の履歴は含まない。報酬値は、この差を最大化する挙動に報酬を与える。これは、有用な観測値をもたらすアクションを提案するようにニューラルネットワークに働きかける。
【0009】
この概念の1つの表現は、エージェントによって環境(「対象システム(subject system)」)に適用されるべきアクションを生成するための方法であり、環境は、連続する時間(それは整数インデックスtによって標識され得る)において、複数の可能な状態のうちの1つの中にある。方法は、アクションを生成するように機能しかつ複数のネットワークパラメータによって規定されるニューラルネットワークを連続的に修正するステップを含む。所与の現在の時間(それは時間t+Hで示すことができ、ここでHは以下で規定されるハイパーパラメータであり、ハイパーパラメータは、Hが1に等しい場合は少なくとも1である整数であり、現在の時間は単にt+1として示すことができる)において、ニューラルネットワークは、現在の観測値(それを、我々はot+Hで示す)を受信する。報酬生成器は、環境の第1の統計モデルと第2の統計モデルとのもとでのさらなる観測値ot+Hの尤度の間の差の測度として報酬値(それはrt+H-1で示すことができる)を生成する。第1の統計モデルおよび第2のモデルは、過去の観測値およびアクションのそれぞれの第1および第2の履歴に基づき、ここで第1の履歴における直近の観測値は、第2の履歴における直近の観測値より新しい。一般的に、第2の統計モデルは、1つまたは複数の直近のアクションおよび第1の統計モデルの生成に使用された結果としての観測値には基づかないが、場合によっては、それぞれの2つの統計モデルは、アクションおよび観測値の同じ履歴に基づくことが望ましい。報酬は、第1の統計モデルのもとでの現在の観測値の尤度が、第2の統計モデルのもとでの尤度より高いときに、高い値を有する。ニューラルネットワークの1つまたは複数のネットワークパラメータは、報酬値に基づいて修正され得る。
【0010】
ニューラルネットワークの更新は、Kapturowskiらによって提案された「R2D2」アルゴリズム(表現学習国際学会、2019年における、分散強化学習における再帰的経験再生)など、任意の報酬ベースの強化学習アルゴリズムを使用して実行され得る。
【0011】
本明細書で説明するシステムは、エージェントに、環境についての学習のための機会を最大化する経験を探し求めて、環境を効果的に探索させる、エージェントによって実行されるべきアクションを選択するために、アクション選択ニューラルネットワークを訓練することができる。実験に基づいて、提案する訓練手順は、環境についての情報(たとえば、環境の予測モデル)を生成することができる一方で、環境または観測値における雑音に対して、知られている探索アルゴリズムより敏感でないことが発見された。たとえば、エージェントは、環境内の品目を、知られている探索アルゴリズムより速やかにかつより少ない計算リソースを使用して発見するために使用され得る。随意に、環境について得られた情報は、エージェントを制御して環境を修正するタスクを実行するためにニューラルネットワークを訓練することにおいて使用され得る。環境についてのより深い知識は、より優れたタスクの実績と、より速やかでコンピュータリソースへの依存度がより低い(less computer-resource intensive)、タスクのための学習手順とをもたらす。
【0012】
具体的には、いくつかの実装形態では、上記の訓練プロセスは、環境についての情報を取得するために実行される予備段階である。予備段階の後に、強化学習システムが、予備段階において生成された環境の知識(たとえば、履歴のうちの1つから導出される)に基づいてタスクを実行するために使用される、第二の訓練段階が続き得る。第二の訓練段階では、報酬関数は、2つの統計モデルに対する構成要素を含まない(すなわち、統計モデルのペアは全く採用されない)。実際、報酬構成要素は、実際には、2つの統計モデルの相違を増大させる観測値をもたらすアクションを罰する構成要素を含んでよい。なぜならば、これは、すでに十分に理解されている環境の部分の中でエージェントを制御するようにニューラルネットワークに働きかけるからである。
【0013】
代替的に、予備訓練段階および第二の訓練段階は、たとえば、上記で説明した(すなわち、第1および第2の統計モデルに従う、さらなる観測値ot+kの尤度における差の測度としての)第1の報酬構成要素と、システムが学習しなければならないタスクの実行においてエージェントの成功に関連する第2の報酬構成要素とを有する報酬関数を使用して、強化学習システム上で適応学習を実行することによって統合され得る。2つの報酬構成要素の相対的重みは、経時的に変わる場合がある。
【0014】
いずれの場合にも、いくつかの実装形態では、エージェントは、環境の一部であってかつエージェントと分離している(すなわち、エージェントの一部ではない)1つまたは複数のオブジェクトをエージェントが操作するタスクを実行するように、ニューラルネットワークによって制御され得る。タスクは、一般的に、操作の後のオブジェクトの1つまたは複数の所望の最終位置に基づいて規定される。
【0015】
第1および第2の統計モデルの各々は、さらなる観測値ot+Hに対する、システムの可能な状態にわたる確率分布であり得る。我々は、第1の履歴における直近の観測値を、現在の時間(すなわち、時間tにおける)と比較して過去へHステップであるとして示すことができ、ここで(上記で捕捉的に記述したように)Hはゼロより大きい整数である。第2の履歴における直近の観測値は、現在の時間と比較して過去へH+1ステップであり得る。言い換えれば、第2の履歴は、時間tにおける観測値otのみを失っている。したがって、報酬値は、ot+Hの予測においてotの値を符号化する。両履歴は、ある開始時間(それはt=0として示され得る)からそれらのそれぞれの直近の観測値までに利用可能な環境のすべての観測値を含むことが望ましい。さらに、両履歴は、開始時間の後に環境内でニューラルネットワークによって生成されたすべてのアクション、すなわち、開始時間から時間t-1までにニューラルネットワークによって生成されたすべてのアクションを含むことが望ましい。
【0016】
随意に、Hの値は、1に等しくてよい。代替的に、Hの値は、1より大きくてもよく、それにより、報酬関数は、観測値otの値を、複数の時間ステップの後の時間に対する観測値ot+Hの予測に対して符号化する。したがって、報酬関数は、複数の時間ステップの後に改善された環境の知識を生み出すだけのアクションを生成することに対して、ニューラルネットワークに報酬を与える。
【0017】
一形態では、第1および第2の統計モデルを比較するための測度は、第1の確率分布のもとでのさらなる観測値の確率の対数関数と、第2の確率分布のもとでのさらなる観測値の確率の対数関数との間の差であり得る。測度のこの選択は、直感的に妥当である。なぜならば、それは、分布の交差エントロピーを表すからである。
【0018】
統計モデルの各々は、複数のパラメータによって規定されるそれぞれの適応システムによって実装され得る。適応システムは、対応する履歴を入力として受信し得る。適応システムのパラメータは、知られているアルゴリズムを使用して、訓練データのデータベース、たとえば観測値の履歴(historic observations)、後続のそれぞれのアクション、および後続のそれぞれの観測値を使用して、ニューラルネットワークの訓練に先行して、予備訓練手順の間に設定され得る。代替または追加として、適応システムのパラメータは、ニューラルネットワークの訓練の間に生成される新しいアクションおよび対応する観測値に基づいて、ニューラルネットワークの訓練の間に更新され得る。
【0019】
一形態では、各適応システムは、多層パーセプトロンなどのパーセプトロンとして実装され得る、それぞれの確率分布生成ユニットを含む。確率生成ユニットは、それぞれの履歴の符号化(第1の統計モデル場合、この文献において後でbtで示される)と、直近のアクション(第1の統計モデル場合、at-1で示される)がそれぞれの履歴において符号化された後、エージェントによって実行されるアクションを符号化するデータ(第1の統計モデルの場合、この文献において後でatとして、より一般的にはAt:t+kとして示され、ここでkは整数kである)とを受信する。確率生成ユニットは、その構成要素が存在する所定の範囲についてなど、いくつかの仮定の影響を随意に受けて、たとえばそれが取り得るすべて値にわたって、さらなる観測値ot+Hに対する確率分布を生成するように配置される。仮定は、パーセプトロンの可能な出力に反映され得る。
【0020】
前の観測値およびアクションの履歴の符号化は、アクションと結果として生じる観測値の対応する表現とを連続的に受信する、GRUなどの再帰型ユニットによって取得される。各観測値の表現は、観測値を受信する畳み込みモデルの出力として取得される。
【0021】
第2の統計モデルの適応システムでは、マルチアクション確率生成ユニットは、H個の直近のそれらのアクションによって生成された観測値についての情報を受信することなく、ニューラルネットワークによって生成されてマルチアクション確率生成ユニットに入力された、対応する複数のアクションの連続するアプリケーションに続いて、システムの状態の可能な観測値にわたって確率分布を生成するように機能することに留意されたい。同様に、Hが1より大きい場合、第1の統計モデルは、H-1個の直近のアクションについての情報を受信しない。
【0022】
強化学習システムは、以下で説明するシステム、構成要素および技法が実装される1つまたは複数のロケーションにおける、1つまたは複数のコンピュータ上に1つまたは複数のコンピュータプログラムとして実装され得る。
【0023】
任意に、上記の実装形態のいずれかにおいて、任意の所与の時間ステップにおける観測値は、環境を特徴付けるのに有益であり得る、前の時間ステップからのデータ、たとえば、前の時間ステップにおいて実行されたアクション、前の時間ステップにおいて受信された報酬などをさらに含み得る。
【0024】
次に、本開示の一例を、以下の図を参照して単なる例として説明する。
【図面の簡単な説明】
【0025】
【
図1】本開示による探索システムの一例の使用を示す図である。
【
図2】
図1の探索システムの可能な具現化の構造を概略的に示す図である。
【
図3】探索システムのニューラルネットワークを訓練するために
図1の探索システムを実行する例示的なプロセスの流れ図である。
【発明を実施するための形態】
【0026】
様々な図における同様の参照番号および記号は、同様の要素を示す。
【0027】
図1は、探索システムと呼ばれる例示的な制御システム100を示す。探索システム100は、以下で説明するシステム、構成要素および技法が実装される1つまたは複数のロケーションにおける、1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されるシステムの一例である。
【0028】
探索システム100は、複数のステップの各々において環境106と相互作用するエージェント104によって実行されるべきアクション102を選択する。
【0029】
以下の時間ステップでは、環境106の状態の新しい観測値108が受信される。観測値108は、探索システム100に送信される。探索システム100は、エージェント104が実行する新しいアクション102を選択する。
【0030】
探索システム100は、アクション102を生成するためのニューラルネットワーク110を含む。いくつかの実装形態では、ニューラルネットワーク110は、特定のアクション102を示す出力を生成し得る。他の実装形態では、ニューラルネットワーク110は、可能なアクションのセットにわたって確率分布を規定する出力を生成し、アクション102は、確率分布をサンプリングすることによって生成される。ニューラルネットワークは、この場合は、ポリシーネットワークと呼ばれる場合がある。
【0031】
訓練段階の間、ニューラルネットワーク110は、
図1において点線で示される探索システム100の構成要素によって適応される。探索システム100の予測器120は、以下で説明するように、環境106の複数の統計モデルを生成する「世界モデル」として動作する。探索システム100の報酬生成器130は、予測器120によって生成された環境の第1の統計モデルと第2の統計モデルとのもとでの最新の観測値108の尤度の間の相違の測度に基づいて報酬値を生成する。報酬値に基づいて、探索システム100のニューラルネットワークアップデーター112は、ニューラルネットワーク110を更新する。ニューラルネットワーク110およびニューラルネットワークアップデーター112は、RL制御システム140と総称される場合がある。RL制御システムは、文献の中で知られている設計のものであり得る。
【0032】
探索システム100の有効性の本発明者によって実行された実験では、その有効性は、以下で説明する評価ユニット140によってモニタされた。評価ユニット140は、探索システム100に対して利用できない環境106についての情報を採用した。評価ユニット140は、探索システム100の一般的なアプリケーションにおいて使用されない。
【0033】
本明細書で説明する探索システム100は、広く適用可能であり、1つの特定の実装形態に限定されない。しかしながら、例示として、探索システム100の少数の例示的な実装形態を、次に説明する。
【0034】
いくつかの実装形態では、環境は実世界の環境であり、エージェントは実世界の環境と相互作用する電気機械的エージェントである。たとえば、エージェントは、環境と相互作用するロボットまたは他の静止したもしくは移動する機械であり得る。たとえば、エージェントは、その構成要素の構成の観点から、および/または並進的に、すなわち環境内の1つのロケーションから別のロケーションに、環境内で移動し得る。たとえば、エージェントは、環境を通り抜ける自律的または半自律的な、地上または空中または海上(海中)の車両であってもよい。特定のタスクを達成するために強化学習システムが訓練される場合、それは、関心のあるオブジェクトを環境の中に位置付けること、または関心のあるオブジェクトを環境の中の特定のロケーションに移動させること、または環境の中の指定された目的地にナビゲートすることであり得る。
【0035】
これらの実装形態では、観測値は、たとえば、エージェントが環境と相互作用するときに観測値を捕捉するための画像、オブジェクト位置データ、およびセンサデータ、たとえば画像、距離もしくは位置センサからのまたはアクチュエータからのセンサデータのうちの1つまたは複数を含み得る。
【0036】
場合によっては、エージェントは、環境の一部(環境)と見なされる。観測値は、環境内のエージェントの位置を含み得る。たとえば、ロボットの場合、観測値は、ロボットの現在の状態を特徴付けるデータ、たとえば、ジョイント位置、ジョイント速度、ジョイントの力、トルクもしくは加速度、たとえば重力補償トルクフィードバック、および腕などのロボットの一部および/またはロボットによって把持される品目の大域的もしくは相対的姿勢(global or relative pose)のうちの1つまたは複数を含み得る。
【0037】
ロボットまたは他の機械的エージェントもしくは車両の場合、観測値は、同様に、エージェントの1つまたは複数の部分の位置、線速度もしくは角速度、力、トルクもしくは加速度、および大域的もしくは相対的姿勢のうちの1つまたは複数を含み得る。観測値は、1次元、2次元または3次元において規定されてよく、絶対的および/または相対的観測値であってよい。
【0038】
観測値は、たとえば、モータ電流もしくは温度信号などの感知された電気信号、および/または、たとえばカメラもしくはLIDARセンサからの画像もしくはビデオデータ、たとえば環境内のエージェントのセンサからのデータまたはエージェントから離れて位置するセンサからのデータも含み得る。
【0039】
電子的エージェントの場合、観測値は、電流、電圧、電力、温度などの工場またはサービス設備の部分をモニタする1つまたは複数のセンサからの、ならびに機器の電気的および/または機械的品目の機能を表す他のセンサおよび/または電子信号からのデータを含み得る。
【0040】
これらの実装形態では、アクションは、ロボットを制御するための制御入力、たとえばロボットのジョイントに対するトルクまたはより高いレベルの制御コマンド、または自律的もしくは半自律的な地上もしくは空中もしくは海上(海中)の車両を制御するための制御入力、たとえば車両の制御面もしくは他の制御要素に対するトルクまたはより高いレベルの制御コマンド、あるいは、たとえばモータ制御データであり得る。 さらに、アクションは、環境内でエージェントを移動させることを含むかまたは移動させることで構成される場合がある。
【0041】
言い換えれば、アクションは、たとえば、ロボットの1つもしくは複数のジョイントまたは別の機械的エージェントの部分に対する位置、速度もしくは力/トルク/加速度のデータを含むことができる。アクションデータは、これらのアクションに対するデータおよび/またはモータ制御データなどの電子制御データ、あるいはより一般的には、環境内の1つまたは複数の電子デバイスを制御するためのデータを含んでよく、それらの制御は、観測された環境の状態に影響を及ぼす。たとえば、自律的もしくは半自律的な地上もしくは空中もしくは海上(海中)の車両の場合、アクションは、ナビゲーション、たとえば操舵、および運動、たとえば車両の制動および/または加速を制御するためのアクションを含み得る。
【0042】
いくつかの実装形態では、環境はシミュレートされた環境であり、エージェントは、シミュレートされた環境と相互作用する1つまたは複数のコンピュータとして実装される。
【0043】
たとえば、シミュレートされた環境は、ロボットまたは車両のシミュレーションであり得、探索システム100は、シミュレーション上で訓練され得る。たとえば、シミュレートされた環境は、モーションシミュレーション環境、たとえばドライビングシミュレーションまたはフライトシミュレーションであり得、エージェントはモーションシミュレーションを通り抜けるシミュレートされた車両である。これらの実装形態では、アクションは、シミュレートされたユーザまたはシミュレートされた車両を制御するための制御入力であり得る。シミュレートされた環境は、実世界の中でシステムを使用する前に、本明細書で説明するタイプのシステムを訓練するのに有用であり得る。
【0044】
別の例では、シミュレートされた環境は、コンピュータプログラムによって規定され得る。たとえば、それはビデオゲームであってもよく、エージェントは、ビデオゲームをプレイするシミュレートされたユーザであってもよい。代替的に、エージェントは、欠陥または他の望ましくない挙動に対してコンピュータプログラムを試験し得る。たとえば、異なる時間において、エージェントは、コンピュータプログラムの異なる個別の部分(たとえば、異なる個別のソフトウェア機能に関連する部分)を試験し得、それらは、実世界の環境内の異なるロケーションに類似する。一オプションでは、コンピュータプログラムはユーザインターフェースを生成し、エージェントは、問題を生じる入力を識別するためにユーザインターフェースへの可能な入力を試験する。これらの入力が識別されると、ユーザインターフェースを改善するためのアクションを取ることができ、したがって、改善されたユーザインターフェースがもたらされ、より速いおよび/またはより信頼できる、ユーザによるデータの入力が可能になる。
【0045】
さらなる例では、環境は、各状態がタンパク質鎖のそれぞれの状態であり、エージェントは、タンパク質鎖をいかにして折り畳むかを決定するためのコンピュータシステムであるような、タンパク質フォールディング環境であり得る。この例では、アクションは、タンパク質鎖を折り畳むための可能なフォールディングアクションであり、達成されるべき結果は、たとえば、タンパク質が安定しているように、およびタンパク質が特定の生物学的機能を達成するようにタンパク質を折り畳むことを含み得る。別の例として、エージェントは、人による相互作用なしに、システムによって自動的に選択されたタンパク質フォールディングアクションを実行または制御する機械的エージェントであり得る。観測値は、タンパク質の状態の直接的または間接的観測値を含んでよく、および/またはシミュレーションから導出されてもよい。
【0046】
同様の方法で、環境は、各状態が、潜在的な製薬化学薬品(potential pharma chemical drug)のそれぞれの状態であるような薬品設計環境であり、エージェントは、製薬化学薬品の要素を決定するためのコンピュータシステム、および/または製薬化学薬品のための合成経路である。薬品/合成は、たとえばシミュレーションにおいて、薬品に対するターゲットから導出される報酬に基づいて設計され得る。別の例として、エージェントは、薬品の合成を実行または制御する機械的エージェントであり得る。
【0047】
一般に、シミュレートされた環境の場合、観測値は、前に説明した観測値または観測値のタイプのうちの1つまたは複数のシミュレートされたバージョンを含んでよく、アクションは、前に説明したアクションまたはアクションのタイプのうちの1つまたは複数のシミュレートされたバージョンを含んでよい。
【0048】
別の可能な環境は、いくつかの回路構成要素を組み込む、特定用途向け集積回路(ASIC)などの集積回路の可能な設計の空間であり、環境の様々な状態が、集積回路内の構成要素の設置および/または接続に対応する。エージェントは、この空間を探索して、1つまたは複数の集積回路評価基準に従って、優れたASIC設計を識別することができる。
【0049】
いくつかの他のアプリケーションでは、エージェントは、たとえば、データセンター、または配管網から引き込んだ電力もしくは水の分配システムの中、あるいは製造工場もしくはサービス設備の中の機器の品目を含む、実世界の環境内のアクションを制御し得る。次いで、観測値は、工場または設備の動作に関連し得る。たとえば、観測値は、機器による電力もしくは水の使用量の観測値、または電力の生成もしくは分配の制御の観測値、またはリソースの使用量もしくは廃棄物産出の観測値を含み得る。エージェントは、たとえばリソース使用量を低減することによって効率を向上させるため、および/または、たとえば廃棄物を低減することによって環境内の動作の環境影響を低減するために、環境内のアクションを制御し得る。アクションは、工場/設備の機器の品目に対する動作条件を制御するかまたは課するアクション、および/または、たとえば工場/設備の構成要素を調整もしくはオン/オフするために工場/設備の動作における設定に変更をもたらすアクションを含み得る。さらなる例では、観測値は、工場または設備の温度測定値を含んでよく、アクションは、工場または設備の加熱または冷却システムなど、熱を生成または除去する要素を制御することに関する。
【0050】
いくつかのさらなるアプリケーションでは、環境は、実世界の環境であり、エージェントは、たとえばモバイルデバイス上のおよび/またはデータセンター内のコンピューティングリソースにわたってタスクの分配を管理する。これらの実装形態では、アクションは、特定のコンピューティングリソースにタスクを割り当てることを含み得る。
【0051】
さらなる例として、アクションは、広告を提示することを含んでよく、観測値は、広告インプレッションまたはクリックスルーカウントまたは率を含んでよく、報酬は、1つまたは複数のユーザによって取られた品目またはコンテンツの以前の選択を特徴付けてよい。
【0052】
図1に戻ると、我々は、そこに示されるユニットの動作のより具体的な説明を次に提供する。時間tにおいてo
tで示される観測値108が生成される、部分的に観測可能な環境106を考察する。次いで、探索システム100は、エージェント104が実行する、a
tで示されるアクション102を選択する。次いで、環境106は、次の時間ステップにおいて新しい観測値o
t+1を生成する。我々は、観測値o
tは、マルコフ動力学、すなわちx
t+1~P(・|x
t, a
t)に従って下層の過程x
tによって生成されると仮定し、ここでPは、下層の過程の動力学である。我々は、対応する専門用語を明確には使用しないが、この過程は、部分観測マルコフ決定過程(POMDP)という用語において形式化され得る。
【0053】
時間tにおいて、POMDPにおける将来の観測値ot+1は、同じく、現在の履歴の入力による確率的マッピングの出力として見ることができる。実際には、任意の所与の時間tにおいて、現在の履歴htは、すべて過去のアクションおよび観測値
【0054】
【0055】
であるとする。次いで、我々は
【0056】
【0057】
規定し、それは、履歴htおよびアクションatを知っているot+1の確率分布である。
【0058】
kステップの予測に対するこの概念は一般化され得、任意の整数t≧0およびk≧1に対して、t:t+1によって、整数間隔{t, ..., t+k-1}を示し、
【0059】
【0060】
および
【0061】
【0062】
は、それぞれ、時間tから時間t+k-1までのアクションおよび観測値のシーケンスであるとする。次いで、ot+kは、確率分布
【0063】
【0064】
から取り出されたサンプルとして見ることができ、確率分布は、観測値ot+kのkステップのオープンループ予測モデルである。我々は、同じく、履歴htおよびアクションのシーケンスAt:t+kを与えられたot+kの確率分布として簡略表記
【0065】
【0066】
を使用する。
【0067】
予測器120(世界モデル)は、エージェントが世界について現在知っていることを捕捉しなければならず、それにより予測器120は、エージェントが知っていることに基づいて予測を行うことができる。したがって、予測器120は、過去を前提として将来の観測値を予測するように設計される。より詳細には、予測器120は、アクションのシーケンスAt:t+kを条件として、および過去htを前提として、将来フレームot+kの予測を行うことによって、内部表現btを生成する。学習済表現btが、アクションおよび履歴の任意のシーケンスを条件として任意の将来の観測値の確率を予測することができる場合、この表現btは、信念状態(すなわち、グラウンドトゥルース状態xtにわたる分布)についてのすべての情報を含む。
【0068】
一実装形態では、探索システム100は、
図2に示すように、評価器140と組み合わされており、評価器140は、上記のように探索システムの実験的調査のために使用されるが、探索システム100の大部分のアプリケーションにおいて存在しない。以下でより詳細に説明するように、システムは、1に等しくてもよく、またはより高い値を取ってもよい、「水平線」と呼ばれる制御パラメータHを採用することに留意されたい。
図2の報酬生成器130およびRL制御システム140の動作の図は、時間ステップt+Hにおいて予測器120によって生成された統計モデルに基づいて、観測値o
t+Hが受信された後、時間ステップt+Hにおいて更新がニューラルネットワーク110に対してどのように行われるかを示す。
【0069】
図2に示すように、予測器120は、関数fθを実行し、観測値特性(observation feature)z
tとアクションa
t(ワンホットベクトルとして符号化される)との連結を供給される再帰型ニューラルネットワーク(RNN)1201を使用する。観測値特性z
tは、関数f
φを実行する畳み込みニューラルネットワーク(CNN)1202などの適応モデルを、観測値o
tに適用することによって取得される。RNN1201は、ゲート付き再帰型ユニット(GRU)であり、内部表現は、GRUの隠れ状態、すなわちb
t=f
θ(z
t, a
t-1, b
t-1)であり、それは、畳み込みニューラルネットワーク1202によって受信された観測値とRNN1201によって受信されたアクションとの符号化履歴と見なされ得る。我々は、このGRU1201を、その隠れ状態をヌルベクトル0に設定し、b
0=f
θ(z
0, a, 0)を使用することによって初期化し、ここでaは固定された任意のアクションであり、z
0は元の観測値o
0に対応する特性である。我々は、アクションのシーケンスおよび表現b
tを条件として、いくつかの将来フレーム予測タスクを用いて表現b
tを生成するようにこのRNN1201を訓練する。これらのフレーム予測タスクは、内部表現b
tおよびアクションのシーケンスA
t:t+kを条件として、将来の観測値o
t+kの、様々なK≧k≧1(
【0070】
【0071】
は後で規定される)に対する確率分布を推定することで構成される。我々は、これらの推定を、
【0072】
【0073】
によって、または簡潔さのためにおよび混乱が生じないときに単に
【0074】
【0075】
によって示す。記号が示唆するように、
【0076】
【0077】
は、
【0078】
【0079】
の推定として使用される。ニューラルアーキテクチャは、それぞれの関数
【0080】
【0081】
を実行する、K個の異なるニューラルネット1203で構成される。各ニューラルネット
【0082】
【0083】
は、多層パーセプトロン(MLP)として実装され得る。それは、内部表現btとアクションのシーケンスAt:t+kとの連結を入力として受信し、観測値にわたる分布
【0084】
【0085】
を出力する。固定されたt≧0および固定されたK≧k≧1に対して、ネットワーク
【0086】
【0087】
に関連付けられた、時間ステップt+k-1における損失関数
【0088】
【0089】
は、交差エントロピー損失
【0090】
【0091】
である。我々は、最後に、アクションおよび観測値の任意の所与のシーケンスに対して、表現損失関数Lreprをこれらの交差エントロピー損失の合計
【0092】
【0093】
として規定する。
【0094】
我々は、次に、学習済モデルの評価の問題に取り掛かる。これは、評価器140を使用して部分的に実行される。POMDP設定において、実際の状態xtは、時間tにおいて世界について知るために存在するすべてを表す。履歴htを条件として、可能な状態にわたる分布Pb(・|ht)である信念状態を構築することによって、エージェントは、履歴htを前提として実際の状態xtについてのその不確実性にアクセスすることができる。学習済表現btの品質にアクセスするために、評価器140は、ガラス箱手法(glass-box approach)を使用して、世界の信念状態を構築する。それは、可能な実際の状態xtにわたって分布
【0095】
【0096】
を予測するために内部表現btによって供給される、関数fτを実行するMLPなどのニューラルネットワーク1401を訓練することから成る。この種の手法は、実際の状態が、実験者に利用可能であるが未だエージェントに与えられていない、人工的なまたは制御された環境においてのみ可能である。fτからの勾配は、予測器120に逆伝播されず、それゆえ、評価は、表現btおよびエージェントの挙動の学習に影響しない。固定されたt≧0に対して、訓練されたfτに使用される損失は、交差エントロピー損失
【0097】
【0098】
である。我々は、この損失を「発見損失」と呼び、それを、全世界についてどれほどの情報をエージェントが内部表現b
tの中に符号化することができるか、すなわち、どれほどの世界がエージェントによって発見されたかの測度として使用する。実験に基づいて、
図2に示す開示の例の発見損失は、ベースラインとして使用された他のRLアルゴリズムより速やかに、かつH=1またはH=2の場合よりH=4の場合により速く、減少することが分かった。これは、特に、環境106が白色雑音のソースを含む場合に当てはまった。
【0099】
次に、我々は、ニューラルネットワーク110の訓練の説明に取り掛かる。これは、探索システム100が、その環境の中で新しい情報を探求するために学習する発見エージェントとして動作し、次いで、この情報を予測器120によって提供される世界表現の中に組み込むように行われる。この概念は、NDIGO(ニューラル差分情報利得最適化(Neural Differential Information Gain Optimisation))と呼ばれる場合がある。ニューラルネットワークアップデーター112は、内発的報酬(intrinsic reward)の最適化の結果としてこの情報探求挙動を実行する。それゆえ、エージェントの探索スキルは、世界を発見することを促進する適切な報酬信号を供給する報酬生成器130に決定的に依存する。理想的には、この報酬信号は、エージェントが、実際の状態xtについての新しい情報を含む観測値を得るときに高くなる。探索システム100は、訓練時間においてxtにアクセスできないので、探索システム100は、それがxtについて有する情報を推定するために、我々の将来の観測値予測の正確さに依存する。
【0100】
直観的に、固定の水平線
【0101】
【0102】
に対して、予測誤差損失
【0103】
【0104】
は、将来の観測値ot+Hについてどれほどの情報btが不足しているかに対する良好な測度である。損失が大きいほど、エージェントは、将来の観測値ot+Hについてより不確実になり、それゆえエージェントは、この観測値についてより少ない情報を有することになる。それゆえ、内発的報酬は予測誤差損失として直接規定することができ、したがって、エージェントが将来の観測値を予測しにくい状態に向けて移動するようにエージェントに働きかける。希望は、一定の信念状態において我々が有する情報が少ないほど、新しい情報を得ることが容易になることである。この手法は、決定論的環境において良好な結果を有し得るが、いくつかの確率的環境においては適さない。たとえば、エージェントが、TV表示空電などの白色雑音を観測する機会を有する極端な場合を考察する。予測誤差損失で動機付けられたエージェントは、単にこのTVの前にとどまることによって高い内発的報酬を継続的に受けることになる。なぜならば、エージェントは、将来の観測値のその予測を改善することができず、事実上、この雑音によって魅了されたままであるからである。
【0105】
素朴な予測誤差損失に直接的に基づく報酬が、そのような単純な例において失敗する理由は、エージェントは多くの情報が不足していることを確認しているが、この不足している情報を獲得することに向けて進展していないことを認識していないことである。この問題を克服するために、報酬生成器130は、固定されたK≧H≧1に対して、以下の
【0106】
【0107】
のように規定された「NDIGO報酬」を生成し、
ここでot+Hは考察された将来観測値を表し、HはNDIGOの水平線である。式(1)の右辺の2つの項は、otより前のすべての過去の観測値を知っている将来の観測値ot+Hについて、どれほどの情報をエージェントが欠いているかを測定し、otは、排除される(右辺の第1の項)かまたは含められる(右辺の第2の項)かのいずれかである。直観的に、我々は、時間tにおいて我々が有する情報と時間t-1において我々が有する情報との間の差を取る。このようにして、我々は、otを観測することによってot+Hについてどれほどの情報をエージェントが得たかの推定を得る。予測モデル
【0108】
【0109】
が学習されると、報酬
【0110】
【0111】
が、それをh t+H-1およびa t+H-1のみに依存させるため(およびポリシーに依存させないため)に時間t+H-1においてもたらされる(attributed)ことに留意されたい。報酬が、代わりに時間t(予測の時間)において割り当てられた場合、それは、アクションシーケンスAt:t+kを生成するために使用されたポリシーに依存しており、それは、RLアルゴリズムを訓練するために必要なマルコフ仮定(Markovian assumption)に違反したことになる。我々の壊れたTVの例に戻ると、otにおける白色雑音は、将来の観測値ot+Hを予測することの助けにならない。次いで、NDIGO報酬は、同様の振幅の2つの大きい項の差であり、小さい報酬をもたらす一方で、多くの情報が失われている(大きい予測誤差損失)ことを認識し、NDIGO報酬は、それ以上の情報は抽出され得ない(予測誤差損失の小さい差)ことを示す。我々の実験は、NDIGOを使用することで、エージェントが雑音の存在にはまり込むのを回避することが可能になることを示し、したがって、これらの理論考察を裏付けている。
【0112】
我々は、次に、RL制御システム140によって使用されるアルゴリズムに取り掛かる。上記のように、これは、従来のシステムであり得るが、これは、内発的報酬
【0113】
【0114】
を採用する。具体的には、RL制御システム140は、ニューラルネットワーク110を最適化するために最先端のRLアルゴリズムR2D2を使用して我々の実験に実装される。NDIGOエージェントは、新しい観測値ot+kを取得するためにNDIGOポリシーを使用してその世界と相互作用し、新しい観測値ot+kは、将来の予測損失
【0115】
【0116】
を最小化することによって世界モデルを訓練するために使用される。次いで、損失Lt+k|tは、次の時間ステップにおいて内発的報酬を取得するために使用され、次いで、プロセスは繰り返される。情報利得は、文献において新規の信号として広く使用されてきた。情報利得の非常に広い定義は、新しい観測値のシーケンスの前と後の、任意のランダムな興味のある事象ωに対する分布の間の距離(または相違)である。将来の観測値およびアクションであるべきランダム事象ならびに カルバックライブラーダイバージェンスであるべき相違、次いで観測値のシーケンスOt:t+kに対する将来の事象ot+kのkステップの予測情報利得IG(ot+k, Ot:t+k|ht, At:t+k)を選択することは、
【0117】
【0118】
として定義され、全履歴htを与えられた過去の観測値のシーケンスOt:t+kから時間ステップtまでの将来の観測値ot+kとtからt+k-1までのアクションのシーケンスAt:t+kについて、どれほどの情報が得られ得るかを測定する。k=1の場合、我々は、otに起因して次の観測値ot+1上の1ステップ情報利得を回収する。我々は、同じく、すべてのk≧1およびt≧0に対して、情報利得に対する以下の簡略表記IGt+k|t=IG(ot+k, Ot:t+k|ht, At:t+k)を使用する。同じく、慣例により、我々は、IGt+k|t=0を規定する。
【0119】
次に、我々は、NDIGO内発的報酬
【0120】
【0121】
が、Ot:t+HおよびOt+1:t+Hに起因する情報利得の差として表現され得ることを示す。所与の水平線H≧1およびt≧0に対して、時間ステップt+H-1に対する内発的報酬は、
【0122】
【0123】
である。
【0124】
【0125】
および
【0126】
【0127】
がそれぞれ
【0128】
【0129】
および
【0130】
【0131】
の推定であると仮定し、これらの推定値は、サンプル数が増加するにつれてより正確になるという事実に基づいて、我々は、
【0132】
【0133】
を有する。
式(2)の第1の項IGt+H|tは、どれほどの情報が、過去の観測値のシーケンスOt:t+Hからot+Hについて得ることができるかを測定する一方で、第2の項IGt+H|t-1は、どれほどの情報が、過去の観測値のシーケンスOt-1:t+Hからot+Hについて得ることができるかを測定する。それゆえ、Ot-1:t+H=ot+H\{ot}であるとき、ステップt+H-1におけるNDIGO報酬の期待値は、ot+Hの予測を試みるときに観測値otによって得ることができる追加の情報の量に等しい。
【0134】
図3に戻ると、本開示の例である方法300が要約されている。方法300は、たとえば
図1の探索システム100によって、何度も繰り返して実行される。第1のステップ301では、ニューラルネットワーク110は、現在の時間において対象システムの現在の観測値に基づいてアクション102を生成するために使用される。第2のステップ302では、生成されたアクションが、エージェント104に渡され、それにより、エージェント104に、対象システム上で、生成されたアクション102を実行させる。第3のステップ303では、対象システムの状態のさらなる観測値108が、生成されたアクションの実行に従って取得される。第4のステップ304では、報酬生成器130は、予測器120によって生成された対象システムの第1および第2の統計モデルとのもとでのさらなる観測値の尤度の間の相違の測度として報酬値を生成する。上記で説明したように、第1の統計モデルおよび第2のモデルは、過去の観測値およびアクションのそれぞれの第1および第2の履歴に基づき、第1の履歴における直近の観測値は、第2の履歴における直近の観測値より新しい。第5のステップ305では、ニューラルネットワークアップデーター112は、ステップ304において生成された報酬値に基づいてニューラルネットワーク110の1つまたは複数のパラメータを修正する。
【0135】
様々な修正を、
図2に示すシステムに対して行うことができる。たとえば、K個のネットワーク1203が示されているが、すべてが、報酬値の計算に使用されるとは限らず、それゆえ、他のものが省略されてもよい。たとえば、ネットワークのうちの2つだけを提供することが可能である。しかしながら、K=Hを使用することが、より都合がよい。なぜならば、kの低い値に対するネットワーク1203は、ネットワーク1203を初期化するために使用されることがあり、そうではなく、大きいHの場合、大きいkに対するネットワーク1203は、それらが最初から学習される場合はあまり正確でなくなる場合があるからである。
【0136】
別の例では、
図2の予測器120は、複数の統計モデル
【0137】
【0138】
を特徴付けるデータが、
図2におけるように、それぞれのニューラルネットワーク1203によって生成される代わりに、k=1,...Kに対して
【0139】
【0140】
を特徴付けるデータが、ニューラルネットワークがbtとK回の反復の間のGRUの連続するK個の内部状態at,k(k=1,...Kに対して)とを入力として受信するときに、MLPなどの単一のニューラルネットワークの連続する出力として代わりに生成されるものによって置き換えられる。具体的には、第1の反復では、GRUは、所定のベクトル(0で示される)およびatを入力として受信し、その内部状態at, 1を出力し、GRUの結果として生じた出力はbtと連結され、
【0141】
【0142】
を生成するためにMLPによって使用される。それぞれのさらなる反復(k=2, ...K)では、GRUは、その内部状態at, k-1、前の反復における出力、およびat+k-1を受信し、GRUの結果として生じた出力は、btと連結され、
【0143】
【0144】
を生成するためにMLPによって使用される。
【0145】
特定の動作またはアクションを実行するように構成されるべき1つまたは複数のコンピュータのシステムは、システムが、動作中に動作またはアクションをシステムに実行させるソフトウェア、ファームウェア、ハードウェアもしくはそれらの組合せを、システム上にインストールしていることを意味する。特定の動作またはアクションを実行するように構成されるべき1つまたは複数のコンピュータプログラムは、1つまたは複数のプログラムが命令を含み、その命令は、データ処理装置によって実行されたとき、装置に動作またはアクションを実行させることを意味する。
【0146】
本明細書で説明する主題および関数演算の実施形態は、本明細書で開示する構造およびそれらの構造的等価物を含めて、ディジタル電子回路、明確に具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらのうちの1つまたは複数の組合せの中に実装され得る。本明細書で説明する主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のためにまたはデータ処理装置の動作を制御するために、有形の非一時的プログラム担体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替または追加として、プログラム命令は、データ処理装置による実行に好適なレシーバ装置に送信するための情報を符号化するために生成される、人工的に生成された伝播信号、たとえば機械的に生成された電気、光、または電磁信号上に符号化され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたは複数の組合せであり得る。コンピュータ記憶媒体は、しかしながら、伝播信号ではない。
【0147】
「データ処理装置」という用語は、例としてプログラム可能な一プロセッサ、一コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレー)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、問題となっているコンピュータプログラムに対する実行環境を生成するコード、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せを構成するコードを含むことができる。
【0148】
コンピュータプログラム(それはまた、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、もしくはコードと呼ばれるかまたは記述されることがある)は、コンパイラ型もしくはインタプリタ型の言語、または宣言型もしくは手続き型の言語を含む任意の形態のプログラミング言語で書かれてもよく、コンピュータプログラムは、スタンドアローンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境で使用するのに好適な他のユニットとして、任意の形態で配備され得る。コンピュータプログラムは、ファイルシステム内のファイルに相当する場合があるが、必ずしも必要ではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、たとえば、マークアップ言語文書内に記憶された1つまたは複数のスクリプトの中、当該のプログラムに専用の単一のファイルの中、あるいは複数の協調的ファイル、たとえば、1つまたは複数のモジュール、サブプログラムまたはコードの部分を記憶するファイルの中に記憶され得る。コンピュータプログラムは、1つのサイトに配置されるかまたは複数のサイトにわたって分配されて通信ネットワークで相互接続される、1つのコンピュータまたは複数のコンピュータ上で実行されるように配備され得る。
【0149】
本明細書で使用される「エンジン」または「ソフトウェアエンジン」は、入力とは異なる出力を提供する入力/出力システムを実装されたソフトウェアを指す。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット(「SDK」)、またはオブジェクトなど、符号化された機能ブロックであり得る。各エンジンは、任意の適切なタイプのコンピューティングデバイス、たとえばサーバ、モバイルフォン、タブレットコンピュータ、ノートブックコンピュータ、音楽プレーヤ、イーブックリーダー、ラップトップもしくはデスクトップコンピュータ、PDA、スマートフォン、または1つもしくは複数のプロセッサおよびコンピュータ可読媒体を含む他の固定もしくは可搬デバイス上に実装され得る。加えて、2つ以上のエンジンが、同じコンピューティングデバイス上、または異なるコンピューティングデバイス上に実装され得る。
【0150】
本明細書で説明するプロセスおよび論理フローは、入力データに対して動作して出力を生成することによって関数を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なコンピュータによって実行され得る。プロセスおよび論理フローはまた、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレー)またはASIC(特定用途向け集積回路)によって実行され得、装置はまた、その専用論理回路として実装され得る。たとえば、プロセスおよび論理フローは、グラフィックス処理ユニット(GPU)によって実行されてもよく、装置はまた、GPUとして実装されてもよい。
【0151】
コンピュータプログラムの実行に好適なコンピュータは、例として、汎用もしくは専用のマイクロプロセッサ、または汎用および専用のマイクロプロセッサ、あるいは任意の他の種類の中央処理装置に基づいて含むことができる。一般的に、中央処理装置は、リードオンリーメモリもしくはランダムアクセスメモリ、または両メモリから命令およびデータを受信することになる。コンピュータの必須要素は、命令を実行または実施するための中央処理装置と、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般的に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、磁気光ディスクもしくは光ディスクを含むか、またはその記憶デバイスからデータを受信するかその記憶デバイスにデータを伝達するかもしくはその両方を行うように動作可能に結合されることになる。しかしながら、コンピュータは、必ずしもそのようなデバイスを有する必要があるとは限らない。その上、コンピュータは、別のデバイス、たとえば数例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、あるいはユニバーサルシリアルバス(USB)フラッシュドライブなどのポータブルストレージデバイスの中に組み込まれ得る。
【0152】
コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、EPROM、EEPROMおよびフラッシュメモリデバイスなどの半導体メモリデバイスと、内部ハードディスクもしくはリムーバブルディスクなどの磁気ディスクと、磁気光ディスクと、CD ROMおよびDVD-ROMディスクとを含む、すべての形態の不揮発性メモリ、メディアおよびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得るか、または専用論理回路内に組み込まれ得る。
【0153】
ユーザとの相互作用を提供するために、本明細書で説明する主題の実施形態は、ユーザに情報を表示するための表示デバイス、たとえばCRT(陰極線管)もしくはLCD(液晶ディスプレイ)のモニタと、ユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえばマウスもしくはトラックボールとを有するコンピュータ上に実装され得る。他の種類のデバイスは、同様にユーザとの相互作用を提供するために使用され得、たとえば、ユーザに与えられるフィードバックは、任意の形態の知覚フィードバック、たとえば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであり得、ユーザからの入力は、音響、音声または触覚の入力を含む任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信すること、およびそのデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと相互作用することができる。
【0154】
本明細書で説明する主題の実施形態は、たとえばデータサーバとしてバックエンド構成要素を含むか、またはアプリケーションサーバなどのミドルウェア構成要素を含むか、またはユーザが、本明細書で説明する主題の実装形態と相互作用し得るグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含むか、または1つまたは複数のそのようなバックエンド、ミドルウェアもしくはフロントエンドの構成要素の任意の組合せを含むコンピューティングシステム内に実装され得る。システムの構成要素は、任意の形態または媒体のディジタルデータ通信、たとえば通信ネットワークによって相互接続され得る。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)と、ワイドエリアネットワーク(「WAN」)、たとえばインターネットとが含まれる。
【0155】
コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントおよびサーバは、一般に互いに離れており、通常通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0156】
本明細書は多くの特定の実装形態の詳細を含むが、これらは、発明のまたは請求されるものの範囲を限定するものと解釈されるべきではなく、特定の発明の特定の実施形態に特有の特徴を説明するものと解釈されるべきである。個別の実施形態の文脈において本明細書で説明されるいくつかの特徴はまた、単一の実施形態の中で組み合わせて実装され得る。反対に、単一の実施形態の文脈において説明される様々な特徴はまた、複数の実施形態において個別に、または任意の適切な副結合において実装され得る。その上、特徴は、特定の組合せにおいて働くように上記で説明され、最初にそのようなものとして請求されるが、いくつかの場合には、請求される組合せからの1つまたは複数の特徴は、その組合せから削除されてもよく、請求される組合せは、副結合、または副結合の変形態に移されてもよい。
【0157】
同様に、動作は特定の順序で図に示されるが、これは、望ましい結果を達成するために、そのような動作が図示の特定の順序で、または一連の順序で実行されること、あるいは図示の動作のすべてが実行されることを必要とするものと理解されるべきではない。いくつかの状況では、多重タスク処理および並列処理が有利である場合がある。その上、上記で説明した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものと理解されるべきではなく、説明したプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品中に一緒に一体化されてもよく、または複数のソフトウェア製品中にパッケージ化されてもよいものと理解されるべきである。
【0158】
主題の特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲の中にある。たとえば、特許請求の範囲に記載される行動は、異なる順序で実行されても、依然として望ましい結果を達成することができる。一例として、添付の図に示すプロセスは、望ましい結果を達成するために、必ずしも図示の特定の順序または一連の順序を必要とするとは限らない。いくつかの実装形態では、多重タスク処理および並列処理が有利である場合がある。
【符号の説明】
【0159】
100 制御システム
102 アクション
104 エージェント
106 環境
108 観測値
110 ニューラルネットワーク
112 ニューラルネットワークアップデーター
120 予測器
130 報酬生成器
140 強化学習(RL)制御システム、評価ユニット、評価器
1201 再帰型ニューラルネットワーク(RNN)
1202 畳み込みニューラルネットワーク(CNN)
1203 ニューラルネット
1401 ニューラルネットワーク
【国際調査報告】