基于上海交通大学强化学习课程系列课程学习RL的笔记.
SJTU RL Course (wnzhang.net)
我们进一步介绍各种深度学习方法. 由于引入了神经网络和深度学习, 所以我们遇到了更多的问题, 也探究出了更多的解决方法.
课程回顾:
深度强化学习: 直接用端到端的形式来解决问题.
DQNs
深度Q网络 (DQN)
- 引入了深度神经网络的Q学习
- 不直接更新策略, 而是用贪婪的方式, 进行一步价值评估后直接取max.
- Q学习学习一个theta为参数的函数, 优化目标: 最小化参数函数和实际最优函数的均方误差(用bellamn最优方程)
同时, 由于我们引入了神经网络, 又面临了一些新的问题
- 算法不稳定. 连续采样得到的 SASR 对不满足独立分布
- 进行了频繁的更新
于是我们需要做一些额外的处理
- 引入buffer进行经验回放 (尽量使样本满足独立分布)
- 采用双网络结构 (评估网络和目标网络) (减小参数的更新频率)
经验回放
我们在buffer池中进行采样. 此时可以引入不同的采样几率, 完成优先经验回放, 同时用一个重要性采样的系数使得样本的更新服从原来的分布
Double DQN
Q-learning 的过高估计问题
- 由于Q拟合时本身就具有误差, 有些地方估计过高.
- 当进行max操作时, 这个误差就会被放大, 造成过高估计
- 此时, 我们将"选取最优动作"和"估计最优动作对应值"分开来做, 从而缓解这个现象
Dueling DQN
类似于前面的做法, 我们可以在价值函数更新的过程中, 不直接依据原来的值进行更新, 而是进行某种"归一化"之后, 再对梯度进行更新, 从而做到"好的更好, 差的更差"的效果.
- 在这里, 我们就不直接拟合Q, 而是通过拟合V和A来组合成为Q.
- 这个时候, 只要V拟合得不错, 那么即使A比较差, 最终的Q整体上也会还可以.
优点:
- 不考虑动作的情况下, 也能判断出状态的好坏
- 对于不同动作之间的差异可以考虑的更清楚
DQNs总结
确定性策略梯度 DPG
- 对于随机策略, 由于一般采用了softmax(动作离散)和指数负平方变换(动作连续), 策略一般是可微的
- 对于确定性策略, 离散动作的情况下是不可微的 (取了argmax, 并输出一个离散值); 对于连续动作, 策略一般是可微的.
我们考虑连续动作的情况, 同样使用 Actor- Critic 模式.
于是可以求出策略的梯度为
D. Silver et al. Deterministic Policy Gradient Algorithms. ICML 2014.
深度确定性策略梯度 DDPG
实际应用中, 这种带有神经网络函数近似器的ac在面对复杂问题时不稳定
Lillicrap et al. Continuous control with deep reinforcement learning. NIPS 2015.
Twin Delayed DDPG (TD3)
此时依然有过高估计问题 ( 可能利用Q函数的漏洞 exploitation)
Fujimoto et al. Addressing Function Approximation Error in Actor-Critic Methods. ICML 2018.
进行了平滑, 先取最小值后最大化, 延迟更新参数的方法
总结
这一部分比较前沿, 各种成果理论都比较新, 讲起来比较简略模糊. 看看论文应该理解会更深一些.