DQN伪代码

本文介绍了DQN(Deep Q-Network)算法,它是一种结合Q学习和深度学习的强化学习方法,用于解决不稳定性问题。DQN通过经验回放和目标网络来稳定训练过程,其中经验回放提供随机样本,目标网络则用于计算稳定的目标值。文章详细阐述了Q学习、MDP、在线Q迭代和拟合Q迭代的概念,并提供了DQN算法的伪代码。

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

Q学习

一种与模型无关的、基于值的强化学习算法,直接迭代优化QθQ_{\bm\theta}Qθ直至收敛。其中θ\bm\thetaθQQQ的参数。

MDP

  • S\mathcal SS:状态集,s=Rn\boldsymbol s=\mathbb R^ns=Rn
  • A\mathcal AA:动作集,a=Rd\boldsymbol a=\mathbb R^da=Rd
  • TTT:可供模型决策的最长时间或者最大步数,ttt就是时间;设置一个仿真器并提供mmm个初始状态执行随机动作并模拟TTT步,可以得到mmm串马尔可夫链;
  • PPPtw∼N(0,Σw)^t\boldsymbol w\sim\mathcal N(0,\Sigma_{\boldsymbol w})twN(0,Σw)是高斯噪声;tPs,a(s′)=1 , Ps,a(s′)≥0 , s′∼Ps,a^tP_{\boldsymbol s,\boldsymbol a}(\boldsymbol s^\prime)=1\ ,\ P_{\boldsymbol s,\boldsymbol a}(\boldsymbol s^\prime)\geq0\ ,\ \boldsymbol s^\prime\sim P_{\boldsymbol s,\boldsymbol a}tPs,a(s)=1 , Ps,a(s)0 , sPs,a t+1s=tAts+tBta+tw, tA=Rn×n, tB=Rn×d{^{t+1}\boldsymbol s}={^t\boldsymbol A}{^{t}\boldsymbol s}+{^t\boldsymbol B}{^{t}\boldsymbol a}+{^t\boldsymbol w},\ {^t\boldsymbol A}=\mathbb R^{n\times n},\ {^t\boldsymbol B}=\mathbb R^{n\times d}t+1s=tAts+tBta+tw, tA=Rn×n, tB=Rn×d
  • RRRR=Rd×nR=\mathbb R^{d\times n}R=Rd×n

s\boldsymbol ss状态下的奖励最大(最优)的动作为:
a∗=π∗(s)=arg max⁡a∑s′∈SPs,a(s′)V(s′)=arg max⁡aEs′∼Ps,a[V∗(s′)]\boldsymbol a^*=\pi^*(\boldsymbol s)=\argmax_\boldsymbol a\sum_{s^\prime\in \mathcal S}P_{\boldsymbol s,\boldsymbol a}(s^\prime)V(s^\prime)=\argmax_\boldsymbol a\mathbb E_{s^\prime\sim P_{\boldsymbol s,\boldsymbol a}}\big[V^*(s^\prime)\big]a=π

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值