【深度强化学习】(2) Double DQN 模型解析,附Pytorch完整代码

本文介绍了深度强化学习中的DQN算法及其改进版DoubleDQN,详细阐述了DQN的基本原理,包括马尔可夫决策过程、Q函数、经验回放和目标网络。DoubleDQN通过解耦动作选择和目标Q值计算来解决DQN的过估计问题。文章还提供了基于OpenAIGym的代码实现,以Pendulum-v1环境为例,展示了如何训练和应用DoubleDQN模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,今天和大家分享一个深度强化学习算法 DQN 的改进版 Double DQN,并基于 OpenAI 的 gym 环境库完成一个小游戏,完整代码可以从我的 GitHub 中获得:

https://github.com/LiSir-HIT/Reinforcement-Learning/tree/main/Model


1. 算法原理

1.1 DQN 原理回顾

DQN 算法的原理是指导机器人不断与环境交互,理解最佳的行为方式,最终学习到最优的行为策略,机器人与环境的交互过程如下图所示。 

机器人与环境的交互过程是机器人在 t 时刻,采取动作 a_t 并作用于环境,然后环境从 t 时刻状态 s_t 转变到 t+1 时刻状态 s_{t+1},同时奖励函数对 a_t 进行评价得到奖励值 r_t。机器人根据 r_t 不断优化行为轨迹,最终学习到最优的行为策略。

整个强化学习过程可简化为马尔可夫决策过程(MDP)。其中所有状态均具备马尔可夫性。MDP 可用一个五元组 \left \langle S,A,P,R,\gamma \right \rangle 表示,各元素意义如下: 

(1)S 是有限状态集合,即机器人在环境中探索到的所有可能状态。s_t 表示机器人在 t 时刻的状态。

(2)A 是有限动作集合,即智能体根据 s_t 采取的所有可能动作集合。a_t 表示机器人在t 时刻状态采取的行为

(3)P 是状态转移概率,定义如下:P_{s_{t+1}}^a = P[S_{t+1}=s_{t+1}|S_t=s, A_t=a]

(4)R 是奖励函数,即机器人基于 s_t 采取 a_t 后获得的期望奖励,定义如下:R_s^a = E[R_{t+1}|s_{t+1}|S_t=s, A_t=a]

(5)γ 代表折扣因子,值域 [0,1],即未来的期望奖励在当前时刻的价值比例。

MDP 中,价值函数包括状态价值函数和动作价值函数。动作价值函数(Q 函数)表示在策略 \pi 的指导下,根据状态 s,采取行为 a 所获得的期望回报策略 \pi 表示状态到行为的映射,相当于机器人的决策策略,并根据不同的状态选择不同的行为,即 a = \pi (s)。机器人在策略 \pi 的指导下,<

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立Sir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值