DQN学习笔记

强化学习是试错并不断迭代的过程,每次迭代:给定一个策略求值函数,并更新策略。DQN使用神经网络来近似值函数,即神经网络的输入是state,输出是Q(s,a)。通过神经网络计算出值函数后,DQN使用ϵ−greedy策略来输出action:首先环境会给出一个obs,智能体根据值函数网络得到关于这个obs的所有Q(s,a),然后利用ϵ−greedy选择action并做出决策,环境接收到此action后会给出一个奖励Rew及下一个obs。这是一个step。此时我们根据Rew去更新值函数网络的参数。接着进入下一个step。如此循环下去,直到我们训练出了一个好的值函数网络。

(1)损失函数:L(ω)=E[(R+γ⋅maxa′Q(s′,a′;ω−)−Q(s,a;ω))2]真实值与预测值的差的平方
(2)值函数Q(s,a;ω)的求解:
1。MBRL:已知环境模型,即状态转移概率矩阵、奖励函数、折扣因子。可通过贝尔曼方程来求解值函数。
补充:
策略函数:是一个输入为s输出为a的函数
状态价值函数:是从当前状态开始到最终状态时系统所获得的累加回报的期望,下一状态的选取依据策略函数(不同的动作a将导致系统转移到不同的状态),是评价策略函数优劣的标准之一
在这里插入图片描述
状态动作价值函数(Q函数):给定一个状态采取动作后,按照某一策略与环境进行交互,得到累计汇报的期望值在这里插入图片描述
最大化状态价值函数就是求当前状态的最大期望值,而最大化状态-动作价值函数就是求当前状态下一动作能带来的最大回报值:
在这里插入图片描述
2。MFRL:通过采样求解值函数
🕐MC:等到episode结束后才更新值函数
🕑TD:每一步就更新值函数
🕒Sarsa:用下一步对应的值函数计算target,更新值函数Q(s,a)←Q(s,a)+α[R+γQ(s′,a′)−Q(s,a)]
target是 Rt+1+γQ(St+1,at+1)(值函数近似)on-policy
🕓Q-learning:target是 Rt+1+γmaxa′Q(St+1,a′),使用使得Q(St+1,a)最大的action计算target off-policy
🕔DQN:引入了一个target Q网络,Q网络每次迭代都会更新,而target Q网络是每隔一段时间才会更新。DQN的target是 Rt+1+γmaxa′Q(St+1,a′;ω−).
🍀DQN改进之处:一个是使用了卷积神经网络来逼近行为值函数,一个是使用了target Q network来更新target,还有一个是使用了经验回放Experience replay,抽取样本minibatch.

参考:https://blog.csdn.net/binbigdata/article/details/86607466
https://zhuanlan.zhihu.com/p/86525700
https://www.cnblogs.com/hhh5460/p/10155118.html
『注:个人学习,如侵必删,请大家多多批评指正』

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值