(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】情報処理装置、情報処理方法、情報処理システム、およびプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241112BHJP
【FI】
G06N20/00
(21)【出願番号】P 2023523808
(86)(22)【出願日】2021-05-26
(86)【国際出願番号】 JP2021020000
(87)【国際公開番号】W WO2022249335
(87)【国際公開日】2022-12-01
【審査請求日】2023-11-15
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】竹村 慧
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2018-97399(JP,A)
【文献】特開2017-162385(JP,A)
【文献】特開2007-128318(JP,A)
【文献】米国特許出願公開第2010/0094786(US,A1)
【文献】国際公開第2021/075107(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
状態を取得する取得手段と、
前記状態を参照して行動を決定する決定手段と、
前記状態と、前記決定手段が決定した行動によって得られた報酬とを含む学習データを蓄積する蓄積手段と、
を備え、
前記決定手段は、
前記学習データに含まれる1又は複数の値から、ばらつきに関する指標を算出し、
算出したばらつきに関する指標がより大きい程、より小さい重み係数を前記1又は複数の値に適用することによって、状態と行動とから報酬和を予測する第1の関数
を算出し、当該第1の関数を用いて行動を決定する
ことを特徴とする情報処理装置。
【請求項2】
前記決定手段は、
前記ばらつきに関する指標として、前記状態と前記行動とを参照して得られる、第2の関数の分散を算出する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記状態、前記行動、前記報酬、及び前記第1の関数の値の少なくとも何れかと、前記ばらつきに関する指標とを表示する表示手段を備えていることを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記表示手段は、
前記状態、前記行動、前記報酬、及び前記第1の関数の値の前記少なくとも何れかのうち、ばらつきに関する指標が閾値以下である値を強調表示する
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記決定手段は、
前記状態と前記行動とをベクトルにマップする特徴マップを用いて、前記第1の関数を算出する
ことを特徴とする請求項1から4の何れか1項に記載の情報処理装置。
【請求項6】
情報処理装置が、
状態を取得すること、
前記状態を参照して行動を決定すること、及び
前記状態と、前記決定した行動によって得られた報酬とを含む学習データを蓄積すること、
を繰り返し含み、
前記行動を決定する工程では、
状態と行動とから報酬和を予測する第1の関数であって、前記学習データに含まれる1又は複数の値から算出されたばらつきに関する指標がより大きい程、より小さい重み係数を前記1又は複数の値に適用することによって算出された第1の関数を用いて、行動を決定する
ことを特徴とする情報処理方法。
【請求項7】
コンピュータを情報処理装置として機能させるプログラムであって、
前記プログラムは、前記コンピュータを、
状態を取得する取得手段と、
前記状態を参照して行動を決定する決定手段と、
前記状態と、前記決定手段が決定した行動によって得られた報酬とを含む学習データを蓄積する蓄積手段と、して機能させ、
前記決定手段は、
前記学習データに含まれる1又は複数の値から、ばらつきに関する指標を算出し、
算出したばらつきに関する指標がより大きい程、より小さい重み係数を前記1又は複数の値に適用することによって、状態と行動とから報酬和を予測する第1の関数を算出し、当該第1の関数を用いて行動を決定する
ことを特徴とするプログラム。
【請求項8】
情報処理装置と、端末装置とを含む情報処理システムであって、
前記情報処理装置は、
状態を取得する取得手段と、
前記状態を参照して行動を決定する決定手段と、
前記状態と、前記決定手段が決定した行動によって得られた報酬とを含む学習データを蓄積する蓄積手段と、
を備え、
前記決定手段は、
前記学習データに含まれる1又は複数の値から、ばらつきに関する指標を算出し、
算出したばらつきに関する指標がより大きい程、より小さい重み係数を前記1又は複数の値に適用することによって、状態と行動とから報酬和を予測する第1の関数を算出し、当該第1の関数を用いて行動を決定し、
前記端末装置は、
状態を取得し前記情報処理装置に提供する状態情報提供手段と、
前記情報処理装置が決定した行動を実行して得られた報酬を示す報酬情報を前記情報処理装置に提供する報酬情報提供手段と、
を備えている
ことを特徴とする情報処理システム。
【請求項9】
情報処理装置が、
状態を取得すること、
前記状態を参照して行動を決定すること、及び
前記状態と、前記決定した行動によって得られた報酬とを含む学習データを蓄積すること、
を繰り返し含み、
前記行動を決定する工程では、
状態と行動とから報酬和を予測する第1の関数であって、前記学習データに含まれる1又は複数の値から算出されたばらつきに関する指標がより大きい程、より小さい重み係数を前記1又は複数の値に適用することによって算出された第1の関数を用いて、行動を決定し、
端末装置が、
状態を取得し前記情報処理装置に提供すること、及び
前記情報処理装置が決定した行動を実行して得られた報酬を示す報酬情報を前記情報処理装置に提供すること、
を含む
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、行動を決定する情報処理装置、情報処理方法、情報処理システム、およびプログラムに関する。
【背景技術】
【0002】
行動と報酬との関係が未知の状態において、報酬を観測しつつ、報酬の総和を最大化するような行動を逐次的に決定する技術が知られている。例えば、このような技術の一例として、非特許文献1には、所謂Upper-Confidence Bounds (UCB)アルゴリズムを用いた技術が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Chi Jin et.al. “Provably Efficient Reinforcement Learning with Linear Function Approximation” arXiv:1907.05388v2 [cs.LG], Aug 8, 2019
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に記載の技術は、より好適な行動を決定するという観点で改善の余地がある。一般に行動を決定するために参照する学習データには、信頼性が高いデータと信頼性が低いデータとが混在し得るが、非特許文献1の技術ではこれらのデータを同列に扱っているためである。
【0005】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、より好適な行動を決定することのできる技術を提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様に係る情報処理装置は、状態を取得する取得手段と、前記状態を参照して行動を決定する決定手段と、前記状態と、前記決定手段が決定した行動によって得られた報酬とを含む学習データを蓄積する蓄積手段と、を備え、前記決定手段は、状態と行動とから報酬和を予測する第1の関数を、前記学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定する。
【0007】
本発明の一態様に係る情報処理方法は、情報処理装置が、状態を取得すること、前記状態を参照して行動を決定すること、及び、前記状態と、前記決定した行動によって得られた報酬とを含む学習データを蓄積すること、を繰り返し含み、前記行動を決定する工程では、状態と行動とから報酬和を予測する第1の関数であって、前記学習データに対する重み付けを行うことによって算出された第1の関数を用いて行動を決定する。
【0008】
本発明の一態様に係るプログラムは、コンピュータを情報処理装置として機能させるプログラムであって、前記プログラムは、前記コンピュータを、状態を取得する取得手段と、前記状態を参照して行動を決定する決定手段と、前記状態と、前記決定手段が決定した行動によって得られた報酬とを含む学習データを蓄積する蓄積手段と、して機能させ、前記決定手段は、状態と行動とから報酬和を予測する第1の関数を、前記学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定する。
【0009】
本発明の一態様に係る情報処理システムは、情報処理装置と、端末装置とを含む情報処理システムであって、前記情報処理装置は、状態を取得する取得手段と、前記状態を参照して行動を決定する決定手段と、前記状態と、前記決定手段が決定した行動によって得られた報酬とを含む学習データを蓄積する蓄積手段と、を備え、前記決定手段は、状態と行動とから報酬和を予測する第1の関数を、前記学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定し、前記端末装置は、状態を取得し前記情報処理装置に提供する状態情報提供手段と、前記情報処理装置が決定した行動を実行して得られた報酬を示す報酬情報を前記情報処理装置に提供する報酬情報提供手段と、を備えている。
【0010】
本発明の一態様に係る情報処理方法は、情報処理装置が、状態を取得する取得すること、
前記状態を参照して行動を決定すること、及び、前記状態と、前記決定した行動によって得られた報酬とを含む学習データを蓄積すること、を繰り返し含み、前記行動を決定する工程では、状態と行動とから報酬和を予測する第1の関数であって前記学習データに対する重み付けを行うことによって算出された第1の関数を用いて行動を決定し、端末装置が、状態を取得し前記情報処理装置に提供すること、及び、前記情報処理装置が決定した行動を実行して得られた報酬を示す報酬情報を前記情報処理装置に提供すること、を含む。
【発明の効果】
【0011】
本発明の一態様によれば、より好適な行動を決定することができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の例示的実施形態1に係る情報処理装置の構成を示すブロック図である。
【
図2】本発明の例示的実施形態1に係る情報処理装置が実行する情報処理方法の流れを示すフロー図である。
【
図3】本発明の例示的実施形態1に係る情報処理システムの構成を示すブロック図である。
【
図4】本発明の例示的実施形態1に係る情報処理システムが実行する情報処理方法の流れを示すフロー図である。
【
図5】本発明の例示的実施形態2に係る情報処理システムの構成を示すブロック図である。
【
図6】本発明の例示的実施形態2に係る情報処理装置の記憶部に格納される各種のデータの例を示す図である。
【
図7】本発明の例示的実施形態2に係る情報処理装置が実行する情報処理方法の流れを示すフロー図である。
【
図8】本発明の例示的実施形態3に係る情報処理装置の構成を示すブロック図である。
【
図9】本発明の例示的実施形態3に係る情報処理装置が表示する表示画面例を示す図である。
【
図10】本発明の各例示的実施形態における情報処理装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0013】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0014】
<情報処理装置1の概要>
本例示的実施形態に係る情報処理装置1は、概略的に言えば、与えられた状態において、ある種の予測関数の値を最大化するような行動を選択する装置である。ここで、当該予測関数とは、一例として、対象量の和の予測値を算出する関数である。より具体的に言えば、情報処理装置1は、一例として、
・過去の状態、
・過去に選択した行動、及び、
・過去の状態と過去の行動とによって得られた対象量の観測値
を逐次的に学習データとして蓄積し、当該学習データを参照して、対象量の和を予測する予測関数を逐次的に更新する。ここで、情報処理装置1は、与えられた状態において当該予測関数を最大化する行動を選択するよう構成される。
【0015】
換言すれば、情報処理装置1は、一例として、
・状態を取得
・取得した状態の下で予測関数を最大化する行動を選択
・選択した行動によって得られる対象量の観測値を取得
・上記状態、上記行動、及び上記対象量の観測値を学習データとして蓄積
・学習データを用いて予測関数を更新
というステップを繰り返すよう構成された装置である。
【0016】
なお、上記の対象量としては、一例として、行動によって得られる報酬を挙げることができる。また、上記の予測関数として、報酬の和の予測値を算出する報酬和関数を挙げることができる。ここで、本例示的実施形態において、「状態」「行動」及び「報酬」は、特にことわりのない限り、情報処理的な意味において特に限定を含まない概念として解釈される。
【0017】
また、本明細書において「学習データ」との表現は、予測関数を更新(学習)するために参照されるデータであるという以上の限定を有するものではない。本明細書における「学習データ」との表現に代えて「学習用データ」「教師データ」「参照用データ」等の表現を用いてもよい。
【0018】
<情報処理装置1の構成>
本例示的実施形態に係る情報処理装置1の構成について、
図1を参照して説明する。
図1は、情報処理装置1の構成を示すブロック図である。
【0019】
図1に示すように、情報処理装置1は、取得部11と、決定部12と、蓄積部13とを備えている。取得部11は、本例示的実施形態において取得手段を実現する構成である。決定部12は、本例示的実施形態において決定手段を実現する構成である。蓄積部13は、本例示的実施形態において蓄積手段を実現する構成である。
【0020】
取得部11は、状態を取得する。一例として、取得部11は、状態に関する情報を含む状態情報を取得し、当該状態情報が示す状態を特定する。ここで、「状態」の具体例は本例示的実施形態を限定するものではないが、一例として、温度や天気等の環境の状態が挙げられる。
【0021】
決定部12は、取得部11が取得した状態を参照して行動を決定する。ここで、決定部12は、状態と行動とから報酬和を予測する第1の関数を、後述する蓄積部13が蓄積した学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定する。ここで、上記第1の関数は、報酬和を予測する関数であるので報酬和関数と呼ぶこともある。また、上記第1の関数は、行動の価値を定量化する関数でもあるので行動価値関数と呼ぶこともある。
【0022】
また、決定部12によって行われる学習データに対する重み付け処理の具体例は本例示的実施形態を限定するものではないが、一例として、決定部12は、学習データに含まれる1又は複数の値から、ばらつきに関する指標を算出し、算出したばらつきに関する指標がより大きい程、より小さい重み係数を前記1又は複数の値に適用することによって、前記第1の関数を算出することができる。
【0023】
ここで、上記ばらつきに関する指標は、一例として、学習データに含まれる各値の信頼性を表現する指標として解釈できるものを用いることができる。また、上記ばらつきが大きい程、信頼性が低いとの解釈が成り立ち得る。したがって、決定部12は、信頼性がより高い値に対してより高い重みを適用することによって前記第1の関数を算出するものであると表現することもできる。
【0024】
また、「行動」の具体例は本例示的実施形態を限定するものではないが、一例として、対象物の「価格」や「仕入れ量」等を挙げることができる。また、「報酬」の具体例は、本例示的実施形態を限定するものではないが、一例として、対象物に関する「売上げ」や「在庫量の逆数」又は「定数から在庫量を減算したもの」等を挙げることができる。
【0025】
なお、決定部12は、一例として、取得部11が取得した状態を引数として含む前記第1の関数を最大化するような行動を選択するよう構成することができるが、これは本例示的実施形態を限定するものではない。
【0026】
蓄積部13は、取得部11が取得した状態と、決定部12が決定した行動によって得られた報酬とを含む学習データを蓄積する。
【0027】
<情報処理装置1の効果>
本例示的実施形態に係る情報処理装置1によれば、状態と行動とから報酬和を予測する第1の関数を、前記学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定するので、より好適な行動を決定することができる。
【0028】
<情報処理装置1による情報処理方法の流れ>
以上のように構成された情報処理装置1が実行する情報処理方法S1の流れについて、
図2を参照して説明する。
図2は、情報処理方法S1の流れを示すフロー図である。情報処理装置1は、情報処理方法S1を繰り返すことによって、行動の選択を繰り返し行う。なお、すでに説明した内容については説明を省略する。
【0029】
図2に示すように、情報処理方法S1は、ステップS11~S13を含む。
【0030】
(ステップS11)
ステップS11において、取得部11は、状態を取得する。一例として、取得部11は、状態に関する情報を含む状態情報を取得し、当該状態情報が示す状態を特定する。
【0031】
(ステップS12)
ステップS12において、決定部12は、ステップS11において取得部11が取得した状態を参照して行動を決定する。ここで、決定部12は、状態と行動とから報酬和を予測する第1の関数であって、学習データに対する重み付けを行うことによって算出された第1の関数を用いて行動を決定する。
【0032】
ここで、繰り返しのn(nは自然数)回目において、決定部12が第1の関数を算出するために参照する学習データとしては、一例として、n-1回目までに蓄積された学習データが用いられる。
【0033】
(ステップS13)
ステップS13において、蓄積部13は、ステップS11において取得部11が取得した状態と、ステップS12において決定部12が決定した行動によって得られた報酬とを含む学習データを蓄積する。
【0034】
<情報処理方法S1の効果>
本例示的実施形態に係る情報処理方法S1によれば、状態と行動とから報酬和を予測する第1の関数を、前記学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定するので、より好適な行動を決定することができる。
【0035】
<情報処理システムの構成>
続いて、本例示的実施形態に係る情報処理システム100の構成について、
図3を参照して説明する。
図3は、情報処理システム100の構成を示すブロック図である。
【0036】
図3に示すように、情報処理システム100は、情報処理装置1と端末装置2とを備えている。情報処理装置1が備える各構成については既に説明したため、ここでは説明を省略する。
【0037】
端末装置2は、
図3に示すように、状態情報提供部21と、報酬情報提供部22とを備えている。状態情報提供部21は、本例示的実施形態において状態情報提供手段を実現する構成である。報酬情報提供部22は、本例示的実施形態において報酬情報提供手段を実現する構成である。
【0038】
状態情報提供部21は、状態を取得し情報処理装置1に提供する。一例として、状態情報提供部21は、状態を表すデータを取得し、当該データを情報処理装置1に提供する。
【0039】
報酬情報提供部22は、情報処理装置1が決定した行動を実行して得られた報酬を示す報酬情報を情報処理装置1に提供する。報酬情報提供部22は、一例として、情報処理装置1が決定した行動を示す行動情報を取得する取得部、及び情報処理装置1が決定した行動を実行する実行部を備える構成としてもよい。
【0040】
<情報処理システムの効果>
本例示的実施形態に係る情報処理システム100によれば、状態と行動とから報酬和を予測する第1の関数を、前記学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定するので、より好適な行動を決定することができる。
【0041】
<情報処理システム100による情報処理方法の流れ>
以上のように構成された情報処理システム100が実行する情報処理方法S100の流れについて、
図4を参照して説明する。
図4は、情報処理方法S100の流れを示すフロー図である。情報処理システム100は、情報処理方法S100を実行することによって、行動の選択を繰り返し行う。なお、すでに説明した内容については説明を省略する。
【0042】
図4に示すように、情報処理方法S100は、ステップS11~S13、及びS21~S22を繰り返し含む。ここで、
図4における各ステップに付した符号において、繰り返しの次数を、ハイフン「-」の後の枝番として記載している。例えば、S21-1は、繰り返しの1回目であることを表しており、S21-2は、繰り返しの2回目であることを表している。他のステップについても同様である。
【0043】
(ステップS21-1)
ステップS21-1において、端末装置2の状態情報提供部21は、状態を表すデータを取得し、当該データを情報処理装置1に提供する。
【0044】
(ステップS11-1)
ステップS11-1において、情報処理装置1の取得部11は、端末装置2の状態情報提供部21から提供された状態を取得する。
【0045】
(ステップS12-1)
ステップS12-1において、情報処理装置1の決定部12は、ステップS11-1において取得部11が取得した状態を参照して行動を決定する。そして、情報処理装置1は、決定した行動を示す行動情報を、端末装置2に提供する。
【0046】
(ステップS22-1)
ステップS22-1において、端末装置2の報酬情報提供部22は、ステップS12-1において、情報処理装置1の決定部12が決定した行動を実行して得られた報酬を示す報酬情報を情報処理装置1に提供する。
【0047】
(ステップS13-1)
ステップS13-1において、情報処理装置1の蓄積部13は、ステップS12-1において取得部11が取得した状態と、ステップS12-1において決定部12が決定した行動によって得られた報酬とを含む学習データを蓄積する。
【0048】
(ステップS21-2)
続いて、ステップS21-2において、端末装置2の状態情報提供部21は、状態を表すデータを取得し、当該データを情報処理装置1に提供する。本ステップにおいて取得する情報は、ステップS21-1において取得した状態とは異なり得る。
【0049】
(ステップS11-2)
ステップS11-2において、情報処理装置1の取得部11は、端末装置2の状態情報提供部21から提供された状態を取得する。
【0050】
(ステップS12-2)
ステップS12-2において、情報処理装置1の決定部12は、ステップS11-2において取得部11が取得した状態を参照して行動を決定する。ここで、決定部12は、状態と行動とから報酬和を予測する第1の関数を、学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定する。そして、情報処理装置1は、決定した行動を示す行動情報を、端末装置2に提供する。
【0051】
ここで、本ステップにおいて、決定部12が第1の関数を算出するために参照する学習データとしては、一例として、ステップS13-1までに蓄積された学習データが用いられる。
【0052】
(ステップS22-2)
ステップS22-2において、端末装置2の報酬情報提供部22は、ステップS12-2において、情報処理装置1の決定部12が決定した行動を実行して得られた報酬を示す報酬情報を情報処理装置1に提供する。
【0053】
(ステップS13-2)
ステップS13-2において、情報処理装置1の蓄積部13は、ステップS11-2において取得部11が取得した状態と、ステップS12-2において決定部12が決定した行動によって得られた報酬とを含む学習データを蓄積する。
【0054】
<情報処理方法S100の効果>
本例示的実施形態に係る情報処理システム100によれば、状態と行動とから報酬和を予測する第1の関数を、前記学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定するので、より好適な行動を決定することができる。
【0055】
〔例示的実施形態2〕
本発明の第2の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0056】
<情報処理システム100Aの構成>
本例示的実施形態に係る情報処理システム100Aの構成について、
図5を参照して説明する。
図5は、情報処理システム100Aの構成を示すブロック図である。
図5に示すように、情報処理システム100Aは、情報処理装置1Aと、端末装置2Aとを含んでいる。また、
図5に示すように、情報処理装置1Aと端末装置2AとはネットワークNを介して通信可能に構成されている。ここで、ネットワークNの具体的構成は本例示的実施形態を限定するものではないが、一例として、無線LAN(Local Area Network)、有線LAN、WAN(Wide Area Network)、公衆回線網、モバイルデータ通信網、又は、これらのネットワークの組み合わせを用いることができる。
【0057】
<情報処理装置1Aの構成>
本例示的実施形態に係る情報処理装置1Aの構成について、
図5を参照して説明する。
図5は、情報処理装置1Aの構成を示すブロック図である。
【0058】
図5に示すように、情報処理装置1Aは、制御部10Aと、記憶部17Aと、通信部19Aとを備えている。
【0059】
通信部19Aは、情報処理装置1Aの外部の装置と通信を行う。一例として通信部19Aは、端末装置2Aと通信を行う。通信部19Aは、制御部10Aから供給されたデータを端末装置2Aに送信したり、端末装置2Aから受信したデータを制御部10Aに供給したりする。
【0060】
(制御部10A)
制御部10Aは、
図5に示すように、取得部11、決定部12、及び蓄積部13を備えている。取得部11は、本例示的実施形態において取得手段を実現する構成である。決定部12は、本例示的実施形態において決定手段を実現する構成である。蓄積部13は、本例示的実施形態において蓄積手段を実現する構成である。
【0061】
取得部11は、例示的実施形態1と同様に、状態を取得する。一例として、取得部11は、状態に関する情報を含む状態情報を、通信部19Aを介して端末装置2Aの状態情報提供部21から取得する。そして、取得部11は、取得した状態情報が示す状態を特定する。ここで、「状態」の具体例は本例示的実施形態を限定するものではないが、一例として、例示的実施形態1と同様に、温度や天気等の環境の状態が挙げられる。
【0062】
決定部12は、例示的実施形態1と同様に、取得部11が取得した状態を参照して行動を決定する。ここで、決定部12は、状態と行動とから報酬和を予測する第1の関数を、蓄積部13が蓄積した学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定する。ここで、上記第1の関数は、例示的実施形態1と同様に、報酬和を予測する関数であるので報酬和関数と呼ぶこともある。また、上記第1の関数は、行動の価値を定量化する関数でもあるので行動価値関数と呼ぶこともある。決定部12によって行われる学習データに対する重み付け処理の具体例については後述するため、ここでは説明を省略する。
【0063】
なお、「行動」の具体例は本例示的実施形態を限定するものではないが、一例として、対象物の「価格」や「仕入れ量」等を挙げることができる。また、「報酬」の具体例は、本例示的実施形態を限定するものではないが、一例として、対象物に関する「売上げ」や「在庫量の逆数」又は「定数から在庫量を減算したもの」等を挙げることができる。
【0064】
蓄積部13は、取得部11が取得した状態と、決定部12が決定した行動によって得られた報酬とを含む学習データを蓄積する。一例として、蓄積部13は、取得部11が取得した状態と、決定部12が決定した行動によって得られた報酬とを含む学習データを記憶部17Aに格納する。
【0065】
記憶部17Aには、制御部10Aによって参照される各種のデータが格納される。一例として、記憶部17Aには、
図5に示すように、状態情報SI、行動情報AI、報酬の観測値RI、及び報酬和関数RSFが格納される。記憶部17Aが格納する各種のデータについては参照する図面を代えて後述する。
【0066】
<端末装置2Aの構成>
端末装置2Aは、
図5に示すように、制御部20A、行動実行部26A、入力受付部28A、及び通信部29Aを備えている。端末装置は、一例として、店舗に配置された会計用端末、及び倉庫に配置された在庫管理用端末等として具体的に実現することができるが、これは本例示的実施形態を限定するものではない。
【0067】
通信部29Aは、通信部29Aは、端末装置2Aの外部の装置と通信を行う。一例として通信部29Aは、情報処理装置1Aと通信を行う。通信部29Aは、制御部20Aから供給されたデータを情報処理装置1Aに送信したり、情報処理装置1Aから受信したデータを制御部20Aに供給したりする。
【0068】
制御部20Aは、
図5に示すように、状態情報提供部21、及び報酬情報提供部22を備えている。
【0069】
状態情報提供部21は、状態を取得し情報処理装置1に提供する。一例として、状態情報提供部21は、入力受付部28Aを介して状態を表すデータの入力を受け付け、当該データを情報処理装置1に提供する。
【0070】
報酬情報提供部22は、情報処理装置1が決定した行動を実行して得られた報酬を示す報酬情報を情報処理装置1に提供する。ここで、報酬情報提供部22は、情報処理装置1が決定した行動を実行して得られた報酬を示す報酬情報を、入力受付部28Aを介して取得する構成とすることができる。
【0071】
行動実行部26Aは、情報処理装置1が決定した行動を実行する。一例として、情報処理装置1が決定した行動が、「対象物の価格をある値に設定すること」である場合、行動実行部26Aは、当該対象物に関連付けられた価格を当該値に設定する。また、情報処理装置1が決定した行動が、「対象物の仕入れ量をある値に設定すること」である場合、行動実行部26Aは、当該対象物に関連付けられた仕入れ量を当該値に設定する。
【0072】
入力受付部28Aは、端末装置2Aに対する各種の入力を受け付ける。入力受付部28Aの具体的構成は本例示的実施形態を限定するものではないが、一例として、入力受付部28Aは、キーボード及びタッチパッド等の入力デバイスを備える構成とすることができる。また、入力受付部28Aは、赤外線や電波等の電磁波を介してデータの読み取りを行うデータスキャナ、及び、環境の状態をセンシングするセンサ等を備える構成としてもよい。
【0073】
入力受付部28Aは、上述した入力デバイス、データスキャナ、及びセンサ等を介して、上述した状態情報、及び上述した報酬情報を取得し、取得した情報を制御部20Aに供給する。ここで、入力受付部28Aが取得する報酬情報には、対象物に関する「売上げ」や「在庫量に関連する情報」が含まれ得る。
【0074】
(記憶部17Aに格納されるデータの例)
続いて、
図6を参照して、情報処理装置1Aの記憶部17Aに格納される各種のデータについて説明する。
【0075】
図6に示すように、格納部17Aには、
・状態情報SI
・行動情報AI
・報酬の観測値RI、及び
・報酬和関数RSF
が格納されている。状態情報SI、行動情報AI、及び報酬の観測値RIは、一例として本例示的実施形態において決定部12によって参照される学習データを構成する。
【0076】
(状態情報SI)
状態情報SIは、より具体的には、
図6に示すように、第1のインデックスk(k=1、2、・・・K:Kは自然数)及び第2のインデックスh(h=1、2、・・・H:Hは自然数)を有する状態パラメータs
k
hによって表される。ここで、第1のインデックスkは、一例として日付を表すインデックスであるとして説明を行うが、本例示的実施形態はこれに限定されるものではない。また、第2のインデックスhは、一例として時間帯を表すインデックスであるとして説明を行うが、本例示的実施形態はこれに限定されるものではない。
【0077】
図6に示すように、状態情報SIには、一例として、k=1の状態パラメータ群s
1
1~s
1
12、k=2の状態パラメータ群s
2
1~s
2
12が含まれている。また、
図6に示す例では、状態情報SIには、k=3の状態パラメータ群s
3
1~s
3
2が含まれている。
【0078】
状態情報SIに含まれる状態パラメータsk
hの具体的な値は取得部11によって取得され、記憶部17Aに格納される。例えば、状態として温度を用いる構成の場合、状態パラメータsk
hの各値は、温度の数値又はそれを所定の変換ルールによって変換して得られる値が用いられる。また、状態として天気を用いる構成の場合、状態パラメータsk
hの各値は、天気を数値化して得られる値が用いられる。なお、特に混乱のない限り、状態パラメータのことを単に状態と呼ぶことがある。
【0079】
(行動情報AI)
行動情報AIは、同様に、
図6に示すように、第1のインデックスk及び第2のインデックスhを有する行動パラメータа
k
hによって表される。
図6に示すように、行動情報AIには、一例として、k=1の行動パラメータ群а
1
1~а
1
12、k=2の行動パラメータ群а
2
1~а
2
12が含まれている。また、
図6に示す例では、
行動情報AIには、k=3の行動パラメータ群а
3
1~а
3
2が含まれている。
【0080】
行動情報AIに含まれる行動パラメータаk
hの具体的な値は決定部12によって決定され、記憶部17Aに格納される。例えば、行動パラメータаk
hの各値として、「価格」や「仕入れ量」を示す値が決定部12によって決定され、記憶部17Aに格納される。特に混乱のない限り、行動パラメータのことを単に行動と呼ぶことがある。
【0081】
(報酬の観測値RI)
報酬の観測値RIは、
図6に示すように、第1のインデックスk及び第2のインデックスhによって表され、その各値が記憶部17Aに格納される。より具体的には、状態s
k
hの下で行動а
k
hを実行して得られた報酬の観測値RIは、
図6に示すように、r(s
k
h,а
k
h)と表現され、その各値が記憶部17Aに格納される。
図6に示すように、報酬の観測値RIには、一例として、k=1の報酬の観測値群r(s
1
1,а
1
1)~r(s
1
12,а
1
12)、k=2の報酬の観測値群r(s
2
1,а
2
1)~r(s
2
12,а
2
12)が含まれている。また、
図6に示す例では、報酬の観測値RIには、k=3
の報酬の観測値群r(s
3
1,а
3
1)~r(s
3
2,а
3
2)が含まれている。
【0082】
報酬の観測値RIに含まれるr(sk
h,аk
h)の各値は、一例として取得部11によって取得され、記憶部17Aに格納される。例えば、r(sk
h,аk
h)の各値として、対象物に関する「売上げ」や「在庫量の逆数」又は「定数から在庫量を減算したもの」等を示す数値が取得部11によって取得され、記憶部17Aに格納される。
【0083】
(報酬和関数RSF)
図6に示すように、記憶部17Aには、報酬和関数RSFの各関数形も格納されている。報酬和関数RSFの各関数形は、第1のインデックスk及び第2のインデックスhを用いて、Q
k
hと表現される。Q
k
hは、2つの引数を入力とし報酬和の予測値を出力する関数であり、Q
k
h(・,・)とも表記する。ここで報酬和とは、一例として、所定の期間における報酬の総和のことを指す。Q
k
hが引数にとる2つの変数は、一例として、状態と行動である。
【0084】
報酬和関数RSFのことを、報酬和関数Q、Q関数、又は行動価値関数と呼ぶこともある。報酬和関数RSFの各関数形は決定部12によって決定され記憶部17Aに格納される。
【0085】
<情報処理装置1Aによる情報処理方法の流れ>
以上のように構成された情報処理装置1Aが実行する情報処理方法S1Aの流れについて、
図7を参照して説明する。
図7は、情報処理方法S1Aの流れを示すフロー図である。情報処理装置1
Aは、情報処理方法S1Aを実行することによって、所定期間における報酬の観測値の和
【数1】
を最大化するように、行動の選択を繰り返し行う。なお、すでに説明した内容については説明を省略する。
【0086】
また、以下の説明では、状態の集合を
【数2】
と表現し、行動の集合を
【数3】
と表現することがある。
【0087】
(ステップS101)
ステップS101において、決定部12は、各種のパラメータの初期化を行う。一例として、決定部12は、取得部11を介してパラメータH及びdに設定すべき値を取得し、取得した値をパラメータH及びdの値に設定する。
【0088】
ここで、パラメータHは、上述した通り、第2のインデックスhの上限を規定するパラメータである。パラメータHは、第1のインデックスkの各々の値に対して取ることのできる第2のインデックスhの総数であるとも言える。
【0089】
一方、パラメータdは、状態と行動とを表現するベクトルの次元である。換言すれば、状態と行動とをベクトルとして表すための写像
【数4】
が存在し、上式に示すように、パラメータdは、当該ベクトルの次元である。
【0090】
ステップS101において、決定部12は、更に、パラメータλとβとを、一例として、
【数5】
と設定する。なお、パラメータd、H、λ、及びβの少なくとも何れかのことをハイパーパラメータと呼ぶこともある。
【0091】
また、ステップS101において、決定部12は以下のような初期化処理を行う。
【数6】
ここで、
【数7】
及び
【数8】
は、それぞれ行列であり、
【数9】
【数10】
及び
【数11】
はそれぞれベクトルである。また、
【数12】
との表現は、1からHまでの自然数の集合を表している。
【0092】
また、ステップS101において、決定部12は、Q関数を以下のように初期化する。
【数13】
ここで、
【数14】
は、状態と行動とを表現するベクトル(特徴マップと呼ぶこともある)
【数15】
に対して、以下で定義される演算
【数16】
を適用して得られる。
【0093】
(ステップS102)
ステップS102は、決定部12による日付に関するループ処理の始端である。ここで、当該日付に関するループ処理におけるループ変数は、
k=1、2、・・・、K
である。
【0094】
(ステップS111)
日付に関するループ中のステップS111において、決定部12は、状態sk
1を観測する。換言すれば、決定部12は、取得部11を介して状態sk
1の値を取得する。
【0095】
(ステップS103)
ステップS103は、決定部12による時間帯に関する第1ループ処理の始端である。ここで、当該時間帯に関するループ処理におけるループ変数は、
h=1、2、・・・、H
である。
【0096】
(ステップS12)
時間帯に関する第1ループ中のステップS12において、決定部12は、行動а
k
hを選択する。一例として、決定部12は、
【数17】
となる行動а
k
hを選択する。換言すれば、決定部12は、取得部11が取得した状態を引数として含む報酬和関数を最大化するような行動を選択する。
【0097】
(ステップS104)
続いて、時間帯に関する第1ループ中のステップS104において、決定部12は、報酬r(sk
h,аk
h)を観測する。換言すれば、決定部12は取得部11を介して報酬r(sk
h,аk
h)の値を取得する。
【0098】
(ステップS13)
続いて、時間帯に関する第1ループ中のステップS13において、蓄積部13は、状態sk
h、行動аk
h、及び報酬r(sk
h,аk
h)を含む学習データを記憶部17Aに蓄積する。
【0099】
(ステップS112)
続いて、時間帯に関する第1ループ中のステップS112において、決定部12は、状態sk
h+1を観測する。換言すれば、決定部12は取得部11を介して状態sk
h+1の値を取得する。
【0100】
(ステップS105)
ステップS105は、決定部12による時間帯に関する第1ループ処理の終端である。
【0101】
(ステップS106)
ステップS106は、決定部12による時間帯に関する第2ループ処理の始端である。当該時間帯に関するループ処理におけるループ変数は、
h=H、H-1、・・・、1
である。
【0102】
なお、当該時間帯に関する第2ループ処理に入る前に、決定部12は、
【数18】
によってQ関数を初期化する構成としてもよい。
【0103】
(ステップS107)
時間帯に関する第2ループ中のステップS107において、決定部12は、各種パラメータの更新を行う。より具体的には、決定部12は、以下の更新処理を行う。
【数19】
そして、上記のように更新された各パラメータを用いて、
【数20】
によってベクトル
【数21】
及び
【数22】
の値を更新する。
【0104】
また、ステップS107において、決定部12は、
【数23】
によって、分散値
【数24】
を更新する。ここで、(数式A2)の1行目及び2行目において
【数25】
によって定義される内積を用いた。また、(数式A2)の3行目における
【数26】
は、状態s
k
h及び行動а
k
hを引数とする状態価値関数V
k
h+1(s
k
h,а
k
h)の平均としての意味を有し、
【数27】
は、状態s
k
h及び行動а
k
hを引数とする状態価値関数V
k
h+1(s
k
h,а
k
h)の2乗平均としての意味を有する。したがって、上記のように求めた分散値
【数28】
は、状態s
k
h及び行動а
k
hを参照して得られる状態価値関数の分散としての意味を有する。
【0105】
また、ステップS107において、決定部12は、
【数29】
によって行列
【数30】
及び、ベクトル
【数31】
を更新する。そして、上記のように更新された行列及びベクトルを用いて、ベクトル
【数32】
を
【数33】
によって更新する。
【0106】
(ステップS108)
ステップS108において、決定部12は、報酬和関数Q
k
h(・,・)を決定する。より具体的には、ステップS107において更新された各種パラメータを用いて、
【数34】
によって報酬和関数Q
k
h(・,・)を決定する。
【0107】
(ステップS109)
ステップS109は、決定部12による時間帯に関する第2ループ処理の終端である。
【0108】
(ステップS110)
ステップS110は、決定部12による日付に関するループ処理の終端である。
【0109】
(情報処理方法S1Aに関する詳細説明)
情報処理方法S1Aの流れは以上であるが、より踏み込んだ説明を行えば以下の通りである。
【0110】
まず、上述したように、情報処理方法S1Aは、
状態を取得すること(ステップS111、ステップS112)
前記状態を参照して行動を決定すること(ステップS12)、及び、
前記状態と、前記決定した行動によって得られた報酬とを含む学習データを蓄積すること(S13)、を繰り返し含んでおり、
前記行動を決定する工程(ステップS12)では、状態と行動とから報酬和を予測する第1の関数であって、前記学習データに対する重み付けを行うことによって算出された当該第1の関数を用いて行動を決定する。このため、情報処理方法S1Aによれば、より好適な行動を決定することができる。
【0111】
また、(数式A1)を参照して上述したように、決定部12は、取得部11が取得した状態を引数として含む報酬和関数を最大化するような行動を選択するので、所定期間における報酬の観測値が最大となるような行動を好適に選択することができる。
【0112】
また、(数式A3)の1行目及び2行目における
【数35】
との係数は、状態評価関数の分散値の逆数の2乗である。したがって、(数式A3)の1行目は、状態評価関数の分散値が大きい程、
行列
【数36】
に対するベクトル
【数37】
の寄与が小さくなるよう更新処理を行うことを示している。
【0113】
また、(数式A3)の2行目は、状態評価関数の分散値が大きい程、ベクトル
【数38】
に対する報酬r(s
k
h,а
k
h)、報酬和関数、及びベクトル
【数39】
の寄与が小さくなるよう更新処理を行うことを示している。
【0114】
従って、情報処理方法S1Aを実行する決定部12は、
学習データに含まれる1又は複数の値から、ばらつきに関する指標を算出し、
算出したばらつきに関する指標がより大きい程、より小さい重み係数を前記1又は複数の値に適用することによって、報酬和関数(第1の関数とも呼ぶ)を算出するという構成である。
【0115】
また、上述したように、決定部12は、ばらつきに関する指標として、状態と行動とを参照して得られる状態評価関数(第2の関数とも呼ぶ)の分散を算出する。
【0116】
ここで、状態評価関数の分散は、学習データに含まれる各値の信頼性を表現する指標として解釈できる。したがって、上記ばらつきが大きい程、信頼性が低いとの解釈が成り立ち得る。このため、決定部12は、信頼性がより高い値に対してより高い重みを適用することによって報酬和関数を算出するものであると表現することもできる。
【0117】
したがって、上記の構成によれば、信頼性がより高い学習データの寄与をより大きく取り込むことによって、報酬の観測値の和を最大化するような行動を好適に決定することができる。
【0118】
また、上述したように、決定部12は、状態と行動とをベクトルにマップする特徴マップ
【数40】
を用いて、前記報酬和関数を算出する。このように、決定部12は、状態と行動とをベクトルにマップする特徴マップを用いて、報酬和関数を算出するので、報酬の観測値の和を最大化するような行動を好適に決定することができる。
【0119】
なお、上記の例では、ばらつきに関する指標として、状態評価関数Vの分散値を例に挙げたが、これは本例示的実施形態を限定するものではなく、ばらつきに関する指標として、状態評価関数Vの標準偏差等、分散値以外の指標を用いてもよい。
【0120】
なお、情報処理装置1Aは、行動として対象物の価格を決定する構成の場合、価格決定装置や対象物管理装置と表現してもよいし、行動として対象物の仕入れ量を決定する構成の場合、仕入れ量決定装置や在庫管理装置と表現してもよい。
【0121】
〔例示的実施形態3〕
本発明の第3の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1及び2にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0122】
<情報処理装置1Bの構成>
本例示的実施形態に係る情報処理装置1Bの構成について、
図8を参照して説明する。
図8は、情報処理装置1Bの構成を示すブロック図である。
【0123】
図8に示すように、情報処理装置1Bは、例示的実施形態
2に係る情報処理装置1Aが備える各構成に加えて、表示部15B、及び入力受付部16Bを備えている。表示部15Bは、本例示的実施形態において表示手段を実現する構成である。入力受付部16Bは、本例示的実施形態において入力受付手段を実現する構成である。
【0124】
(表示部15B)
表示部15Bは、情報処理装置1Bの処理対象である各種のデータを表示可能に構成されている。表示部15Bによる表示内容は、制御部10Aによって制御される。一例として表示部15Bは、表示パネルと、表示パネルを駆動する駆動回路とを備えて構成される。
【0125】
表示部15Bは、一例として、状態sk
h、行動аk
h、報酬r(sk
h,аk
h)、及び報酬和関数Qの値の少なくとも何れかを、状態評価関数Vの分散と共に表示する。
【0126】
図9の上段は、表示部15Bが表示する表示画面の一例を示す図である。
図9の上段に示す例では、表示部15Bは、ある日における報酬和関数Qの値とそれに対応する状態評価関数Vの分散とを、時間帯毎に表示している。
【0127】
図9の上段に示す例において、黒丸は報酬和関数Qの値であり、上下方向のバーは、状態評価関数Vの分散を示している。
【0128】
また、表示部15Bは、一例として、状態sk
h、行動аk
h、報酬r(sk
h,аk
h)、及び報酬和関数Qの値の少なくとも何れかのうち、対応する状態評価関数Vの分散が閾値以下である値を強調表示する構成としてもよい。
【0129】
図9の下段は、表示部15Bが表示する表示画面の一例を示す図である。
図9の下段に示す例では、表示部15Bは、ある日における行動aの値(価格)とそれに対応する状態評価関数Vの分散とを、時間帯毎に表示している。
【0130】
図9の下段に示す例において、黒丸は行動aの値(価格)であり、上下方向のバーは、状態評価関数Vの分散を示している。また、状態評価関数Vの分散は、上述したようにデータの各値の信頼度を表現しているものと解釈することができる。
【0131】
表示部15Bが上記のような表示を行うことによって、情報処理装置1Bの使用者に対して、各データの値を信頼度と共に視覚的に提示することができるので、情報処理装置1Bのユーザビリティや説明可能性が向上する。
【0132】
また、
図9の下段に示す例では、対応する状態評価関数Vの分散が閾値以下である値を強調表示している。より具体的に言えば、対応する状態評価関数Vの分散が閾値以下である価格に対応する黒丸と、それに対応するバーとを、破線で囲むように表示することによって強調表示を行っている。
【0133】
情報処理装置1Bは、以上のような表示部15Bを備えることによって、情報処理装置1Bの使用者に対して、状態評価関数Vの分散が閾値以下(換言すれば信頼度が閾値以上)のデータを視覚的に提示することができるので、情報処理装置1Bのユーザビリティや説明可能性が更に向上する。
【0134】
なお、本例示的実施形態において、情報処理装置1Bは、例示的実施形態2において説明したパラメータd、H、λ、及びβの少なくとも何れかの推奨値を算出する推奨値算出部を備え、算出した推奨値を情報処理装置1Bの使用者に対して表示部15Bを介して提示する構成としてもよい。
【0135】
(入力受付部16B)
入力受付部16Bは、情報処理装置1Bに対する各種の入力を受け付ける。入力受付部16Bの具体的構成は本例示的実施形態を限定するものではないが、一例として、入力受付部16Bは、キーボード及びタッチパッド等の入力デバイスを備える構成とすることができる。また、入力受付部16Bは、赤外線や電波等の電磁波を介してデータの読み取りを行うデータスキャナ、及び、環境の状態をセンシングするセンサ等を備える構成としてもよい。
【0136】
入力受付部16Bは、上述した入力デバイス、データスキャナ、及びセンサ等を介して、上述した状態や報酬の観測値を取得し、取得した情報を制御部10Aに供給する。
【0137】
なお、入力受付部16Bが受け付ける情報は上記の例に限られない。一例として、決定部12が決定した行動を補正するための補正情報を、情報処理装置1Bの使用者から受け付ける構成としてもよい。例えば、表示部15Bが上記のような表示を行ったうえで、当該表示内容を認識した使用者が行動(価格)の補正を行うための補正情報を入力受付部16Bに入力する構成としてもよい。
【0138】
上記のような構成の場合、決定部12は、例示的実施形態2におけるステップS12において決定した行動(価格)を、補正情報が示す補正量分だけ補正することによって補正後の行動を決定する。そして決定部12は、補正後の行動を実行することによって得られた報酬を観測し、例示的実施形態2において説明した残りの処理を実行する。
【0139】
上記の構成によれば、決定部12が決定した行動に対して使用者による補正を反映させることができるので、ユーザビリティ及び説明可能性を向上させることができる。
【0140】
(情報処理装置1Bの適用例)
以下では、情報処理装置1Bの一適用例について説明する。以下の適用例は、情報処理装置1Bを、ある店舗における各社のビールの価格決定に用いる例である。より具体的には、ある店舗における各社のビールの割引率を行動(実行施策)として決定するものである。
【0141】
本例では、実行施策Xが
X=[0、2,1、・・・]
として複数要素によって表現される。ここで、第1要素が0であることは、A社のビール価格を定価とすることを示しており、第2要素が2であることは、B社のビール価格を定価から10%割増とすることを示しており、第3要素が1であることは、C社のビール価格を定価から10%割引とすることを示すものとする。
【0142】
本例における報酬和関数Qとして、A社のビールの売上げ、B社のビールの売上げ、及びC社のビールの売上げに関する報酬和関数Qを個別に用意し、それぞれを個別に更新する構成としてもよい。あるいは、報酬和関数Qとして、A社のビール、B社のビール、及びC社のビールのトータルの売り上げに関する報酬和関数を準備し更新する構成としてもよい。
【0143】
また、本例では、表示部15Bによって、各社のビールの売上げを視覚的に提示する。
【0144】
本適用例によれば、上記店舗における各社のビールについて最適な価格設定を導出することができる。
【0145】
〔ソフトウェアによる実現例〕
情報処理装置1,1A,1Bの一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0146】
後者の場合、情報処理装置1,1A,1Bは、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を
図10に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置1,1A,1Bとして動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置1,1A,1Bの各機能が実現される。
【0147】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0148】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0149】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0150】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0151】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
【0152】
(付記1)
状態を取得する取得手段と、
前記状態を参照して行動を決定する決定手段と、
前記状態と、前記決定手段が決定した行動によって得られた報酬とを含む学習データを蓄積する蓄積手段と、
を備え、
前記決定手段は、
状態と行動とから報酬和を予測する第1の関数を、前記学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定する
ことを特徴とする情報処理装置。
【0153】
上記の構成によれば、状態と行動とから報酬和を予測する第1の関数を、前記学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定するので、より好適な行動を決定することができる。
【0154】
(付記2)
前記決定手段は、
前記学習データに含まれる1又は複数の値から、ばらつきに関する指標を算出し、
算出したばらつきに関する指標がより大きい程、より小さい重み係数を前記1又は複数の値に適用することによって、前記第1の関数を算出する
ことを特徴とする付記1に記載の情報処理装置。
【0155】
上記の構成によれば、ばらつきに関する指標がより大きい程、より小さい重み係数を前記1又は複数の値に適用することによって、前記第1の関数を算出するので、より好適な行動を決定することができる。
【0156】
(付記3)
前記決定手段は、
前記ばらつきに関する指標として、前記状態と前記行動とを参照して得られる、第2の関数の分散を算出する
ことを特徴とする付記2に記載の情報処理装置。
【0157】
上記の構成によれば、前記ばらつきに関する指標として、前記状態と前記行動とを参照して得られる、第2の関数の分散を算出するので、より好適な行動を決定することができる。
【0158】
(付記4)
前記状態、前記行動、前記報酬、及び前記第1の関数の値の少なくとも何れかと、前記ばらつきに関する指標とを表示する表示手段を備えていることを特徴とする付記2又は3に記載の情報処理装置。
【0159】
上記の構成によれば、ユーザビリティ及び説明可能性が向上する。
【0160】
(付記5)
前記表示手段は、
前記状態、前記行動、前記報酬、及び前記第1の関数の値の前記少なくとも何れかのうち、ばらつきに関する指標が閾値以下である値を強調表示する
ことを特徴とする付記4に記載の情報処理装置。
【0161】
上記の構成によれば、ユーザビリティ及び説明可能性が向上する。
【0162】
(付記6)
前記決定手段は、
前記状態と前記行動とをベクトルにマップする特徴マップを用いて、前記第1の関数を算出する
ことを特徴とする付記1から5の何れか1項に記載の情報処理装置。
【0163】
上記の構成によれば、より好適な行動を決定することができる。
【0164】
(付記7)
前記決定手段は、前記取得手段が取得した状態を引数として含む前記第1の関数を最大化するような行動を選択する
ことを特徴とする付記1から6の何れか1項に記載の情報処理装置。
【0165】
上記の構成によれば、前記取得手段が取得した状態を引数として含む前記第1の関数を最大化するような行動を選択するので、所定期間における報酬の観測値を最大にするような好適な行動を選択することができる。
【0166】
(付記8)
前記状態と、前記報酬とを受け付ける入力デバイスを更に備えている
ことを特徴とする付記1から7の何れか1項に記載の情報処理装置。
【0167】
上記の構成によれば、前記状態と、前記報酬とを前記入力デバイスを介して好適に入力することができる。
【0168】
(付記9)
情報処理装置が、
状態を取得すること、
前記状態を参照して行動を決定すること、及び
前記状態と、前記決定した行動によって得られた報酬とを含む学習データを蓄積すること、
を繰り返し含み、
前記行動を決定する工程では、
状態と行動とから報酬和を予測する第1の関数であって、前記学習データに対する重み付けを行うことによって算出された第1の関数を用いて行動を決定する
ことを特徴とする情報処理方法。
【0169】
上記の方法によれば、上述した情報処理装置と同様の効果を奏する。
【0170】
(付記10)
コンピュータを情報処理装置として機能させるプログラムであって、
前記プログラムは、前記コンピュータを、
状態を取得する取得手段と、
前記状態を参照して行動を決定する決定手段と、
前記状態と、前記決定手段が決定した行動によって得られた報酬とを含む学習データを蓄積する蓄積手段と、して機能させ、
前記決定手段は、
状態と行動とから報酬和を予測する第1の関数を、前記学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定する
ことを特徴とするプログラム。
【0171】
上記のプログラムによれば、上述した情報処理装置と同様の効果を奏する。
【0172】
(付記11)
情報処理装置と、端末装置とを含む情報処理システムであって、
前記情報処理装置は、
状態を取得する取得手段と、
前記状態を参照して行動を決定する決定手段と、
前記状態と、前記決定手段が決定した行動によって得られた報酬とを含む学習データを蓄積する蓄積手段と、
を備え、
前記決定手段は、
状態と行動とから報酬和を予測する第1の関数を、前記学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定し、
前記端末装置は、
状態を取得し前記情報処理装置に提供する状態情報提供手段と、
前記情報処理装置が決定した行動を実行して得られた報酬を示す報酬情報を前記情報処理装置に提供する報酬情報提供手段と、
を備えている
ことを特徴とする情報処理システム。
【0173】
上記の情報処理システムによれば、上述した情報処理装置と同様の効果を奏する。
【0174】
(付記12)
情報処理装置が、
状態を取得する取得すること、
前記状態を参照して行動を決定すること、及び
前記状態と、前記決定した行動によって得られた報酬とを含む学習データを蓄積すること、
を繰り返し含み、
前記行動を決定する工程では、
状態と行動とから報酬和を予測する第1の関数であって、前記学習データに対する重み付けを行うことによって算出された第1の関数を用いて行動を決定し、
端末装置が、
状態を取得し前記情報処理装置に提供すること、及び
前記情報処理装置が決定した行動を実行して得られた報酬を示す報酬情報を前記情報処理装置に提供すること、
を含む
ことを特徴とする情報処理方法。
【0175】
上記の情報処理方法によれば、上述した情報処理装置と同様の効果を奏する。
【0176】
〔付記事項3〕
上述した実施形態の一部又は全部は、更に、以下のように表現することもできる。
【0177】
少なくとも1つのプロセッサを備え、前記プロセッサは、
状態を取得する取得処理と、
前記状態を参照して行動を決定する決定処理と、
前記状態と、前記決定処理によって決定した行動によって得られた報酬とを含む学習データを蓄積する蓄積処理と、
を実行し、
当該プロセッサは、
状態と行動とから報酬和を予測する第1の関数を、前記学習データに対する重み付けを行うことによって算出し、当該第1の関数を用いて行動を決定する。
【0178】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記決定処理と、前記蓄積処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0179】
1,1A,1B 情報処理装置
11 取得部
12 決定部
13 蓄積部
15B 表示部
16B 入力受付部
17A 記憶部
100,100A 情報処理システム