普通的 DQN 算法通常会导致对值的过高估计,通过神经网络估算的Q值本身在某些时候会产生正向或负向的误差,在 DQN 的更新方式下神经网络会将正向误差累积。对于动作空间较大的任务,DQN 中的过高估计问题会非常严重,造成 DQN 无法有效工作的后果。 为了解决这一问题,Double DQN 算法提出利用两个独立训练的神经网络估算值函数,将训练网络作为 Double DQN 算法中的第一套神经网络来选取动作,将目标网络作为第二套神经网络计算值,极大的缓解了DQN过估计的问题。 这个程序完整实现了DoubleDQN算法,并且在Pendulum-v0环境上验证了过估计问题,可以从实验结果中看出,DoubleDQN确实缓解了DQN的过估计问题。
2022-07-14 12:08:28 11KB 强化学习 过估计 DQN DoubleDQN
1
DoubleDQN_turtlebot2 基于ROS的TurtleBot 2机器人的双重DQN实现 这是Turtlebot 2机器人上Double DQN算法的实现。 Python解释器:Python 3.6 ROS版本:ROS Melodic凉亭:凉亭9您还需要安装openai_ros ROS软件包( ),以访问基于开放AI的环境和用于训练机器人的命令。 您可以按照ROS的本教程进行设置: ://wiki.ros.org/openai_ros/TurtleBot2 with openai_ros安装在TurtleBot机器人顶部的激光扫描仪用于训练机器人,并且也可以扩展它仅对相机图像进行了微小的更改,但是,我不会在此代码中显示出来。 下面是您将需要的python软件包列表(通过conda列表生成),我建议使用这些库创建一个Conda环境,以实现平稳运行。 _libgcc
2022-03-03 21:33:05 1KB
1