>100 Views
November 06, 25
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
2025年後期輪読会 #6 ゼロから作るDeep Learning❹ 5.1-5.3 モンテカルロ法 京都大学 総合人間学部 B1 本川玄人 0
アジェンダ ◼ モンテカルロ法の基礎 ◼ モンテカルロ法による方策評価 ◼ モンテカルロ法の実装 1
アジェンダ ◼ モンテカルロ法の基礎 ◼ モンテカルロ法による方策評価 ◼ モンテカルロ法の実装 2
モンテカルロ法の基礎 導入 DPは万能ではない… • 状態遷移確率や報酬関数が未知であると使えない • 現実にある問題の多くは環境のモデルが未知 • 計算量が膨大になることも多い 経験から学ぶ=データのサンプリングを行い、その結果から価値関数を推定(*) モンテカルロ法を使って(*)を行う 3
モンテカルロ法の基礎 モンテカルロ法の利点 分布モデル:確率分布として表されたモデル サンプルモデル:サンプリングが可能なモデル(確率分布などは必要ない) 例:サイコロの目の和の期待値を計算 • 分布モデルを使うとき →確率分布の実装が必要であり、サイコロの個数が多くなると困難 • サンプルモデルを使うとき →サンプルの平均値をとるとよい(モンテカルロ法) サンプル数を多くすると平均値は正しい値に収束(大数の法則) 4
モンテカルロ法の基礎 期待値計算の実装(サイコロの目の和) 二つの方式に基づいて毎回の平均値を求める実装を行う sample関数で目の和のサンプリングを行う [方式1] 𝑠1 + 𝑠2 + ⋯ + 𝑠𝑛 𝑉𝑛 = 𝑛 [方式2] 1 𝑉𝑛 = 𝑉𝑛−1 + (𝑠𝑛 − 𝑉𝑛−1 ) 𝑛 この場合は方式2の方が計算量が少ない サンプルモデルによる値は分布モデルによるものに収束する 5
アジェンダ ◼ モンテカルロ法の基礎 ◼ モンテカルロ法による方策評価 ◼ モンテカルロ法の実装 6
モンテカルロ法による方策評価 方策の価値関数をモンテカルロ法を使って求める エピソードタスクを考える(連続タスクでは使えない) 収益の平均を調べて方策を評価する 真の価値関数𝑣𝜋 𝑠 = 𝔼𝜋 [𝐺|𝑠] 方策評価を数式で書くと次のようになる: 𝑉𝜋 𝑠 :状態sからスタートし、方策πに従うときの価値関数の推測値 𝐺 (𝑖) :𝑖回目のエピソードにおける収益(サンプリングで得られた値) とすると 𝐺 (1) + 𝐺 (2) + ⋯ + 𝐺 (𝑛) 𝑉𝜋 𝑠 = 𝑛 これをすべての状態にわたって計算し、他の方策と比較する 7
モンテカルロ法による方策評価 効率よくサンプリングする方法を考える 方策を評価するにはすべての状態について調べる必要がある 全ての状態を求めるには A→〇→〇→…→ B→〇→〇→…→ のように各状態からスタートするとよい? これでも可能だが効率よく計算する方法がある 赤枠で見るとBから始まるエピソード 青枠で見るとCから始まるエピソード 1回のエピソードから複数のサンプルが取れる! A→B→C→D→… 8
モンテカルロ法による方策評価 効率の良い計算方法を考える 𝐴1 → 𝐴2 → ⋯ → 𝐴𝑛 →◆と遷移し、𝑅1 , 𝑅2 , … の報酬が得られたとき 割引率を𝛾とすると(◆はエピソードの終わりを表す)、 𝐺𝐴1 = 𝑅1 + 𝛾𝑅2 + 𝛾 2 𝑅3 + ⋯ + 𝛾 𝑛 𝑅𝑛 𝐺𝐴2 = 𝑅2 + 𝛾𝑅3 + ⋯ + 𝛾 𝑛 𝑅𝑛 ⋮ 𝐺𝐴𝑛 = 𝑅𝑛 このとき、𝐺𝐴𝑘 = 𝑅𝑘 + 𝛾𝐺𝐴𝑘+1 1 ≤ 𝑘 ≤ 𝑛 − 1 が成り立つので、 タスクの終了から後ろ向きに計算すると効率が良い! 9
アジェンダ ◼ モンテカルロ法の基礎 ◼ モンテカルロ法による方策評価 ◼ モンテカルロ法の実装 10
モンテカルロ法の実装 方策を正しく評価できることを確認する 実装内容 • 「3 × 4のグリッドワールド」の問題を解く(設定は4章を参照) • エージェントはランダムな方策に従って行動 このときの価値関数をモンテカルロ法を用いて推定する 平均をとることで正しく評価できるのか? →動的計画法と比較する 11
モンテカルロ法の実装 エージェントのサンプリングを可能にする 割引率は0.9、方策は分布モデルに従うものとする 12
モンテカルロ法の実装 エージェントと環境を連携させて動かす エピソード数を変えて収束することも確かめる 13
モンテカルロ法の実装 モンテカルロ法による異なるエピソード数における推定値 N:エピソード数 N=10 N=100 N=500 N=1000 14
モンテカルロ法の実装 実装結果の確認 モンテカルロ法で得られる結果は動的計画法による値に収束する! →方策が正しく評価できていることが分かった ただし、最終目標は方策制御を行うこと では、モンテカルロ法で方策制御はできる? モンテカルロ法による 価値関数(N=1000) ここがわかった こっちを知りたい 方策評価 方策制御 動的計画法による価値関数 15