【ゼロから作るDeep Learning④】8.1~8.3

>100 Views

December 11, 25

スライド概要

profile-image

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

シェア

またはPlayer版

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

ダウンロード

関連スライド

各ページのテキスト
1.

2025年度後期輪読会 #9 (12/11) ゼロから作る DeepLearning❹ 8.1~8.3 DQN 大阪大学 基礎工学部 B4 緒方 克哉 1 1

2.

自己紹介 • 所属 ○ 大阪大学 情報科学研究科 B4 ○ 中島研究室 • 興味分野,インターンとか ○ 動画解析 ○ LLM ○ エムニでインターン • 個人的な趣味とか おがた かつや 緒方 克哉 ○ 登山 ○ 旅行 ○ 開発 2

3.

アジェンダ ■ OpenAI Gym ■ Experience Replay ■ Target Network ■ DQNを動かす ■ まとめ 3

4.

アジェンダ ■ OpenAI Gym ■ Experience Replay ■ Target Network ■ DQNを動かす ■ まとめ 4

5.

OpenAI Gym 強化学習で使用できる環境を集めたライブラリ 様々な環境を集め、インターフェースを共通化 することにより、環境の変更を容易にしてくれ るライブラリ ref: https://gymnasium.farama.org/introduction/basic_usage/ 5

6.

OpenAI Gym 強化学習で使用できる環境を集めたライブラリ 6

7.

アジェンダ ■ OpenAI Gym ■ Experience Replay ■ Target Network ■ DQNを動かす ■ まとめ 7

8.

Experience Replay (経験再生 ) エピソードをバッファして学習を行う • 強化学習に深層学習を適用する時の問題点 ○ 従来の深層学習 ■ 学習データは独立しているという仮定 ■ ミニバッチで学習する際に偏りがないようにピックアップする ○ 強化学習 ■ エピソードを学習データとすると、経験データ間に強い相関が出る ■ e.g. (t-1)の時の行動と状態はtの時の行動に強く影響を与える • 解決策 ○ 経験データをどこかにバッファしておく ○ 学習時は経験データをランダムにピックアップして学習する 8

9.

Experience Replay (経験再生 ) エピソードをバッファして学習を行う • バッファのデータ構造はqueueを使う ○ バッファサイズを超えたら古いものを置き換 える • 状態・行動・報酬・次の状態・終了したか(done)を 1つの経験データとしてバッファする • 取り出す時(学習時)は、バッチサイズを指定して ランダムに取り出す 9

10.

アジェンダ ■ OpenAI Gym ■ Experience Replay ■ Target Network ■ DQNを動かす ■ まとめ 10

11.

Target Network (ターゲットネットワーク ) TD誤差のターゲットを固定する • (復習) Q-Learningの学習方法 • 問題点 ○ 学習の目標はR+γQ(ターゲット)にQを近づけていくこと ○ だが、Qを更新すると、ターゲットも変わってしまう • 解決策 ○ ターゲットを固定しておき、一定期間おきに更新を行う 11

12.

Target Network (ターゲットネットワーク ) TD誤差のターゲットを固定する 12

13.

Target Network (ターゲットネットワーク ) TD誤差のターゲットを固定する 13

14.

アジェンダ ■ OpenAI Gym ■ Experience Replay ■ Target Network ■ DQNを動かす ■ まとめ 14

15.

DQNを動かす 15

16.

DQNを動かす 16

17.

アジェンダ ■ OpenAI Gym ■ Experience Replay ■ Target Network ■ DQNを動かす ■ まとめ 17

18.

まとめ • DQN ○ Deep-Q-Learning ○ 強化学習と深層学習を組み合わせた手法 • Q-Learningに工夫を加えることで深層学習を適用することができる ○ Experience Replay (経験再生) ○ Target Network (ターゲットネットワーク) 18

19.

QA • なぜ深層学習において学習データに偏りがあってはいけないのか? ○ 勾配の方向が安定せず、偏りがあったら過学習を起こすため ○ 直近の似たようなデータばかり学習し、前のデータの忘却を防ぐため • ターゲットネットワークを使わないとどうなるか ○ 振動 or 発散 ○ 自分の尻尾を追いかける犬みたいな感じ ○ sync_interval=1にしてもある程度学習はしてた • 学習曲線が激しく上下するのはなぜ ○ 多分ε-greedyによるもの ○ あとは強化学習そのものがハイパーパラメータに敏感で不安定であるから 19