UCB(Upper Confidence Bound)

強化学習における「UCB(Upper Confidence Bound)」は、方策探索において探索と活用のバランス(exploration-exploitation trade-off)を取るための手法の一つです。特に多腕バンディット問題(Multi-Armed Bandit)において効果的に用いられます。


基本的な考え方

UCBは、各行動(アーム)に対して「平均報酬」と「不確実性の上限」を組み合わせたスコアを計算し、そのスコアが最も高い行動を選びます。

  • 活用(exploitation):過去の経験から報酬が高かった行動を選ぶ。

  • 探索(exploration):まだあまり試していない行動も選んでみる。

UCBはこの両者を、確率的ではなく決定的なルールで同時に実現します。


数式表現

多腕バンディットの文脈で、各アーム aa に対して次のスコアを計算します:

UCBa(t)=rˉa(t)+clntNa(t)\text{UCB}_a(t) = \bar{r}_a(t) + c \cdot \sqrt{\frac{\ln t}{N_a(t)}}

  • rˉa(t)\bar{r}_a(t):アーム aa の時点 tt までの平均報酬

  • Na(t)N_a(t):アーム aa をこれまでに選んだ回数

  • tt:全体の試行回数

  • cc:探索の度合いを調整するパラメータ(定数)


各項の意味

項目 内容
rˉa(t)\bar{r}_a(t) 活用要素:過去の経験に基づく報酬の平均。高いほど選ばれやすい。
lntNa(t)\sqrt{\frac{\ln t}{N_a(t)}} 探索要素:試行回数が少ないアームに対して大きくなる。試していない行動を促進。
lnt\ln t 全体の試行回数が増えるにつれて、探索要素はゆるやかに減少。

UCBの特徴とメリット

  • 理論的保証:UCBは後悔(regret)に関して理論的な上限が証明されている。

  • 決定的選択:確率的な選択ではなく、スコアが最大のアームを常に選ぶ。

  • 効率的な探索:試行回数の少ない行動に自動的にボーナスを与え、適度に試す。


UCBと他の手法の比較

手法 探索方法 確率的? 調整パラメータ
ε-greedy εの確率でランダム選択 はい ε(探索率)
ソフトマックス探索 ソフトマックス分布で選択 はい 温度パラメータ τ
UCB スコアに基づいて決定的選択 いいえ 探索係数 cc

応用分野

  • 多腕バンディット

  • オンライン広告最適化

  • 推薦システム

  • ロボットの行動選択


まとめ

UCBは、「まだよく分かっていない行動には大きなボーナスを与える」という考え方に基づく手法であり、探索と活用を理論的にバランスさせるアルゴリズムです。その決定的かつ効率的な探索能力により、強化学習のさまざまな場面で重要な役割を果たします。

生成日:2025/06/01