(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024067633
(43)【公開日】2024-05-17
(54)【発明の名称】最適化システム、最適化方法および最適化プログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20240510BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022177862
(22)【出願日】2022-11-07
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【弁理士】
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】竹村 慧
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049CC12
5L050CC12
(57)【要約】
【課題】複数のエキスパートによる意思決定における、複数のエキスパートそれぞれの重みの最適化を効率的に行うことができる最適化システム等を提供する。
【解決手段】最適化システム10を、取得部11と、増幅部12と、重み算出部13と、出力部14を備える構成とする。取得部11は、複数のエキスパートを重みづけして組み合わせた意思決定の繰り返しにおける、複数のエキスパートの意思決定の結果として生じる損失を取得する。増幅部12は、複数のエキスパートそれぞれを、重みに関する情報を初期化するタイミングが異なる複数のエキスパートに増幅する。重み算出部13は、増幅されたエキスパートごとに損失を用いて算出する意思決定の重みを基に、複数のエキスパートそれぞれの意思決定の重みを算出する。出力部14は、複数のエキスパートそれぞれの意思決定の重みを出力する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
複数のエキスパートを重みづけして組み合わせた意思決定の繰り返しにおける、複数のエキスパートの意思決定の結果として生じる損失を取得する取得手段と、
前記複数のエキスパートそれぞれを、重みに関する情報を初期化するタイミングが異なる複数のエキスパートに増幅する増幅手段と、
増幅されたエキスパートごとに前記損失を用いて算出する意思決定の重みを基に、前記複数のエキスパートそれぞれの意思決定の重みを算出する重み算出手段と、
前記複数のエキスパートそれぞれの意思決定の重みを出力する出力手段と
を備える最適化システム。
【請求項2】
前記増幅手段は、前記複数のエキスパートそれぞれを、意思決定の回数を変数とする対数関数で得られる数のエキスパートに増幅する、
請求項1に記載の最適化システム。
【請求項3】
増幅された前記複数のエキスパートのうち、s番目のエキスパートは、前記対数関数の底を2とすると、2s-1回の意思決定ごとに、前記重みに関する情報が初期化される、
請求項2に記載の最適化システム。
【請求項4】
増幅されたエキスパートのうち、前記複数のエキスパートそれぞれのs番目のエキスパートの重みは、前記重みに関する情報が初期化される2s-1回ごとの意思決定の回において、1回前の意思決定における前記重みに関する情報を用いて算出される、
請求項3に記載の最適化システム。
【請求項5】
前記増幅手段は、前記複数のエキスパートそれぞれを、前記意思決定の回数の全期間おいて、前記重みに関する情報が初期化されないエキスパートを少なくとも1つ含むように増幅する、
請求項1から4いずれかに記載の最適化システム。
【請求項6】
前記増幅手段は、前記複数のエキスパートそれぞれを、意思決定の回数を変数とする対数関数で得られる数に設定値を加えた数のエキスパートに増幅する、
請求項2に記載の最適化システム。
【請求項7】
前記増幅されたエキスパートそれぞれの重みに関する情報を記憶装置に記憶する記憶手段をさらに備え、
前記重み算出手段は、増幅されたエキスパートごとの重みに関する情報を前記記憶手段に記憶し、前記重みに関する情報を初期化しないタイミングにおいて、前記記憶手段から、1回前の回における前記重みに関する情報を読み出す、
請求項1から4いずれかに記載の最適化システム。
【請求項8】
複数のエキスパートを重みづけして組み合わせた意思決定の繰り返しにおける、複数のエキスパートの意思決定の結果として生じる損失を取得し、
前記複数のエキスパートそれぞれを、重みに関する情報を初期化するタイミングが異なる複数のエキスパートに増幅し、
増幅されたエキスパートごとに前記損失を用いて算出する意思決定の重みを基に、前記複数のエキスパートそれぞれの意思決定の重みを算出し、
前記複数のエキスパートそれぞれの意思決定の重みを出力する、
を備える最適化方法。
【請求項9】
複数のエキスパートを重みづけして組み合わせた意思決定の繰り返しにおける、複数のエキスパートの意思決定の結果として生じる損失を取得する処理と、
前記複数のエキスパートそれぞれを、重みに関する情報を初期化するタイミングが異なる複数のエキスパートに増幅する処理と、
増幅されたエキスパートごとに前記損失を用いて算出する意思決定の重みを基に、前記複数のエキスパートそれぞれの意思決定の重みを算出する処理と、
前記複数のエキスパートそれぞれの意思決定の重みを出力する処理と
をコンピュータに実行させる最適化プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、最適化システム等に関する。
【背景技術】
【0002】
意思決定システムにおいて、複数のエキスパートそれぞれによる意思決定を重みづけして組み合わせることによって、行動に関する意思決定が行われることがある。また、意思決定システムでは、エキスパートによる意思決定と、意思決定に基づく行動の観測データとから算出される意思決定における損失を基に、意思決定ごとに逐次的な最適化が行われることがある。このような、逐次的な最適化は、オンライン最適化ともいう。逐次的な最適化を繰り返すことで、例えば、意思決定の精度が向上し得る。一方で、複数のエキスパートに意思決定の組み合わせによって意思決定を行う場合に、環境の変化によって、意思決定に対して優れたエキスパートが変化することがある。意思決定に対して優れているエキスパートは、他のエキスパートに比べ重みが大きいため、環境が変化すると、複数のエキスパートの組み合わせによる意思決定の精度の低下が生じ得る。このため、複数のエキスパートの組み合わせによる意思決定において、環境の変化による意思決定への影響を抑制できることが望ましい。
【0003】
非特許文献1は、環境の変化による意思決定への影響を抑制するため、意思決定における複数のエキスパートの重みを最適化する際に、複数のエキスパートをさらに複数のエキスパートに増幅させる最適化方法を用いている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Chen-Yu Wei, et al., ”Tracking the Best Expert in Non-stationary Stochastic Environments”, [online], Advances in Neural Information Processing Systems 29 (NIPS 2016), [2022年10月13日検索], インターネット <URL:https://papers.nips.cc/paper/2016/file/405e28906322882c5be9b4b27f4c35fd-Paper.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1の最適化方法では、複数のエキスパートそれぞれの重みを最適化する際に、増幅されたエキスパートの重みの算出に関する処理の効率化が難しい場合がある。
【0006】
本開示は、上記の課題を解決するため、複数のエキスパートによる意思決定における、複数のエキスパートそれぞれの重みの最適化を効率的に行うことができる最適化システム等を提供すること目的としている。
【課題を解決するための手段】
【0007】
上記の課題を解決するため、本開示の最適化システムは、複数のエキスパートを重みづけして組み合わせた意思決定の繰り返しにおける、複数のエキスパートの意思決定の結果として生じる損失を取得する取得手段と、複数のエキスパートそれぞれを、重みに関する情報を初期化するタイミングが異なる複数のエキスパートに増幅する増幅手段と、増幅されたエキスパートごとに損失を用いて算出する意思決定の重みを基に、複数のエキスパートそれぞれの意思決定の重みを算出する重み算出手段と、複数のエキスパートそれぞれの意思決定の重みを出力する出力手段とを備える。
【0008】
本開示の最適化方法は、複数のエキスパートを重みづけして組み合わせた意思決定の繰り返しにおける、複数のエキスパートの意思決定の結果として生じる損失を取得し、複数のエキスパートそれぞれを、重みに関する情報を初期化するタイミングが異なる複数のエキスパートに増幅し、増幅されたエキスパートごとに損失を用いて算出する意思決定の重みを基に、複数のエキスパートそれぞれの意思決定の重みを算出し、複数のエキスパートそれぞれの意思決定の重みを出力する。
【0009】
本開示の最適化プログラムは、複数のエキスパートを重みづけして組み合わせた意思決定の繰り返しにおける、複数のエキスパートの意思決定の結果として生じる損失を取得する処理と、複数のエキスパートそれぞれを、重みに関する情報を初期化するタイミングが異なる複数のエキスパートに増幅する処理と、増幅されたエキスパートごとに損失を用いて算出する意思決定の重みを基に、複数のエキスパートそれぞれの意思決定の重みを算出する処理と、複数のエキスパートそれぞれの意思決定の重みを出力する処理とをコンピュータに実行させる。
【発明の効果】
【0010】
本開示によると、複数のエキスパートによる意思決定における、複数のエキスパートそれぞれの重みの最適化を効率的に行うことができる。
【図面の簡単な説明】
【0011】
【
図1】本開示の実施形態の構成の概要を示す図である。
【
図2】本開示の実施形態における重みに関する情報が初期化されるタイミングの例を模式的に示す図である。
【
図3】本開示の実施形態の最適化システムの構成の例を示す図である。
【
図4】本開示の実施形態における損失の変化を示すグラフの例を示す図である。
【
図5】本開示の実施形態における重みの算出に要する時間を示すグラフの例を示す図である。
【
図6】本開示の実施形態の最適化システムの動作フローの例を示す図である。
【発明を実施するための形態】
【0012】
本開示の実施形態について図を参照して詳細に説明する。
図1は、本実施形態の逐次意思決定システムの構成の例を示す図である。逐次意思決定システムは、最適化システム10と、意思決定システム20を備える。最適化システム10は、例えば、ネットワークを介して、意思決定システム20と接続する。最適化システム10と、意思決定システム20は、一体のシステムであってもよい。また、意思決定システム20は、複数であってもよい。逐次意思決定システムの構成は、適宜、設計され得る。
【0013】
逐次意思決定システムは、複数のエキスパートによる意思決定と、意思決定に基づいて行った行動の結果の観測データと、観測データを基にした損失の算出と、損失を基にした、意思決定に用いられるパラメータの最適化の一連のフローを繰り返し行うシステムである。意思決定は、最適化されたエキスパートそれぞれの重みを用いて、複数のエキスパートの意思決定を組み合わせることで行われる。
【0014】
複数のエキスパートそれぞれは、意思決定を行う主体(またはシステム)である。複数のエキスパートそれぞれは、例えば、機械学習によって生成された学習モデルである。複数のエキスパートそれぞれの意思決定は、エキスパートが行動を選択する行為である。例えば、複数のエキスパートそれぞれの意思決定は、学習モデルの推論結果である。複数のエキスパートによる意思決定は、例えば、学習モデルそれぞれの推論結果を組み合わせることによって行われる。複数のエキスパートによる意思決定は、例えば、学習モデルそれぞれを重みづけすることによって組み合わせることで行われる。重みは、例えば、学習モデルを組み合わせるときの学習モデルそれぞれの係数である。また、複数のエキスパートそれぞれは、回帰分析によって生成された予測式であってもよい。複数のエキスパートそれぞれは、上記に限られない。例えば、複数のエキスパートそれぞれは、事前に定められたルールによって意思決定をモデルであってもよい。また、複数のエキスパートのそれぞれは、推論を行う専門家であってもよい。
【0015】
意思決定に基づいて行った行動の結果の観測データは、意思決定に従った行動によって起きた事象を観測したデータである。エキスパートが学習モデルである場合に、観測データは、学習モデルの推論結果に従った行動によって起きた事象を観測したデータである。例えば、意思決定と、観測データとの差である。エキスパートが学習モデルである場合に、損失は、例えば、学習モデルによる推論結果と、実際に起きた事象との差である。
【0016】
逐次意思決定システムは、例えば、複数のエキスパートによる意思決定の結果を1回ごとにフィードバックし、損失が最小になるようにエキスパートそれぞれの重みを算出することで、意思決定におけるエキスパートそれぞれの重みを最適化する。このように、意思決定と、結果のフィードバックによる最適化を、意思決定ごとに逐次的に繰り返して行う手法は、オンライン最適化ともいう。
【0017】
オンライン最適化は、例えば、環境に応じた変化が大きい予測対象に対して適用する。オンライン最適化は、例えば、需要予測、発注量の決定、ダイナミックプライシングによる価格の決定、または、株のポートフォリオの選定に用いられる。オンライン最適化の適用先は、上記に限られない。
【0018】
逐次意思決定システムにおいて、最適化システム10は、複数のエキスパートによる意思決定を用いて行われる意思決定における、複数のエキスパートそれぞれの意思決定の重みを算出する。意思決定の重みは、複数のエキスパートそれぞれに対応づいた実数値である。例えば、複数のエキスパートそれぞれの重みの合計は1である。重みの合計が1である場合、複数のエキスパートそれぞれの意思決定の重みは、意思決定全体における比重を示す。また、最適化システム10は、重みを算出する対象となる意思決定の回までの損失を基に、意思決定における損失が最小になるように重みを最適化する。意思決定の重みの算出方法の例は、後に説明する。そして、最適化システム10は、例えば、意思決定システム20に、最適化した複数のエキスパートそれぞれの意思決定の重みを出力する。
【0019】
最適化した複数のエキスパートそれぞれの意思決定の重みを取得すると、意思決定システム20は、例えば、最適化されたエキスパートそれぞれの重みを用いて、複数のエキスパートの意思決定を組み合わせることで意思決定を行う。また、意思決定システム20は、意思決定に基づいて行われた行動の結果の観測データを取得する。そして、意思決定システム20は、意思決定と、意思決定に基づく行動の観測データとに基づいて、意思決定における損失を算出する。意思決定システム20は、例えば、最適化システム10に、算出した損失を出力する。すなわち、意思決定システム20は、最適化システム10に、意思決定の重みの最適化結果へのフィードバックとして、損失を出力する。最適化システム10は、意思決定システム20から取得した損失を基に、損失が最小になるように複数のエキスパートそれぞれの意思決定における重みを最適化する。
【0020】
最適化システム10は、エキスパートそれぞれの重みを算出する際に、エキスパートそれぞれをさらに複数のエキスパートに増幅させる。最適化システム10は、エキスパートそれぞれの重みを算出する際に、エキスパートそれぞれをさらに複数のエキスパートに増幅させることによって、仮想的にエキスパートの数を増やす。そして、最適化システム10は、増幅されたエキスパートそれぞれの重みを算出することで、増幅される前のエキスパートそれぞれの重みを算出する。エキスパートそれぞれをさらに複数のエキスパートに増幅させるとは、例えば、エキスパートそれぞれがさらに複数のエキスパートによって構成されているとみなすことである。すなわち、複数のエキスパートそれぞれを親エキスパートとすると、最適化システム10は、親エキスパートそれぞれが、複数の子エキスパートによる集合体によって構成されているとみなす。親エキスパートと、親エキスパートから増幅された子エキスパートが行う意思決定の内容は、同一である。このように、最適化システム10は、複数のエキスパートそれぞれが、さらに複数のエキスパートの集合体であるとみなして重みを算出する処理を行う。
【0021】
また、最適化システム10は、増幅させた複数のエキスパートについて、それぞれ異なるタイミングで重みに関する情報を初期化する。異なるタイミングとは、例えば、意思決定と最適化の繰り返しの中で、重みを初期化する意思決定の繰り返しの回が異なることをいう。重みに関する情報を初期化するとは、例えば、過去の意思決定時おける重みを変数として用いていない数式に基づいた値を、重みに関する情報として用いることをいう。
【0022】
最適化システム10は、複数のエキスパートそれぞれを、最適化の繰り返し回数を変数とする対数関数によって算出される値の数のエキスパートに増幅させる。増幅されたエキスパートの数を算出する対数関数は、例えば、最適化の繰り返しの回数Tとすると、Log2(T)である。このとき、増幅前のエキスパートの数がKであったとすると、増幅されたエキスパートの総数は、例えば、K×Log2(T)となる。
【0023】
増幅されたエキスパートの数を算出する対数関数がLog2(T)である場合に、最適化システム10は、増幅されたエキスパートのうちs番目のエキスパートについて、2s-1の意思決定の回における損失を基に重みを計算するときに、重みに関する情報を初期化する。対数関数の底の値は、2以外であってもよい。対数関数の底の値がB(Bは、正の整数)である場合に、最適化システム10は、例えば、増幅されたエキスパートのうちs番目のエキスパートについて、Bs-1の意思決定の回における損失を基に重みを計算するときに、重みに関する情報を初期化する。
【0024】
図2は、重みに関する情報を初期化するタイミングの例を、模式的に示す図である。
図2の例において、ひし形が付された横線は、増幅されたエキスパートによる意思決定を示す。また、
図2の例において、ひし形が付された横線のうち一番下の(1,k)の横線は、k番目のエキスパートを増幅したエキスパートのうち、1番目のエキスパートによる意思決定を示す。1番目のエキスパートでは、例えば、s=1である。
図2の例において、ひし形が付された横線のうち中段の(2,k)の横線は、k番目のエキスパートを増幅したエキスパートのうち、2番目のエキスパートによる意思決定を示す。2番目のエキスパートでは、例えば、s=2である。また、
図2の例において、ひし形が付された横線のうち一番上の(3,k)の横線は、k番目のエキスパートを増幅したエキスパートのうち、3番目のエキスパートによる意思決定を示す。3番目のエキスパートでは、例えば、s=である。
【0025】
図2の例において、ひし形で示す意思決定の回が、重みに関する情報を初期化するタイミングである。
図2の例において、(1,k)として示すs=1のエキスパートでは、2
s-1が1であるため、重みに関する情報は、意思決定が繰り返しごとに、毎回、初期化される。s=1のエキスパートは、増幅されたエキスパートのうち1番目のエキスパートである。また、
図2の例において、(2,k)として示すs=2のエキスパートでは、2
s-1が2であるため、重みに関する情報は、意思決定が繰り返し行われる場合の2回に1回初期化される。すなわち、
図2の例において、s=2のエキスパートは、繰り返し回数が1と、3と、5のときに初期化されている。s=2のエキスパートは、増幅されたエキスパートのうち2番目のエキスパートである。
図2の例において、(3,k)として示すs=3のエキスパートでは、2
s-1が4であるため、重みに関する情報は、意思決定が繰り返し行われる場合の4回に1回初期化される。すなわち、
図2の例において、s=3のエキスパートは、繰り返し回数が1と、5のときに初期化されている。s=3のエキスパートは、増幅されたエキスパートのうち3番目のエキスパートである。また、s=Log
2(T)のエキスパートは、T回目までの意思決定の繰り返しの中で、1回も初期化されない。このように、最適化システム10は、複数のエキスパートそれぞれについて、増幅されたエキスパートごとに異なるタイミングで重みに関する情報を初期化する。異なるタイミングで重みに関する情報を初期化することで、環境の変化による意思決定の精度の低下を抑制することができる。
【0026】
また、オンライン最適化は、機械学習モデルのハイパーパラメータ探索に利用されてもよい。この場合、複数のエキスパートそれぞれは、ハイパーパラメータが異なる機械学習モデルである。機械学習モデルにおけるハイパーパラメータとは、学習の中で決定できないパラメータを指す。例えば、ハイパーパラメータは、損失関数の正規化項の影響度を指す。
【0027】
最適化システム10は、ハイパーパラメータが異なる複数の機械学習モデルに対してオンライン最適化を利用し、それぞれの機械学習モデルの重みを算出してもよい。最適化システム10は、例えば、それぞれの機械学習モデルの重みをユーザーに出力することで、ユーザーにハイパーパラメータの重み(すなわち重要度)を表示する。すなわち、最適化システム10を用いることによってユーザーは、機械学習モデルにおいて適切なハイパーパラメータを決定することが可能となる。
【0028】
ここで、最適化システム10の具体的な構成の例について説明する。
図3は、最適化システム10の構成の例を示す図である。最適化システム10は、基本構成として、取得部11と、増幅部12と、重み算出部13と、出力部14を備える。また、最適化システム10は、例えば、損失記憶部15と、エキスパート情報記憶部16と、重み記憶部17を備える。
【0029】
取得部11は、複数のエキスパートを重みづけして組み合わせた意思決定の繰り返しにおける、複数のエキスパートの意思決定の結果として生じる損失を取得する。取得部11は、例えば、意思決定システムから、複数のエキスパートの意思決定の結果として生じる損失を取得する。損失は、例えば、複数のエキスパートの意思決定と、意思決定の結果に基づいて実施された行動の観測データに基づいて算出される。観測データは、例えば、意思決定に基づいて行われた行動の結果を観測したデータである。
【0030】
複数のエキスパートそれぞれが商品の売上額を予測する予測モデルである場合に、意思決定は、例えば、商品の売上額の予測である。このとき、観測データは、意思決定に基づいて、商品を準備した場合における、実際の売上額である。また、損失は、予測モデルによる商品の売上額の予測と、実際の売上額との差である。予測モデルは、例えば、機械学習によって生成された学習モデルである。また、予測モデルは、回帰分析によって生成された売上額の予測式であってもよい。予測モデルは、上記に限られない。
【0031】
取得部11は、複数のエキスパートそれぞれの意思決定と、意思決定に基づく行動の観測データを取得してもよい。複数のエキスパートそれぞれの意思決定と、観測データを取得した場合には、例えば、重み算出部13が損失を算出する。
【0032】
増幅部12は、複数のエキスパートそれぞれを、重みに関する情報を初期化するタイミングが異なる複数のエキスパートに増幅する。増幅部12は、例えば、複数のエキスパートそれぞれを対数関数によって算出される値の数のエキスパートにそれぞれ増幅する。増幅部12は、例えば、意思決定の回数をTとすると、複数のエキスパートそれぞれをLog2(T)の数のエキスパートに増幅させる。対数関数の底の値は、2以外であってもよい。対数関数によって算出される値は、例えば、対数関数によって算出される値に、係数を乗じた値であってもよい。
【0033】
増幅部12は、複数のエキスパートそれぞれを、意思決定の回数の全期間において、重みに関する情報が初期化されないエキスパートを少なくとも1つ含むように増幅する。例えば、複数のエキスパートそれぞれをLog2(T)の数のエキスパートに増幅させた場合に、増幅されたエキスパートには、意思決定の回数の全期間において、重みに関する情報が初期化されないエキスパートが含まれる。意思決定の回数の全期間おいて重みに関する情報が初期化されない増幅されたエキスパートは、増幅を行わない場合における複数のエキスパートそれぞれに相当する。
【0034】
増幅部12は、意思決定の回数の全期間おいて、重みに関する情報が初期化されないエキスパートが2以上含まれるように、複数のエキスパートそれぞれを増幅してもよい。増幅部12は、例えば、複数のエキスパートそれぞれを、意思決定の回数を変数とする対数関数で得られる数に設定値を加えた数のエキスパートに増幅することで、重みに関する情報が初期化されないエキスパートが2以上含まれるようにする。また、増幅部12は、複数のエキスパートごとに異なる数のエキスパートに増幅してもよい。また、増幅部12は、例えば、エキスパート情報記憶部16に、増幅されたエキスパートに関する情報を保存する。
【0035】
重み算出部13は、増幅されたエキスパートごとに損失を用いて算出する意思決定の重みを基に、複数のエキスパートそれぞれの意思決定の重みを算出する。
【0036】
重み算出部13は、取得部11が取得する損失を用いて、増幅されたエキスパートごとの意思決定の重みを算出する。そして、重み算出部13は、増幅されたエキスパートごとに算出された意思決定の重みを基に、複数のエキスパートそれぞれの意思決定の重みを算出する。重み算出部13は、例えば、増幅されたエキスパートそれぞれの意思決定の重みを加算することで、増幅前のエキスパートの意思決定の重みを算出する。重み算出部13は、例えば、意思決定の重みを算出する対象となる意思決定の回より前の意思決定における損失を用いて、損失が最小となるように、増幅されたエキスパートごとの意思決定の重みを算出する。そして、重み算出部13は、例えば、増幅されたエキスパートそれぞれの意思決定の重みを加算することで、複数のエキスパートそれぞれの最適化された意思決定の重みを算出する。
【0037】
重み算出部13は、意思決定が繰り返し行われる場合のt-1回目の重みに関する情報を用いて、t回目の重みに関する情報を算出する。重みに関する情報は、例えば、増幅されたエキスパートの重みの算出に用いるパラメータである。また、増幅されたエキスパートのうちs番目のエキスパートの重みに関する情報は、意思決定の繰り返し回数が2s-1回ごとのタイミングに初期化される。すなわち、意思決定の繰り返し回数が2s-1回ごとのタイミングでは、t回目の重みに関する情報の算出において、t-1回目の重みに関する情報が用いられない。このように、重み算出部13は、増幅されたエキスパートそれぞれについて、意思決定の繰り返し回数が2s-1回ごとのタイミングに、重みに関する情報を初期化して、意思決定の重みを算出する。
【0038】
複数のエキスパートそれぞれの意思決定の重みを算出する処理について、具体例を用いて説明する。
【0039】
複数のエキスパートそれぞれをLog2(T)の数のエキスパートに増幅させた場合における、t回目の意思決定におけるエキスパートkの重みpt、kは、例えば、下記の数1に示す数式を用いて算出される。
【0040】
【0041】
数1において、pt、(s,k)は、t回目の意思決定における、エキスパートkから増幅されたエキスパートのうちs番目のエキスパートの重みである。数1において、t回目の意思決定における、エキスパートkの重みは、エキスパートkから増幅されたエキスパートの重みの和である。
【0042】
また、t回目の意思決定における、エキスパートkから増幅されたエキスパート(s,k)の重みpt、(s,k)は、例えば、下記の数2に示す数式を用いて算出される。
【0043】
【0044】
重みに関する情報は、例えば、数2に示す数式において、pt、(s,k)の算出に用いている各パラメータである。重みに関する情報のうちηt,(s,k)は、例えば、損失の判定に関するパラメータである。重みに関する情報のうちwt,(s,k)は、例えば、意思決定を繰り返した場合における損失を反映したパラメータである。pt、(s,k)の算出に用いる重みに関する情報は、下記の数3および数4に示す数式を用いて算出される。
【0045】
【0046】
【0047】
また、数4に示す数式におけるwt,(s,k)の初期値w0,(s,k)は、下記の数5に示す数式を用いて算出される。
【0048】
【0049】
また、数5に示す数式におけるT’は、下記の数6に示す数式を用いて算出される。数5に示す数式におけるKは、複数のエキスパートの数である。
【0050】
【0051】
また、数3および数4に示す数式において、ηt,(s,k)は、下記の数7に示す数式を用いて算出される。
【0052】
【0053】
また、数7に示す数式におけるγt,(s,k)およびmt,(s,k)は、下記の数8および数9に示す数式を用いて算出される。
【0054】
【0055】
γt,(s,k)は、例えば、t回目の意思決定における損失に関するパラメータである。
【0056】
【0057】
mt,(s,k)は、例えば、t-1回目の意思決定における損失に関するパラメータである。
【0058】
また、数8に示す数式において、lt(s,k)は、t回目の決定において、エキスパート(s,k)が被る損失である。ただし、lt(s,k)は、下記の数10に示す数式の条件を満たす。
【0059】
【0060】
重み算出部13は、例えば、重み記憶部17に、増幅されたエキスパートのそれぞれの重みに関する情報を保存する。また、重み算出部13は、例えば、重みに関する情報を初期化するタイミング以外の場合に、重み記憶部17から、増幅されたエキスパートのそれぞれの重みに関する情報を読み出す。また、重み算出部13は、例えば、重み記憶部17に、複数のエキスパートそれぞれの意思決定の重みを保存する。
【0061】
取得部11が複数のエキスパートそれぞれの意思決定と、観測データを取得した場合には、重み算出部13は、例えば、意思決定と、観測データを基に、複数のエキスパートそれぞれの損失を算出する。
【0062】
出力部14は、複数のエキスパートそれぞれの意思決定の重みを出力する。出力部14は、例えば、意思決定システムに、複数のエキスパートそれぞれの意思決定の重みを出力する。
【0063】
出力部14は、意思決定における損失、複数のエキスパートそれぞれの損失、および複数のエキスパートそれぞれの意思決定の重みのうち少なくとも1つの履歴データを出力してもよい。出力部14は、例えば、図示しない表示装置または端末装置に、履歴データを出力する。
【0064】
損失記憶部15は、例えば、取得部11が取得した、複数のエキスパートそれぞれの損失を保存する。また、損失記憶部15は、例えば、増幅されたエキスパートそれぞれの損失を保存する。
【0065】
エキスパート情報記憶部16は、例えば、エキスパートの増幅に関する情報を保存する。エキスパートの増幅に関する情報は、例えば、エキスパートの増幅に用いる対数関数である。エキスパート情報記憶部16は、例えば、増幅されたエキスパートの重みに関する情報を初期化するタイミングを保存する。
【0066】
重み記憶部17は、例えば、増幅されたエキスパートそれぞれの意思決定の重みを保存する。また、重み記憶部17は、例えば、複数のエキスパートそれぞれの意思決定の重みを保存する。
【0067】
意思決定システム20は、例えば、最適化システム10によって最適化されたエキスパートそれぞれの重みを用いて、複数のエキスパートの意思決定を組み合わせることで意思決定を行う。また、意思決定システム20は、意思決定に基づいた行われた行動の観測データを取得する。そして、意思決定システム20は、意思決定と、意思決定に基づいた行われた行動の観測データとを基に、意思決定における損失を算出する。意思決定システム20は、最適化システム10に、算出した損失を出力する。また、意思決定システム20は、出力した損失を用いて最適化された、複数のエキスパートそれぞれ意思決定における重みを取得する。そして、意思決定システム20は、最適化された、複数のエキスパートそれぞれ意思決定における重みを用いて、複数のエキスパートによる意思決定を行う。
【0068】
意思決定システム20は、意思決定における損失、複数のエキスパートそれぞれの損失、および複数のエキスパートそれぞれの意思決定の重みのうち少なくとも1つの履歴データを出力してもよい。意思決定システム20は、例えば、図示しない表示装置または端末装置に、履歴データを出力する。
【0069】
ここで、意思決定と、行動の観測データに基づく重みの最適化の繰り返しにおける損失変化の例について説明する。
図4は、意思決定と、行動の観測データに基づく重みの最適化を繰り返した場合における損失の変化を示すグラフの例である。
図4のグラフの例は、例えば、3人のエキスパートによる意思決定に基づく損失の変化の例を示す。
図4のグラフの例における横軸の「意思決定回数」は、意思決定の繰り返し回数を示す。
図4のグラフの例では、意思決定と、行動の観測データに基づく重みの最適化が256回繰り返されている。
図4のグラフの例における縦軸の「各意思決定で被った損失」は、各繰り返し回数において、意思決定に基づいて行われた行動の観測データを用いて算出された損失である。
【0070】
図4のグラフの例において、「OAMLP」は、非特許文献1記載された最適化方法を用いた場合の損失の変化を示す。また、
図4のグラフの例において、「Proposed」は、本実施形態における重みの最適化を行った場合の損失の変化を示す。
図4のグラフの例では、256回の繰り返しにおいて、2回、最善のエキスパートが変化している。
図4のグラフの例において、例えば、環境の変化によって最善のエキスパートが変化すると、一時的に損失が0.8程度まで上昇するが、最適化を繰り返すことで損失が減少する。
図4のグラフの例に示すように、非特許文献1記載された最適化と、本実施形態の最適化ともに、複数のエキスパートそれぞれを増幅することによって、環境の変化による意思決定への影響が抑制されている。
【0071】
図5は、意思決定と、結果に基づく重みの最適化を繰り返した場合における、計算に要する時間を示すグラフの例である。
図5のグラフの例は、例えば、3人のエキスパートによる意思決定に基づくものである。
図5のグラフの例の横軸の「意思決定回数」は、意思決定の繰り返し回数を示す。
図5のグラフの例では、意思決定と、結果に基づく重みの最適化が256回繰り返されている。
図5のグラフの例の縦軸の「各意思決定での計算時間」は、各繰り返し回数において、各意思決定の重みの最適化に要する時間である。
図5のグラフの例の縦軸の単位は、秒である。
【0072】
図5のグラフの例において、「OAMLP」は、非特許文献1に記載された最適化を用いた場合における、重みの計算に要する時間を示す。また、
図5のグラフの例において、「Proposed」は、本実施形態における最適化を行った場合における、重みの計算に要する時間を示す。
図5のグラフの例では、256回の繰り返しにおいて、2回、最善のエキスパートが変化している。
図5のグラフの例において、「OAMLP」として示す非特許文献1に記載された最適化では、繰り返し回数が増加するにつれて、重みの算出に要する時間が増加する。
図5のグラフの例において、非特許文献1の最適化では、1回あたりの重みの算出に要する時間は、K×Tに比例する。一方で、
図5のグラフの例において、本実施形態における最適化を行った場合には、1回あたりの重みの算出に要する時間は、K×Log(t)に比例する。よって、本実施形態における最適化を行った場合には、重みの計算に要する時間は、非特許文献1のようには増加しない。よって、
図4および
図5のグラフの例に示すように、本実施形態における最適化を行った場合には、意思決定の精度の劣化を抑制しつつ、重みの算出に要する時間の増加を抑制することができる。
【0073】
最適化システム10の動作について説明する。
図6は、最適化システム10の動作フローの例を示す図である。
【0074】
取得部11は、複数のエキスパートの意思決定の結果として生じる損失を取得する(ステップS11)。取得部11は、例えば、意思決定システム20から、複数のエキスパートの意思決定の結果として生じる損失を取得する。
【0075】
損失が取得されると、増幅部12は、複数のエキスパートそれぞれを、重みに関する情報を初期化するタイミングが異なるエキスパートに増幅する(ステップS12)。
【0076】
意思決定の繰り返し回数が2s-1回のタイミングの場合に(ステップS13でYes)、重み算出部13は、増幅されたエキスパートのうち意思決定の重みが算出されていないエキスパートについて、重みに関する情報を初期化して意思決定の重みを算出する(ステップS14)。
【0077】
意思決定の繰り返し回数が2s-1回のタイミングではない場合に(ステップS13でNo)、重み算出部13は、例えば、重み記憶部17から、過去に算出された重みに関する情報を読み出す(ステップS15)。重みに関する情報を読み出すと、重み算出部13は、増幅されたエキスパートのうち意思決定の重みが算出されていないエキスパートについて、読み出した重みに関する情報を用いて、意思決定の重みを算出する(ステップS16)。
【0078】
ステップS14またはステップS16において増幅されたエキスパートの意思決定の重みを算出したときに、増幅されたエキスパートすべてについて意思決定の重みの算出が終わっている場合に(ステップS17でYes)、重み算出部13は、エキスパートの意思決定の重みを算出する(ステップS18)。重み算出部13は、例えば、増幅されたエキスパートそれぞれの和を算出することで、増幅する前のエキスパートの意思決定の重みを算出する。
【0079】
エキスパートの意思決定の重みを算出すると、重み算出部13は、例えば、重み記憶部17に、エキスパートの意思決定の重みと、増幅エキスパートの意思決定の重みを保存する(ステップS19)。
【0080】
ステップS19において意思決定の重みを保存したときに、すべてのエキスパートについて、意思決定の重みの算出が終わっている場合に(ステップS20でYes)、出力部14は、算出した複数のエキスパートそれぞれの意思決定の重みを出力する(ステップS21)。出力部14は、例えば、意思決定システム20に、算出した複数のエキスパートそれぞれの意思決定の重みを出力する
【0081】
ステップS17において、増幅されたエキスパートすべてについて意思決定の重みの算出が終わっていない場合に(ステップS17でNo)、重み算出部13は、ステップS13に戻り、意思決定の重みの算出が終わっていない増幅されたエキスパートについて、意思決定の重みの算出に関する処理を繰り返す。
【0082】
また。ステップS20において、すべてのエキスパートについて、意思決定の重みの算出がおわっていない場合に(ステップS20でNo)、重み算出部13は、ステップS13に戻り、意思決定の重みの算出が終わっていないエキスパートについて、意思決定の重みの算出に関する処理を繰り返す。
【0083】
最適化システム10は、複数のエキスパートそれぞれを、重みに関する情報を初期化するタイミングが異なる複数のエキスパートに増幅する。すなわち、同一のエキスパートから増幅されたエキスパートは、重みに関する情報が初期化されるタイミングがそれぞれ異なる。最適化システム10は、例えば、複数のエキスパートそれぞれを、最適化の繰り返し回数を変数とする対数関数によって算出される数の増幅エキスパートに増幅する。そして、最適化システム10は、意思決定によって生じる損失を基に、増幅されたエキスパートごとの意思決定における重みを算出することで、複数のエキスパートそれぞれの意思決定における重みを算出する。このように、重みに関する情報が初期化されるタイミングが異なるエキスパートに増幅させて、複数のエキスパートの重みを算出することで、環境の変化が意思決定に与える影響を抑制することができる。このため、環境の変化によって優れた意思決定を行うエキスパートが変わった場合にも、意思決定の精度に与える影響を抑制することができる。
【0084】
また、重みに関する情報が初期化されるタイミングが異なるエキスパートに増幅させることよって、増幅後のエキスパートの数を抑制することができる。増幅後のエキスパートの数が抑制されることで、複数のエキスパートそれぞれの意思決定の重みの算出に要する時間を抑制することができる。また、増幅後のエキスパートの数が抑制されることで、重みに関する情報の保存に要する記憶領域の量を抑制することができる。よって、最適化システム10を用いることで、意思決定の重みの最適化に要するコンピュータリソースを抑制することができる。このため、最適化システム10を用いることで、複数のエキスパートによる意思決定における、複数のエキスパートそれぞれの重みの最適化を効率的に行うことができる。
【0085】
最適化システム10における各処理は、コンピュータプログラムをコンピュータで実行することによって実現することができる。
図7は、最適化システム10における各処理を行うコンピュータプログラムを実行するコンピュータ100の構成の例を示したものである。コンピュータ100は、例えば、CPU(Central Processing Unit)101と、メモリ102と、記憶装置103と、入出力I/F(Interface)104と、通信I/F105を備える。
【0086】
CPU101は、記憶装置103から各処理を行うコンピュータプログラムを読み出して実行する。CPU101は、複数のCPUの組み合わせによって構成されていてもよい。また、CPU101は、CPUと他の種類のプロセッサの組み合わせによって構成されていてもよい。例えば、CPU101は、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)、TPU(TensorProcessingUnit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせによって構成されていてもよい。メモリ102は、DRAM(Dynamic Random Access Memory)等によって構成され、CPU101が実行するコンピュータプログラムや処理中のデータが一時記憶される。記憶装置103は、CPU101が実行するコンピュータプログラムを記憶している。記憶装置103は、例えば、不揮発性の半導体記憶装置によって構成されている。記憶装置103には、ハードディスクドライブ等の他の記憶装置が用いられてもよい。入出力I/F104は、作業者からの入力の受付および表示データ等の出力を行うインタフェースである。通信I/F105は、意思決定システム20、または、他の情報処理装置との間でデータの送受信を行うインタフェースである。また、意思決定システム20における各処理も、コンピュータ100と同様の構成のコンピュータにおいて、コンピュータプログラムを実行することによって実現することができる。
【0087】
各処理の実行に用いられるコンピュータプログラムは、データを非一時的に記録するコンピュータ読み取り可能な記録媒体に格納して頒布することもできる。記録媒体としては、例えば、データ記録用磁気テープや、ハードディスクなどの磁気ディスクを用いることができる。また、記録媒体としては、CD-ROM(Compact Disc Read Only Memory)等の光ディスクを用いることもできる。不揮発性の半導体記憶装置を記録媒体として用いてもよい。
【符号の説明】
【0088】
10 最適化システム
11 取得部
12 増幅部
13 重み算出部
14 出力部
15 損失記憶部
16 エキスパート情報記憶部
17 重み記憶部
20 意思決定システム
100 コンピュータ
101 CPU
102 メモリ
103 記憶装置
104 入出力I/F
105 通信I/F