>100 Views
June 26, 25
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
生成Deep Larning輪読会 #10 (2025/6/26) 生成Deep Learning第2版 12.1-12.5:世界モデル 京都大学工学部理工化学科B2 岡本 和優 0
アジェンダ ◼ 12.1 イントロダクション ◼ 12.2 強化学習 ◼ 12.3 世界モデルの概要 ◼ 12.4 ランダムなロールアウトデータ を収集する ◼ 12.5 VAEを訓練する 1
アジェンダ ◼ 12.1 イントロダクション ◼ 12.2 強化学習 ◼ 12.3 世界モデルの概要 ◼ 12.4 ランダムなロールアウトデータ を収集する ◼ 12.5 VAEを訓練する 2
世界モデルとは? 実際の環境そのものではなく、モデルが生成した環境の中で学習を行うことを可能にしたもの • 実際の環境ではなく、生成モデルが作り出した「夢」の環境で学習が行えるようになった • 生成モデルと強化学習など、他の機械学習の手法の組み合わせによって より実践的な問題が解けることが示された 3
アジェンダ ◼ 12.1 イントロダクション ◼ 12.2 強化学習 ◼ 12.3 世界モデルの概要 ◼ 12.4 ランダムなロールアウトデータ を収集する ◼ 12.5 VAEを訓練する 4
強化学習とは? エージェントが与えられた環境内で最適な行動を取るように訓練させる手法 • 損失関数の最小化ではなく、報酬の最大化が目的 • 環境:エージェントが行動する世界。ゲーム状態の更新や報酬を定義する • エージェント:環境で行動する主体 • ゲーム状態:エージェントが出会う可能性のある特定の状況を表すデータ • 行動:エージェントが取ることのできる手段 • 報酬:行動の後に環境からエージェントに戻される値 • エピソード:エージェントの開始から終了までの1回の実行 • 時間ステップ:イベントごとに時間の添え字がつく 5
CarRacing環境 レースゲームを環境として定義する • ゲーム状態:64×64のRGB画像。トラックと車の鳥観図 • 行動:ハンドルの方向・加速・減速の3つの値の集合 • 報酬:時間ステップごとに-0.1の罰金。 新しいトラックのタイルが来るたび 1000/N(Nはタイルの総数)の報酬 • エピソード:車がトラックを回り終える、 車が環境の境界の外に出る、 3000時間ステップが経過、 のいずれかの場合に終了 6
アジェンダ ◼ 12.1 イントロダクション ◼ 12.2 強化学習 ◼ 12.3 世界モデルの概要 ◼ 12.4 ランダムなロールアウトデータ を収集する ◼ 12.5 VAEを訓練する 7
世界モデルのアーキテクチャ VAE+MDN-RNN+コントローラの組み合わせ • VAE:入力画像を潜在空間にエンコード • MDN-RNN:前の潜在状態と前の行動をもとに、次の潜在状態の分布を予測 • コントローラ:現在の潜在状態とRNNの隠れ状態からニューラルネットワークで行動を出力 • VAEとMDN-RNNが作り出した「夢」の世界で訓練を行えるようにすることが目的 8
訓練プロセス VAEやMDN-RNN、コントローラを環境からランダムに集めたデータを用いて訓練する 1. ランダムなロールアウトデータを収集する エージェントはランダムに環境を探索し、観測された状態・行動・報酬を格納する 2. VAEを訓練する ランダムに集めたデータの観測画像を用いてVAEを訓練する 3. MDN-RNN訓練用のデータを収集する VAEで集めた観測をmuとlogvarにエンコード 4. MDN-RNNを訓練する mu・logvarにしたがってサンプリングしたz、 現在の行動と報酬から次のzと報酬を予測できるように訓練する 5. コントローラを訓練する RNNの隠れ状態hから行動を出力できるようにする 9
アジェンダ ◼ 12.1 イントロダクション ◼ 12.2 強化学習 ◼ 12.3 世界モデルの概要 ◼ 12.4 ランダムなロールアウトデータ を収集する ◼ 12.5 VAEを訓練する 10
ランダムなロールアウトデータの収集 ランダムな行動を取るエージェントを用いて環境のデータを収集する どのように世界は動いているのか?その行動がその後の観測にどのような影響を与えるのか? • 各エピソードによって得られた 観測画像、行動a、報酬rを タイムステップごとに それぞれ格納していく • 環境から得られたデータを用いて、 その環境を「夢」として再現できるよう VAEやMDN-RNNを訓練する 11
アジェンダ ◼ 12.1 イントロダクション ◼ 12.2 強化学習 ◼ 12.3 世界モデルの概要 ◼ 12.4 ランダムなロールアウトデータ を収集する ◼ 12.5 VAEを訓練する 12
VAEのアーキテクチャ 行っていることは普通のVAEと同じ サブモデルを定義することでより便利に扱える • vae:入力画像を受け取り、それを再構成 • encode_mu_logbar:入力画像を受け取り、 muとlogvarを出力 • encode:入力画像を受け取り、 サンプリングしたzを出力 • decode:zを受け取り、画像を再構成 13
VAEを探索する 画像がうまく再構成されているかチェックすることで、VAEが機能していることを確認する • 入力画像がVAEの出力できちんと再構成されている • デコーダーを用いて線形補完したzで画像を再構成 • 潜在空間が連続になっていることを確認 (まだ見たことのないトラックも生成できる) 14
まとめ 世界モデルとは、内部に「夢」の環境を作り出す生成モデルのこと • 世界モデルの登場によって、実際の環境そのものではなく、 生成モデルが作り出した環境の中で学習が行えることが示された • 強化学習とは、与えられた環境内でエージェントが最適な行動を取るように訓練する手法 • 世界モデルのアーキテクチャは、VAE・MDN-RNN・コントローラの組み合わせ • エージェントのランダムな行動によって収集された環境のデータを用いて、 世界モデルは「夢」として環境を再現できるように訓練される 15