>100 Views
October 09, 25
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
2025年度後期輪読会 #1(2025/10/9) ゼロから作るDeep Learning❹ 1.4-1.6 バンディット問題 京都大学工学部理工化学科B2 岡本和優 0
アジェンダ ◼ 1.4 バンディットアルゴリズムの実装 ◼ 1.5 非定常問題 ◼ 1.6 まとめ 1
アジェンダ ◼ 1.4 バンディットアルゴリズムの実装 ◼ 1.5 非定常問題 ◼ 1.6 まとめ 2
スロットマシンとエージェントの実装 価値の推定値を更新→ε-greedy法で行動選択 Banditクラスの定義 Agentクラスの定義 3
バンディットアルゴリズムを動かしてみる 実行結果にはランダム性があるため複数回の実験が必要 • 先ほど実装したバンディットアルゴリズムは、実験のたびに結果が異なる • スロットマシンの勝率設定、ε-greedy法のランダム探索でランダム性が生じる 10回実験した結果 200回実験した結果の平均 各ステップでの 勝率の平均をとって プロット 4
探索と活用のバランス εの値によっても結果は変わる。適切な値を設定することが必要 • εが大きすぎる→探索により良いマシンはすぐに見つかるが、十分活用されない • εが小さすぎる→探索の割合が小さすぎて良いマシンを見つけられない 適切なεを設定して探索と活用のバランスを取ることが重要 5
アジェンダ ◼ 1.4 バンディットアルゴリズムの実装 ◼ 1.5 非定常問題 ◼ 1.6 まとめ 6
非定常問題とは? 報酬の確率分布がプレイするごとに変わる問題 • 定常問題:報酬の確率分布が定常(変わらない) • スロットマシンに設定された勝率は何回プレイしても同じ • 非定常問題:報酬の確率分布が定常でない • スロットマシンに設定された勝率はプレイするごとに変わる 非定常なバンディットクラスの定義 • ノイズを加えることで スロットマシンの勝率を 毎回変化させている 7
非定常問題でどうやって価値を推定するか? 指数移動平均を用いて過去の報酬の重みを小さくする • 定常問題では標本平均でスロットマシンの価値を推定していた Q𝑛 = 𝑅1 +𝑅2 +⋯+𝑅𝑛 1 1 1 = 𝑅1 + 𝑅2 + ⋯ + 𝑅𝑛 𝑛 𝑛 𝑛 𝑛 • 報酬の重みづけはすべて1/𝑛 • 非定常問題では新しく得られた報酬に対してより大きな重みを与えたい • 指数移動平均を用いてスロットマシンの価値を推定。次のようにして更新する 𝑄𝑛 = 𝑄𝑛−1 + 𝛼 𝑅𝑛 − 𝑄𝑛−1 • 書き下すと重みが指数関数的に減少していることがわかる 𝑄𝑛 = αR 𝑛 + 𝛼 1 − 𝛼 𝑅𝑛 + ⋯ + 𝛼 1 − 𝛼 𝑛−1 𝑅1 + (1 − 𝛼)𝑛 𝑄0 8
非定常問題を解く 価値の推定値の更新を変更するだけ 指数移動平均で更新するAgentクラスの定義 指数移動平均と標本平均の比較 9
アジェンダ ◼ 1.4 バンディットアルゴリズムの実装 ◼ 1.5 非定常問題 ◼ 1.6 まとめ 10
まとめ 強化学習は機械学習の一分野……、でも明らかな違いがある • 強化学習の目的:報酬の総和を最大化する行動パターンを身に着けること • 今回のバンディット問題は、複数の選択肢から最善の選択肢を選ぶ問題として一般化できる • ex. Webデザインの選択、有効な薬の選択 • ε-greedy法:探索と活用のバランスによって問題を効率よく解くアルゴリズム • 定常問題のときは標本平均、非定常問題のときは指数移動平均で重みづけ 11