(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-02
(45)【発行日】2024-12-10
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G06N 99/00 20190101AFI20241203BHJP
G06Q 10/04 20230101ALI20241203BHJP
【FI】
G06N99/00 180
G06Q10/04
(21)【出願番号】P 2022579204
(86)(22)【出願日】2021-02-03
(86)【国際出願番号】 JP2021003828
(87)【国際公開番号】W WO2022168190
(87)【国際公開日】2022-08-11
【審査請求日】2023-08-01
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人 科学技術振興機構、個人型研究(ACT-I)「部分的フィードバックに基づくオンライン凸最適化」に関する委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】伊藤 伸志
【審査官】多賀 実
(56)【参考文献】
【文献】特表2015-513154(JP,A)
【文献】米国特許出願公開第2015/0095271(US,A1)
【文献】PUTTA, Sudeep Raja et al.,"Exponential Weights on the Hypercube in Polynomial Time",Proceedings of Machine Learning Research [online],2019年,Volume 89,pp.1911-1919,[検索日 2021.03.18], インターネット:<URL: http://proceedings.mlr.press/v89/putta19a/putta19a.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06Q 10/04-10/047
(57)【特許請求の範囲】
【請求項1】
d次元ベクトル空間R
d(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルa
tを選択するベクトル選択手段を備えており、
前記ベクトル選択手段は、l
1,l
2,…,l
T∈R
dを損失ベクトルとして、任意の比較ベクトル列u
1,u
2,…,u
T∈Aに対する追跡リグレットR(u)=Σ
t∈[T]l
t
Ta
t-Σ
t∈[T]l
t
Tu
tの期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、各ラウンドtにおいてベクトルa
tを選択する、
ことを特徴とする情報処理装置。
ここで、Pは、P=|{t∈[T-1]|u
t≠u
t+1
}|により与えられる1以上の自然数である。
【請求項2】
前記ベクトル選択手段は、追跡リグレットR(u)の期待値の対数因子を無視した漸近挙動が関数A(d,T,P)により上から抑えられるように、ベクトル列a
1,a
2,…,a
T∈Aを選択し、
関数A(d,T,P)は、不特定のPに対して下記式(a1)により与えられるか、又は、特定のPに対して下記式(a2)により与えられる、
ことを特徴とする請求項1に記載の情報処理装置。
【数1】
ここで、βは、1以上の定数である。
【数2】
【請求項3】
前記ベクトル選択手段は、各ラウンドtにおいて、
前ラウンドt-1までに推定された損失ベクトル^l
1,^l
2,…,^l
t-1に応じた候補ベクトル群{a
t
(j)}
j∈Active(t)を設定する候補ベクトル設定ステップと、
前ラウンドt-1において更新された重み群w
t={w
t
(j)}
j∈Active(t)に応じた確率群q
t={q
t
(j)}
j∈Active(t)を設定する確率群設定ステップと、
(1)予め定められた探索基底πに従って候補ベクトル群{a
t
(j)}
j∈Active(t)からベクトルa
tをランダムに選択する第1ベクトル選択ステップ、フィードバックに応じて損失ベクトル^l
tを推定する第1損失ベクトル推定ステップ、損失ベクトル^l
tに応じて重み群w
tを更新する第1重み群更新ステップ、又は、(2)確率群q
tに従って候補ベクトル群{a
t
(j)}
j∈Active(t)からベクトルa
tをランダムに選択する第2ベクトル選択ステップ、損失ベクトル^l
tを^l
t=0と推定する第2損失ベクトル推定ステップ、及び、重み群wtをw
t+1=w
tに従って更新する第2重み群更新ステップの何れかと、を実行する、
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記ベクトル選択手段は、追跡リグレットR(u)の期待値の漸近挙動が関数A(d,T,P)により上から抑えられるように、ベクトル列a
1,a
2,…,a
T∈Aを選択し、
関数A(d,T,P)は、不特定のPに対して下記式(b1)により与えられるか、又は、特定のPに対して下記式(b2)により与えられる、
ことを特徴とする請求項1に記載の情報処理装置。
【数3】
ここで、βは、1以上の定数である。
【数4】
【請求項5】
前記ベクトル選択手段は、各ラウンドtにおいて、
前ラウンドt-1において更新された重み関数w
t:A→Rに応じた確率分布p
t:A→[0,1]を設定する確率分布設定ステップと、
確率分布p
tに従って部分集合Aからベクトルa
tをランダムに選択するベクトル選択ステップと、
フィードバックに応じて損失ベクトル^l
tを推定する損失ベクトル推定ステップと、
損失ベクトル^l
tに応じて重み関数w
tを更新する重み関数更新ステップと、を実行する、ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
d次元ベクトル空間R
d(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルa
tを選択するベクトル選択手段を備えており、
前記ベクトル選択手段は、各ラウンドtにおいて、
前ラウンドt-1までに推定された損失ベクトル^l
1,^l
2,…,^l
t-1に応じた候補ベクトル群{a
t
(j)}
j∈Active(t)を設定する候補ベクトル設定ステップと、
前ラウンドt-1において更新された重み群w
t={w
t
(j)}
j∈Active(t)に応じた確率群q
t={q
t
(j)}
j∈Active(t)を設定する確率群設定ステップと、
(1)予め定められた探索基底πに従って候補ベクトル群{a
t
(j)}
j∈Active(t)からベクトルa
tをランダムに選択する第1ベクトル選択ステップ、フィードバックに応じて損失ベクトル^l
tを推定する第1損失ベクトル推定ステップ、損失ベクトル^l
tに応じて重み群w
tを更新する第1重み群更新ステップ、又は、(2)確率群q
tに従って候補ベクトル群{a
t
(j)}
j∈Active(t)からベクトルa
tをランダムに選択する第2ベクトル選択ステップ、損失ベクトル^l
tを^l
t=0と推定する第2損失ベクトル推定ステップ、及び、重み群wtをw
t+1=w
tに従って更新する第2重み群更新ステップの何れかと、を実行する、
ことを特徴とする情報処理装置。
【請求項7】
d次元ベクトル空間R
d(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルa
tを選択するベクトル選択手段を備えており、
前記ベクトル選択手段は、各ラウンドtにおいて、
重み関数w
t:A→Rに応じた確率分布p
t:A→[0,1]を設定する確率分布設定ステップと、
確率分布p
tに従って部分集合Aからベクトルa
tをランダムに選択するベクトル選択ステップと、
フィードバックに応じて損失ベクトル^l
tを推定する損失ベクトル推定ステップと、
損失ベクトル^l
tに応じて重み関数w
tを
下記式(b5)、下記式(b6)および下記式(b7)に従って更新する重み関数更新ステップと、を実行する、ことを特徴とする情報処理装置。
【数5】
【数6】
【数7】
ここで、η>0は学習率であり、α∈(0,1)はシェア率である。
【請求項8】
d次元ベクトル空間R
d(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルa
tを選択すること、を含んでおり、
前記ベクトルa
tの選択において、l
1,l
2,…,l
T∈R
dを損失ベクトルとして、任意の比較ベクトル列u
1,u
2,…,u
T∈Aに対する追跡リグレットR(u)=Σ
t∈[T]l
t
Ta
t-Σ
t∈[T]l
t
Tu
tの期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、各ラウンドtにおいてベクトルa
tを選択する、
ことを特徴とする情報処理方法。
ここで、Pは、P=|{t∈[T-1]|u
t≠u
t+1
}|により与えられる1以上の自然数である。
【請求項9】
コンピュータを情報処理装置として動作させるためのプログラムであって、
前記コンピュータを、d次元ベクトル空間R
d(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルa
tを選択するベクトル選択手段、として機能させ、
前記ベクトル選択手段は、l
1,l
2,…,l
T∈R
dを損失ベクトルとして、任意の比較ベクトル列u
1,u
2,…,u
T∈Aに対する追跡リグレットR(u)=Σ
t∈[T]l
t
Ta
t-Σ
t∈[T]l
t
Tu
tの期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、各ラウンドtにおいてベクトルa
tを選択する、
ことを特徴とするプログラム。
ここで、Pは、P=|{t∈[T-1]|u
t≠u
t+1
}|により与えられる1以上の自然数である。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、バンディット線形最適化問題を解く情報処理装置に関する。
【背景技術】
【0002】
ウェブ広告に関してユーザに提示する広告を決定したり、ウェブ販売において割引販売する商品を決定したりするために、バンディット最適化アルゴリズムを利用することが検討されている。バンディット最適化アルゴリズムとは、累積損失の最小化を目的として、バンディット・フィードバック条件の下で各ラウンドにおいて行動(action)を表すベクトルを選択するアルゴリズムのことを指す。バンディット最適化アルゴリズムのうち、各ラウンドにおける損失が選択したベクトルの線形関数で与えられるもののことを、バンディット線形最適化アルゴリズムという。バンディット線形最適化アルゴリズムを開示した文献としては、例えば、非特許文献1が挙げられる。
【先行技術文献】
【非特許文献】
【0003】
【文献】Daniely, A., Gonen, A., and Shalev-Shwartz, S., "Strongly adaptive online learning", In International Conference on Machine Learning, pp. 1405-1411, 2015.
【発明の概要】
【発明が解決しようとする課題】
【0004】
標準的なバンディット線形最適化アルゴリズムにおいては、リグレットRT=Σt∈[T]lt
Tat-mina*∈AΣt∈[T]lt
Ta*の期待値の漸近挙動がT1/2で上から抑えられるように、ベクトル列a1,a2,…,aTが選択される。このため、全てのラウンドにおいて同じベクトルを選択する固定戦略が有効なバンディット線形最適化問題に対しては、有益なベクトル列a1,a2,…,aTを選択することができるが、そうでないバンディット線形最適化問題に対しては、有益なベクトル列a1,a2,…,aTを選択することができない、という問題があった。
【0005】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、固定戦略が有効でないバンディット線形最適化問題においても、有益なベクトル列a1,a2,…,aTを選択することが可能な情報処理装置を実現することにある。
【課題を解決するための手段】
【0006】
本発明の一側面に係る情報処理装置は、d次元ベクトル空間Rd(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルatを選択するベクトル選択手段を備えており、前記ベクトル選択手段は、l1,l2,…,lT∈Rdを損失ベクトルとして、任意の比較ベクトル列u1,u2,…,uT∈Aに対する追跡リグレットR(u)=Σt∈[T]lt
Tat-Σt∈[T]lt
Tutの期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、各ラウンドtにおいてベクトルatを選択する、ことを特徴とする。ここで、Pは、P=|{t∈[T-1]|ut≠ut+1}|により与えられる1以上の自然数である。
また、本発明の一側面に係る情報処理方法は、d次元ベクトル空間R
d
(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルa
t
を選択すること、を含んでおり、前記ベクトルa
t
の選択において、l
1
,l
2
,…,l
T
∈R
d
を損失ベクトルとして、任意の比較ベクトル列u
1
,u
2
,…,u
T
∈Aに対する追跡リグレットR(u)=Σ
t∈[T]
l
t
T
a
t
-Σ
t∈[T]
l
t
T
u
t
の期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、各ラウンドtにおいてベクトルa
t
を選択する、ことを特徴とする。ここで、Pは、P=|{t∈[T-1]|u
t
≠u
t
+1}|により与えられる1以上の自然数である。
また、本発明の一側面に係るプログラムは、コンピュータを情報処理装置として動作させるためのプログラムであって、前記コンピュータを、d次元ベクトル空間R
d
(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルa
t
を選択するベクトル選択手段、として機能させ、前記ベクトル選択手段は、l
1
,l
2
,…,l
T
∈R
d
を損失ベクトルとして、任意の比較ベクトル列u
1
,u
2
,…,u
T
∈Aに対する追跡リグレットR(u)=Σ
t∈[T]
l
t
T
a
t
-Σ
t∈[T]
l
t
T
u
t
の期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、各ラウンドtにおいてベクトルa
t
を選択する、ことを特徴とする。ここで、Pは、P=|{t∈[T-1]|u
t
≠u
t
+1}|により与えられる1以上の自然数である。
【発明の効果】
【0007】
本発明の一態様によれば、固定戦略が有効でないバンディット線形最適化問題においても、有益なベクトル列a1,a2,…,aTを選択することが可能な情報処理装置を実現できる。
【図面の簡単な説明】
【0008】
【
図1】第1の例示的実施形態に係る情報処理装置の構成を示すブロック図である。
【
図2】第1の例示的実施形態に係る情報処理方法の流れを示すフロー図である。
【
図3】
図2に示す情報処理方法の第1の具体例を示すフロー図である。
【
図4】
図2に示す情報処理方法の第2の具体例を示すフロー図である。
【
図5】第1の例示的実施形態に係る情報処理装置として機能するコンピュータの構成を示すブロック図である。
【発明を実施するための形態】
【0009】
本発明の一例示的実施形態について、図面を参照して詳細に説明する。
【0010】
〔バンディット線形最適化問題〕
d次元ベクトル空間Rdの部分集合Aと、各ラウンドt∈[T]に対して定義された損失ベクトルlt∈Rdと、を考える。ここで、d及びTは、任意の自然数を表す。また、[T]は、1以上T以下の自然数の集合を表す。
【0011】
ベクトル列a1,a2,…,aT∈Aを選択する問題のうち、累積損失Σt∈[T]lt
Tatの最小化を目標とする問題のことを、「オンライン線形最適化問題」という。本例示的実施形態においては、下記のバンディット・フィードバック条件の下でのオンライン線形最適化問題を考える。
【0012】
バンディット・フィードバック条件:ラウンドtにおいてベクトルatを選択した後、(1)選択したベクトルatに対する損失lt
Tatの値を参照することが可能であり、且つ、(2)選択したベクトルat以外のベクトルat’に対する損失lt
Tat’を参照することが不可能である。
【0013】
上記のバンディット・フィードバック条件の下でのオンライン最適化問題のことを、「バンディット線形最適化問題」といい、バンディット線形最適化問題を解くアルゴリズムのことを、「バンディット線形最適化アルゴリズム」という。
【0014】
以下では、バンディット線形最適化アルゴリズムの評価指標として、任意の比較ベクトル列u1,u2,…,uT∈Aに対して定義される追跡リグレットR(u)を用いる。追跡リグレットR(u)は、本願発明者らが考案した評価指標であり、バンディット線形最適化アルゴリズムにより選択されたベクトル列a1,a2,…,aTの累積損失Σt∈[T]lt
Tatと任意の比較ベクトル列の累積損失Σt∈[T]lt
Tutとの差により定義される。この追跡リグレットR(u)を評価指標として用いることで、固定戦略が有効でないバンディット線形最適化問題においても、累積損失Σt∈[T]lt
Tatを十分に小さくするベクトル列a1,a2,…,aTを見出すことが可能になる。
【0015】
〔情報処理装置の構成〕
本例示的実施形態に係る情報処理装置1の構成について、
図1を参照して説明する。
図1は、情報処理装置1の構成を示すブロック図である。
【0016】
情報処理装置1は、d次元ベクトル空間R
dの部分集合Aに対するバンディット線形最適化問題を解くための装置であり、
図1に示すように、ベクトル選択部11を備えている。
【0017】
ベクトル選択部11は、各ラウンドtにおいてベクトルatを選択するための手段である。ベクトル選択部11は、任意の比較ベクトル列u1,u2,…,uT∈Aに対する追跡リグレットR(u)=Σt∈[T]lt
Tat-Σt∈[T]lt
Tutの期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、各ラウンドtにおいてベクトルatを選択する。ここで、Pは、P=|{t∈[T-1]|ut≠ut+1}|により与えられる1以上の自然数である。ベクトル選択部11がラウンドtにおいてベクトルatを選択すると、ベクトルatに応じた損失lt
Tatがベクトル選択部11にフィードバックされる。
【0018】
なお、ベクトル選択部11は、特許請求の範囲における「ベクトル選択手段」の一例である。ベクトル選択部11が選択するatは、ディスプレイ等を介してユーザに提供されてもよいし、通信ネットワーク等を介して他の装置に提供されてもよい。また、ベクトル選択部11が選択するベクトルatは、情報処理装置1の内部で実行される各種処理において利用されてもよい。
【0019】
以下、追跡リグレットR(u)の漸近挙動が関数A(d,T,P)により上から抑えられることを、R(u)=O(A(d,T,P))とも記載する。ここで、Oは、ランダウのOである。また、追跡リグレットR(u)の対数因子を無視した漸近挙動が関数A(d,T,P)により上から抑えられることを、R(u)=~O(A(d,T,P)とも記載する。ここで、~O(数式においてはOの上に記載する~を本文においてはOの左に記載する)は、対数因子を無視したランダウのOである。
【0020】
〔情報処理方法の流れ〕
本例示的実施形態に係る情報処理方法S1の流れについて、
図2を参照して説明する。
図2は、情報処理方法S1の流れを示すフロー図である。
【0021】
情報処理方法S1は、d次元ベクトル空間R
dの部分集合Aに対するバンディット線形最適化問題を解くための方法であり、
図2に示すように、ベクトル選択処理S11を含んでいる。
【0022】
ベクトル選択処理S11は、各ラウンドt∈[T]においてベクトルat∈Aを選択するための処理である。ベクトル選択処理S11においては、任意の比較ベクトル列u1,u2,…,uT∈Aに対する追跡リグレットR(u)=Σt∈[T]lt
Tat-Σt∈[T]lt
Tutの期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、各ラウンドtにおいてベクトルatが選択される。ベクトル選択処理S11は、例えば、情報処理装置1のベクトル選択部11により実行される。
【0023】
〔情報処理装置及び情報処理方法の効果〕
標準的なバンディット線形最適化アルゴリズムにおいては、リグレットRT=Σt∈[T]lt
Tat-mina*∈AΣt∈[T]lt
Ta*の期待値の漸近挙動がT1/2で上から抑えられるように、ベクトル列a1,a2,…,aTが選択される。このため、全てのラウンドにおいて同じベクトルを選択する固定戦略が有効なバンディット線形最適化問題に対しては、有益なベクトル列a1,a2,…,aTを選択することができるが、そうでないバンディット線形最適化問題に対しては、有益なベクトル列a1,a2,…,aTを選択することができない。
【0024】
これに対して、本例示的実施形態に係る情報処理装置1及び情報処理方法S1においては、追跡リグレットR(u)=Σt∈[T]lt
Tat-Σt∈[T]lt
Tutの期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、ベクトル列a1,a2,…,aTが選択される。この際、比較ベクトル列u1,u2,…,uTは、一定であることを要さない。したがって、固定戦略が有効でないバンディット線形最適化問題に対しても、有益なベクトル列a1,a2,…,aTを選択することができる。
【0025】
〔情報処理方法の具体例1〕
本願発明者らは、バンディット線形最適化問題に関して、下記の定理Aを証明することに成功した。
【0026】
定理A:ベクトル列a
1,a
2,…,a
Tが下記の表1に記載のアルゴリズムにより選択されたベクトル列であるならば、任意の比較ベクトル列u
1,u
2,…,u
T∈Aに対して、下記の式(a0)が成り立つ。ここで、E[・]は、アルゴリズムの内的ランダムネスに対する期待値を表す。
【数1】
【0027】
その結果、リグレットR(u)の期待値の対数因子を無視した漸近挙動は、(a1)式により与えられるA(d,T,P)により上から抑えられる。ここで、βは、1以上の定数である。
【数2】
【0028】
特定のPに対しては、βをβ=Θ((1+P)
1/3)に設定することで、リグレットR(u)の期待値の対数因子を無視した漸近挙動は、(a2)式により与えられるA(d,T,P)により上から抑えられる。
【数3】
【0029】
【0030】
以下、この定理を具現化することにより得られる、情報処理方法S1の具体例について、
図3を参照して説明する。なお、この定理は、本例示的実施形態の一実施例を与えるものに過ぎず、本例示的実施形態は、この定理に限定して解釈されるべきものではない。
【0031】
図3は、本具体例に係る情報処理方法S1の流れを示すフロー図である。
【0032】
本具体例に係る情報処理方法S1においては、ベクトル選択処理S11に先行して初期設定処理S10が実行される。初期設定処理S10においては、探索率γ∈(0,1)、探索基底π、ラウンド区間列{[sj,ej]}j∈N、学習率列{ηj}j∈N、摂動因子列{ρj}j∈Nが設定される。
【0033】
ここで、探索率γは、0よりも大きく1よりも小さい実数である。探索率γは、例えば、ユーザにより指定された値に設定される。探索基底πは、部分集合A上の確率分布である。探索基底πは、例えば、S(π)=Σ
a∈Aπ(a)aa
Tを用いてg(π)=max
b∈AbS(π)
-1bにより定義されるg(π)がg(π)≦Cd(Cは1以上の定数)を満たすように設定される。ラウンド区間[s
j,e
j]は、[s
j,e
j]={s
j,s
j+1,…,e
j-1,e
j}により定義される連続するラウンドの集合である。ラウンド区間列{[s
j,e
j]}
j∈Nは、例えば、下記(a3)式に従って設定される。学習率η
jは、実数である。学習率η
jは、例えば、ラウンド区間列{[s
j,e
j]}
j∈Nを用いて下記(a4)式に従って設定される。摂動因子ρ
jは、実数である。摂動因子ρ
jは、例えば、ラウンド区間列{[s
j,e
j]}
j∈Nを用いて下記(a5)式に従って設定される。
【数4】
【数5】
【数6】
【0034】
ベクトル選択処理S11は、初期化ステップS11a、候補ベクトル設定ステップS11b、確率群設定ステップS11c、選択インデックス特定ステップS11d、第1ベクトル選択ステップS11e、フィードバック取得ステップS11f、第1損失ベクトル推定ステップS11g、第1重み群更新ステップS11h、第2ベクトル選択ステップS11i、第2損失ベクトル推定ステップS11j、及び第2重み群更新ステップS11kと、を含んでいる。
【0035】
初期化ステップS11aは、各j∈Active(t)について重みw1
(j)をw1
(j)=ηjに設定すると共に、行列MをM=S(π)-1/2に設定するステップである。
【0036】
候補ベクトル設定ステップS11bは、前ラウンドt-1までに推定された損失ベクトル^l
1,^l
2,…,^l
t-1に応じた候補ベクトル群{a
t
(j)}
j∈Active(t)を設定するステップである。本具体例においては、d次元の標準正規分布r
t
(j)を用いて、各j∈Active(t)について候補ベクトルa
t
(j)を下記(a6)式に従って設定する。
【数7】
【0037】
確率群設定ステップS11cは、前ラウンドt-1において更新された重み群w
t={w
t
(j)}
j∈Active(t)に応じた確率群q
t={q
t
(j)}
j∈Active(t)を設定するステップである。本具体例においては、各j∈Active(t)について確率q
t
(j)を下記(a7)式に従って設定する。
【数8】
【0038】
インデックス選択ステップS11dは、確率群qtに従ってインデックスjtをランダムに選択するステップである。本具体例においては、任意のj∈Active(t)について、Prob[jt=j]=qt
(j)を満たすインデックスjtを選択する。
【0039】
ベクトル選択部11は、探索的ベクトル選択又は非探索的ベクトル選択の何れか一方を実行する。ベクトル選択部11が探索的ベクトル選択を実行する確率は、γであり、ベクトル選択部11が非探索的ベクトル選択を実行する確率は、1-γである。
【0040】
探索的ベクトル選択は、第1ベクトル選択ステップS11e、フィードバック取得ステップS11f、第1損失ベクトル推定ステップS11g、及び第1重み群更新ステップS11fにより構成される。
【0041】
第1ベクトル選択ステップS11eは、探索基底πに従って候補ベクトル群{at
(j)}j∈Active(t)からベクトルatをランダムに選択するステップである。
【0042】
フィードバック取得ステップS11fは、ベクトルatに応じたフィードバックlt
Tatを取得するステップである。
【0043】
第1損失ベクトル推定ステップS11gは、フィードバックlt
Tatに応じて損失ベクトル^lt(数式においてlの上に記載する^を本文においてはlの前に記載)を推定するステップである。本具体例においては、損失ベクトル^ltが^lt=(lt
Tat/γ)(S(π))-1atであると推定する。
【0044】
第1重み群更新ステップS11fは、損失ベクトル^l
tに応じて重み群w
tを更新するステップである。本具体例においては、重み群w
tを下記(a8)式に従って更新する。
【数9】
【0045】
なお、本具体例においては、r
tを下記(a9)式に従って算出する。
【数10】
【0046】
非探索的ベクトル選択は、第2ベクトル選択ステップS11i、第2損失ベクトル推定ステップS11j、及び第2重み群更新ステップS11kにより構成される。
【0047】
第2ベクトル選択ステップS11iは、候補ベクトル群{at
(j)}j∈Active(t)からベクトルat
(jt)を選択するステップである。インデックスjtは、Active(t)から確率群qtに従ってランダムに選択されたインデックスなので、ベクトルat
(jt)は、候補ベクトル群{at
(j)}j∈Active(t)から確率群qtに従ってランダムに選択されたベクトルであると見做すことができる。
【0048】
第2損失ベクトル推定ステップS11jは、損失ベクトル^ltを^lt=0と推定するステップである。
【0049】
第2重み群更新ステップS11kは、重み群wtをwt+1=wtに従って更新するステップである。
【0050】
〔情報処理方法の具体例2〕
本願発明者らは、バンディット最適化問題に関して、下記の定理Bを証明することに成功した。
【0051】
定理B:ベクトル列a
1,a
2,…,a
Tが下記の表2に記載のアルゴリズムにより選択されたベクトル列であるならば、任意の比較ベクトル列u
1,u
2,…,u
T∈Aに対して、下記の式(b0)が成り立つ。ここで、E[・]は、アルゴリズムの内的ランダムネスに対する期待値を表す。
【数11】
【0052】
その結果、リグレットR(u)の期待値の漸近挙動は、(b1)式により与えられるA(d,T,P)により上から抑えられる。ここで、βは、1以上の定数である。
【数12】
【0053】
特定のPに対しては、βをβ=Θ((1+P)
1/2)に設定することで、リグレットR(u)の期待値の漸近挙動は、(b2)式により与えられるA(d,T,P)により上から抑えられる。
【数13】
【0054】
【0055】
以下、この定理を具現化することにより得られる情報処理方法S1の具体例について、
図4を参照して説明する。なお、この定理は、本例示的実施形態の一実施例を与えるものに過ぎず、本例示的実施形態は、この定理に限定して解釈されるべきものではない。
【0056】
図4は、本具体例に係る情報処理方法S1の流れを示すフロー図である。
【0057】
本具体例に係る情報処理方法S1においては、ベクトル選択処理S11に先行して初期設定処理S10が実行される。初期設定処理S10においては、探索率γ∈(0,1)、シェア率α∈(0,1)、探索基底π、学習率η>0が設定される。
【0058】
ここで、探索率γは、0よりも大きく1よりも小さい実数である。探索率γは、例えば、ユーザにより指定された値に設定される。シャア率αは、0よりも大きく1よりも小さい実数である。シェア率αは、例えば、α=Θ(1/T)に設定される。探索基底πは、部分集合A上の確率分布である。探索基底πは、例えば、S(π)=Σa∈Aπ(a)aaTを用いてg(π)=maxb∈AbS(π)-1bにより定義されるg(π)がg(π)≦Cd(Cは1以上の定数)を満たすように設定される。学習率ηは、正の実数である。学習率ηは、例えば、η=γ/(2Cd)に設定される。ここで、γは、Θ(dβ(ClogT/T)1/2)である。
【0059】
ベクトル選択処理S11は、初期化ステップS11m、確率分布設定ステップS11n、ベクトル選択ステップS11o、フィードバック取得ステップS11p、損失ベクトル推定ステップS11q、及び重み関数更新ステップS11rを含んでいる。
【0060】
初期化ステップS11
mは、重み関数w
1(t):A→Rを恒等関数w
1(x)=1に設定すると共に、重みW1を下記(b3)式に従って設定する。
【数14】
【0061】
確率分布設定ステップS11
nは、前ラウンドt-1において更新された重み関数w
t:A→Rに応じた確率分布p
t:A→[0,1]を設定するステップである。本具体例においては、確率分布p
tを下記(b4)式に従って設定する。
【数15】
【0062】
ベクトル選択ステップS11oは、確率分布ptに従って部分集合Aからベクトルatをランダムに選択するステップである。
【0063】
フィードバック取得ステップS11pは、ベクトルatに応じたフィードバックlt
Tatを取得するステップである。
【0064】
損失ベクトル推定ステップS11qは、フィードバックに応じて損失ベクトル^ltを推定するステップである。本具体例においては、損失ベクトル^ltが^lt=lt
Tat・(S(pt))-1atであると推定する。
【0065】
重み関数更新ステップS11rは、損失ベクトル^l
tに応じて重み関数w
tを更新するステップである。本具体例においては、下記(b5)式、下記(b6)式、及び下記(b7)式に従って重み関数w
tを更新する。
【数16】
【数17】
【数18】
【0066】
〔ソフトウェアによる実現例〕
情報処理装置1の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。後者の場合、情報処理装置1の各部の機能は、例えば、ソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。
【0067】
このようなコンピュータの一例(以下、コンピュータCと記載する)を
図5に示す。コンピュータCは、
図5に示すように、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置1として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置1の各部の機能を実現する。
【0068】
プロセッサ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)、又は、これらの組み合わせなどを用いることができる。
【0069】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウスなどの入力機器、及び/又は、ディスプレイやプリンタなどの出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0070】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0071】
〔応用例〕
上述した情報処理装置1は、各種問題に応用可能である。以下にその一例を挙げる。
【0072】
(割引クーポンの提供)
ある電子商取引サイトの運営会社が顧客に提供する割引クーポンを決定する問題を考える。この場合、複数の顧客に提供する割引クーポンを決定する行動は、各顧客に提供する割引クーポンの種類を成分とするベクトルatにより表現される。例えば、顧客Aに対し商品1の割引クーポンを提供し、顧客Bに対して商品2の割引クーポンを提供し、顧客Cに対して商品3の割引クーポンを提供する、という行動は、ベクトルat=(1、2、3、・・・)により表現される。そして、フィードバックとして損失lt
Tatが得られるものとする。ここで、損失lt
Tatとしては、割引クーポンの利用の有無、注視時間、割引クーポンをクリックしたか否か、商品の購入額、購入確率、購入額、等に基づく値であってもよい。
この場合、上記の情報処理方法S1を適用することで、損失を小さくする割引クーポンを決定することができる。特に、オンラインマーケティングのように、顧客の嗜好・効用が変化しやすい場合であっても、顧客毎に最適な割引クーポンを提供することができる。
【0073】
(配送・送迎)
荷物の配送、顧客の送迎等を行う配送トラック、配車予定タクシー等のエージェントが配送経路または送迎経路(以下「経路」という)を決定する問題を考える。この場合、経路を決定する行動は、複数の経路の各々に対する選択の有無を成分とするベクトルatにより表現される。例えば、第1の道を通り、第2の道を通らず、第3の道を通る経路を決定する行動は、ベクトルat=(1,0,1,…)により表現される。そして、フィードバックとして損失lt
Tat(例えば、配送コスト)が得られるものとする。
【0074】
この場合、上記の情報処理方法S1を適用することで、損失を小さくする経路を決定することができる。特に、天候や混雑状況等、環境によって左右されやすい配送計画を最適化することができる。
【0075】
(リテール)
ある店舗において各社ビールの割増率/割引率を決定する問題を考える。この場合、各社ビールの割増率/割引率を決定する行動は、各社ビールの割増率/割引率を成分とするベクトルatにより表現される。例えば、A社のビールを定価とし、B社のビールの価格を2割増しとし、C社のビールを1割引きとする行動は、ベクトルat=(0,+2,-1,…)により表現される。そして、フィードバックとして損失lt
Tatが得られるものとする。この場合、上記の情報処理方法S1を適用することで、損失を小さくする割増率/割引率を決定することができる。
【0076】
(投資ポートフォリオ)
投資家の投資行動を決定する問題を考える。この場合、投資家が保有する又は保有しようとする複数の金融商品(株式の銘柄等)に対する投資(購入、増資)、売却、保有の行動は、各金融商品の投資行動の内容を成分とするベクトルatにより表現される。例えば、A社の株式への追加投資、B社の債権を保有(購入も売却もしない)、C社の株式の売却、という行動は、ベクトルat=(1、0、2、・・・)により表現される。そして、フィードバックとして、損失lt
Tatが得られるものとする。この場合、上記の情報処理方法S1を適用することで、損失を小さくする投資行動を決定することができる。
【0077】
(治験)
製薬会社におけるある薬品の治験のための投薬行動を決定する問題を考える。この場合、複数の被験者への投薬の分量・投薬の有無を決定する行動は、各被験者に対する投薬行動の内容を成分とするベクトルatにより表現される。例えば、被験者Aに対して分量1の投薬を行い、被験者Bに対して投薬を行わず、被験者Cに対して分量2の投薬を行う、という行動は、ベクトルat=(1、0、2、・・・)により表現される。そして、フィードバックとして損失lt
Tat(例えば、副作用発生率)が得られるものとする。この場合、上記の情報処理方法S1を適用することで、損失を小さくする投薬行動を決定することができる。
【0078】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0079】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、付記として以下の記載する態様に限定されるものではない。
【0080】
(付記1)
d次元ベクトル空間Rd(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルatを選択するベクトル選択手段を備えており、
前記ベクトル選択手段は、l1,l2,…,lT∈Rdを損失ベクトルとして、任意の比較ベクトル列u1,u2,…,uT∈Aに対する追跡リグレットR(u)=Σt∈[T]lt
Tat-Σt∈[T]lt
Tutの期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、各ラウンドtにおいてベクトルatを選択する、ことを特徴とする情報処理装置。
【0081】
ここで、Pは、P=|{t∈[T-1]|ut≠ut+1}|により与えられる1以上の自然数である。
【0082】
(付記2)
前記ベクトル選択手段は、追跡リグレットR(u)の期待値の対数因子を無視した漸近挙動が関数A(d,T,P)により上から抑えられるように、ベクトル列a
1,a
2,…,a
T∈Aを選択し、
関数A(d,T,P)は、不特定のPに対して下記式(a1)により与えられるか、又は、特定のPに対して下記式(a2)により与えられる、
ことを特徴とする付記1に記載の情報処理装置。
【数19】
ここで、βは、1以上の定数である。
【数20】
【0083】
(付記3)
前記ベクトル選択手段は、各ラウンドtにおいて、
前ラウンドt-1までに推定された損失ベクトル^l1,^l2,…,^lt-1に応じた候補ベクトル群{at
(j)}j∈Active(t)を設定する候補ベクトル設定ステップと、
前ラウンドt-1において更新された重み群wt={wt
(j)}j∈Active(t)に応じた確率群qt={qt
(j)}j∈Active(t)を設定する確率群設定ステップと、
(1)予め定められた探索基底πに従って候補ベクトル群{at
(j)}j∈Active(t)からベクトルatをランダムに選択する第1ベクトル選択ステップ、フィードバックに応じて損失ベクトル^ltを推定する第1損失ベクトル推定ステップ、損失ベクトル^ltに応じて重み群wtを更新する第1重み群更新ステップ、又は、(2)確率群qtに従って候補ベクトル群{at
(j)}j∈Active(t)からベクトルatをランダムに選択する第2ベクトル選択ステップ、損失ベクトル^ltを^lt=0と推定する第2損失ベクトル推定ステップ、及び、重み群wtをwt+1=wtに従って更新する第2重み群更新ステップの何れかと、を実行する、
ことを特徴とする付記2に記載の情報処理装置。
【0084】
(付記4)
前記ベクトル選択手段は、追跡リグレットR(u)の期待値の漸近挙動が関数A(d,T,P)により上から抑えられるように、ベクトル列a
1,a
2,…,a
T∈Aを選択し、
関数A(d,T,P)は、不特定のPに対して下記式(b1)により与えられるか、又は、特定のPに対して下記式(b2)により与えられる、
ことを特徴とする付記1に記載の情報処理装置。
【数21】
ここで、βは、1以上の定数である。
【数22】
【0085】
(付記5)
前記ベクトル選択手段は、各ラウンドtにおいて、
前ラウンドt-1において更新された重み関数wt:A→Rに応じた確率分布pt:A→[0,1]を設定する確率分布設定ステップと、
確率分布ptに従って部分集合Aからベクトルatをランダムに選択するベクトル選択ステップと、
フィードバックに応じて損失ベクトル^ltを推定する損失ベクトル推定ステップと、
損失ベクトル^ltに応じて重み関数wtを更新する重み関数更新ステップと、を実行する、ことを特徴とする付記4に記載の情報処理装置。
【0086】
(付記6)
d次元ベクトル空間Rd(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルatを選択するベクトル選択手段を備えており、
前記ベクトル選択手段は、各ラウンドtにおいて、
前ラウンドt-1までに推定された損失ベクトル^l1,^l2,…,^lt-1に応じた候補ベクトル群{at
(j)}j∈Active(t)を設定する候補ベクトル設定ステップと、
前ラウンドt-1において更新された重み群wt={wt
(j)}j∈Active(t)に応じた確率群qt={qt
(j)}j∈Active(t)を設定する確率群設定ステップと、
(1)予め定められた探索基底πに従って候補ベクトル群{at
(j)}j∈Active(t)からベクトルatをランダムに選択する第1ベクトル選択ステップ、フィードバックに応じて損失ベクトル^ltを推定する第1損失ベクトル推定ステップ、損失ベクトル^ltに応じて重み群wtを更新する第1重み群更新ステップ、又は、(2)確率群qtに従って候補ベクトル群{at
(j)}j∈Active(t)からベクトルatをランダムに選択する第2ベクトル選択ステップ、損失ベクトル^ltを^lt=0と推定する第2損失ベクトル推定ステップ、及び、重み群wtをwt+1=wtに従って更新する第2重み群更新ステップの何れかと、を実行する、
ことを特徴とする情報処理装置。
【0087】
(付記7)
d次元ベクトル空間Rd(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルatを選択するベクトル選択手段を備えており、
前記ベクトル選択手段は、各ラウンドtにおいて、
重み関数wt:A→Rに応じた確率分布pt:A→[0,1]を設定する確率分布設定ステップと、
確率分布ptに従って部分集合Aからベクトルatをランダムに選択するベクトル選択ステップと、
フィードバックに応じて損失ベクトル^ltを推定する損失ベクトル推定ステップと、
損失ベクトル^ltに応じて重み関数wtを更新する重み関数更新ステップと、を実行する、ことを特徴とする情報処理装置。
【0088】
(付記8)
d次元ベクトル空間Rd(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルatを選択すること、を含んでおり、
前記ベクトルatの選択において、l1,l2,…,lT∈Rdを損失ベクトルとして、任意の比較ベクトル列u1,u2,…,uT∈Aに対する追跡リグレットR(u)=Σt∈[T]lt
Tat-Σt∈[T]lt
Tutの期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、各ラウンドtにおいてベクトルatを選択する、
ことを特徴とする情報処理方法。
【0089】
ここで、Pは、P=|{t∈[T-1]|ut≠ut+1}|により与えられる1以上の自然数である。
【0090】
(付記9)
コンピュータを情報処理装置として動作させるためのプログラムであって、
前記コンピュータを、d次元ベクトル空間Rd(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルatを選択するベクトル選択手段、として機能させ、
前記ベクトル選択手段は、l1,l2,…,lT∈Rdを損失ベクトルとして、任意の比較ベクトル列u1,u2,…,uT∈Aに対する追跡リグレットR(u)=Σt∈[T]lt
Tat-Σt∈[T]lt
Tutの期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、各ラウンドtにおいてベクトルatを選択する、
ことを特徴とするプログラム。
【0091】
ここで、Pは、P=|{t∈[T-1]|ut≠ut+1}|により与えられる1以上の自然数である。
【0092】
(付記10)
付記9に記載のプログラムが記録された、コンピュータ読み取り可能な記録媒体。
【0093】
(付記11)
少なくとも1つのプロセッサを備え、前記プロセッサは、
d次元ベクトル空間Rd(dは任意の自然数)の部分集合Aから各ラウンドt∈[T](Tは任意の自然数)においてベクトルatを選択するベクトル選択処理を実行し、
前記ベクトル選択処理においては、l1,l2,…,lT∈Rdを損失ベクトルとして、任意の比較ベクトル列u1,u2,…,uT∈Aに対する追跡リグレットR(u)=Σt∈[T]lt
Tat-Σt∈[T]lt
Tutの期待値の漸近挙動又は対数因子を無視した漸近挙動が予め定められた関数A(d,T,P)により上から抑えられるように、各ラウンドtにおいてベクトルatを選択する、
ことを特徴とする情報処理装置。
【0094】
ここで、Pは、P=|{t∈[T-1]|ut≠ut+1}|により与えられる1以上の自然数である。
【0095】
(付記12)
なお、これらの情報処理装置は、更にメモリを備えていてもよく、このメモリには、ベクトル選択処理、を前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0096】
1 情報処理装置
11 ベクトル選択部(ベクトル選択手段)
S1 情報処理方法
S11 ベクトル選択処理