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

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

▶ 富士通株式会社の特許一覧

特開2023-162537情報処理プログラム、情報処理装置、及び情報処理方法
<>
  • 特開-情報処理プログラム、情報処理装置、及び情報処理方法 図1
  • 特開-情報処理プログラム、情報処理装置、及び情報処理方法 図2
  • 特開-情報処理プログラム、情報処理装置、及び情報処理方法 図3
  • 特開-情報処理プログラム、情報処理装置、及び情報処理方法 図4
  • 特開-情報処理プログラム、情報処理装置、及び情報処理方法 図5
  • 特開-情報処理プログラム、情報処理装置、及び情報処理方法 図6
  • 特開-情報処理プログラム、情報処理装置、及び情報処理方法 図7
  • 特開-情報処理プログラム、情報処理装置、及び情報処理方法 図8
  • 特開-情報処理プログラム、情報処理装置、及び情報処理方法 図9A
  • 特開-情報処理プログラム、情報処理装置、及び情報処理方法 図9B
  • 特開-情報処理プログラム、情報処理装置、及び情報処理方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023162537
(43)【公開日】2023-11-09
(54)【発明の名称】情報処理プログラム、情報処理装置、及び情報処理方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20231101BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022072908
(22)【出願日】2022-04-27
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】竹森 翔
(57)【要約】
【課題】リスク回避指標に基づく探索処理の効率を向上させる。
【解決手段】コンピュータは、1つ又は複数の観測点と1つ又は複数の観測点各々に対する確率変数の観測値とを含む観測履歴と、カーネル関数とに基づいて、探索空間内の複数の候補点それぞれに対するリスク回避指標の推定値を求める。コンピュータは、リスク回避指標の推定値に基づいて、複数の候補点それぞれに対する獲得関数の値を求める。コンピュータは、獲得関数の値に基づいて、複数の候補点の中から、獲得関数の所定値に対応する目標点を探索し、目標点を含む探索結果を出力する。
【選択図】図4

【特許請求の範囲】
【請求項1】
1つ又は複数の観測点と前記1つ又は複数の観測点各々に対する確率変数の観測値とを含む観測履歴と、カーネル関数とに基づいて、探索空間内の複数の候補点それぞれに対するリスク回避指標の推定値を求め、
前記リスク回避指標の推定値に基づいて、前記複数の候補点それぞれに対する獲得関数の値を求め、
前記獲得関数の値に基づいて、前記複数の候補点の中から、前記獲得関数の所定値に対応する目標点を探索し、
前記目標点を含む探索結果を出力する、
処理をコンピュータに実行させるための情報処理プログラム。
【請求項2】
前記獲得関数は、前記リスク回避指標と前記確率変数に関する予測の不確実性とを含むことを特徴とする請求項1記載の情報処理プログラム。
【請求項3】
前記目標点を探索する処理は、
前記獲得関数の値に基づいて、前記複数の候補点の中から第1観測点を選択する処理と、
前記第1観測点に対する前記確率変数の観測値を取得する処理と、
前記第1観測点と、前記第1観測点に対する前記確率変数の観測値とを、前記観測履歴に追加することで、前記観測履歴を更新する処理と、
更新後の前記観測履歴に基づいて、前記獲得関数の値を求める処理と、
更新後の前記観測履歴に基づいて求められた前記獲得関数の値に基づいて、前記複数の候補点の中から第2観測点を選択する処理と、
前記第2観測点を用いて前記目標点を探索する処理と、
を含むことを特徴とする請求項1又は2記載の情報処理プログラム。
【請求項4】
前記リスク回避指標は、前記確率変数に対する条件付きバリューアットリスクを含む指標、又は前記確率変数の期待値及び分散を含む指標であることを特徴とする請求項3記載の情報処理プログラム。
【請求項5】
前記目標点を探索する処理は、
前記獲得関数の値に基づいて、前記複数の候補点のうち一部の候補点を除外することで、第1探索空間を生成する処理と、
前記第1探索空間に基づいて、前記獲得関数の値を求める処理と、
前記第1探索空間に基づいて求められた前記獲得関数の値に基づいて、前記第1探索空間内の複数の候補点のうち一部の候補点を除外することで、第2探索空間を生成する処理と、
前記第2探索空間内の複数の候補点の中から前記目標点を探索する処理と、
を含むことを特徴とする請求項1又は2記載の情報処理プログラム。
【請求項6】
前記リスク回避指標は、前記確率変数に関する条件付きバリューアットリスクを含む指標であることを特徴とする請求項5記載の情報処理プログラム。
【請求項7】
1つ又は複数の観測点と前記1つ又は複数の観測点各々に対する確率変数の観測値とを含む観測履歴と、カーネル関数とに基づいて、探索空間内の複数の候補点それぞれに対するリスク回避指標の推定値を求め、前記リスク回避指標の推定値に基づいて、前記複数の候補点それぞれに対する獲得関数の値を求める計算部と、
前記獲得関数の値に基づいて、前記複数の候補点の中から、前記獲得関数の所定値に対応する目標点を探索する探索部と、
前記目標点を含む探索結果を出力する出力部と、
を備えることを特徴とする情報処理装置。
【請求項8】
1つ又は複数の観測点と前記1つ又は複数の観測点各々に対する確率変数の観測値とを含む観測履歴と、カーネル関数とに基づいて、探索空間内の複数の候補点それぞれに対するリスク回避指標の推定値を求め、
前記リスク回避指標の推定値に基づいて、前記複数の候補点それぞれに対する獲得関数の値を求め、
前記獲得関数の値に基づいて、前記複数の候補点の中から、前記獲得関数の所定値に対応する目標点を探索し、
前記目標点を含む探索結果を出力する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理技術に関する。
【背景技術】
【0002】
ベイズ最適化は、ノイズ付きの観測によってのみ知り得る未知の関数fを、観測を繰り返しながら最適化する技術である。ベイズ最適化は、フィードバックを得ながら関数fを最適化する問題に応用されている。
【0003】
このような問題としては、材料設計、創薬、推薦システム、環境モニタリングのためのセンサ配置、機械学習のためのハイパーパラメータ調整、AutoML(Automated Machine Learning)等が挙げられる。推薦システムは、web広告、webサイト最適化等のためのシステムを含む。
【0004】
多くのベイズ最適化では、観測履歴に基づいて探索空間内の点xに対するスコアa(x)が定義され、a(x)が最大の点が次の観測点として選択される。a(x)は、獲得関数と呼ばれることもある。
【0005】
最適化に関連して、ブラックボックス関数の条件付きバリューアットリスク(Conditional Value-At-Risk,CVaR)を最適化する方法が知られている(例えば、非特許文献1を参照)。バンディット設定におけるガウス過程最適化も知られている(例えば、非特許文献2を参照)。平滑グラフ関数に対するスペクトルバンディットも知られている(例えば、非特許文献3を参照)。凸最適化による多期間取引も知られている(例えば、非特許文献4を参照)。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Q. P. Nguyen et al.,“Optimizing Conditional Value-At-Risk of Black-Box Functions”, NeurIPS 2021, 2021.
【非特許文献2】N. Srinivas et al.,“Gaussian Process Optimization in the Bandit Setting: No Regret and Experimental Design”, ICML 2010, 2010.
【非特許文献3】Valko et al.,“Spectral Bandits for Smooth Graph Functions”, ICML 2014, 2014.
【非特許文献4】Boyd et al.,“Multi-period Trading via Convex Optimization”, Foundations and Trends in Optimization, 2017.
【発明の概要】
【発明が解決しようとする課題】
【0007】
GP-UCB(Gaussian Process Upper Confidence Bound)、GP-EI(Gaussian Process Expected Improvement)等の通常のベイズ最適化では、関数f(x)の期待値E[f(x)]を最大化する点xの探索が行われる。しかし、問題によっては、ロバスト性又はリスクに関する指標のように、期待値以外の指標が重要になることがある。
【0008】
例えば、平均分散最適化(Mean-Variance Optimization)では、f(x)の分散V[f(x)]が小さくなり、かつ、期待値E[f(x)]が大きくなるような点xの探索が行われる。しかし、分散は、f(x)を表す確率変数の値が期待値より大きい場合と小さい場合とを同様に扱う。このため、確率変数の値が大きくなる点xを探索する場合、期待値及び分散のみでは、分布の特性が適切にとらえられていないことがある。
【0009】
そこで、ベイズ最適化における指標として、CVaRが用いられることがある。CVaRは、一定確率以下で発生する悪い事象により条件付けられた、確率変数の期待値を表す。例えば、ファイナンスにおいて投資戦略を評価するために、CVaRが用いられる。この場合、CVaRは、金融危機等のように、低確率で発生する悪い事象における平均リターンを表す。
【0010】
しかしながら、単にCVaRを最適化する点xを探索するだけでは、必ずしも効率の良い探索が行われるとは限らない。
【0011】
なお、かかる問題は、CVaRを最適化する探索処理に限らず、様々なリスク回避指標を最適化する探索処理において生ずるものである。リスク回避指標は、リスクを回避するための指標を意味する。
【0012】
1つの側面において、本発明は、リスク回避指標に基づく探索処理の効率を向上させることを目的とする。
【課題を解決するための手段】
【0013】
1つの案では、情報処理プログラムは、以下の処理をコンピュータに実行させる。
【0014】
コンピュータは、1つ又は複数の観測点と1つ又は複数の観測点各々に対する確率変数の観測値とを含む観測履歴と、カーネル関数とに基づいて、探索空間内の複数の候補点それぞれに対するリスク回避指標の推定値を求める。コンピュータは、リスク回避指標の推定値に基づいて、複数の候補点それぞれに対する獲得関数の値を求める。
【0015】
コンピュータは、獲得関数の値に基づいて、複数の候補点の中から、獲得関数の所定値に対応する目標点を探索し、目標点を含む探索結果を出力する。
【発明の効果】
【0016】
1つの側面によれば、リスク回避指標に基づく探索処理の効率を向上させることができる。
【図面の簡単な説明】
【0017】
図1】実施形態の情報処理装置の機能的構成図である。
図2】情報処理装置が行う探索処理のフローチャートである。
図3】探索装置の機能的構成図である。
図4】CVaR(x,t)の計算式を示す図である。
図5】第1探索処理のフローチャートである。
図6】ラウンドtにおけるCVaR及びUCBを示す図である。
図7】ラウンドt+1におけるCVaR及びUCBを示す図である。
図8】ラウンドt+2におけるCVaR及びUCBを示す図である。
図9A】第2探索処理のフローチャート(その1)である。
図9B】第2探索処理のフローチャート(その2)である。
図10】情報処理装置のハードウェア構成図である。
【発明を実施するための形態】
【0018】
以下、図面を参照しながら、実施形態を詳細に説明する。
【0019】
図1は、実施形態の情報処理装置(コンピュータ)の機能的構成例を示している。図1の情報処理装置101は、計算部111、探索部112、及び出力部113を含む。
【0020】
図2は、図1の情報処理装置101が行う探索処理の例を示すフローチャートである。まず、計算部111は、1つ又は複数の観測点と各観測点に対する確率変数の観測値とを含む観測履歴と、カーネル関数とに基づいて、探索空間内の複数の候補点それぞれに対するリスク回避指標の推定値を求める(ステップ201)。次に、計算部111は、リスク回避指標の推定値に基づいて、複数の候補点それぞれに対する獲得関数の値を求める(ステップ202)。
【0021】
探索部112は、獲得関数の値に基づいて、複数の候補点の中から、獲得関数の所定値に対応する目標点を探索する(ステップ203)。出力部113は、目標点を含む探索結果を出力する(ステップ204)。
【0022】
図1の情報処理装置101によれば、リスク回避指標に基づく探索処理の効率を向上させることができる。
【0023】
図3は、図1の情報処理装置101の具体例に対応する探索装置の機能的構成例を示している。図3の探索装置301は、計算部311、探索部312、出力部313、及び記憶部314を含み、第1探索処理又は第2探索処理を行う。第1探索処理及び第2探索処理は、ベイズ最適化に基づく探索処理である。
【0024】
第1探索処理及び第2探索処理において、探索装置301は、リスク回避指標を含む獲得関数の所定値に対応する目標点を探索する。獲得関数の所定値は、最大値又は最小値であってもよい。
【0025】
計算部311、探索部312、及び出力部313は、図1の計算部111、探索部112、及び出力部113にそれぞれ対応する。
【0026】
記憶部314は、探索空間情報321及び観測履歴322を記憶する。探索空間情報321は、探索空間Wを示す。観測履歴322は、1つ又は複数の観測点と、各観測点に対する確率変数の観測値とを含む。
【0027】
計算部311は、観測履歴322を用いて、探索空間W内の複数の点それぞれに対するリスク回避指標の推定値を計算し、リスク回避指標の推定値を用いて獲得関数の値を計算する。探索空間W内の点は、候補点に対応する。
【0028】
探索部312は、計算された獲得関数の値に基づいて目標点を探索し、探索された目標点を含む探索結果323を生成して、記憶部314に格納する。出力部113は、探索結果323を出力する。
【0029】
リスク回避指標の一例として、CVaRが用いられる。累積分布関数Fに従う確率変数Xに対するCVaR(F)は、例えば、次式により表される。
【0030】
CVaR(F)=EX~F[X|X≦F-1(α)] (1)
【0031】
αは、0以上1以下の実数であり、リスクレベルを表す。F-1(α)は、F(α)の逆関数を表す。X~Fは、XがFに従うことを表す。近似的には、Fから生成されたXのサンプルを昇順に並べた列をX1,X2,...,Xnとすると、式(1)の右辺は、X1,X2,...,X[nα]の平均値に対応する。ただし、[nα]は、nα以下の最大の整数を表す。
【0032】
通常のベイズ最適化のモデルでは、関数fがガウス過程及び再生核ヒルベルト空間によってモデル化されることが仮定されている。このモデルでは、点xと点x´が近い場合、f(x)とf(x´)も近くなるため、探索処理の計算量が削減される。
【0033】
これに対して、探索装置301は、関数fではなく、xに依存する確率分布ρ(x)を、カーネル平均埋め込み(Kernel Mean Embedding,KME)を用いてモデル化する。f(x)を表す確率変数yは、確率分布ρ(x)に従う。
【0034】
KMEは、ρ(x)をベクトル化することで、ρ(x)を再生核ヒルベルト空間に埋めこむ技術である。ρ(x)をベクトル化することで、2つの確率分布間の距離、同時確率分布のノルム等を計算することができる。条件付き平均埋め込み(Conditional Mean Embedding,CME)は、条件付き確率をベクトル化する技術であり、KMEの特殊な例であると言える。
【0035】
KMEで用いられるカーネル関数k(x,x´)は、xとx´の間の類似度を表す。カーネル関数kとしては、RBF(Radial Basis Function)カーネル、Maternカーネル等を用いることができる。x及びx´は、スカラ、ベクトル、又はグラフであってもよい。例えば、化合物の化学式を表すグラフをx及びx´として用いた場合、k(x,x´)は、2つの化合物の間の類似度を表す。
【0036】
まず、第1探索処理について説明する。探索部312は、ラウンドt=1,2,...,Tについて、探索空間W内の点xを選択し、確率分布ρ(x)に従う確率変数yの観測値yを取得する。tは、時間ステップを表す制御変数であり、Tは、総ラウンド数を表す2以上の整数である。ラウンドtにおいて生成される観測履歴Hは、(x,y),...,(x,y)を含む。観測履歴Hは、観測履歴322に対応する。
【0037】
計算部311は、ラウンドt+1において、ラウンドtで生成された観測履歴H及びカーネル関数kを用いて、探索空間W内の点xに対するCVaRの推定値CVaR(x,t)を計算する。
【0038】
図4は、CVaR(x,t)の計算式の例を示している。確率分布ρ(x)の台のすべての要素が区間[a,b]に含まれると仮定すると、集合Uは、U={a,b,y,...,y}により定義される。νは、Uの何れかの要素を表す。図4の計算式の右辺は、Uに含まれる各νに対する{}内の値の最大値を表す。
【0039】
αは、リスクレベルを表す。λは、正の実数である。ψν(y)は、max(ν-y,0)を表し、max(p,q)は、p及びqの最大値を表す。(ψν(y),...,ψν(y))は、j番目の要素がψν(y)であるようなt次元の行ベクトルを表す。
【0040】
k(x1:t,x1:t)は、i行j列の要素がk(x,x)であるようなt×tの行列を表す。1は、t×tの単位行列を表す。(k(x1:t,x1:t)+λ1-1は、k(x1:t,x1:t)+λ1の逆行列を表す。k(x1:t,x)は、i番目の要素がk(x,x)であるようなt次元の列ベクトルを表す。
【0041】
計算部311は、ラウンドt+1において、図4のCVaR(x,t)を用いて、点xに対する獲得関数UCBの値UCB(x,t)を、次式により計算する。
【0042】
UCB(x,t)=CVaR(x,t)+(β/α)σ(x) (2)
【0043】
βは、正の実数である。σ(x)は、確率変数yに関する予測の不確実性を表す。σ(x)としては、例えば、非特許文献2の式(2)における標準偏差を用いることができる。
【0044】
t=1のとき、探索部312は、探索空間Wから観測点xをランダムに選択し、yを観測する。t≧2のとき、探索部312は、探索空間W内の点xのうちUCB(x,t-1)を最大化する点xを、次の観測点xとして選択し、yを観測する。UCB(x,t-1)を最大化する点xを選択することで、CVaRの推定値が大きい点を選択できるとともに、不確実性が大きい点を選択することができる。不確実性が大きい点を選択することで、探索が促進される。
【0045】
探索装置301は、第1探索処理又は第2探索処理を行うことで、様々な最適化問題の最適解を求めることができる。例えば、機械学習モデルのハイパーパラメータを最適化する問題では、ハイパーパラメータをxとして用い、既知の入力データに対する機械学習モデルの正解率をyとして用いることができる。
【0046】
機械学習モデルとしては、ニューラルネットワーク、決定木、ロジスティック回帰、サポートベクタマシン等が用いられる。ニューラルネットワークの場合、ハイパーパラメータは、ユニット数、レイヤ数、又は学習率であってもよい。
【0047】
最適化問題の応用分野としては、ファイナンス、医療、ヘルスケア、創薬、採用、不正利用検知、材料設計、推薦システム、センサ配置等が挙げられる。不正利用検知は、クレジットカードの不正利用、保険金の不正請求等の検知を含む。
【0048】
ファイナンスは、株取引を含む。例えば、非特許文献4の株取引の場合、リスク回避変数、取引回避変数、及び保有回避変数を要素とする3次元ベクトルをxとして用い、株取引によって得られる日毎のリターンをyとして用いることができる。リスク回避変数が大きいほど、値動きの激しい株を避けるようになり、取引回避変数が大きいほど、取引者は取引をしなくなり、保有回避変数が大きいほど、取引者は空売りをしなくなる。
【0049】
医療は、癌のステージ分類を含む。XGboost(extreme gradient boosting)と呼ばれる分類器を用いて癌のステージ分類を行う場合、複数のハイパーパラメータを要素とする多次元ベクトルをxとして用い、検証データにおけるF値等をyとして用いることができる。ハイパーパラメータは、学習率、決定木の深さの最大値、正則化係数、決定木を生成するときにランダムに抽出される特徴量の数の比率等であってもよい。XGboostは、医療以外の応用分野においても利用されている。
【0050】
創薬では、シミュレーション又は実験を繰り返すことで、薬として有用な化合物が探索されることがある。この場合、化合物の化学式を表すグラフをxとして用い、シミュレーション又は実験によって観測される薬の効果をyとして用いることができる。薬の効果は、結合自由エネルギー、解離定数等によって表される。
【0051】
図5は、第1探索処理の例を示すフローチャートである。まず、探索部312は、観測履歴Hとして空集合を設定し(ステップ501)、tに1を設定する(ステップ502)。
【0052】
次に、探索部312は、探索空間Wから観測点xをランダムに選択し(ステップ503)、xに対する観測値yを取得する(ステップ504)。そして、探索部312は、(x,y)をHに追加することで、Hを更新する(ステップ505)。
【0053】
次に、探索部312は、tをTと比較する(ステップ506)。tがT未満である場合(ステップ506,NO)、探索部312は、tを1だけインクリメントする(ステップ507)。
【0054】
次に、計算部311は、探索空間W内の各点xについて、図4の計算式によりCVaR(x,t-1)を計算し(ステップ508)、式(2)によりUCB(x,t-1)を計算する(ステップ509)。
【0055】
次に、探索部312は、UCB(x,t-1)を最大化する点xを、次の観測点xとして選択し(ステップ510)、ステップ504以降の処理を繰り返す。探索部312は、例えば、ランダム探索又は全探索によって、UCB(x,t-1)を最大化する点xを特定することができる。
【0056】
t=Tである場合(ステップ506,YES)、探索部312は、探索結果323を生成し、出力部113は、探索結果323を出力する(ステップ511)。探索結果323は、H={(x,y),...,(x,y)}を含んでいてもよく、(x,y)のみを含んでいてもよい。xは、目標点に対応する。
【0057】
ステップ506において、探索部312は、他の終了条件を用いて探索を終了するか否かを決定してもよい。
【0058】
ラウンドtのステップ510において選択される観測点xは、第1観測点の一例であり、ステップ505において更新されたHは、更新後の観測履歴の一例である。ラウンドt+1のステップ510において選択される観測点xt+1は、第2観測点の一例である。
【0059】
機械学習モデルのハイパーパラメータを最適化する場合、探索部312は、探索結果323のxが示すハイパーパラメータを用いて、機械学習モデルを構築してもよい。この場合、探索部312は、構築された機械学習モデルに訓練データを入力して、機械学習を行わせることで、学習済み機械学習モデルを生成することができる。
【0060】
図6は、ラウンドtにおけるCVaR及びUCBの例を示している。横軸は、1次元の探索空間Wを表し、縦軸は、CVaR及びUCBを表す。破線は、観測履歴Hに含まれている選択済みの観測点xを表す。曲線601は、探索空間W内の各点xに対するCVaRの真の値を表し、曲線602は、探索空間W内の各点xに対するUCB(x,t-1)の値を表す。
【0061】
この場合、選択済みの観測点xは、0.0、0.2、0.4、及び1.0の4個である。次の観測点xとして、UCB(x,t-1)の最大値に対応する0.77が選択され、0.77に対する観測値yが取得される。そして、(x,y)がHに追加される。
【0062】
図7は、ラウンドt+1におけるCVaR及びUCBの例を示している。曲線701は、CVaRの真の値を表し、曲線702は、UCB(x,t)の値を表す。CVaRの真の値は観測されるわけではないが、式(2)を用いることで、観測によってx=0.77の近傍における不確実性が減少し、UCB(x,t)がCVaRの真の値に近づいている。
【0063】
この場合、次の観測点xt+1として、UCB(x,t)の最大値に対応する0.63が選択され、0.63に対する観測値yt+1が取得される。そして、(xt+1,yt+1)がHに追加される。
【0064】
図8は、ラウンドt+2におけるCVaR及びUCBの例を示している。曲線801は、CVaRの真の値を表し、曲線802は、UCB(x,t+1)の値を表す。観測によってx=0.63の近傍における不確実性が減少し、UCB(x,t+1)がCVaRの真の値に近づいている。
【0065】
第1探索処理によれば、観測履歴Hを更新しながら、更新後の観測履歴Hに対してカーネル関数kを適用することで、探索済みの点xの近傍におけるCVaRの推定値が改善されるため、探索効率が向上する。例えば、CVaRが小さいと推定される点xの近傍では、探索が抑制され、CVaRが大きいと推定される点xの近傍では、探索が促進される。
【0066】
関数fをモデル化する通常のベイズ最適化では、CVaRを最適化できる問題は特殊な問題に限定される。これに対して、KMEを用いたベイズ最適化では、確率分布がモデル化されるため、より一般的な問題においてCVaRを最適化することができる。
【0067】
第1探索処理におけるリスク回避指標として、CVaRの代わりに、確率変数yの期待値及び分散を含む指標MV(ρ)を用いることもできる。MV(ρ)は、例えば、次式により表される。
【0068】
MV(ρ)=E[ρ]-γV[ρ]
=Ey~ρ[y]-γEy~ρ[y]+γ(Ey~ρ[y]) (3)
【0069】
γは、正の実数である。E[ρ]は、ρ(x)の期待値を表し、V[ρ]は、ρ(x)の分散を表す。Ey~ρ[y]は、yの期待値を表し、Ey~ρ[y]は、yの期待値を表す。y~ρは、yがρに従うことを表す。MV(ρ)を用いてベイズ最適化を行うことで、期待値E[ρ]が大きく、かつ、分散V[ρ]が小さい点xを探索することができる。
【0070】
この場合、計算部311は、ラウンドt+1において、ラウンドtで生成された観測履歴H及びカーネル関数kを用いて、探索空間W内の点xに対するEy~ρ[y]の推定値m(x,t,r)(r=1,2)を、次式により計算する。
【0071】
m(x,t,r)=(y ,...,y
(k(x1:t,x1:t)+λ1-1k(x1:t,x) (4)
【0072】
(y ,...,y )は、j番目の要素がy であるようなt次元の行ベクトルを表す。(k(x1:t,x1:t)+λ1-1及びk(x1:t,x)は、図4の計算式と同様である。
【0073】
計算部311は、ラウンドt+1において、式(4)のm(x,t,r)を用いて、点xに対する獲得関数UCBMVの値UCBMV(x,t)を、次式により計算する。
【0074】
UCBMV(x,t)
=m(x,t,1)-γm(x,t,2)+γ(m(x,t,1))
+β1σ(x)+β2(σ(x)) (5)
【0075】
β1及びβ2は、正の実数である。σ(x)は、式(2)と同様である。
【0076】
第1探索処理において獲得関数UCBMVを用いる場合、計算部311は、図5のステップ508において、式(4)によりm(x,t-1,r)を計算し、ステップ509において、式(5)によりUCBMV(x,t-1)を計算する。そして、探索部312は、ステップ510において、UCBMV(x,t-1)を最大化する点xを、次の観測点xとして選択する。これにより、CVaRの代わりに、指標MV(ρ)を最適化することができる。
【0077】
次に、第2探索処理について説明する。第2探索処理における探索空間Wは、有限集合である。第2探索処理では、獲得関数UCBの値UCB(x,t)に基づいて、探索空間Wから探索不要な点xが除外され、残りの点xの中から次の観測点xt+1が選択される。
【0078】
図9A及び図9Bは、第2探索処理の例を示すフローチャートである。まず、探索部312は、観測履歴Hとして空集合を設定し(ステップ901)、tに1を設定する(ステップ902)。そして、探索部312は、jに1を設定し(ステップ903)、探索空間WにWを設定する(ステップ904)。
【0079】
次に、探索部312は、t(j)=2j-1を用いて、σt-1(x,j)を求める(ステップ905)。ステップ905において、探索部312は、Hに含まれるx,...,xt-1のうちxt(j),...,xt-1のみを用いて、W内の各点xにおける不確実性σt-1(x)を定義し、定義されたσt-1(x)をσt-1(x,j)に設定する。
【0080】
次に、探索部312は、σt-1(x,j)を最大化する点xを、次の観測点xとしてWから選択し(ステップ906)、xに対する観測値yを取得する(ステップ907)。そして、探索部312は、(x,y)をHに追加することで、Hを更新する(ステップ908)。
【0081】
次に、探索部312は、tを1だけインクリメントし(ステップ909)、tをsと比較する(ステップ910)。sは、t(j+1)-1及びTの最小値を表す。t(j+1)=2である。tがs以下である場合(ステップ910,YES)、探索部312は、ステップ905以降の処理を繰り返す。
【0082】
tがsよりも大きい場合(ステップ910,NO)、計算部311は、W内の各点xに対するCVaRの推定値CVaR(x,j,s)を、次式により計算する(ステップ911)。
【0083】
【数1】
【0084】
ただし、U={a,b,yt(j),...,y}である。式(6)の右辺は、Hに含まれる(x,y),...,(xt-1,yt-1)のうち(xt(j),yt(j)),...,(x,y)のみを用いて計算される、CVaRの推定値を表す。
【0085】
次に、計算部311は、W内の各点xに対する獲得関数Lの値L(x,j,s)を、次式により計算する(ステップ912)。
【0086】
L(x,j,s)=
CVaR(x,j,s)-(β(δ)/α)σ(x,j) (7)
β(δ)=λ1/2+(log(1/δ))1/2 (8)
【0087】
λ及びδは、正の実数である。次に、探索部312は、W内の各点xに対するL(x,j,s)の最大値Lmaxを求める(ステップ913)。そして、探索部312は、次式を満たす点xをWから除外することでWを更新し、残りの点xを含む探索空間Wj+1を生成する(ステップ914)。
【0088】
CVaR(x,j,s)+(β(δ)/α)σ(x,j)<Lmax (9)
【0089】
次に、探索部312は、jを[logT]+1と比較する(ステップ915)。[logT]は、logT以下の最大の整数を表す。jが[logT]+1未満である場合(ステップ915,NO)、探索部312は、jを1だけインクリメントし(ステップ916)、ステップ914で生成されたWj+1を用いて、ステップ905以降の処理を繰り返す。
【0090】
j=[logT]+1である場合(ステップ915,YES)、探索部312は、探索結果323を生成し、出力部113は、探索結果323を出力する(ステップ917)。探索結果323は、H={(x,y),...,(x,y)}を含んでいてもよく、(x,y)のみを含んでいてもよい。
【0091】
ステップ915において、探索部312は、他の終了条件を用いて探索を終了するか否かを決定してもよい。
【0092】
ステップ914において生成される探索空間Wj+1は、第1探索空間の一例であり、Wj+1の次に生成される探索空間Wj+2は、第2探索空間の一例である。
【0093】
第2探索処理によれば、第1探索処理と同様に、更新後の観測履歴Hに対してカーネル関数kを適用することで、探索済みの点xの近傍におけるCVaRの推定値が改善されるため、探索効率が向上する。さらに、探索空間Wを更新しながら探索対象を絞り込んでいくことで、第1探索処理よりも高速に最適解を求めることが可能になる。
【0094】
図1の情報処理装置101の構成は一例に過ぎず、情報処理装置101の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。図3の探索装置301の構成は一例に過ぎず、探索装置301の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
【0095】
図2図5図9A、及び図9Bのフローチャートは一例に過ぎず、情報処理装置101又は探索装置301の構成又は条件に応じて、一部の処理を省略又は変更してもよい。
【0096】
図4に示した計算式は一例に過ぎず、探索装置301は、別の計算式を用いてCVaR(x,t)を計算してもよい。図6図8に示したCVaR及びUCBの変化は一例に過ぎず、CVaR及びUCBは、探索処理が適用される問題に応じて変化する。
【0097】
式(1)~式(9)は一例に過ぎず、探索装置301は、別の計算式を用いて探索処理を行ってもよい。
【0098】
図10は、図1の情報処理装置101及び図3の探索装置301として用いられる情報処理装置のハードウェア構成例を示している。図10の情報処理装置は、CPU(Central Processing Unit)1001、メモリ1002、入力装置1003、出力装置1004、補助記憶装置1005、媒体駆動装置1006、及びネットワーク接続装置1007を含む。これらの構成要素はハードウェアであり、バス1008により互いに接続されている。
【0099】
メモリ1002は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)等の半導体メモリであり、処理に用いられるプログラム及びデータを記憶する。メモリ1002は、図3の記憶部314として動作してもよい。
【0100】
CPU1001(プロセッサ)は、例えば、メモリ1002を利用してプログラムを実行することにより、図1の計算部111及び探索部112として動作する。CPU1001は、メモリ1002を利用してプログラムを実行することにより、図3の計算部311及び探索部312としても動作する。
【0101】
入力装置1003は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示又は情報の入力に用いられる。出力装置1004は、例えば、表示装置、プリンタ等であり、ユーザ又はオペレータへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、探索結果323であってもよい。出力装置1004は、図1の出力部113又は図3の出力部313として動作してもよい。
【0102】
補助記憶装置1005は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置1005は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置1005にプログラム及びデータを格納しておき、それらをメモリ1002にロードして使用することができる。補助記憶装置1005は、図3の記憶部314として動作してもよい。
【0103】
媒体駆動装置1006は、可搬型記録媒体1009を駆動し、その記録内容にアクセスする。可搬型記録媒体1009は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体1009は、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等であってもよい。ユーザ又はオペレータは、可搬型記録媒体1009にプログラム及びデータを格納しておき、それらをメモリ1002にロードして使用することができる。
【0104】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ1002、補助記憶装置1005、又は可搬型記録媒体1009のような、物理的な(非一時的な)記録媒体である。
【0105】
ネットワーク接続装置1007は、WAN(Wide Area Network)、LAN(Local Area Network)等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置1007を介して受信し、それらをメモリ1002にロードして使用することができる。ネットワーク接続装置1007は、図1の出力部113又は図3の出力部313として動作してもよい。
【0106】
なお、情報処理装置が図10のすべての構成要素を含む必要はなく、情報処理装置の用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、可搬型記録媒体1009又は通信ネットワークを使用しない場合は、媒体駆動装置1006又はネットワーク接続装置1007を省略してもよい。
【0107】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【0108】
図1乃至図10を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
1つ又は複数の観測点と前記1つ又は複数の観測点各々に対する確率変数の観測値とを含む観測履歴と、カーネル関数とに基づいて、探索空間内の複数の候補点それぞれに対するリスク回避指標の推定値を求め、
前記リスク回避指標の推定値に基づいて、前記複数の候補点それぞれに対する獲得関数の値を求め、
前記獲得関数の値に基づいて、前記複数の候補点の中から、前記獲得関数の所定値に対応する目標点を探索し、
前記目標点を含む探索結果を出力する、
処理をコンピュータに実行させるための情報処理プログラム。
(付記2)
前記獲得関数は、前記リスク回避指標と前記確率変数に関する予測の不確実性とを含むことを特徴とする付記1記載の情報処理プログラム。
(付記3)
前記目標点を探索する処理は、
前記獲得関数の値に基づいて、前記複数の候補点の中から第1観測点を選択する処理と、
前記第1観測点に対する前記確率変数の観測値を取得する処理と、
前記第1観測点と、前記第1観測点に対する前記確率変数の観測値とを、前記観測履歴に追加することで、前記観測履歴を更新する処理と、
更新後の前記観測履歴に基づいて、前記獲得関数の値を求める処理と、
更新後の前記観測履歴に基づいて求められた前記獲得関数の値に基づいて、前記複数の候補点の中から第2観測点を選択する処理と、
前記第2観測点を用いて前記目標点を探索する処理と、
を含むことを特徴とする付記1又は2記載の情報処理プログラム。
(付記4)
前記リスク回避指標は、前記確率変数に対する条件付きバリューアットリスクを含む指標、又は前記確率変数の期待値及び分散を含む指標であることを特徴とする付記3記載の情報処理プログラム。
(付記5)
前記目標点を探索する処理は、
前記獲得関数の値に基づいて、前記複数の候補点のうち一部の候補点を除外することで、第1探索空間を生成する処理と、
前記第1探索空間に基づいて、前記獲得関数の値を求める処理と、
前記第1探索空間に基づいて求められた前記獲得関数の値に基づいて、前記第1探索空間内の複数の候補点のうち一部の候補点を除外することで、第2探索空間を生成する処理と、
前記第2探索空間内の複数の候補点の中から前記目標点を探索する処理と、
を含むことを特徴とする付記1又は2記載の情報処理プログラム。
(付記6)
前記リスク回避指標は、前記確率変数に関する条件付きバリューアットリスクを含む指標であることを特徴とする付記5記載の情報処理プログラム。
(付記7)
1つ又は複数の観測点と前記1つ又は複数の観測点各々に対する確率変数の観測値とを含む観測履歴と、カーネル関数とに基づいて、探索空間内の複数の候補点それぞれに対するリスク回避指標の推定値を求め、前記リスク回避指標の推定値に基づいて、前記複数の候補点それぞれに対する獲得関数の値を求める計算部と、
前記獲得関数の値に基づいて、前記複数の候補点の中から、前記獲得関数の所定値に対応する目標点を探索する探索部と、
前記目標点を含む探索結果を出力する出力部と、
を備えることを特徴とする情報処理装置。
(付記8)
前記獲得関数は、前記リスク回避指標と前記確率変数に関する予測の不確実性とを含むことを特徴とする付記7記載の情報処理装置。
(付記9)
前記探索部は、前記獲得関数の値に基づいて、前記複数の候補点の中から第1観測点を選択し、前記第1観測点に対する前記確率変数の観測値を取得し、前記第1観測点と、前記第1観測点に対する前記確率変数の観測値とを、前記観測履歴に追加することで、前記観測履歴を更新し、
前記計算部は、更新後の前記観測履歴に基づいて、前記獲得関数の値を求め、
前記探索部は、更新後の前記観測履歴に基づいて求められた前記獲得関数の値に基づいて、前記複数の候補点の中から第2観測点を選択し、前記第2観測点を用いて前記目標点を探索することを特徴とする付記7又は8記載の情報処理装置。
(付記10)
前記リスク回避指標は、前記確率変数に対する条件付きバリューアットリスクを含む指標、又は前記確率変数の期待値及び分散を含む指標であることを特徴とする付記9記載の情報処理装置。
(付記11)
前記探索部は、前記獲得関数の値に基づいて、前記複数の候補点のうち一部の候補点を除外することで、第1探索空間を生成し、
前記計算部は、前記第1探索空間に基づいて、前記獲得関数の値を求め、
前記探索部は、前記第1探索空間に基づいて求められた前記獲得関数の値に基づいて、前記第1探索空間内の複数の候補点のうち一部の候補点を除外することで、第2探索空間を生成し、前記第2探索空間内の複数の候補点の中から前記目標点を探索することを特徴とする付記7又は8記載の情報処理装置。
(付記12)
前記リスク回避指標は、前記確率変数に関する条件付きバリューアットリスクを含む指標であることを特徴とする付記11記載の情報処理装置。
(付記13)
1つ又は複数の観測点と前記1つ又は複数の観測点各々に対する確率変数の観測値とを含む観測履歴と、カーネル関数とに基づいて、探索空間内の複数の候補点それぞれに対するリスク回避指標の推定値を求め、
前記リスク回避指標の推定値に基づいて、前記複数の候補点それぞれに対する獲得関数の値を求め、
前記獲得関数の値に基づいて、前記複数の候補点の中から、前記獲得関数の所定値に対応する目標点を探索し、
前記目標点を含む探索結果を出力する、
処理をコンピュータが実行することを特徴とする情報処理方法。
(付記14)
前記獲得関数は、前記リスク回避指標と前記確率変数に関する予測の不確実性とを含むことを特徴とする付記13記載の情報処理方法。
(付記15)
前記目標点を探索する処理は、
前記獲得関数の値に基づいて、前記複数の候補点の中から第1観測点を選択する処理と、
前記第1観測点に対する前記確率変数の観測値を取得する処理と、
前記第1観測点と、前記第1観測点に対する前記確率変数の観測値とを、前記観測履歴に追加することで、前記観測履歴を更新する処理と、
更新後の前記観測履歴に基づいて、前記獲得関数の値を求める処理と、
更新後の前記観測履歴に基づいて求められた前記獲得関数の値に基づいて、前記複数の候補点の中から第2観測点を選択する処理と、
前記第2観測点を用いて前記目標点を探索する処理と、
を含むことを特徴とする付記13又は14記載の情報処理方法。
(付記16)
前記リスク回避指標は、前記確率変数に対する条件付きバリューアットリスクを含む指標、又は前記確率変数の期待値及び分散を含む指標であることを特徴とする付記15記載の情報処理方法。
(付記17)
前記目標点を探索する処理は、
前記獲得関数の値に基づいて、前記複数の候補点のうち一部の候補点を除外することで、第1探索空間を生成する処理と、
前記第1探索空間に基づいて、前記獲得関数の値を求める処理と、
前記第1探索空間に基づいて求められた前記獲得関数の値に基づいて、前記第1探索空間内の複数の候補点のうち一部の候補点を除外することで、第2探索空間を生成する処理と、
前記第2探索空間内の複数の候補点の中から前記目標点を探索する処理と、
を含むことを特徴とする付記13又は14記載の情報処理方法。
(付記18)
前記リスク回避指標は、前記確率変数に関する条件付きバリューアットリスクを含む指標であることを特徴とする付記17記載の情報処理方法。
【符号の説明】
【0109】
101 情報処理装置
111、311 計算部
112、312 探索部
113、313 出力部
301 探索装置
314 記憶部
321 探索空間情報
322 観測履歴
323 探索結果
601、602、701、702、801、802 曲線
1001 CPU
1002 メモリ
1003 入力装置
1004 出力装置
1005 補助記憶装置
1006 媒体駆動装置
1007 ネットワーク接続装置
1008 バス
1009 可搬型記録媒体
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図10