Deep Reinforcement Learning Course(3)

Unit3

  • Deep Q-learning With Atari Games

Introduction

  • Q-learning 能有效的原因:状态离散、少

Q-leaning to Deep Q-learning

  • Q-learning 是一种打表的算法
  • Atari 环境
    • 输入为图片,有 \(256^{210\times160\times3}\) 种可能性
    • 分辨率 \(210\times160\)
    • RGB 三通道
  • 使用参数化的 \(Q_{\theta}(s,a)\) 进行代替

DQN

  • The Deep Q-Network
  • 架构如下
    • 输入: 4 帧连续的图片(stack)
    • 输出:vector of Q-values for each possible action at that state

  • 预处理输入
    • 像素压至:84x84
    • 灰度化:RGB -> gray
    • 裁剪:有些游戏可以裁剪掉不重要的区域
  • stack 的原因:捕获运动信息,抵抗 temporal limitation

Deep Q-Learning

  • 和之前相比,将 TD Error 作为训练的 loss

  • 算法分为两个步骤:sampling + training
    • sampling:使用 \(\epsilon\text{-greedy}\) 策略采样行动,保存状态对
    • training:在 sampling 阶段得到的状态对中,采样 minibatch 进行训练
      • \(y_j\):Q-Target,我们认为的真值(对真值的估计)

稳定性

  • Deep QL 带来了不稳定性
    • bootstrapping:使用的 return 并不是真实值,而是估计
    • 网络本身的不稳定
    • 策略:Experience ReplayFixed Q-TargetDouble Deep Q-Learning
  • Experience Replay
    • replay memory \(D\) 记录下来,后面可以多次学习
    • 降低相关性(只学习最新的,导致振荡或者背离)、避免灾难性遗忘
  • Fixed Q-Target
    • \(C\) 步之后,更新用于计算真值的网络 \(\hat{Q}\)(网络 \(Q\) 一直被更新)
    • \(\hat{Q}\):不是一直更新,\(C\) 步内使用相同的 Q-Target
    • 如果真值和 Q-Target 都在变化,比较难学习,导致训练振荡
  • Double Deep Q-Learning
    • Double DQNs,Double Deep Q-Learning neural networks
    • 使用两个神经网络,一个用于选择最优的 action(sampling phase),一个用于计算 Q-Target(training phase),互相更新

  • 其他改进
    • Prioritized Experience Replay
    • Dueling Deep Q-Learning

HW3

阅读材料

BUnit2

automatic hyperparameter tuning

  • "n VS B/n" trade-off
    • n: number of configurations
    • B / n: budget per configuration
  • 随着时间增加,减少测试的 config 种类

  • 寻找最优 config
    • sampler(search algo):选取 config
    • pruner(scheduler):继续执行这个 config,或者停止执行

sampler

  • grid search:可能找不到
  • random search:更好
  • 贝叶斯优化
    • 虚线:真实值
    • 每次试图优化最坏的地方(图上:acquisition max 处)

  • Black Box Optimization
    • Evolution Strategies(ES,CMA-ES)
    • Particle Swarm Optimization(PSO)

scheduler

  • Median Pruner:最好的结果差于中位数,则舍弃
    • Prune if the trial’s best intermediate result is worse than median of intermediate results of previous trials at the same step
  • Successive Halving
    • 过一段时间就丢弃一半的 config

Optuna

  • Optuna:库,自动选取最优的超参
  • 教程
    • 首先展示了使用不同的参数,结果影响很大
  • 步骤
    • Define the search space
    • Define the objective function
    • Choose sampler and pruner
    • Get a coffee/Take a nap
  • 科研陷阱
    • HP(Hyper Parameters) optimization not needed (train longer first)
    • Noisy evaluation: multiple eval
    • Search space too small/wide
    • Slow optimization: smaller budget
    • Training not stable: manual tweaks