十二:强化学习:Q-learning、Dyna-Q 与 DQN自测题¶
来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247483941&idx=1&sn=ca9f8dbdb1369fba68838ac85c1d844e&chksm=f01eb15cc769384a48dafccd4124ab3d174f9c6aa39f8d76be3d1a4632f710b830402e44b197#rd
覆盖范围¶
-
Q-learning 与 Sarsa 的区别
-
Dyna-Q 的 learning + planning 框架
-
表格方法局限与函数近似
-
DQN 的输入输出、loss、TD target、训练流程
-
Experience replay 与 target network
-
Double DQN、Dueling DQN、PER、Rainbow
-
DQN 工程实现、排错和评估
一、Q-learning 基础¶
-
Q-learning 的核心目标是什么?
-
请写出表格型 Q-learning 的更新公式。
-
Q-learning 的 TD target 是什么?
-
Q-learning 的 TD error 是什么?
-
为什么 Q-learning 是 off-policy 算法?
-
Q-learning 和 Sarsa 的 target 有什么核心区别?
-
在 Cliff Walking 中,Q-learning 和 Sarsa 的行为差异通常是什么?
-
Q-learning 的收敛依赖哪些直觉条件?
二、Dyna-Q¶
-
Dyna-Q 想解决什么问题?
-
Dyna-Q 中 learning 和 planning 分别指什么?
-
Dyna-Q 的环境模型通常存储什么?
-
请描述 Dyna-Q 一次真实交互后的完整更新流程。
-
Dyna-Q 中 planning step 的数量会影响什么?
-
Dyna-Q 和纯 Q-learning 相比,样本效率为什么可能更高?
-
Dyna-Q 的主要风险是什么?
-
如果环境发生变化,Dyna-Q 的旧模型可能造成什么问题?
三、函数近似¶
-
表格型 Q 方法为什么难以处理大规模状态空间?
-
什么是函数近似的 Q 函数?
-
用函数近似做 Q-learning 时,监督学习式的 target 和 prediction 分别是什么?
-
什么是 semi-gradient?为什么 Q-learning 中常用半梯度?
-
什么是 deadly triad?
-
为什么 off-policy、bootstrapping 和 function approximation 同时出现会带来不稳定性?
-
线性函数近似和深度神经网络函数近似有什么区别?
-
为什么函数近似既带来泛化,也带来误差传播风险?
四、DQN 核心机制¶
-
DQN 的全称是什么?它解决了什么问题?
-
DQN 中神经网络近似的是什么函数?
-
对离散动作空间,DQN 网络通常输出什么?
-
经典 Atari DQN 的输入通常如何处理?
-
请写出 DQN 使用 target network 时的 TD target。
-
请写出 DQN 的损失函数。
-
为什么 DQN 常用 Huber loss?
-
DQN 为什么主要适合离散动作空间?
-
如果动作空间是连续的,DQN 会遇到什么困难?
-
DQN 与普通监督学习的相似点和关键区别是什么?
五、Experience Replay 与 Target Network¶
-
Experience replay 是什么?
-
Replay buffer 中通常存储哪些字段?
-
Experience replay 为什么能降低样本相关性?
-
Experience replay 如何提高样本利用率?
-
Replay buffer 太小或太大分别可能有什么问题?
-
Target network 是什么?
-
Target network 为什么能稳定训练?
-
Hard update 和 soft update 有什么区别?
-
为什么 target network 更新太频繁或太慢都可能有问题?
-
为什么 target 计算时通常要
no_grad?
六、DQN 训练流程与实现¶
-
请描述 DQN 的完整训练流程。
-
DQN 中 epsilon-greedy 如何用于探索?
-
为什么训练前通常需要 replay buffer 预填充?
-
在 PyTorch 中为什么要用
gather取Q(s,a)? -
done=True的 transition 在 target 中应该如何处理? -
Reward clipping 在 DQN 中有什么作用和副作用?
-
Gradient clipping 解决什么问题?
-
Evaluation 时为什么要区别训练 epsilon 和评估 epsilon?
七、DQN 改进算法¶
-
标准 DQN 为什么容易过估计 Q 值?
-
Double DQN 的核心思想是什么?
-
请写出 Double DQN 的 target。
-
Dueling DQN 把 Q 函数拆成哪两部分?
-
Dueling DQN 为什么需要对 advantage 做 mean subtraction?
-
Dueling DQN 适合什么样的场景?
-
Prioritized Experience Replay 的采样依据是什么?
-
PER 为什么需要 importance sampling weight?
-
Multi-step return 对 DQN 有什么帮助?
-
Noisy Nets 相比 epsilon-greedy 的探索差异是什么?
-
Distributional RL 与普通 DQN 学习目标有什么区别?
-
Rainbow DQN 主要组合了哪些改进?
八、工程排错与应用¶
-
如果 DQN loss 爆炸,可能有哪些原因?
-
如果 DQN 训练 reward 长期不上升,应该排查哪些问题?
-
如果 Q 值整体越来越大但策略没有变好,可能是什么问题?
-
DQN 在部分可观测环境中为什么可能表现差?如何改进?
-
DQN 思想如何迁移到工具调用 Agent 的有限动作选择?
-
请完整比较 Q-learning、Dyna-Q、DQN、Double DQN、Dueling DQN 和 Rainbow 的核心目标与解决的问题。
预览时标签不可点<div class="