【强化学习】值函数强化学习-DQN、DDQN和Dueling DQN算法公式推导分析

本文介绍了强化学习中的值函数估计方法,重点分析了DQN、DDQN和Dueling DQN算法。DQN通过经验回放和目标网络稳定训练,DDQN解决了过估计问题,而Dueling DQN则将Q值分解为状态值和优势函数,提高学习效率和收敛性。

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

一、值函数估计方法引入

在值函数估计方法中,我们希望拟合一个价值模型用来估计每个状态动作对的累积回报。其代价函数可以写为
L=12∑a∑s(Q(s,a)−Q(s,a;θ))2 L=\frac{1}{2}\sum_{a}\sum_{s}(Q(s,a)-Q(s,a;\theta))^2 L=21as(Q(s,a)Q(s,a;θ))2
其中Q(s,a)Q(s,a)Q(s,a)为真实的累积回报的值函数,Q(s,a;θ)Q(s,a;\theta)Q(s,a;θ)为价值模型估计的累积回报,我们希望了两者的差最小。采用梯度下降法可得参数的更新公式为
θt+1=θt+α[Q(st,at)−Q(st,at;θ)]∇Q(st,at) \theta_{t+1}=\theta_t+\alpha[Q(s_t,a_t)-Q(s_t,a_t;\theta)]\nabla Q(s_t,a_t) θt+1=θt+α[Q(st,at)Q(st,at;θ)]Q(st,at)
通常采用TD方法对真实的Q(st,at)Q(s_t,a_t)Q(st,at)进行估计,最终参数更新公式为
θt+1=θt+α[r(st,at)+Q(st+1,at+1;θt)−Q(st,at;θt)]∇Q(st,at) \theta_{t+1}=\theta_t+\alpha[r(s_t,a_t)+Q(s_{t+1},a_{t+1};\theta_t)-Q(s_t,a_t;\theta_t)]\nabla Q(s_t,a_t) θt+1=θt+α[r(st,at)+Q(st+1,at+1;θt)Q(st,at;θt)]Q(st,at)
其中可以定义TD-error为
δt=r(st,at)+Q(st+1,at+1;θt)−Q(st,at;θt) \delta_t = r(s_t,a_t)+Q(s_{t+1},a_{t+1};\theta_t)-Q(s_t,a_t;\theta_t) δ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值