一、学习内容
3.基于神经网络方法求解RL
3.1函数逼近与神经网络
当状态空间非常庞大的时候,用Q表格来对Q-value进行评估,内存方面非常不现实。

因此可以加个w参数,改用值函数拟合的方法:

一个简单的例子如图所示,神经网络输出动作,定义损失函数,进行优化:

Q-learning的流程:

用神经网络:

3.2DQN算法解析

DQN的2大创新点在于:经验回放,和固定Q目标。分别是为了解决样本关联性和训练非平稳性问题。
经验回放,举个形象例子,前台小兵采样预测,S、A、R、S放入经验池,后台军师从经验池中进行学习

固定Q目标,就是隔一段时间拷贝一次到target网络,而不是每次都更新,增强训练的稳定性。

DQN算法整体流程如下:

画成流程图更方便理解:

写代码的时候则可以参考这个架构:

3.3PARL中DQN代码
DQN中agent的model可以这么定义:

DQN的算法可以这么来操作model,定义超参数:

固定Q目标、隔段时间同步,则可以定义sync函数:

predict()

learn()

agent的learn和build_programm()函数:

用于学习的sample()和predict()函数:

3.4DQN训练展示、总结
CartPole训练的例子:

训练流程:

训练代码:

测试代码:

PARL常用的API:

第3课的总结~~~

课后练习,Montain-Car的例子:

本文深入探讨了基于神经网络的强化学习方法,重点讲解DQN算法的原理及其实现,包括函数逼近、经验回放、固定Q目标等关键概念,并通过CartPole和MountainCar实例演示了DQN在解决复杂任务中的应用。

被折叠的 条评论
为什么被折叠?



