【生成Deap Learning 第2版】12.6~12.10

>100 Views

June 26, 25

スライド概要

profile-image

AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

2025年度前期輪読会 生成deep learning #10 12章 世界モデル 12.5~12.10 京都大学 総合人間学部 B1 本川玄人 0

2.

アジェンダ ◼ MDN-RNN訓練用のデータを収集する ◼ MDN-RNNを訓練する ◼ コントローラを訓練する ◼ 夢の中での訓練 ◼ まとめ 1

3.

アジェンダ ◼ MDN-RNN訓練用のデータを収集する ◼ MDN-RNNを訓練する ◼ コントローラを訓練する ◼ 夢の中での訓練 ◼ まとめ 2

4.

MDN-RNN訓練用のデータを収集する MDN-RNNの訓練に必要なデータ • 観測からencodeされたmu, logvarベクトル • action • reward • done(エピソードの終わりを示す) mu, logvarベクトルは訓練されたvaeから作成する action reward doneはそのまま渡す 3

5.

アジェンダ ◼ MDN-RNN訓練用のデータを収集する ◼ MDN-RNNを訓練する ◼ コントローラを訓練する ◼ 夢の中での訓練 ◼ まとめ 4

6.

MDN-RNNを訓練する MDN-RNNのアーキテクチャ input 役割…次の時間ステップのzと報酬を予測する LSTM:長さ256のベクトル(LSTMセルの個数) MDN:入力の長さが481の全結合層 z(32次元)の各パラメータに対して 5つの混合正規分布を選ぶ 5×3×32+報酬の予測=481 損失関数:zベクトルの再構成誤差と 報酬誤差の合計 LSTM(RNN) Dense(MDN) output 5

7.

アジェンダ ◼ MDN-RNN訓練用のデータを収集する ◼ MDN-RNNを訓練する ◼ コントローラを訓練する ◼ 夢の中での訓練 ◼ まとめ 6

8.

コントローラを訓練する コントローラのアーキテクチャと学習方法 全結合型、隠れ層を持たない 入力層:現在のzベクトルとLSTMの隠れ状態のベクトルを合わせたもの(長さ288) 出力層:actionに対応する長さ3のベクトル 重み:867=288×3+3 学習方法 最適な行動が分からない(正解が分かる訓練データが存在しない) 教師あり学習ではない CMA-ESという進化戦略を使う 7

9.

コントローラを訓練する CMA-ESは動物の進化プロセスに類似 ランダムにエージェントの集団を作成 各エージェントを評価 新しいエージェントを追加 評価の低いエージェントを削除 良いスコアを持つエージェント同士で交配 パラメータにランダム性を追加 勾配の計算がない=微分が不要! 8

10.

コントローラを訓練する 学習の具体例 2次元の問題を解く 正規分布からサンプリング ↓ 関数の値が最も良いものの 25%を取り出す ↓ この集団を基に平均、共分散を計算する ↓ 新しい正規分布からサンプリング 集団の共分散は次第に小さくなる =最適となり得る解を見つける 9

11.

コントローラを訓練する CMA-ESの並列化 各シミュレーションは独立→並列化が可能 esから受け取ったパラメータを分割 ↓ 各スレーブがエピソードを実行し、 報酬の平均を返す ↓ esに返し、新たな正規分布を計算 10

12.

アジェンダ ◼ MDN-RNN訓練用のデータを収集す る ◼ MDN-RNNを訓練する ◼ コントローラを訓練する ◼ 夢の中での訓練 ◼ まとめ 11

13.

夢の中での訓練 コントローラは「夢」の中だけで訓練できる MDN-RNNはz空間の環境とみなせる 環境をMDN-RNNと置き換えて訓練できる →コントローラを「夢」の中で訓練! (このとき、VAEは必要ない) 注意点:MDN-RNNが実際の環境を捕捉できていないと 過学習が起きる! temperatureパラメータの導入 12

14.

夢の中での訓練 temperatureパラメータの効果 temperatureパラメータ:モデルの変化のしやすさ 𝛾が 小さすぎ or 大きすぎ だと過学習が起きる →適切なパラメータを選択! 夢環境での訓練の利点 Gym環境よりもzと報酬の計算が高速なので 実環境の訓練よりもはるかに高速に訓練できる! 13

15.

アジェンダ ◼ MDN-RNN訓練用のデータを収集す る ◼ MDN-RNNを訓練する ◼ コントローラを訓練する ◼ 夢の中での訓練 ◼ まとめ 14

16.

まとめ carracing環境でのまとめ • VAE→MDN-RNN→コントローラの順に訓練 • コントローラはCMA-ESで訓練する • MDN-RNNを使って「夢」の中だけで訓練できる • Temperatureの導入でスコアが改善 AIの作ったコードはこちら サンプルコード:https://github.com/zacwellmer/WorldModels David haの論文:https://arxiv.org/abs/1803.10122 15