(57)【要約】  環境とインタラクションするエージェントによって実行されるべき行動を選択するために使用されるニューラルネットワークをトレーニングするための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む方法、システムおよび装置。方法のうちの1つは、(i)環境の第1の状態を特徴付ける第1の観察値、(ii)第1の観察値に応答してエージェントによって実行される行動、および(iii)第1の観察値に応答してエージェントが行動を実行することに起因して受信された実際の報酬、を識別するデータを取得するステップと、第1の観察値に対する疑似カウントを決定するステップと、第1の観察値に対する疑似カウントから環境を探求するようにエージェントを動機付ける探求報酬ボーナスを決定するステップと、実際の報酬および探求報酬ボーナスから組み合わされた報酬を生成するステップと、組み合わされた報酬を使用してニューラルネットワークのパラメータの現在の値を調整するステップとを含む。
2019517074.tif 000002
【特許請求の範囲】
【請求項１】
環境とインタラクションするエージェントによって実行されるべき行動を選択するために使用されるニューラルネットワークをトレーニングするための方法であって、
(i)前記環境の第1の状態を特徴付ける第1の観察値、(ii)前記第1の観察値に応答して前記エージェントによって実行される行動、および(iii)前記第1の観察値に応答して前記エージェントが前記行動を実行することに起因して受信された実際の報酬を識別するデータを取得するステップと、
前記第1の観察値に対する疑似カウントを決定するステップと、
前記第1の観察値に対する前記疑似カウントから前記環境を探求するように前記エージェントを動機付ける探求報酬ボーナスを決定するステップと、
前記実際の報酬および前記探求報酬ボーナスから組み合わされた報酬を生成するステップと、
前記組み合わされた報酬を使用して前記ニューラルネットワークの前記パラメータの現在の値を調整するステップと
を含む、方法。
【請求項２】
前記疑似カウントが、前記第1の観察値に応答して行動を取ることの効果の確かさについて推定される尺度である、請求項1に記載の方法。
【請求項３】
前記パラメータの前記現在の値を調整するステップが、
強化学習技法の反復を実行することにおいて、前記実際の報酬の代わりに前記組み合わされた報酬を使用するステップ
を含む、請求項1または2に記載の方法。
【請求項４】
前記強化学習技法が、モンテカルロリターン内で混合されるダブルDQN技法である、請求項3に記載の方法。
【請求項５】
前記強化学習技法が、アクター−クリティック技法である、請求項3に記載の方法。
【請求項６】
前記組み合わされた報酬を生成するステップが、前記実際の報酬と前記探求報酬ボーナスとを合計するステップを含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記探求報酬ボーナスRBが、
【数１】
2019517074.tif 000013
を満足し、ここでxは第1の観察値であり、
【数２】
2019517074.tif 000014
が第1の観察値に対する疑似カウントであり、aおよびbは定数であり、βはパラメータスイープによって選択されたパラメータである、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記第1の観察値に対する前記疑似カウント
【数３】
2019517074.tif 000015
が、
【数４】
2019517074.tif 000016
の形態であり、
ここでρn(x)が前記第1の観察値に対するシーケンシャル密度モデルの前記値であり、ρ'n(x)が前記第1の観察値に対する前記再コーディング確率である、請求項1から6のいずれか一項に記載の方法。
【請求項９】
前記再コーディング確率が、前記第1の観察値の新しい発生を観察した後の前記シーケンシャル密度モデルの値である、請求項8に記載の方法。
【請求項１０】
前記シーケンシャル密度モデルがピクセルレベルの密度モデルである、請求項8または9に記載の方法。
【請求項１１】
1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを含むシステムであって、前記命令が、前記1つまたは複数のコンピュータによって実行されたとき、請求項1から10のいずれか一項に記載の前記それぞれの方法の動作を前記1つまたは複数のコンピュータに実行させるように動作可能である、システム。
【請求項１２】
命令によって符号化されるコンピュータ記憶媒体であって、前記命令が、1つまたは複数のコンピュータによって実行されたとき、請求項1から10のいずれか一項に記載の前記それぞれの方法の動作を前記1つまたは複数のコンピュータに実行させる、コンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、全内容が参照により本明細書に組み込まれる、2016年5月20日に出願された米国仮特許出願第62/339,778号の非仮出願であり、その優先権を主張する。
【０００２】
本明細書は強化学習に関する。
【背景技術】
【０００３】
強化学習システムでは、エージェントは、環境の現在の状態を特徴付ける観察値を受信したことに応答して、強化学習システムによって選択された行動を実行することによって環境とインタラクションする。
【０００４】
いくつかの強化学習システムは、ニューラルネットワークの出力に従って所与の観察値を受信したことに応答して、エージェントによって実行されるべき行動を選択する。
【０００５】
ニューラルネットワークは、受信された入力に対する出力を予測するために非線形ユニットの1つまたは複数の層を採用する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む深層ニューラルネットワークである。各隠れ層の出力は、ネットワーク内の次の層、すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、それぞれのパラメータのセットの現在の値に従って、受信された入力から出力を生成する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Bellemare, M.、Veness, J.、およびTalvitie, E. (2014)、"Skip context tree switching."、機械学習についての第31回国際会議の議事録、1458〜1466頁
【発明の概要】
【課題を解決するための手段】
【０００７】
本明細書は、1つまたは複数のロケーション内の1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されたシステムが、受信された観察値に応答して環境とインタラクションするエージェントによって実行されるべき行動を選択するために使用されるニューラルネットワークのパラメータをどのように調整可能かについて説明する。
【０００８】
第1の態様によれば、環境とインタラクションするエージェントによって実行されるべき作動を選択するために使用されるニューラルネットワークをトレーニングするための方法が提供される。本方法は、(i)環境の第1の状態を特徴付ける第1の観察値、(ii)第1の観察値に応答してエージェントによって実行される行動、および(iii)第1の観察値に応答してエージェントが行動を実行することに起因して受信された実際の報酬を識別するデータを取得するステップを含む。本方法は、第1の観察値に対する疑似カウントを決定するステップと、第1の観察値に対する疑似カウントから環境を探求するようにエージェントを動機付ける探求報酬ボーナスを決定するステップと、実際の報酬および探求報酬ボーナスから組み合わされた報酬を生成するステップと、組み合わされた報酬を使用してニューラルネットワークのパラメータの現在の値を調整するステップとをさらに含む。
【０００９】
一実装形態では、疑似カウントは、第1の観察値に応答して行動を取ることの効果の確かさについて推定される尺度である。
【００１０】
一実装形態では、パラメータの現在の値を調整することは、強化学習技法の反復を実行することにおいて、実際の報酬の代わりに組み合わされた報酬を使用することを含む。
【００１１】
一実装形態では、強化学習技法は、モンテカルロリターン内で混合されるダブルDQN技法である。
【００１２】
一実装形態では、強化学習技法はアクター−クリティック(actor-critic)技法である。
【００１３】
一実装形態では、組み合わされた報酬を生成することは、実際の報酬と探求報酬ボーナスとを合計することを含む。
【００１４】
一実装形態では、探求報酬ボーナスRBは、
【数１】
2019517074.tif 000003
を満足し、ここでxは第1の観察値であり、
【数２】
2019517074.tif 000004
は第1の観察値に対する疑似カウントであり、aおよびbは定数であり、βはパラメータスイープによって選択されたパラメータである。
【００１５】
一実装形態では、第1の観察値に対する疑似カウント
【数３】
2019517074.tif 000005
は
【数４】
2019517074.tif 000006
の形態であり、ここでρn(x)は第1の観察値に対するシーケンシャル密度モデルの値であり、ρ'n(x)は第1の観察値に対する再コーディング確率である。
【００１６】
一実装形態では、再コーディング確率は、第1の観察値の新しい発生を観察した後のシーケンシャル密度モデルの値である。
【００１７】
一実装形態では、シーケンシャル密度モデルは、ピクセルレベルの密度モデルである。
【００１８】
第2の態様によれば、1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを備えるシステムが提供され、命令は、1つまたは複数のコンピュータによって実行されたとき、第1の態様による方法の動作を1つまたは複数のコンピュータに実行させるように動作可能である。
【００１９】
第3の態様によれば、命令によって符号化されるコンピュータ記憶媒体が提供され、命令は、1つまたは複数のコンピュータによって実行されたとき、第1の態様による方法の動作を1つまたは複数のコンピュータに実行させる。
【００２０】
本明細書で説明する主題は、以下の優位のうちの1つまたは複数を実現するために特定の実装形態において実装されてもよい。強化学習システムは、タスクを完了するために行動空間内のエージェントによって、すなわち疑似カウント法を使用してトレーニングされるニューラルネットワークを使用することによって、実行されるべき行動を効率的に選択することができる。行動空間は、エージェントがインタラクションすることができる実世界の環境であってもよい。特に、システムは、組み合わされた報酬を生成するために、シーケンシャル密度モデルから導出される疑似カウントに逆比例するボーナス報酬と、エージェントが行動を実行することに起因する実際の報酬とを組み合わせる。次いで、システムは、エージェントによって実行されるべき行動を選択するためにニューラルネットワークをトレーニングするために組み合わされた報酬を使用する。このようにしてトレーニングされると、ニューラルネットワークは、環境をより全面的に探求するようにエージェントを動機付ける(たとえば、頻繁には観察されなかった観察値を探求するようにエージェントを促す)ことができ、したがって、より少ないトレーニング反復数を必要としながら、探求結果を改善することができる。疑似カウントを使用してニューラルネットワークをトレーニングすることによって、システムは、エージェントが環境を探求するための行動を選択するのに必要な計算時間とリソースとを低減することができる。
【００２１】
本方法は、ロボットなどのエージェントまたは自律的もしくは半自律的車両が、それの実世界の環境とのインタラクションを改善できるという利点を有する。たとえば、本方法は、特定のタスクの達成または環境を通るナビゲーションもしくは環境の観察値の改善を可能にすることができる。
【００２２】
本明細書の主題の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明において説明される。主題の他の特徴、態様、および利点は、説明、図面および特許請求の範囲から明白となろう。
【図面の簡単な説明】
【００２３】
【図１】例示的な強化学習システムを示す図である。
【図２】環境とインタラクションするエージェントによって実行されるべき行動を選択するために使用される、ニューラルネットワークをトレーニングするための例示的なプロセスのフロー図である。
【図３】組み合わされた報酬を生成するための例示的なプロセスのフロー図である。
【発明を実施するための形態】
【００２４】
様々な図における同様の参照番号および記号は、同様の要素を示す。
【００２５】
本明細書は、一般にニューラルネットワークを使用することによって環境とインタラクションする強化学習エージェントによって実行されるべき行動を選択する強化学習システムについて説明する。環境とインタラクションするために、エージェントは、環境の現在の状態を特徴付けるデータを受信し、受信されたデータに応答して、行動空間、すなわち離散的行動空間または連続的行動空間から行動を実行する。環境の状態を特徴付けるデータは、本明細書では観察値と呼ばれる。
【００２６】
いくつかの実装形態では、環境は実世界の環境であり、エージェントは実世界の環境とインタラクションする機械的エージェントである。たとえば、エージェントは、特定のタスクを達成するために環境とインタラクションするロボットであってもよい。別の例として、エージェントは、環境を通り抜ける自律的または半自律的車両であってもよい。これらの場合、観察値は、機械的エージェントが環境とインタラクションするときに機械的エージェントの1つまたは複数のセンサ、たとえばカメラ、LIDARセンサ、温度センサなどによって捕捉されたデータであってもよい。
【００２７】
他の実装形態では、環境はシミュレートされた環境であり、エージェントは、シミュレートされた環境とインタラクションする1つまたは複数のコンピュータとして実装される。たとえば、シミュレートされた環境はビデオゲームであってもよく、エージェントは、ビデオゲームをプレイするシミュレートされたユーザであってもよい。
【００２８】
図1は、例示的な強化学習システム100を示す。強化学習システム100は、以下で説明するシステム、構成要素および技法が実装される1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上にコンピュータプログラムとして実装されたシステムの一例である。
【００２９】
強化学習システム100は、環境104とインタラクションする強化学習エージェント102によって実行されるべき行動を選択する。すなわち、強化学習システム100は、各観察値が環境104のそれぞれの状態を特徴付ける複数の観察値を受信し、観察値に応答して強化学習エージェント102によって実行されるべき行動空間から行動を選択し、次いで選択された行動を実行することをエージェント102に指示するかまたは場合によっては行わせる。エージェント102が選択された行動を実行した後、環境104は新しい状態に遷移し、システム100は、環境104の次の状態を特徴付ける別の観察値と報酬とを受信する。報酬は、エージェント102が選択された行動を実行した結果として、環境104からシステム100またはエージェント102によって受信される数値であってもよい。すなわち、システム100によって受信された報酬は、一般に選択された行動を実行するエージェント102によって生じた状態の遷移の結果に応じて変化する。たとえば、エージェント102によって実行されるタスクの完了により近い状態への遷移は、エージェント102によって実行されるタスクの完了からより遠い状態への遷移よりも高い報酬が、システム100によって受信される結果をもたらす場合がある。
【００３０】
特に、行動を選択するために、強化学習システム100は、ニューラルネットワーク110を含む。一般に、ニューラルネットワーク110は、観察値を受信し、観察値に応答してエージェントによって実行されるべき行動を規定する出力を生成するように、観察値を処理するように構成されたニューラルネットワークである。
【００３１】
いくつかの実装形態では、ニューラルネットワーク110は、観察値および行動を受信し、行動が、エージェントがタスクを完了する機会を最大化する行動である確率を表す確率を出力するニューラルネットワークである。
【００３２】
いくつかの実装形態では、ニューラルネットワーク110は、観察値を受信し、可能な行動にわたって確率分布を規定する出力を生成するニューラルネットワークであって、各行動に対する確率は、行動が、エージェントがタスクを完了する機会を最大化する行動である確率である。
【００３３】
いくつかの他の実装形態では、ニューラルネットワーク110は、観察値およびその観察値に応答してエージェントによって実行される行動、すなわち観察行動ペアを受信することと、観察行動ペアにおける観察に応答してエージェントが行動を実行することに起因する推定されるリターンを表す、観察行動ペアに対するQ値を生成することとを行うように構成されたニューラルネットワークである。ニューラルネットワーク110は、たとえば観察行動ペアに対するQ値を繰り返し生成することによってプロセスを繰り返し実行することができる。次いで、システム100は、所与の観察値に応答してエージェントが実行する行動を決定するために生成されたQ値を使用することができる。
【００３４】
エージェント102が効率的に環境とインタラクションすることを可能にするために、強化学習システム100は、計数システム120によって生成された組み合わされた報酬を使用することによって、ニューラルネットワーク110のパラメータのトレーニングされた値を決定するためにニューラルネットワーク110をトレーニングする。特に、トレーニング中、計数システム120は、システム100が前に受信した観察値のシーケンスを維持する。
【００３５】
エージェント102が所与の観察値に応答して行動を実行し、エージェントが行動を実行した結果として実際の報酬がシステム100によって受信された後、計数システムは、所与の観察値、行動および実際の報酬を識別するデータを受信する。データに基づいて、計数システム120は、シーケンシャル密度モデルを使用して所与の観察値に対する疑似カウントを決定する。次いで、計数システム120は、所与の観察値に対して決定された疑似カウントから環境を探求するようにエージェントを動機付ける探求報酬ボーナスを決定する。続いて、計数システム120は、実際の報酬および探求報酬ボーナスから組み合わされた報酬を決定する。
【００３６】
次いで、強化学習システム100は、ニューラルネットワーク110をトレーニングするために組み合わされた報酬を使用する。ニューラルネットワーク110をトレーニングすることは、図2を参照しながら以下でより詳細に説明される。所与の観察値に対する疑似カウント、探求報酬ボーナスおよび組み合わされた報酬を決定することは、図3を参照しながら以下でより詳細に説明される。
【００３７】
図2は、環境とインタラクションするエージェントによって実行されるべき行動を選択するために使用される、ニューラルネットワークをトレーニングするための例示的なプロセスのフロー図である。便宜上、プロセス200は、1つまたは複数のロケーション内に配置された1つまたは複数のコンピュータのシステムによって実行されているものとして説明する。たとえば、本明細書に従って適切にプログラムされた強化学習システム、たとえば図1の強化学習システム100は、プロセス200を実行することができる。
【００３８】
システムは、(i)環境の第1の状態を特徴付ける第1の観察値、(ii)第1の観察値に応答してエージェントによって実行される第1の行動、および(iii)第1の観察値に応答してエージェントが行動を実行することに起因して受信された実際の報酬、を識別するデータを取得する(ステップ202)。一般に、実際の報酬は、エージェントが第1の行動を実行したことに応答して環境がどのように変化したか依存する数値である。いくつかの実装形態では、たとえばニューラルネットワークがオフポリシーアルゴリズムを使用してトレーニングされている実装形態では、システムは、エージェントが環境とインタラクションすることから生成されるエクスペリエンスタプル、すなわち観察行動報酬タプルを記憶するメモリからデータを取得することができる。他の実装形態では、たとえばニューラルネットワークがオンポリシーアルゴリズムを使用してトレーニングされている実装形態では、取得されたデータは、エージェントの環境との直近のインタラクションの結果として生成されている。
【００３９】
次に、システムは、実際の報酬からの第1の観察値および探求報酬ボーナスに対応する組み合わされた報酬を決定する(ステップ204)。探求報酬ボーナスは、環境を探求するようにエージェントを動機付けるために使用されてもよい。たとえば、探求報酬ボーナスは、以前に観察されていない新しい観察値を受信することによって、環境の新しい部分を探求するようにエージェントを動機付けるために使用されてもよい。探求報酬ボーナスを決定することは、図3を参照しながら以下でより詳細に説明される。
【００４０】
次いで、システムは、組み合わされた報酬を使用してニューラルネットワークのパラメータの現在の値を調整する(ステップ206)。一般に、システムは、ニューラルネットワークが組み合わされた報酬の予期される合計を最大化する行動を選択するように、ニューラルネットワークのパラメータの現在の値を調整する。すなわち、システムは、ニューラルネットワークが、(i)タスクの完了により近く、システムによって受信されるより高い実際の報酬を生じる状態の方に遷移する環境をもたらすこと、および/または(ii)受信される探求報酬ボーナスを最大化するために以前に頻繁には観察されなかったかまたは決して観察されなかった観察値を探求するようにエージェントを動機付けることを行う行動を選択するように、ニューラルネットワークのパラメータの現在の値を調整することができる。
【００４１】
パラメータの現在の値を調整することは、強化学習技法の反復を実行することにおいて、実際の報酬の代わりに組み合わされた報酬を使用することを含む。システムは、任意の適切な強化学習技法、すなわちニューラルネットワークが生成するように構成される類の出力を生成するニューラルネットワークをトレーニングするのに適切である強化学習技法を使用することができる。たとえば、いくつかの実装形態では、強化学習技法は、モンテカルロリターン内で混合されるダブルDQN技法である。いくつかの他の実装形態では、強化学習技法は、アクター−クリティック技法である。これらの強化学習技法のうちのいくつかでは、システムはまた、技法の反復を実行することを必要とする追加の情報、たとえばエージェントが第1の行動を実行した後に受信される次の観察値を取得し、次いで、第1の観察値、第1の行動、組み合わされた報酬、および追加の情報を使用して強化学習技法を実行する。
【００４２】
図3は、組み合わされた報酬を生成するための例示的なプロセスのフロー図である。便宜上、プロセス300は、1つまたは複数のロケーション内に配置された1つまたは複数のコンピュータのシステムによって実行されているものとして説明する。たとえば、本明細書に従って適切にプログラムされた強化学習システム、たとえば図1の強化学習システム100は、プロセス300を実行することができる。
【００４３】
システムは、第1の観察値に対する疑似カウントを決定する(ステップ302)。疑似カウントは、第1の観察値に応答して行動を取ることの効果がどのようなものになるかについて、システムがどれほどの確かさであるかについて推定される尺度である。具体的には、第1の観察値に対する疑似カウントは、ニューラルネットワークをトレーニングしている間に第1の観察値が発生した数に依存する経験カウント関数である。第1の観察値xに対する疑似カウント
【数５】
2019517074.tif 000007
は、以下の
【数６】
2019517074.tif 000008
のように決定されてもよく、ここでρn(x)は第1の観察値に対するシーケンシャル密度モデルの値であり、ρ'n(x)は第1の観察値xに対する再コーディング確率である。
【００４４】
シーケンシャル密度モデルは、n個の以前の観察値X1,...,Xnが以下の
ρn(x)≒ρ(x; x1:n)=Pγρ(Xn+1=x|X1...Xn=x1:n)
のように与えられる場合に、第1の観察値xが発生する尤度を表し、ここでPγρ(Xn+1=x|X1...Xn=x1:n)は、n個の以前の観察値X1,...,Xnが受信されている場合に、n+1番目の観察値Xn+1が第1の観察値xと同じである尤度を表す条件付き確率である。
【００４５】
シーケンシャル密度モデルは、たとえばピクセルレベルの密度モデルであってもよい。ピクセルレベルの密度モデルは、Bellemare, M.、Veness, J.、およびTalvitie, E. (2014)、"Skip context tree switching."、機械学習についての第31回国際会議の議事録、1458〜1466頁により詳細に記述されている。
【００４６】
再コーディング確率は、第1の観察値
ρ'n(x)≒ρ(x; x1:nx)
の新しい発生を観察した後の第1の観察値xに対するシーケンシャル密度モデルの値である。
【００４７】
再コーディング確率は、以下の
ρ'n(x)=Pγρ(Xn+2=x|X1...Xn=x1:n, Xn+1=x)
のように決定されてもよく、ここでPγρ(Xn+2=x|X1...Xn=x1:n, Xn+1=x)は、n+1前の観察値x1:nおよびxが発生した場合に、新しい観察値、たとえばn+1番目の観察値Xn+1に続くn+2番目の観察値Xn+2(それは上記の第1の観察値と同じである)が、第1の観察値xと同じである尤度を表す条件付き確率である。
【００４８】
次いで、システムは、第1の観察値xに対する疑似カウントから環境を探求するようにエージェントを動機付ける探求報酬ボーナスを決定する(ステップ302)。一般に、探求報酬ボーナスは、疑似カウント
【数７】
2019517074.tif 000009
に逆比例する。それは、疑似カウント
【数８】
2019517074.tif 000010
がより大きくなるとき、すなわち第1の観察値xがより頻繁に発生したときに、第1の観察値に対応する探求報酬ボーナスはより小さくなること、およびその逆も真であることを意味する。いくつかの実装形態では、探求報酬ボーナスRBは、以下の
【数９】
2019517074.tif 000011
のように決定されてもよく、ここでxは第1の観察値であり、
【数１０】
2019517074.tif 000012
は第1の観察値に対する疑似カウントであり、aおよびbは定数であり、βはパラメータスイープによって選択されたパラメータである。2つの定数aおよびbは、一般に正の定数である。
【００４９】
次いで、システムは、実際の報酬からの第1の観察値および探求報酬ボーナスに対応する組み合わされた報酬を生成する(ステップ304)。たとえば、システムは、実際の報酬と探求報酬ボーナスとを合計することによって組み合わされた報酬を生成する。
【００５０】
1つまたは複数のコンピュータのシステムが特定の動作または行動を実行するように構成されるということは、システムが、動作中に動作または行動をシステムに実行させるソフトウェア、ファームウェア、ハードウェアまたはそれらの組合せをシステム上にインストールしているということを意味する。1つまたは複数のコンピュータプログラムが特定の動作または行動を実行するように構成されるということは、1つまたは複数のプログラムが命令を含み、その命令は、データ処理装置によって実行されたとき、装置に動作または行動を実行させるということを意味する。
【００５１】
本明細書で説明する主題および関数演算の実施形態は、本明細書で開示する構造およびそれらの構造的等価物を含むディジタル電子回路、明確に具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらのうちの1つまたは複数の組合せの中に実装されてもよい。本明細書で説明する主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわちデータ処理装置による実行のためにまたはデータ処理装置の動作を制御するために、有形の非一時的プログラム担体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装されてもよい。代替または追加として、プログラム命令は、データ処理装置による実行に好適なレシーバ装置に送信するための情報を符号化するために生成される、人工的に生成された伝播信号、たとえば機械的に生成された電気、光、または電磁信号上に符号化されてもよい。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたは複数の組合せであってもよい。コンピュータ記憶媒体は、しかしながら伝播信号ではない。
【００５２】
「データ処理装置」という用語は、例としてプログラム可能な1つのプロセッサ、1つのコンピュータ、または複数のプロセッサもしくはコンピュータを含むデータを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、問題となっているコンピュータプログラムに対する実行環境を生成するコード、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せを構成するコードを含むことができる。
【００５３】
コンピュータプログラム(それはまた、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、もしくはコードと呼ばれるかまたは記述されることがある)は、コンパイラ型もしくはインタプリタ型の言語、または宣言型もしくは手続き型の言語を含む任意の形態のプログラミング言語で書かれてもよく、コンピュータプログラムは、スタンドアローンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境で使用するのに好適な他のユニットとして、任意の形態で配布されてもよい。コンピュータプログラムは、ファイルシステム内のファイルに相当する場合があるが、必須ではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、たとえばマークアップ言語文書内、問題となっているプログラムに専用の単一のファイル内、あるいは1つまたは複数のモジュール、サブプログラムまたはコードの部分を記憶するファイルのような複数の協調的ファイル内に記憶される1つまたは複数のスクリプトの中に記憶されてもよい。コンピュータプログラムは、1つのサイトに配置される1つのコンピュータか、または複数のサイトにわたって分配されて通信ネットワークで相互接続される複数のコンピュータ上で実行されるように配布されてもよい。
【００５４】
本明細書で使用される「エンジン」または「ソフトウェアエンジン」は、入力とは異なる出力を提供するソフトウェア実装入力/出力システムを指す。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット("SDK")、またはオブジェクトなど、符号化された機能ブロックであってもよい。各エンジンは、任意の適切なタイプのコンピューティングデバイス、たとえばサーバ、モバイルフォン、タブレットコンピュータ、ノートブックコンピュータ、音楽プレーヤ、イーブックリーダー、ラップトップもしくはデスクトップコンピュータ、PDA、スマートフォン、または1つもしくは複数のプロセッサおよびコンピュータ可読媒体を含む他の固定もしくは可搬デバイス上に実装されてもよい。加えて、2つ以上のエンジンが、同じコンピューティングデバイス上、または異なるコンピューティングデバイス上に実装されてもよい。
【００５５】
本明細書で説明するプロセスおよび論理フローは、入力データに対して動作して出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なコンピュータによって実行されてもよい。プロセスおよび論理フローはまた、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されてもよく、装置はまた、その専用論理回路として実装されてもよい。たとえば、プロセスおよび論理フローは、グラフィックス処理ユニット(GPU)によって実行されてもよく、装置はまた、GPUとして実装されてもよい。
【００５６】
コンピュータプログラムの実行に好適なコンピュータは、例として、汎用もしくは専用のマイクロプロセッサ、または汎用および専用のマイクロプロセッサ、あるいは任意の他の種類の中央処理装置に基づくことができる。一般的に、中央処理装置は、リードオンリーメモリもしくはランダムアクセスメモリ、または両メモリから命令およびデータを受信することになる。コンピュータの必須要素は、命令を実行または実施するための中央処理装置と、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般的に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、磁気光ディスクもしくは光ディスクを含むか、またはその記憶デバイスからデータを受信するかその記憶デバイスにデータを伝達するかもしくはその両方を行うように動作可能に結合されることになる。しかしながら、コンピュータは、必ずしもそのようなデバイスを有する必要があるとは限らない。その上、コンピュータは、別のデバイス、たとえば数例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、あるいはユニバーサルシリアルバス(USB)フラッシュドライブなどのポータブルストレージデバイスの中に組み込まれてもよい。
【００５７】
コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、EPROM、EEPROMおよびフラッシュメモリなどの半導体メモリデバイスと、内部ハードディスクもしくはリムーバブルディスクなどの磁気ディスクと、磁気光ディスクと、CD ROMおよびDVD-ROMディスクとを含む、すべての形態の不揮発性メモリ、メディアおよびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完されてもよいか、または専用論理回路内に組み込まれてもよい。
【００５８】
ユーザとのインタラクションを提供するために、本明細書で説明する主題の実施形態は、ユーザに情報を表示するためのCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタなどの表示デバイスと、ユーザがコンピュータに入力を与えることができるマウスまたはトラックボールなどのキーボードおよびポインティングデバイスとを有するコンピュータ上に実装されてもよい。他の種類のデバイスは、同様にユーザとのインタラクションを提供するために使用されてもよく、たとえばユーザに与えられるフィードバックは任意の形態の知覚フィードバック、たとえば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであってもよく、ユーザからの入力は、音響、音声または触覚の入力を含む任意の形態で受信されてもよい。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信すること、およびそのデバイスから文書を受信することによって、たとえばウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザとインタラクションすることができる。
【００５９】
本明細書で説明する主題の実施形態は、たとえばデータサーバとしてバックエンド構成要素を含むか、またはアプリケーションサーバなどのミドルウェア構成要素を含むか、またはユーザが、本明細書で説明する主題の実装形態とインタラクションし得るグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含むか、または1つもしくは複数のそのようなバックエンド、ミドルウェアもしくはフロントエンドの構成要素の任意の組合せを含むコンピューティングシステム内に実装されてもよい。システムの構成要素は、任意の形態または媒体のディジタルデータ通信、たとえば通信ネットワークによって相互接続されてもよい。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)と、ワイドエリアネットワーク(「WAN」)、たとえばインターネットとが含まれる。
【００６０】
コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントおよびサーバは、一般に互いに離れており、通常通信ネットワークを介してインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【００６１】
本明細書は多くの特定の実装形態の詳細を含むが、これらは、発明のまたは請求されるものの範囲を限定するものと解釈されるべきではなく、特定の発明の特定の実施形態に特有の特徴を説明するものと解釈されるべきである。個別の実施形態の文脈において本明細書で説明されるいくつかの特徴はまた、単一の実施形態の中で組み合わせて実装されてもよい。反対に、単一の実施形態の文脈において説明される様々な特徴はまた、複数の実施形態において個別に、または任意の適切なサブコンビネーションにおいて実装されてもよい。その上、特徴は、特定の組合せにおいて働くように上記で説明され、最初にそのようなものとして請求されるが、いくつかの場合には、請求される組合せからの1つまたは複数の特徴は、その組合せから削除されてもよく、請求される組合せは、サブコンビネーション、またはサブコンビネーションのバリエーションに移されてもよい。
【００６２】
同様に、動作は特定の順序で図に示されるが、これは、望ましい結果を達成するために、そのような動作が図示の特定の順序で、または一連の順序で実行されること、あるいは図示の動作のすべてが実行されることを必要とするものと理解されるべきではない。いくつかの状況では、多重タスク処理および並列処理が有利である場合がある。その上、上記で説明した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものと理解されるべきではなく、説明したプログラム構成要素およびシステムは、一般に単一のソフトウェア製品中に一緒に一体化されてもよく、または複数のソフトウェア製品中にパッケージ化されてもよいものと理解されるべきである。
【００６３】
主題の特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲の中にある。たとえば、特許請求の範囲に記載される行動は、異なる順序で実行されても、依然として望ましい結果を達成することができる。一例として、添付の図に示すプロセスは、望ましい結果を達成するために、必ずしも図示の特定の順序または一連の順序を必要とするとは限らない。いくつかの実装形態では、多重タスク処理および並列処理が有利である場合がある。
【符号の説明】
【００６４】
100  強化学習システム
102  強化学習エージェント
104  環境
110  ニューラルネットワーク
120  計数システム
200  プロセス
【図１】
2019517074.tif 000017
【図２】
2019517074.tif 000018
【図３】
2019517074.tif 000019
【手続補正書】
【提出日】平成31年1月15日(2019.1.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
環境とインタラクションするエージェントによって実行されるべき行動を選択するために使用されるニューラルネットワークをトレーニングするためのコンピュータ実装方法であって、
(i)前記環境の第1の状態を特徴付ける第1の観察値、(ii)前記ニューラルネットワークを使用して選択され、前記第1の観察値に応答して前記エージェントによって実行される行動、および(iii)前記第1の観察値に応答して前記エージェントが前記行動を実行することに起因して受信された実際の報酬を識別するデータを取得するステップと、
前の観察値のシーケンスを与えられると前記第1の観察値が発生する尤度を表すシーケンシャル密度モデルを使用して前記第1の観察値に対する疑似カウントを決定するステップであって、前記疑似カウントが、前記ニューラルネットワークの前記トレーニングの間の前記第1の観察値の以前の発生の数に依存する、ステップと、
前記第1の観察値に対する前記疑似カウントから前記環境を探求するように前記エージェントを動機付ける探求報酬ボーナスを決定するステップであって、前記疑似カウントがより高くなると前記探求報酬ボーナスがより低くなり、その逆も真である、ステップと、
前記実際の報酬および前記探求報酬ボーナスから組み合わされた報酬を生成するステップと、
前記組み合わされた報酬を使用して前記ニューラルネットワークのパラメータの現在の値を調整するステップと
を含む、方法。
【請求項２】
前記パラメータの前記現在の値を調整するステップが、
強化学習技法の反復を実行することにおいて、前記実際の報酬の代わりに前記組み合わされた報酬を使用するステップ
を含む、請求項1に記載の方法。
【請求項３】
前記ニューラルネットワークが、前記第1の観察値を受信することと、可能な行動にわたって確率分布を規定する出力を生成することとを行うように構成され、各行動に対する確率が、前記行動が、前記エージェントによって実行されるタスクを前記エージェントが完了する機会を最大化する前記行動である前記確率である、請求項1または2に記載の方法。
【請求項４】
前記ニューラルネットワークが、前記第1の観察値と、前記第1の観察値に応答して前記エージェントによって実行される行動とである観察行動ペアを受信することと、前記観察行動ペアにおける前記観察値に応答して前記エージェントが前記行動を実行することに起因する推定されるリターンを表す、前記観察行動ペアに対するQ値を生成することとを行うように構成される、請求項1または2のいずれか一項に記載の方法。
【請求項５】
前記組み合わされた報酬を生成するステップが、前記実際の報酬と前記探求報酬ボーナスとを合計するステップを含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記探求報酬ボーナスRBが、
【数１】
2019517074.tif 000020
を満足し、ここでxは第1の観察値であり、
【数２】
2019517074.tif 000021
が第1の観察値に対する疑似カウントであり、aおよびbは定数であり、βはパラメータスイープによって選択されたパラメータである、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記第1の観察値に対する前記疑似カウント
【数３】
2019517074.tif 000022
が、
【数４】
2019517074.tif 000023
の形態であり、
ここでρn(x)が前記第1の観察値に対するシーケンシャル密度モデルの前記値であり、ρ'n(x)が前記第1の観察値に対する再コーディング確率であり、前記再コーディング確率が、前記第1の観察値の新しい発生を観察した後の前記シーケンシャル密度モデルの値である、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記シーケンシャル密度モデルがピクセルレベルの密度モデルである、請求項7に記載の方法。
【請求項９】
前記エージェントが機械的エージェントであり、前記環境が実世界の環境であり、前記方法が、前記行動を選択するために前記ニューラルネットワークを使用するステップと、前記選択された行動を実行するステップと、前記実際の報酬受信するステップとをさらに含み、前記エージェントが前記環境を探求するときに、前記ニューラルネットワークがトレーニングされる、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
命令によって符号化される1つまたは複数のコンピュータ記憶媒体であって、前記命令が、1つまたは複数のコンピュータによって実行されたとき、請求項1から9のいずれか一項に記載の方法を前記1つまたは複数のコンピュータに実行させる、1つまたは複数のコンピュータ記憶媒体。
【請求項１１】
請求項10に記載の前記1つまたは複数のコンピュータ記憶媒体と前記命令を実行するための1つまたは複数のコンピュータとを含む、システム。
【国際調査報告】
2019517074.tif 000024
2019517074.tif 000025