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

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

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

特許7436688目的別行動価値関数を使用する多目的強化学習
<>
  • 特許-目的別行動価値関数を使用する多目的強化学習 図1
  • 特許-目的別行動価値関数を使用する多目的強化学習 図2
  • 特許-目的別行動価値関数を使用する多目的強化学習 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-22
(54)【発明の名称】目的別行動価値関数を使用する多目的強化学習
(51)【国際特許分類】
   G06N 3/092 20230101AFI20240214BHJP
【FI】
G06N3/092
【請求項の数】 19
(21)【出願番号】P 2022548008
(86)(22)【出願日】2021-02-08
(65)【公表番号】
(43)【公表日】2023-03-28
(86)【国際出願番号】 EP2021052986
(87)【国際公開番号】W WO2021156516
(87)【国際公開日】2021-08-12
【審査請求日】2022-10-05
(31)【優先権主張番号】62/971,661
(32)【優先日】2020-02-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517030789
【氏名又は名称】ディープマインド テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】アッバース・アブドルマレキ
(72)【発明者】
【氏名】サンディ・ハン・ファン
【審査官】円子 英紀
(56)【参考文献】
【文献】特開2019-159888(JP,A)
【文献】国際公開第2019/187548(WO,A1)
【文献】国際公開第2018/110305(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
強化学習によってニューラルネットワークシステムをトレーニングするための方法であって、前記ニューラルネットワークシステムが、エージェントが対話する環境の状態を特徴付ける入力観測結果を受信し、複数の目的を満たすことを目的とするポリシーに従って行動を選択および出力するように構成され、前記方法が、
1つまたは複数の軌道のセットを取得するステップであって、各軌道が、環境の状態と、前記状態に応答して前のポリシーに従って前記エージェントによって前記環境に適用される行動と、前記行動に対する報酬のセットとを含み、各報酬が、前記複数の目的のうちの対応する目的に関連する、ステップと、
前記1つまたは複数の軌道のセットに基づいて、前記複数の目的の各々について行動価値関数を決定するステップであって、各行動価値関数が、前記エージェントが前記前のポリシーに従って所与の状態に応答して所与の行動を実行する結果として生じる、前記対応する目的に応じた推定されるリターンを表す行動価値を決定する、ステップと、
前記複数の目的に対する前記行動価値関数の組合せに基づいて、更新されたポリシーを決定するステップと
含み、
更新されたポリシーを決定するステップが、
前記複数の目的における各目的について目的別ポリシーを決定するステップであって、各目的別ポリシーが、前記対応する目的に関する前記対応する行動価値関数に基づいて決定される、ステップと、
前記更新されたポリシーのポリシーパラメータのセットを前記目的別ポリシーの組合せに適合させることによって、前記更新されたポリシーを決定するステップと
を含む
方法。
【請求項2】
前記更新されたポリシーのポリシーパラメータの前記セットを前記目的別ポリシーの前記組合せに適合させるステップが、前記更新されたポリシーと前記目的別ポリシーの前記組合せとの間の差を最小化するポリシーパラメータのセットを決定するステップを含む、請求項1に記載の方法。
【請求項3】
前記更新されたポリシーに関するポリシーパラメータの前記セットが、前記更新されたポリシーと前記前のポリシーとの間の差が信頼領域しきい値を超えることができないように制約される、請求項1まは2に記載の方法。
【請求項4】
各目的について目的別ポリシーを決定するステップが、前記対応する目的に関する前記行動価値関数に従って予想される前記リターンを前記前のポリシーと比較して増加させる、前記目的別ポリシーについて目的別ポリシーパラメータを決定するステップを含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
各目的について前記目的別ポリシーを決定するステップが、前記目的別ポリシーが、対応する差しきい値を超えて前記前のポリシーと異なり得ないという制約を条件として、前記対応する目的に関する前記行動価値関数に従って、前記予想されるリターンを前記前のポリシーと比較して最大化する、前記目的別ポリシーについて目的別ポリシーパラメータを決定するステップを含む、請求項4に記載の方法。
【請求項6】
前記対応する差しきい値が、前記更新されたポリシーに対する前記対応する目的の相対的な寄与を表す、請求項5に記載の方法。
【請求項7】
前記目的別ポリシーが、ノンパラメトリックポリシーである、請求項1から6のいずれか一項に記載の方法。
【請求項8】
各目的別ポリシーqk(a|s)が、前記目的別ポリシーの前記目的に関するスケーリングされた行動価値関数から決定され、前記スケーリングされた行動価値関数が、前記目的に関する選好に依存する値によってスケーリングされる、請求項1から7のいずれか一項に記載の方法。
【請求項9】
請求項8に記載の方法であって、請求項8が請求項5を引用する場合、前記目的に関する選好に依存する前記値が、前記目的に関する前記対応する差しきい値に依存する、請求項8に記載の方法。
【請求項10】
各目的別ポリシーqk(a|s)が、
【数1】
を計算することによって決定され、ここで、
Nが、正規化定数であり、
kが、前記目的であり、
aが、行動であり、
sが、状態であり、
πold(a|s)が、前記前のポリシーであり、
Qk(s,a)が、前記目的に関する前記行動価値関数であり、
ηkが、温度パラメータである、
請求項7から9のいずれか一項に記載の方法。
【請求項11】
各目的kについて、前記温度パラメータηkが、以下の式を解くことによって決定され、
【数2】
ここで、
εkが、前記対応する目的に関する対応する差しきい値であり、
μ(s)が、訪問分布である、
請求項10に記載の方法。
【請求項12】
各温度パラメータが、勾配降下を介して決定される、請求項11に記載の方法。
【請求項13】
各行動価値関数が、前記前のポリシーに関する潜在的な状態行動ペアの範囲にわたって、前記複数の目的のうちの対応する目的に関する行動価値の分布を提供する、請求項1から12のいずれか一項に記載の方法。
【請求項14】
各行動価値関数は、所与の状態に応答して所与の行動を選択するとき、前記対応する目的に対する予想される累積割引報酬を表す行動価値を出力する、請求項1から13のいずれか一項に記載の方法。
【請求項15】
強化学習によってニューラルネットワークシステムをトレーニングするための方法であって、前記ニューラルネットワークシステムは、エージェントが対話する環境の状態を特徴付ける入力観測結果を受信し、複数の目的を満たすことを目的とするポリシーに従って行動を選択および出力するように構成され、前記方法が、
1つまたは複数の軌道のセットを取得するステップであって、各軌道が、環境の状態と、前記状態に応答して前のポリシーに従って前記エージェントによって前記環境に適用される行動と、前記行動に対する報酬のセットとを含み、各報酬が、前記複数の目的のうちの対応する目的に関連する、ステップと、
前記複数の目的の各々について確率分布を前記1つまたは複数の軌道のセットに基づいて決定するステップであって、各確率分布が、対応する目的に従って予想されるリターンを前記ポリシーと比較して増加させる行動確率の分布を提供する、ステップと、
前記複数の目的に対する前記確率分布の組合せに基づいて、更新されたポリシーを決定するステップと
を含む、方法。
【請求項16】
前記複数の目的の各々について確率分布を決定するステップが、各目的について、
所与の状態から前記前のポリシーに従って前記エージェントから結果として生じる、前記対応する目的に応じた予想されるリターンを表す値を定義する価値関数を決定するステップと、
前記目的について前記確率分布を前記価値関数に基づいて決定するステップと
を含む、
請求項15に記載の方法。
【請求項17】
各確率分布が、状態行動ペアの確率の分布を定義する状態行動分布であり、各目的に関する前記価値関数が、所与の状態から前記前のポリシーに従って前記エージェントから結果として生じる、前記対応する目的に応じた予想されるリターンを表す値を定義する状態価値関数であるか、または
各確率分布が、状態に対する行動の確率の分布を定義する目的別ポリシーであり、前記価値関数が、前記前のポリシーに従って所与の状態に応答して所与の行動を実行する前記エージェントから結果として生じる、前記対応する目的に応じた予想されるリターンを表す行動価値関数である、
請求項16に記載の方法。
【請求項18】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から17のいずれか一項に記載の方法を実行させる命令を記憶する1つまたは複数の記憶デバイスとを備えるシステム。
【請求項19】
1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに請求項1から17のいずれか一項に記載の方法を実行させる命令を記憶する1つまたは複数のコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、強化学習に関する。
【背景技術】
【0002】
強化学習システムにおいて、エージェントは、環境の現在の状態を特徴付ける観測結果を受信することに応答して強化学習システムによって選択される行動を実行することによって、環境と対話する。
【0003】
いくつかの強化学習システムは、ニューラルネットワークの出力に従って、所与の観測結果を受信することに応答してエージェントによって実行されるべき行動を選択する。
【0004】
ニューラルネットワークは、受信された入力に対する出力を予測するために、非線形ユニットの1つまたは複数の層を用いる機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて、1つまたは複数の隠れ層を含むディープニューラルネットワークである。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層は、受信された入力から、それぞれのパラメータのセットの現在の値に従って出力を生成する。
【発明の概要】
【課題を解決するための手段】
【0005】
本明細書は、概して、環境と対話する強化学習エージェントによって実行されるべき行動を選択する強化学習システムをトレーニングするための方法について説明する。方法は、潜在的に競合する複数の目的を有する強化学習システムをトレーニングするために使用され得る。
【0006】
一態様において、強化学習によってニューラルネットワークシステムをトレーニングするための方法を提供し、ニューラルネットワークシステムは、エージェントが対話する環境の状態を特徴付ける入力観測結果を受信し、複数の目的を満たすことを目的とするポリシーに従って行動を選択および出力するように構成される。方法は、1つまたは複数の軌道のセットを取得するステップを含む。各軌道は、環境の状態と、状態に応答して前のポリシーに従ってエージェントによって環境に適用される行動と、行動に対する報酬のセットとを含み、各報酬は、複数の目的のうちの対応する目的に関連する。方法は、1つまたは複数の軌道のセットに基づいて、複数の目的の各々について行動価値関数を決定するステップをさらに含む。各行動価値関数は、エージェントが前のポリシーに従って所与の状態に応答して所与の行動を実行する結果として生じる、対応する目的に応じた推定されるリターンを表す行動価値を決定する。方法は、複数の目的に対する行動価値関数の組合せに基づいて、更新されたポリシーを決定するステップをさらに含む。
【0007】
目的ごとに別個の行動価値関数を決定することによって、本明細書で説明する方法は、強化学習中に競合する目的のバランスを効果的にとることができる。行動価値関数は、個別の目的に対して行動価値を組み合わせる際の最適な重みを決定することに関連する問題を克服する。さらに、個別の行動価値関数は、各目的に対する報酬のサイズに関してスケール不変性を提供し、それによって、目的のうちの1つまたは複数がそれらの報酬の相対的なサイズを通じて学習を支配することを回避する。
【0008】
1つまたは複数の軌道のセットは、ストレージから取得され得(すなわち、以前に計算され得)、またはエージェントを1つもしくは複数の状態に適用することによって取得され得る。1つまたは複数の軌道のセットは、複数の軌道を含み得、それによって、バッチ学習を可能にする。代替的に、オンライン学習の一部として、更新ごとに1つの軌道が提供され得る。
【0009】
「報酬」という用語が本明細書において論じられているが、これらの報酬は、負の場合があることが留意されるべきである。負の報酬の場合、これらは、コストと同等とみなされ得る。この場合、強化学習タスクの全体的な目的は、(予想される報酬またはリターンを最大化することの代わりに)予想されるコストを最小化することである。
【0010】
いくつかの実装形態において、各行動価値関数は、前のポリシーに関する潜在的な状態行動ペアの範囲にわたって、複数の目的のうちの対応する目的に関する行動価値の分布を提供する。各行動価値関数は、所与の状態に応答して所与の行動を選択するとき、対応する目的に対する予想される累積割引報酬を表す行動価値を出力し得る。この累積割引報酬は、前のポリシーに従って実施される後続のいくつかの行動にわたって計算され得る。各目的に関する行動価値関数は、目的別行動価値関数とみなされ得る。
【0011】
いくつかの実装形態において、更新されたポリシーを決定するステップは、複数の目的における各目的について目的別ポリシーを決定するステップを含む。各目的別ポリシーは、対応する目的に関する対応する行動価値関数に基づいて決定され得る。方法は、更新されたポリシーのポリシーパラメータのセットを目的別ポリシーの組合せに適合させることによって、更新されたポリシーを決定するステップをさらに含み得る。目的別ポリシーの組合せは、目的別ポリシーの合計であり得る。目的別ポリシーは、状態に対する行動の確率分布を提供することができるので、本明細書では行動分布(行動価値関数と混同されるべきではない)とも呼ばれる。上記に照らして、更新されたポリシーは、行動価値関数から導出された目的別ポリシーの組合せを通じて行動価値関数を組み合わせることによって決定され得る。次いで、ポリシーは、目的別ポリシーの組合せに適合される。
【0012】
目的別ポリシーの組合せを通じて目的を組み合わせることによって、本明細書で説明する方法は、分布空間において目的を組み合わせる。これは、(たとえば、多目的報酬ベクトルを単一のスカラー報酬に変換することによって)報酬空間において目的を組み合わせることとは対照的である。したがって、分布空間において目的を組み合わせることによって、組合せは、報酬の規模に対して不変になる。更新されたポリシーに対する各目的の相対的な寄与は、目的別ポリシーの決定に対する制約の使用を通じてスケーリングされ得る。
【0013】
いくつかの実装形態において、更新されたポリシーのポリシーパラメータのセットを目的別ポリシーの組合せに適合させることは、更新されたポリシーと目的別ポリシーの組合せとの間の差を最小化するポリシーパラメータのセットを決定することを含む。
【0014】
更新されたポリシーと目的別ポリシーの組合せとの間の差の最小化は、更新されたポリシーと前のポリシーとの間の差が信頼領域しきい値を超えないように制約され得る。言い換えれば、更新されたポリシーに関するポリシーパラメータのセットは、更新されたポリシーと前のポリシーとの間の差が信頼領域しきい値を超えることができないように制約され得る。信頼空間しきい値は、学習の安定性を改善するためにポリシーにおける全体的な変更を制限するハイパーパラメータとみなされ得る。
【0015】
本明細書で論じるポリシー間の差は、カルバック-ライブラー(KL)ダイバージェンス、または分布間の差の任意の他の適切な尺度の使用を通じて計算され得る。
【0016】
いくつかの実装形態において、各目的について目的別ポリシーを決定することは、対応する目的に関する行動価値関数に従って予想されるリターンを前のポリシーと比較して増加させる、目的別ポリシーについて目的別ポリシーパラメータを決定することを含む。
【0017】
いくつかの実装形態において、各目的について目的別ポリシーを決定することは、目的別ポリシーが、対応する差しきい値を超えて前のポリシーと異なり得ないという制約を条件として、対応する目的に関する行動価値関数に従って、予想されるリターンを前のポリシーと比較して最大化する、目的別ポリシーについて目的別ポリシーパラメータを決定することを含む。目的別ポリシーと前のポリシーとの間の差は、カルバック-ライブラーダイバージェンス、または分布間の差の任意の他の適切な尺度に基づいて決定され得る。
【0018】
したがって、各目的別ポリシーは、対応する差しきい値を超えて前のポリシーとは異ならないという制約を条件として決定され得る。対応する差しきい値は、更新されたポリシーに対する対応する目的の相対的な寄与を表すとみなされ得る。したがって、更新されたポリシーに対する各目的の相対的な寄与は、対応する差しきい値を調整することによって調整され得る。すなわち、各目的間の相対的な重みは、ポリシー更新に対する各目的の影響における制約の形態において符号化される。
【0019】
いくつかの実装形態において、目的別ポリシーは、ノンパラメトリックポリシーである。これは、対応する差しきい値に関する制約に従いながら、目的別ポリシーを決定することに関する計算の複雑さを低減する。これは、制約付き最適化が、各状態について閉形式で解かれ得るからである。
【0020】
各目的別ポリシーqk(a|s)は、目的別ポリシーの目的に関するスケーリングされた行動価値関数から決定され得、スケーリングされた行動価値関数は、目的に関する選好に依存する値によってスケーリングされる。目的に関する選好に依存する値は、目的に関する差しきい値に依存し得る。目的に関する選好に依存する値は、差しきい値に依存する温度パラメータηkであり得る。
【0021】
たとえば、各目的別ポリシーqk(a|s)は、以下を計算することによって決定され得る。
【0022】
【数1】
【0023】
ここで、
Nは、正規化定数であり、
kは、目的であり、
aは、行動であり、
sは、状態であり、
πold(a|s)は、前のポリシーであり、
Qk(s,a)は、目的に関する行動価値関数であり、
ηkは、温度パラメータである。
【0024】
各目的kについて、温度パラメータηkは、以下の式を解くことによって決定され得る。
【0025】
【数2】
【0026】
ここで、
εkは、対応する目的に関する差しきい値であり、
μ(s)は、訪問分布である。
【0027】
各温度パラメータは、勾配降下を介して決定され得る。
【0028】
さらなる実装形態において、強化学習によってニューラルネットワークシステムをトレーニングするための方法が提供され、ニューラルネットワークシステムは、エージェントが対話する環境の状態を特徴付ける入力観測結果を受信し、複数の目的を満たすことを目的とするポリシーに従って行動を選択および出力するように構成される。方法は、1つまたは複数の軌道のセットを取得するステップであって、各軌道が、環境の状態と、状態に応答して前のポリシーに従ってエージェントによって環境に適用される行動と、行動に対する報酬のセットとを含み、各報酬が、複数の目的のうちの対応する目的に関連する、ステップを含み得る。方法は、複数の目的の各々について確率分布(行動分布または状態行動分布など)を1つまたは複数の軌道のセットに基づいて決定するステップをさらに含み得、各確率分布は、対応する目的に従って予想されるリターンをポリシーと比較して増加させる行動確率の分布を提供する。方法は、複数の目的に対する確率分布の組合せに基づいて、更新されたポリシーを決定するステップをさらに含み得る。
【0029】
複数の目的の各々について確率分布を決定するステップは、各目的について、所与の状態から前のポリシーに従ってエージェントから結果として生じる、対応する目的に応じた予想されるリターンを表す値を定義する価値関数を決定するステップと、目的に関する確率分布を価値関数に基づいて決定するステップとを含み得る。
【0030】
各確率分布は、状態行動ペアの確率の分布を定義する状態行動分布であり得、各目的に関する価値関数は、所与の状態から前のポリシーに従ってエージェントから結果として生じる、対応する目的に応じた予想されるリターンを表す値を定義する状態価値関数であり得る。これは、オンポリシー学習に適用可能であり得る。
【0031】
代替的に、各確率分布は、状態に対する行動の確率の分布を定義する目的別ポリシー(行動分布)であり得、価値関数は、前のポリシーに従って所与の状態に応答して所与の行動を実行するエージェントから結果として生じる、対応する目的に応じた予想されるリターンを表す行動価値関数であり得る。これは、オフポリシー学習に適用可能であり得る。
【0032】
本明細書で説明する方法は、1つもしくは複数のコンピューティングデバイスおよび/または1つもしくは複数のコンピュータ記憶媒体を介して実装され得る。
【0033】
一態様において、1つまたは複数のコンピュータと、命令を記憶する1つまたは複数の記憶デバイスとを備えるシステムが提供され、命令は、1つまたは複数のコンピュータによって実行されると、1つまたは複数のコンピュータに以下の動作、すなわち、1つまたは複数の軌道のセットを取得する動作であって、各軌道が、環境の状態と、状態に応答して前のポリシーに従ってエージェントによって環境に適用される行動と、行動に対する報酬のセットとを含み、各報酬が、複数の目的のうちの対応する目的に関連する、動作と、1つまたは複数の軌道のセットに基づいて、複数の目的の各々について行動価値関数を決定する動作であって、各行動価値関数が、エージェントが前のポリシーに従って所与の状態に応答して所与の行動を実行する結果として生じる、対応する目的に応じた予想されるリターンを表す行動価値を決定する、動作と、複数の目的に対する行動価値関数の組合せに基づいて、更新されたポリシーを決定する動作とを実行させる。
【0034】
一態様において、命令を記憶する1つまたは複数のコンピュータ記憶媒体が提供され、命令は、1つまたは複数のコンピュータによって実行されると、1つまたは複数のコンピュータに以下の動作、すなわち、1つまたは複数の軌道のセットを取得する動作であって、各軌道が、環境の状態と、状態に応答して前のポリシーに従ってエージェントによって環境に適用される行動と、行動に対する報酬のセットとを含み、各報酬が、複数の目的のうちの対応する目的に関連する、動作と、1つまたは複数の軌道のセットに基づいて、複数の目的の各々について行動価値関数を決定する動作であって、各行動価値関数が、エージェントが前のポリシーに従って所与の状態に応答して所与の行動を実行する結果として生じる、対応する目的に応じた予想されるリターンを表す行動価値を決定する、動作と、複数の目的に対する行動価値関数の組合せに基づいて、更新されたポリシーを決定する動作とを実行させる。
【0035】
エージェントが環境と対話するために、システムは、環境の現在の状態を特徴付けるデータを受信し、受信されたデータに応答してエージェントによって実行されるべき行動を選択する。環境の状態を特徴付けるデータは、本明細書では、観測結果と呼ばれる。
【0036】
いくつかのアプリケーションにおいて、環境は、現実世界の環境であり、エージェントは、現実世界の環境と対話する機械的エージェントである。たとえば、エージェントは、特定のタスクを達成するために環境と対話するロボットであり得る。別の例として、エージェントは、環境内を移動する自律型または半自律型の陸上、空中、または水上の乗り物であり得る。これらの実装形態において、行動は、ロボットまたは乗り物の物理的挙動を制御するための制御入力であり得る。
【0037】
一般に、観測結果は、たとえば、画像、物体位置データ、およびエージェントが環境と対話する際に観測結果を捕捉するためのセンサデータ、たとえば、画像センサ、距離センサ、もしくは位置センサからのセンサデータ、またはアクチュエータからのセンサデータのうちの1つまたは複数を含み得る。ロボット、もしくはその他の機械的エージェント、または乗り物の場合、観測結果は、エージェントの1つまたは複数の部分の位置、線速度または角速度、力、トルクまたは加速度、およびグローバル姿勢または相対姿勢のうちの1つまたは複数を同様に含み得る。観測結果は、1、2、または3次元において定義され得、絶対観測結果および/または相対観測結果であり得る。たとえば、ロボットの場合、観測結果は、ロボットの現在の状態を特徴付けるデータ、たとえば、関節位置、関節速度、関節力、トルクもしくは加速度、ならびに腕などのロボットの一部および/またはロボットによって保持される物品のグローバル姿勢もしくは相対姿勢のうちの1つまたは複数を含み得る。観測結果は、たとえば、モータ電流もしくは温度信号などの感知された電子信号、および/または、たとえば、カメラもしくはLIDARセンサからの画像データもしくはビデオデータ、たとえば、エージェントのセンサからのデータ、もしくは環境内のエージェントとは別に位置するセンサからのデータも含み得る。
【0038】
これらのアプリケーションにおいて、行動は、ロボットを制御するための、たとえば、ロボットの関節に関するトルクを制御するための制御入力、もしくはより高レベルの制御コマンド、または、自律型もしくは半自律型の陸上、空中、もしくは海の乗り物を制御するための、たとえば、乗り物の制御面もしくはその他の制御要素に対するトルクを制御するための制御入力、もしくはより高レベルの制御コマンド、または、たとえば、モータ制御データであり得る。言い換えれば、行動は、たとえば、ロボットの1つもしくは複数の関節、または別の機械的エージェントの部品に関する位置、速度、または力/トルク/加速度データを含むことができる。行動データは、これらの行動に関するデータ、および/もしくはモータ制御データなどの電子制御データ、またはより一般的に、その制御が環境の観測された状態に対して影響を有する環境内の1つもしくは複数の電子デバイスを制御するためのデータを含み得る。たとえば、自律型または半自律型の陸上、空中、または海の乗り物の場合、行動は、ナビゲーション、たとえば、ステアリング、ならびに移動、たとえば、乗り物のブレーキおよび/または加速を制御する行動を含み得る。
【0039】
これらのアプリケーションにおいて、目的、および関連する報酬/コストは、以下を含むか、または以下に基づいて定義され得る。
i)1つもしくは複数のターゲット位置、1つもしくは複数のターゲット姿勢、または1つもしくは複数の他のターゲット構成に近づくかまたは達成することに対する1つまたは複数の報酬。前述の観測結果、たとえば、ロボットまたは乗り物の位置または姿勢のいずれかに依存する1つまたは複数の報酬。たとえば、ロボットの場合、報酬は、関節の向き(角度)もしくは速度、エンドエフェクタの位置、重心位置、または身体部分のグループの位置および/もしくは向きに依存し得る。
ii)1つまたは複数のコスト、たとえば、負の報酬が、同様に定義され得る。負の報酬、またはコストは、同様にまたは代わりに、たとえば、物体と相互作用するときに適用されるしきい値または最大値に依存するアクチュエータまたはエンドエフェクタによって印加される力に関連付けられ得る。負の報酬は、たとえば、動きを制御するために、1つまたは複数のロボットの身体部分のエネルギーもしくは電力の使用量、過度の動作速度、1つまたは複数の位置にも依存し得る。
【0040】
これらの報酬に基づく目的は、異なる選好に関連付けられ得、たとえば、作業範囲、または物体に印加される力などの安全関連の目的に対して高い選好が関連付けられ得る。
【0041】
ロボットは、自律型または半自律型の移動する乗り物またはその一部であり得る。その場合、同様の目的が適用され得る。同様に、またはその代わりに、そのような乗り物は、移動中のエネルギー/電力使用量、たとえば、最大または平均エネルギー使用量と、移動の速度と、たとえば、距離または時間によって測定される、2つの地点間のより短いルートよりもより長いルートにペナルティを課すために、移動するときにとる経路と、に依存する目的(報酬)など、乗り物の物理的な動きに関連する1つまたは複数の目的を有し得る。そのような乗り物またはロボットは、たとえば、保管されている商品、または商品もしくは商品の部品をそれらの製造中に収集、配置、もしくは移動する、倉庫、物流、もしくは工場の自動化などのタスクを実行するために使用され得、または実行されるタスクは、パッケージ配送制御タスクを含み得る。したがって、目的のうちの1つまたは複数は、そのようなタスクに関連し得、行動は、ステアリングまたは他の方向制御行動に関連する行動を含み得、観測結果は、他の乗り物またはロボットの位置または動きの観測結果を含み得る。
【0042】
いくつかの他のアプリケーションにおいて、同じ観測結果、行動、および目的は、上記で説明した物理的システム/環境のシミュレーションに適用され得る。たとえば、ロボットまたは乗り物は、現実世界の環境において使用される前に、シミュレーションにおいてトレーニングされ得る。
【0043】
いくつかのアプリケーションにおいて、エージェントは、静的またはモバイルのソフトウェアエージェント、すなわち、タスクを実行するために、自律的におよび/または他のソフトウェアエージェントもしくは人とともに動作するように構成されたコンピュータプログラムであり得る。たとえば、環境は、集積回路ルーティング環境であり得、エージェントは、ASICなどの集積回路の相互接続線をルーティングするためのルーティングタスクを実行するように構成され得る。この場合、目的(報酬/コスト)は、相互接続抵抗、キャパシタンス、インピーダンス、損失、速度または伝播遅延、幅、厚さ、もしくは幾何学的形状などの物理的なラインパラメータ、および設計ルールなどの1つまたは複数のルーティングメトリックに依存し得る。目的は、ルーティングされた回路のグローバルな特性、たとえば、構成要素の密度、動作速度、電力消費、材料の使用量、または冷却要件に関連する1つまたは複数の目的を含み得る。観測結果は、構成要素の位置および相互接続の観測結果であり得、行動は、たとえば、構成要素の位置もしくは向き、および/ならびに相互接続のルーティング行動、たとえば、相互接続選択および/もしくは配置行動を定義するために、構成要素配置行動を含み得る。
【0044】
いくつかのアプリケーションにおいて、エージェントは、電子エージェントであり得、観測結果は、電流センサ、電圧センサ、電力センサ、温度センサ、および他のセンサなどの、プラントもしくはサービス施設の一部を監視する1つもしくは複数のセンサからのデータ、ならびに/または機器の電子的および/もしくは機械的項目の機能を表す電子信号を含み得る。エージェントは、データセンタ、サーバファーム、もしくはグリッド主電源もしくは配水システムなどの施設における、または製造プラントもしくはサービス施設における機器のアイテムを含む現実世界の環境における行動を制御し得る。この場合、観測結果は、プラントまたは施設の動作に関連し得、たとえば、それらは、機器による電力もしくは水の使用量の観測結果、または発電もしくは配電制御の観測結果、または資源の使用量もしくは廃棄物生成の観測結果を含み得る。行動は、プラント/施設の機器のアイテムにおける動作条件を制御もしくは課す行動、および/または、たとえば、プラント/施設の構成要素を調整もしくはオン/オフするために、プラント/施設の動作における設定に変更をもたらす行動を含み得る。(最大化または最小化されるべき)目的は、効率の尺度、たとえば、資源の使用量、環境における動作の環境影響の尺度、たとえば、廃棄物発生量、電力などの消費量、加熱/冷却要件、施設における資源の使用、たとえば、水の使用、施設の温度、施設内のアイテムの特性のカウントのうちの1つまたは複数を含み得る。
【0045】
いくつかのアプリケーションにおいて、環境は、データパケット通信ネットワーク環境であり得、エージェントは、通信ネットワーク上でデータのパケットをルーティングするルータを備え得る。行動は、データパケットルーティング行動を含み得、観測結果は、たとえば、ルーティング経路長、帯域幅、負荷、ホップカウント、経路コスト、遅延、最大伝送単位(MTU:maximum transmission unit)、および信頼性のメトリックなどのルーティングメトリックを含むルーティングテーブルの観測結果を含み得る。目的は、ルーティングメトリックのうちの1つまたは複数を最大化または最小化する目的を含み得る。
【0046】
いくつかの他のアプリケーションにおいて、エージェントは、たとえば、モバイルデバイス上および/またはデータセンタ内のコンピューティング資源にわたるタスクの分散を管理するソフトウェアエージェントである。これらの実装形態において、観測結果は、計算容量および/もしくはメモリ容量などのコンピューティング資源、またはインターネットアクセス可能な資源の観測結果を含み得、行動は、タスクを特定のコンピューティング資源に割り当てることを含み得る。目的は、コンピューティング資源の利用率、電力、帯域幅、および計算速度のうちの1つまたは複数に依存する(たとえば、最大化または最小化する)目的を含み得る。
【0047】
いくつかの他のアプリケーションにおいて、環境は、インターネットまたはモバイル通信環境であり、エージェントは、ユーザに対するパーソナライズされた推奨事項を管理するソフトウェアエージェントである。観測結果は、ユーザによって行われた前の行動(を特徴付ける特徴)を含み得、行動は、コンテンツアイテムなどのアイテムをユーザに推奨する行動を含み得る。目的は、ユーザが(コンテンツ)アイテムを推奨されることに好意的に応答する推定尤度、1つまたは複数の推奨アイテムの適合性に対する制約、推奨アイテムのコスト、および(オプションで期間内に)ユーザによって受け取られた推奨事項の数のうちの1つまたは複数を最大化または最小化する目的を含み得る。
【0048】
先に説明したものに対応する特徴も、上記のシステムおよびコンピュータ記憶媒体の文脈において用いられ得る。
【0049】
本明細書で説明する主題は、以下の利点のうちの1つまたは複数を実現するように、特定の実施形態において実装され得る。本明細書で説明する主題は、潜在的に競合する複数の目的が存在するポリシーを学習するための強化学習方法を導入する。これは、目的別行動価値関数を決定することによって達成される。これらの目的別関数を利用することによって、本明細書で説明する方法は、スケール不変の目的別関数を提供し、すなわち、所与の目的に対する報酬のスケールは、目的間の相対的な重み付けに影響を与えない。
【0050】
提案した方法のスケール不変性は、2つの重要な利点を有する。第1に、目的間の重み付けは、報酬のサイズが変化するにつれて時間の経過とともに調整される必要はない。これは、エージェントが、トレーニングされるにつれてタスクを実行するのが上手くなる可能性が高く、それによって、時間の経過とともにより大きい報酬が結果として生じる強化学習において特に有利である。第2に、比較的大きい報酬を伴う目的が、必ずしもトレーニングを支配するとは限らない。さらに、目的を重み付けすることを報酬に対してスケール不変にすることによって、方法は、実施するのがより容易であり、変動する報酬サイズに対して重み付けを選択する際の継続的な試行錯誤の必要性を回避する。(たとえば、ノンパラメトリックな目的別ポリシーの使用による)計算効率における改善を提供する具体的な実施形態を本明細書において提示する。
【0051】
説明する技法のいくつかの実装形態は、潜在的に競合する複数の異なる目的を考慮してタスクを実行することを学習することができる。いくつかの従来技術の技法とは異なり、本明細書で説明する技術は、時間の経過とともに変化する可能性がある様々なスケールの報酬またはペナルティに適応することができる。原則として、説明する技法は、行動価値関数(たとえば、Q値関数)を使用する任意の強化学習システムに適用され得るが、MPO(最大事後ポリシー最適化(maximum a posterior policy optimization))に対して特に有用である。説明する技法は、複数の異なる目的を有する強化学習システムが、より速く、より安定した方法で学習することを可能にし、したがって、従来のシステムと比較して、メモリ要件および計算要件を軽減する。説明する技法は、個別の行動と、現実世界の高次元の連続制御タスクの両方で機能する。
【0052】
実装形態において、目的が強化学習システムの複合行動選択ポリシーの更新への寄与の程度を制御するために、各目的に選好変数(εk)が割り当てられる。これは、目的に関連付けられた行動(Q)価値をスケーリングするために使用される、目的に関連付けられた「温度」を調整するために使用される。実装形態において、「温度」は、全体的な行動選択ポリシーの評価に寄与する行動の多様性に関連する。したがって、報酬のスケールが変化する場合、またはQ関数が非定常である場合であっても、目的間の重み付けは、スケール不変であり得る。これは、ユーザが、様々な目的間の選好を先験的に設定することを可能にする。
【0053】
本明細書の主題の1つまたは複数の実施形態の詳細は、添付図面および以下の説明において記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0054】
図1】強化学習のための例示的なニューラルネットワークシステムを示す図である。
図2】1つの配置による多目的強化学習を介してトレーニングするための方法を示す図である。
図3】1つの配置による2段階ポリシー更新手順を含む多目的強化学習を介してトレーニングするための方法を示す図である。
【発明を実施するための形態】
【0055】
様々な図面における同様の参照番号および名称は、同様の要素を示す。
【0056】
本明細書は、1つまたは複数のエージェントが複数の競合する目的を有するタスクを実行することを目的としている学習のための技法について説明する。これは、エージェントがしばしば、競合する目的のバランスをとらなければならない現実世界において一般的である。たとえば、ロボットなどの自律型の乗り物は、エネルギー消費または環境へのダメージを最小限に抑えながら(目的2)、タスクを完了する(目的1)ことを求められる場合がある。そのようなエージェントの他の例は、工場またはプラントの自動化ステム、およびコンピュータシステムを含む。そのような場合、エージェントは、ロボット、工場もしくはプラント内の機器のアイテム、または、たとえば、ハードウェアのアイテムへのタスクの割り当て、もしくは通信ネットワーク上のデータのルーティングを制御するコンピュータシステム内のソフトウェアエージェントであり得る。
【0057】
本明細書は、概して、ニューラルネットワークを使用することによって環境と対話する強化学習エージェントによって実行されるべき行動を選択する1つまたは複数の場所における1つまたは複数のコンピュータ上のコンピュータプログラムとして実装される強化学習システムについて説明する。本明細書は、そのようなシステムがニューラルネットワークのパラメータを調整する方法についても説明する。
【0058】
環境と対話するために、システムは、環境の現在の状態を特徴付けるデータを受信し、受信されたデータに応答してエージェントが実行するための行動を行動空間、すなわち、離散行動空間または連続行動空間から決定する。環境の状態を特徴付けるデータは、本明細書では、観測結果と呼ばれる。エージェントは、選択された行動を実行し、それは、環境の状態における変化を結果として生じる。
【0059】
いくつかの実装形態において、環境は、シミュレートされた環境であり、エージェントは、シミュレートされた環境と対話する1つまたは複数のコンピュータとして実装される。たとえば、ロボットまたは乗り物は、現実世界の環境において使用される前に、シミュレーションにおいてトレーニングされ得る。
【0060】
他の実装形態において、環境は、現実世界の環境であって、エージェントは、現実世界の環境と対話する機械的エージェントである。たとえば、エージェントは、特定のタスクを達成するために環境と対話するロボット、または環境内を移動する自律型もしくは半自律型の乗り物であり得る。これらの場合、観測結果は、エージェントが環境と対話する際に、エージェントの1つまたは複数のセンサ、たとえば、カメラ、LIDARセンサ、温度センサなどによって捕捉されるデータであり得る。
【0061】
本明細書で説明する特定の配置は、潜在的に競合する複数の目的を有する強化学習システム(多目的強化学習)をトレーニングするための方法を提供する。
【0062】
従来の強化学習(RL)方法は、単一のスカラー報酬関数を最適化するようにポリシーをトレーニングすることにおいて優れた仕事をする。しかしながら、多くの現実世界のタスクは、潜在的に競合する複数の目的を伴う。たとえば、エネルギーシステムを制御することは、性能とコストとをトレードオフすることを必要とする場合があり、自律走行車を制御することは、燃料コストと、効率と、安全性とをトレードオフする場合があり、ロボットアームを制御することは、速度と、エネルギー効率と、安全性とをトレードオフすることを必要とする場合がある。多目的強化学習(MORL)方法は、そのような問題に取り組むことを目的とする。1つの手法は、スカラー化であり、目的にわたる選好に基づいて、(たとえば、凸結合をとることによって)多目的報酬ベクトルを単一のスカラー報酬に変換し、次いで、このスカラー報酬を最適化するために標準的なRLを使用する。
【0063】
しかし、しばしば目的は、異なる単位および/またはスケールにおいて定義されているので、実践者が目的にわたる所望の選好に対して適切なスカラー化を選び取ることは、困難である。たとえば、エージェントに、エネルギー使用量と機械の消耗とを最小限に抑えながらタスクを完了させたいとする。タスクの完了は、疎な報酬、または掃除機ロボットが掃除した平方フィート数に対応する場合があり、エネルギー使用量と機械の消耗とを低減することは、それぞれ、電力消費量(kWh)とアクチュエータ力(NまたはNm)とに対するペナルティによって強制される可能性がある。実践者は、エージェントがエネルギーを節約することよりもタスクを実際に実行すること(したがって、有用であること)を優先することを保証するスカラー化を選択するために、試行錯誤を使用することに頼る必要がある。
【0064】
この問題を克服するために、本出願は、推論としてのRL(RL-as-inference)の観点から導出された、選好を符号化するためのスケール不変の手法を提案する。本明細書で説明する配置は、現在のポリシーを改善する、目的ごとの行動価値関数と行動分布とを学習する。次いで、これらのトレードオフを行う単一の更新されたポリシーを取得するために、これらの行動分布の組合せにポリシーを適合させるために教師あり学習が使用され得る。
【0065】
相対的な目的に重み付けするために、スカラー化を選択する代わりに、実践者は、目的ごとに制約を設定する。これらの制約は、たとえば、各目的別分布と現在のポリシーとの間のKLダイバージェンスを制約することによって、ポリシーに対する各目的の影響を制御することができる。制約値が高いほど、目的には、より大きい影響がある。したがって、目的に対する所望の選好が、これらの制約値の相対的な大きさとして符号化され得る。
【0066】
基本的に、スカラー化は、報酬空間において目的を組み合わせる。対照的に、本明細書で提案する手法は、分布空間において目的を組み合わせ、したがって、報酬のスケールに対して不変にする。原則として、この手法は、オフポリシーかオンポリシーかにかかわらず、任意のRL方法と組み合わされ得る。本明細書で説明する特定の配置は、それを、最大事後ポリシー最適化(MPO)(オフポリシーアクタークリティック(actor-critic)RL方法の1つ)、およびV-MPO(MPOのオンポリシー変形例の1つ)と組み合わせる。これらの2つの方法は、本明細書では、それぞれ、多目的MPO(MO-MPO)および多目的VMPO(MO-V-MPO)と呼ばれる。
【0067】
最終的に、本方法は、選好のスケール不変の符号化を可能にする、多目的強化学習(MORL)における分布ビューを提供する。これは、MORLの推論としてRLの視点をとることから生じる理論的に根拠のある手法である。経験的に、MO-MPOのメカニズムは、分析され、人気のあるMORLベンチマークタスクにおいてすべてのパレート最適ポリシーを見つけることを示している。MO-MPOおよびMO-V-MPOは、いくつかの困難な高次元連続制御ドメインにわたる多目的タスクにおいて、スカラー化手法よりも性能が優れている。
【0068】
図1は、強化学習のための例示的なニューラルネットワークシステム100を示す。ニューラルネットワークシステム100は、以下に説明するシステム、構成要素、および技法が実装される1つまたは複数の場所における1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムの例である。
【0069】
ニューラルネットワークシステム100は、環境への適用のためにエージェント104に出力される行動102を決定する行動選択ポリシーニューラルネットワーク110を含む。ニューラルネットワークシステム100は、いくつかの時間ステップtにわたって動作する。各行動at102は、環境の現在の状態st106を特徴付ける観測結果に基づいて決定される。環境の初期状態s0106を特徴付ける初期観測結果の入力に続いて、ニューラルネットワークシステム100は、行動a0102を決定し、この行動102をエージェント104に出力する。エージェント104が行動102を環境104に適用した後、更新された状態s1106の観測結果が、ニューラルネットワーク100に入力される。したがって、ニューラルネットワーク100は、入力観測結果st106に応答して行動at102を選択するために、複数の時間ステップtにわたって動作する。各行動at102は、ポリシーパラメータθのセットに依存するポリシーπθに基づいて決定される。1つの配置において、行動選択ポリシーニューラルネットワーク110は、フィードフォワードニューラルネットワークであるが、他のタイプのニューラルネットワークも利用され得る。各時間ステップについて、前の行動at-1に対する報酬rt108のセットも受信される。報酬rt108のセットは、各目的に対する報酬を含む。
【0070】
観測結果は、環境の画像および/または環境からの他のセンサもしくは入力データを含み得る。そのような観測結果は、典型的には、たとえば、1つもしくは複数の畳み込みニューラルネットワーク層、および/または1つもしくは複数のリカレントニューラルネットワーク層によって、前処理される。
【0071】
システム100は、各目的について受信された報酬108に基づいてポリシーのパラメータを更新するように構成されたトレーニングエンジン120も含む。ニューラルネットワークシステム100をトレーニングするとき、システムは、1つまたは複数の時間ステップtにわたって動作することができ、ポリシーパラメータシータが各行動at102に対する報酬rt108に基づいて更新される前に、現在の状態st106と現在のポリシーπθとに基づいて1つまたは複数の対応する行動at102を選択する。所与のポリシーが更新される前に複数の時間ステップに適用されるバッチトレーニングが利用され得る。
【0072】
形式的に、本配置は、多目的マルコフ決定プロセス(MO-MDP)によって定義される多目的RL問題を適用する。MO-MDPは、状態s∈Sおよび行動a∈A、初期状態分布p(s0)、ならびに行動atをとったときに状態stからst+1に変化する確率を定義する遷移確率p(st+1|st;at)から構成される。本配置において、ニューラルネットワークシステム100は、複数の目的を適用する。したがって、報酬関数
【0073】
【数3】
【0074】
が各目的kに割り当てられる。割引係数γ∈[0,1)が、報酬への適用のために提供される。ポリシーπθ(a|s)は、θによってパラメータ化された行動に対する状態条件付き分布として定義される。遷移確率とともに、これは、状態訪問分布μ(s)を生じる。
【0075】
目的別報酬に加えて、行動価値関数(Q関数)が各目的に対して提供される。行動価値関数は、状態と行動とを価値にマッピングする。目的kに対する行動価値関数は、目的kに対して状態sにおいて行動aを選択し、次いで、ポリシー
【0076】
【数4】
【0077】
に従うことから予想されるリターン(すなわち、累積割引報酬)として定義される。この関数は、再帰式
【0078】
【数5】
【0079】
を使用して表され得、ここで、
【0080】
【数6】
【0081】
は、目的kに関するπの価値関数である。
【0082】
トレーニング中、システム100は、最適なポリシーを識別しようと試みる。任意のMO-MDPについて、非支配的なポリシーのセット、すなわち、パレートフロントが存在する。少なくとも1つの他の目的の予想されるリターンを低減させることなく、目的に対するその予想されるリターンを改善する他のポリシーが存在しない場合、ポリシーは、非支配的である。選好の設定があるとすると、本方法の目標は、それらの選好を満たす非支配的なポリシーπθを見つけることである。本手法において、制約の設定は、特定のスカラー化に直接対応しないが、これらの制約設定を変化させることによって、ポリシーのパレートフロントは、トレースされ得る。
【0083】
一般に、トレーニングは、ポリシーを更新する2段階手法を含む。第1に、対応する行動価値関数に基づいて、各目的に対して行動分布(目的別ポリシー)が決定される。次いで、全体的なポリシーが、行動分布の組合せに適合される。
【0084】
図2は、1つの配置による多目的強化学習を介してトレーニングするための方法を示す。この方法は、強化学習問題を2つのサブ問題に分割し、収束するまで反復する。
1.ポリシー評価:ポリシーπθが与えられた場合にQ関数を推定する
2.ポリシー改善:Q関数が与えられた場合にポリシーを更新する
【0085】
アルゴリズム1は、この2段階多目的ポリシー改善手順を要約する。
【0086】
トレーニング方法の各反復において、各目的に対する行動価値関数が決定される(220)前に、軌道のセットが取得される(210)。次いで、行動価値関数の組合せに基づいて、更新されたポリシーが決定される(230)。方法は、終了基準に達したかどうか(たとえば、一定数の反復が実行されたかどうか、またはポリシーが所与の性能レベルを満たすかどうか)を判断する(240)。そうでない場合、更新されたポリシーπθに基づいて別の反復が実行される。そうである場合、ポリシーは、出力される(250)(たとえば、ローカルに記憶されるか、または外部デバイス、たとえば、ポリシーを実装するためのエージェントに送信される)。
【0087】
各軌道は、1つまたは複数の時間ステップt(合計N時間ステップまで)にわたる、状態stと、ポリシーπθに基づいて決定され環境に適用される行動atと、その行動atに対する報酬のセットrtとを含む。各行動に対する報酬rtのセット内の各報酬は、対応する目的に関連する。各報酬は、外部ソース(たとえば、環境)から受け取られ得るか、または環境の状態stに基づいて(たとえば、対応する報酬関数に基づいて)決定され得る。それに加えて、エピソードの総数を定義するバッチサイズ(L)に従って、いくつかの異なる開始状態s0からいくつかのエピソードにわたって複数の軌道が取得され得る。
【0088】
各目的220に対する行動価値関数を決定するとき、これは、目的に対する前の行動価値関数に対する更新であり得る。この決定/更新は、取得された軌道に基づく(すなわち、1つまたは複数の軌道からの行動、状態、および報酬に基づく)。この決定の詳細については、以下でより詳細に論じる。
【0089】
【表1】
【0090】
多目的ポリシー評価
ニューラルネットワークシステムは、状態行動価値(Q)関数を学習することによって、前のポリシーπoldを評価する。Q分解手法に従って、目的ごとに個別のQ関数がトレーニングされる。原則として、πold(更新の現在の反復の前のポリシー)に関してターゲットQ値が計算される限り、任意のQ学習アルゴリズムが利用され得る。
【0091】
一般に、Q学習は、行動価値関数の近似値を学習することを目標とする。これを達成するために、以下の更新が、φkによってパラメータ化された、各目的kについてQ関数
【0092】
【数7】
【0093】
を学習するために、トレーニングの各反復において適用され得、
【0094】
【数8】
【0095】
ここで、
【0096】
【数9】
【0097】
は、状態S、行動A、および報酬Rのベクトルに基づくターゲット行動価値関数(ターゲットQ関数)である。ターゲットQ値は、(たとえば、ポリシーを実行することによって取得された1つまたは複数の軌道から決定される)割引報酬の合計の推定値である。
【0098】
様々なタイプのターゲットQ関数が存在し、本方法に等しく適用可能である。特定の実装形態において、φkによってパラメータ化された各目的kに対するQ関数
【0099】
【数10】
【0100】
を学習するために、
【0101】
【数11】
【0102】
のようにリトレース(Retrace)目的が使用され、ここで、
【0103】
【数12】
【0104】
は、目的kおよび前のポリシーπoldに対するリトレースターゲットであり、Dは、収集された遷移(状態-行動ペア)を含むリプレイバッファである。これは、リトレースターゲットと学習されるQ関数との間の平均二乗誤差を最小化する。
【0105】
この実装形態において、リトレースターゲットは、以下のように
【0106】
【数13】
【0107】
であり、ここで、
【0108】
【数14】
【0109】
【数15】
【0110】
である。
【0111】
重要度重みczは、
【0112】
【数16】
【0113】
のように定義され、ここで、b(az|sz)は、環境内の軌道を収集するために使用される挙動ポリシーを示す。j=tの場合、方法は、
【0114】
【数17】
【0115】
を設定する。
【0116】
特定の実装形態において、それぞれ、φkおよびφ'kによって示されるパラメータを有する、1つのオンラインネットワークおよび1つのターゲットネットワークである、Q関数のための2つのネットワークが、各目的に対して維持される。同様に、それぞれ、θおよびθ'によって示されるパラメータを有する、1つのオンラインネットワークおよび1つのターゲットネットワークが、ポリシーに対して維持される。ターゲットネットワークは、オンラインネットワークからパラメータをコピーすることによって、一定数のステップごとに更新され得る。オンラインネットワークは、各学習反復において、勾配降下などの任意の適切な更新方法を使用して更新され得る。ターゲットポリシーネットワークは、上記では、古いポリシーπoldと呼ばれている。
【0117】
特定の実装形態において、行動器が学習器からポリシーパラメータを定期的にフェッチし、環境において行動し、これらの遷移をリプレイバッファに書き込む、非同期行動器-学習器設定が使用され得る。このポリシーは、挙動ポリシーと呼ばれる。学習器は、(オンライン)Q関数とポリシーとを更新するために、リプレイバッファ内の遷移を使用する。この方法を、アルゴリズム2においてより詳細に示す。
【0118】
アルゴリズム2は、所与のポリシーπθに基づいて軌道を取得する方法である。システムは、現在のポリシーπθを定義する現在のポリシーパラメータθをフェッチする。次いで、システムは、いくつかの時間ステップTにわたって軌道のセットを収集する。各軌道τは、状態stと、行動atと、時間ステップの各々に対する報酬rのセットとを含む。報酬rのセットは、各目的に対する報酬rkを含む。システムは、時間ステップごとに、現在の状態stと現在のポリシーπθとに基づいて行動atを決定し、報酬関数
【0119】
【数18】
【0120】
のセットに基づいて実行される行動から結果として生じる次の状態st+1からの報酬を決定することによって、軌道τを取得する。軌道τは、数Lのエピソードの各々について取得される。各軌道τは、リプレイバッファD内に記憶される。次いで、記憶された軌道は、各目的に関するQ関数を更新するために使用される。
【0121】
【表2】
【0122】
多目的ポリシーの改善
前のポリシーπold(a|s)および関連するQ関数
【0123】
【数19】
【0124】
が与えられると、次のステップは、所与の訪問分布μ(s)に対して前のポリシーを改善することである。これは、訪問分布に対する期待値を推定するために、リプレイバッファから引き出すことによって達成され得る。この目的のために、システムは、各Q関数について行動分布(目的別ポリシー)を学習し、次のポリシーπnew(a|s)を取得するためにこれらを組み合わせる。
【0125】
図3は、1つの配置による2段階ポリシー更新手順を含む多目的強化学習を介してトレーニングするための方法を示す。方法は、図2の方法と大まかに一致するが、ポリシー更新ステップは、2つのステップに置き換えられている。
1.対応する行動価値関数に基づいて各目的に関する行動分布を決定する(330)。
2.複数の目的に関する行動関数の組合せに基づいて、更新されたポリシーを決定する(335)。
【0126】
第1のステップ330において、各目的kについて、改善された行動分布qk(a|s)は、
【0127】
【数20】
【0128】
となるように学習され、ここで、状態sは、訪問分布μ(s)から引き出される(たとえば、リプレイバッファから取得される)。言い換えれば、改善された行動分布qk(a|s)は、行動分布に関するQ関数の期待値が、ポリシーに関するQ関数の期待値以上になるように学習される。
【0129】
第2のステップ335において、改善された分布qkは、組み合わされ、分布と新しいパラメトリックポリシーとの間の差を最小化することによって、新しいパラメトリックポリシーπnew(パラメータθnewを有する)に蒸留される。これは、分布と新しいパラメトリックポリシーとの間のKLダイバージェンスを最小化することによって達成され得、すなわち、
【0130】
【数21】
【0131】
となり、ここで、KL(qk(a|s)||πθ(a|s))は、目的kに対する行動分布qk(a|s)とポリシーπθ(a|s)との間のカルバック-ライブラーダイバージェンスである。これは、各分布qkの最尤推定値を決定する教師あり学習損失である。次に、これらの2つのステップについてより詳細に説明する。
【0132】
目的ごとの行動分布を取得する(ステップ1)
目的ごとの改善された行動分布qk(a|s)を取得するために、強化学習目的は、各目的Qkに対して最適化され、
【0133】
【数22】
【0134】
【数23】
【0135】
ここで、εkは、目的kに対する許容される予想されるKLダイバージェンスを示す。これらのεkは、目的に対する選好を符号化するために使用される。より具体的には、εkは、ポリシーにおける変化に対する目的kの許容される影響を定義する。
【0136】
ノンパラメトリック行動分布qk(a|s)について、この制約付き最適化問題は、μ(s)からサンプリングされた各状態sについて閉形式で解かれ得、
【0137】
【数24】
【0138】
ここで、温度ηkは、以下の凸双対関数、
【0139】
【数25】
【0140】
を解くことによって、対応するεkに基づいて計算される。
【0141】
qk(a|s)と上記の積分とを評価するために、システムは、リプレイバッファからL個の状態を引き出すことができ、各状態について、現在のポリシーπoldからM個の行動をサンプリングする。実際には、目的ごとに1つの温度パラメータηkが維持される。ηkに対して数ステップの勾配降下を実行することによって双対関数を最適化することが効果的であることがわかった。方法は、前のポリシー反復ステップにおいて見つかった解を用いて初期化される。ηkは、正であるべきであるので、ηk>0を維持するために、各勾配ステップの後に射影演算子が使用され得る。
【0142】
アルゴリズム1に示すように、各目的に対する行動分布qk(a|s)は、
【0143】
【数26】
【0144】
を計算し、オプティマイザを使用してδηkに基づいてηkを更新し、次いで、行動分布qk(a|s)
【0145】
【数27】
【0146】
を決定することによって計算され得る。
【0147】
制約εkは、目的に対する選好を符号化するので、制約を十分に満足させてこの最適化問題を解くことは、所望の選好を満たすポリシーを学習するために重要である。ノンパラメトリック行動分布qk(a|s)について、これらの制約は、正確に満たされ得る。代わりに、qk(a|s)をパラメトリック形式において取得するために、任意のポリシー勾配法を使用することができる。しかしながら、パラメトリックqk(a|s)について制約付き最適化を解くことは、正確ではなく、制約は、十分に満たされない場合があり、これは、選好を符号化するためのεkの使用を妨げる。さらに、パラメトリックqk(a|s)を仮定することは、目的ごとに関数近似器(ニューラルネットワークなど)を維持することを必要とし、これは、アルゴリズムの複雑さを著しく増加させる可能性があり、スケーラビリティを制限する。
【0148】
新しいパラメトリックポリシーを適合させる(ステップ2)
前のセクションにおいて、各目的kについて、改善された行動分布qk(a|s)(改善された目的別ポリシー)が取得された。次に、これらの分布は、設定された制約εkに従って目的をトレードオフする単一のパラメトリックポリシーを取得するために組み合わされる必要がある。このために、方法は、ステップ1からの目的ごとの行動分布にパラメトリックポリシーを適合させる教師あり学習問題を解き、
【0149】
【数28】
【0150】
【数29】
【0151】
ここで、θは、ポリシーニューラルネットワークのパラメータであり、KL制約は、パラメトリックポリシーにおける全体的な変化を制限するサイズβの信頼領域を強制する。このステップにおけるKL制約は、ポリシーがサンプルベースの行動分布に過剰適合するのを防ぐ正則化効果を有し、したがって、早すぎる収束を回避し、学習の安定性を改善する。
【0152】
第1のポリシー改善ステップと同様に、積分は、リプレイバッファからサンプリングされたL個の状態と、古いポリシーからサンプリングされた状態ごとのM個の行動とを使用することによって評価され得る。勾配降下を使用して上記を最適化するために、ラグランジュ緩和が実装され得る。
【0153】
アルゴリズム1に示すように、ポリシーπθ(a|s)は、上記の正則化制約に従う
【0154】
【数30】
【0155】
を計算することによって更新され得る。次いで、ポリシーパラメータは、オプティマイザを使用して(たとえば、勾配降下を介して)、δπに基づいて更新され得る。
【0156】
オンポリシー学習
上記の実装形態は、バッチ学習について論じている。本明細書で説明する方法は、オンポリシー学習に等しく適用され得る。この場合、前のポリシーπoldを評価するために、利点A(s,a)は、オフポリシー実装形態におけるような状態-行動価値関数Q(s,a)の代わりに、学習された状態-価値関数V(s)から推定される。各目的に対する個別のV関数は、各目的に関連するnステップリターンに回帰することによってトレーニングされる。
【0157】
より具体的には、所与の軌道スニペットτ={(s0,a0,r0),...,(sT,aT,rT)}であり、ここで、rTは、N個すべての目的に対する報酬からなる報酬ベクトル
【0158】
【数31】
【0159】
を示し、価値関数パラメータφkは、以下の目的
【0160】
【数32】
【0161】
を最適化することによって見つけられる。ここで、G(T)(st,at)は、価値関数kに対するTステップターゲットであり、これは、軌道内の実際の報酬と、残りについて現在の価値関数からのブートストラップとを使用し、
【0162】
【数33】
【0163】
となる。次いで、利点は、
【0164】
【数34】
【0165】
として推定される。
【0166】
前のポリシーπold(a|s)、および各目的に対するこのポリシーに関連する推定された利点
【0167】
【数35】
【0168】
が与えられると、目標は、前のポリシーを改善することである。この目的のために、方法は、まず、各目的に対する改善された変分分布qk(s,a)を学習し、次いで、変分分布を結合し、新しいパラメトリックポリシーπnew(a|s)に蒸留する。オフポリシー実装形態とは異なり、この実装形態は、学習されたQ関数なしでは、状態ごとに1つの行動しか学習に利用できないので、ローカルポリシーqk(s|a)ではなく結合分布qk(s,a)を使用する。各結合分布は、対応する目的が与えられた状態-行動ペアの確率を提供する。
【0169】
改善された変分分布qk(s,a)を取得するために、方法は、各目的についてRL目的を最適化し、
【0170】
【数36】
【0171】
ここで、KLダイバージェンスは、すべての(s,a)に対して計算され、εkは、許容される予想されるKLダイバージェンスを示し、pold(s,a)=μ(s)πold(a|s)は、πoldに関連する状態-行動分布である。
【0172】
オフポリシー実装形態と同様に、このオンポリシー実装形態は、目的に対する選好を定義するためにεkを使用する。より具体的には、εkは、ポリシーの変更に対する目的kの許容される寄与を定義する。したがって、特定のεkが他に対して大きいほど、その目的kは、より優先される。一方、εk=0の場合、目的kは、ポリシーの変更に対して寄与せず、事実上無視される。
【0173】
上記の式は、閉形式で解かれ得、
【0174】
【数37】
【0175】
ここで、温度ηkは、以下の凸双対問題、
【0176】
【数38】
【0177】
を解くことによって、制約εkに基づいて計算される。
【0178】
最適化は、ηkに対して勾配降下ステップをとることによって損失とともに実行され得、これは、前のポリシー反復ステップにおいて見つかった解を用いて初期化され得る。ηkは、正であるべきであるので、ηk>0を維持するために、各勾配ステップの後に射影演算子が使用され得る。
【0179】
実際には、トレーニングは、データの各バッチにおける最大の利点の割合(たとえば、上位50%)に対応するサンプルを使用して実行され得る。
【0180】
次のステップは、前のステップにおいて取得された状態-行動分布を結合し、εkによって指定された選好に従ってすべての目的を優先する単一のパラメトリックポリシーπnew(a|s)に蒸留することである。このため、
【0181】
【数39】
【0182】
【数40】
【0183】
のように、パラメトリックポリシーに適合する教師あり学習問題が解かれ得る。
【0184】
ここで、θは、前のポリシーπoldの重みから初期化される関数近似器(ニューラルネットワーク)のパラメータであり、KL制約は、学習の安定性を改善するためにパラメトリックポリシーにおける全体的な変化を制限するサイズβの信頼領域を強制する。オフポリシー実装形態と同様に、このステップにおけるKL制約は、ポリシーがローカルポリシーに過剰適合するのを防ぐ正則化効果を有し、したがって、早すぎる収束を回避する。
【0185】
上記の式を最適化するために、ラグランジュ緩和が用いられ得る。
【0186】
εkを選択する
εkは、報酬のスケールに対して不変であるので、スカラー化重みを介するよりもεkを介して選好を符号化するほうがより直感的である。言い換えれば、目的全体にわたって所望の選好を有することは、εkの妥当な選択の範囲を狭くするが、スカラー化重みの妥当な選択の範囲を狭くしない。妥当なスカラー化重みを特定するために、RL実践者は、さらに、各目的に対する報酬のスケールに精通している必要がある。実際には、学習性能は、εkの広い範囲のスケールに対してロバストであることがわかっている。目的に対する選好を符号化するために重要なのは、εkの相対スケールであり、特定のεkが他のものよりも大きいほど、その目的kがより優先される。一方、εk=0である場合、目的kは、影響を与えず、事実上無視される。一般に、具体的な実装形態は、0.001から0.1の範囲におけるεkを用いる。
【0187】
すべての目的が等しく重要である場合、一般的な規則は、すべてのεkを同じ値に設定することである。対照的に、等しい選好を符号化するために線形スカラー化において適切な重みを選択することは困難である可能性があり、すべての重みを1/K(ここで、Kは、目的の数)に等しく設定することは、目的の報酬が同様のスケールである場合にのみ適切である。
【0188】
すべてのεkを同じ値に設定したとしても、εkの絶対値は、学習に影響を与える。εkが大きいほど、目的がポリシー更新ステップに対して与える影響がより大きくなる。目的ごとのクリティックは、ポリシーと並行して学習されるので、εkを高く設定しすぎることは、学習を不安定にする傾向があり、これは、トレーニングの早い段階で、クリティックが信頼できないQ値を生成すると、ポリシーに対するそれらの影響がポリシーを誤った方向に誘導するからである。一方、εkが低く設定されすぎると、学習を遅くし、これは、目的ごとの行動分布が現在のポリシーから微量に逸脱することしか許可されておらず、更新されたポリシーは、これらの行動分布の組合せに対する教師あり学習を介して取得されるからである。それにもかかわらず、εkが高く設定されすぎない限り、学習は、最終的にほぼ同じポリシーに収束する。
【0189】
目的にわたって選好に違いがある場合、重要なのは、εkの相対スケールである。εkの相対的なスケールがεlと比較されるほど、目的kが目的lと比較して、ポリシー更新に対してより多くの影響を有する。極端な場合、εlが目的lに対してゼロに近い場合、目的lは、ポリシー更新に対して影響を与えず、事実上無視される。
【0190】
不平等な選好の1つの一般的な例は、エージェントが、他の目的、たとえば、エネルギー消費、印加される力(たとえば、「痛み」ペナルティ)などを最小化しながら、タスクを完了することを要求される場合である。この場合、タスク目的に関するεは、実際にタスクを実行することを優先するようにエージェントへの動機づけをするために、他の目的に関するεよりも高くすべきである。ペナルティに関するεが高すぎる場合、エージェントは、タスクを実行するよりもペナルティを最小化する(典型的には、単になにも行動しないことによって達成され得る)ことにより気を使うようになり、これは特に有用ではない。
【0191】
εkのスケールは、平等な選好の場合と同様の効果を有する。εkのスケールが高すぎるかまたは低すぎる場合、平等な選好について論じたのと同じ問題が発生する。すべてのεkが同じ(中程度の)係数によってスケールが増減し、したがって、それらの相対スケールが同じままである場合、典型的には、それらは、ほほ同じポリシーに収束する。前述のように、0.001から0.1の範囲におけるεkは、良好な結果を達成することができる。
【0192】
本明細書で説明する主題は、複数の潜在的に競合する目的があるポリシーを学習するための強化学習方法を導入する。これは、目的別行動価値関数を決定することによって達成される。これらの目的別関数を利用することによって、本明細書で説明する方法は、所与の目的に対する報酬のスケールに依存しない目的別関数を提供する。これは、報酬のサイズが変化するにつれて、目的間の重み付けが時間の経過とともに調整される必要がないことを意味する。それに加えて、より大きい報酬が、必ずしもトレーニングを支配するとは限らない。さらに、目的を重み付けすることを報酬に対してスケール不変にすることによって、方法は、実施するのがより容易であり、変動する報酬サイズに対して重み付けを選択する際の継続的な試行錯誤の必要性を回避する。(たとえば、ノンパラメトリックな目的別ポリシーの使用による)計算効率における改善を提供する具体的な実施形態を本明細書において提示する。
【0193】
特定の実装形態において、目的が強化学習システムの複合行動選択ポリシーの更新への寄与の程度を制御するために、各目的に選好変数(εk)が割り当てられる。これは、目的に関連付けられた行動(Q)価値をスケーリングするために使用される、目的に関連付けられた「温度」を調整するために使用される。実装形態において、「温度」は、全体的な行動選択ポリシーの評価に寄与する行動の多様性に関連する。したがって、報酬のスケールが変化する場合、またはQ関数が非定常である場合であっても、目的間の重み付けは、スケール不変であり得る。これは、ユーザが、様々な目的間の選好を先験的に設定することを可能にする。
【0194】
1つまたは複数のコンピュータのシステムにとって、特定の動作または行動を実行するように構成されることは、動作時にシステムに動作または行動を実行させるソフトウェア、ファームウェア、ハードウェア、またはその組合せをシステムが自身にインストールしていることを意味する。1つまたは複数のコンピュータプログラムにとって、特定の動作または行動を実行するように構成されることは、1つまたは複数のプログラムが命令を含み、命令は、データ処理装置によって実行されると、装置に動作または行動を実行させることを意味する。
【0195】
本明細書で説明する主題および機能動作の実施形態は、デジタル電子回路において、有形に具体化されたコンピュータソフトウェアもしくはファームウェアにおいて、本明細書において開示された構造およびそれらの構造的等価物を含むコンピュータハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実装され得る。本明細書で説明する主題の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置による実行のため、またはデータ処理装置の動作を制御するための、有形の非一時的なプログラムキャリア上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替的にまたは追加的に、プログラム命令は、データ処理装置による実行のために、適切なレシーバ装置への送信のための情報を符号化するために生成された、人工的に生成された伝搬信号、たとえば、機械生成された電気信号、光信号、または電磁信号上に符号化され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであり得る。しかしながら、コンピュータ記憶媒体は、伝搬信号ではない。
【0196】
「データ処理装置」という用語は、例として、プログラム可能プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードも含むことができる。
【0197】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるかあるいは記述される場合もある)は、コンパイル型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む、任意の形態のプログラミング言語で記述され得、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、もしくはコンピューティング環境において使用するのに適した他のユニットとして、を含む、任意の形態で展開され得る。コンピュータプログラムは、必要ではないが、ファイルシステム内のファイルに対応し得る。プログラムは、他のプログラムまたはデータを保持するファイルの一部内に、たとえば、マークアップ言語文書内に記憶された1つまたは複数のスクリプト内に、当該のプログラムに専用の単一のファイル内に、または、複数の協調ファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイル内に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で実行されるように、または、1つのサイトに位置するか、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開され得る。
【0198】
本明細書で使用される、「エンジン」または「ソフトウェアエンジン」は、入力とは異なる出力を提供する、ソフトウェアで実装された入力/出力システムを指す。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット(「SDK」)、またはオブジェクトなどの、符号化された機能ブロックであり得る。各エンジンは、1つまたは複数のプロセッサとコンピュータ可読媒体とを含む、任意の適切なタイプのコンピューティングデバイス、たとえば、サーバ、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、音楽プレーヤ、電子ブックリーダ、ラップトップもしくはデスクトップコンピュータ、PDA、スマートフォン、または他の固定もしくは携帯型デバイス上に実装され得る。それに加えて、エンジンのうちの2つ以上が、同じコンピューティングデバイス上、または異なるコンピューティングデバイス上に実装され得る。
【0199】
本明細書で説明するプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能コンピュータによって実行され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)もしくはASIC(特定用途向け集積回路)によっても実行され得、装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)もしくはASIC(特定用途向け集積回路)によっても実装され得る。たとえば、プロセスおよび論理フローは、グラフィック処理ユニット(GPU)によっても実行され得、装置は、グラフィック処理ユニット(GPU)としても実装され得る。
【0200】
コンピュータプログラムの実行に適したコンピュータは、例として、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはその両方、または任意の他の種類の中央処理装置を含み、これらに基づくことができる。一般に、中央処理装置は、読み出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受け取る。コンピュータの必須要素は、命令を実行または遂行するための中央処理装置と、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクも含むか、または、それらからデータを受信する、もしくはそれらにデータを送信する、もしくはその両方のためにそれらに動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、少しだけ例を挙げると、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)レシーバ、または携帯型記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ内に組み込まれ得る。
【0201】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完されるか、または専用論理回路内に組み込まれ得る。
【0202】
ユーザとの対話を提供するために、本明細書で説明する主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタと、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上に実装され得る。ユーザとの対話を提供するために、他の種類のデバイスが同様に使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚的フィードバック、たとえば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形式で受信され得る。それに加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そこから文書を受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信した要求に応答してウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0203】
本明細書で説明する主題の実施形態は、バックエンド構成要素を、たとえば、データサーバとして含む、あるいは、ミドルウェア構成要素、たとえば、アプリケーションサーバを含む、あるいは、フロントエンド構成要素、たとえば、ユーザが本明細書で説明する主題の実装形態と対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含む、あるいは、1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムにおいて実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、たとえば、インターネットを含む。
【0204】
コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントおよびサーバは、一般に、互いから離れており、典型的には、通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0205】
本明細書は、多くの具体的な実装形態の詳細を含むが、これらは、任意の発明の範囲、または特許請求され得るものの範囲に対する限定として解釈されるべきではなく、特定の発明の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。本明細書において別々の実施形態の文脈で説明されている特定の特徴は、単一の実施形態において組み合わせても実装され得る。逆に、単一の実施形態の文脈で説明されている様々な特徴は、複数の実施形態において別々に、または任意の適切な部分的組合せにおいても実装され得る。さらに、特徴は、特定の組合せにおいて作用するものとして上記で説明されている場合があり、そのようなものとして当初は特許請求されている場合さえあるが、特許請求された組合せからの1つまたは複数の特徴は、場合によっては組合せから削除され得、特許請求された組合せは、部分的組合せまたは部分的組合せの変形例に向けられ得る。
【0206】
同様に、動作は、特定の順序で図面に描かれているが、これは、所望の結果を達成するために、そのような動作が示された特定の順序もしくはシーケンシャルな順序で実行されること、または示されたすべての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスキングおよび並列処理が有利な場合がある。さらに、上記で説明した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されているプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品において一緒に統合され得、または複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
【0207】
主題の特定の実施形態について説明した。他の実施形態は、以下の特許請求の範囲内にある。たとえば、特許請求の範囲内に列挙されたアクションは、異なる順序で実行され得、依然として所望の結果を達成することができる。一例として、添付の図において描かれたプロセスは、所望の結果を達成するために、示された特定の順序、またはシーケンシャルな順序を必ずしも必要としない。特定の実装形態において、マルチタスキングおよび並列処理が有利な場合がある。
【符号の説明】
【0208】
100 ニューラルネットワークシステム、ニューラルネットワーク
102 行動
104 エージェント
106 状態
108 報酬
110 行動選択ポリシーニューラルネットワーク
120 トレーニングエンジン
図1
図2
図3