基于价值的深度强化学习入门
当 Q 表太大时,就改用神经网络。
当状态太多时,Q 表就不再适用。例如 CartPole 有 4 个实数变量,状态是无限的。
解决办法是用神经网络近似 Q(s,a),它能泛化到从未见过的状态。NFQ 是最早的尝试:收集数据、计算目标值、多次拟合网络,然后重复。
高维一个状态包含很多变量,例如 84×84 像素的图像
连续至少有一个变量可以取任意值,例如 0.0137 弧度的角度
需要做的选择
| 组成部分 | 常见选择 |
|---|---|
| 近似什么 | 离散动作用 Q(s,a) |
| 网络结构 | 输入状态 → 同时输出所有动作的 Q |
| Target | Q-learning 的 TD 目标:r + γ·max Q(s') |
| 探索 | ε-greedy |
| Loss / Optimizer | MSE, Huber · RMSprop, Adam |
两个大问题
- 数据不是独立同分布:相邻经验彼此相关,而优化器期望 IID 数据
- 目标在移动:目标值来自正在被更新的同一个网络
要点
- 深度强化学习 = 前面学的一切 + 用监督学习做近似
- 第 9 课用回放缓冲区和目标网络解决这两个问题
- #DeepRL
- #ReinforcementLearning
- #PythonສຳລັບຄົນLaos
- #AI
- #ບອກຕໍ່ຄວາມຮູ້