强化学习 Q-learning

本文介绍了Q-learning的基础概念,包括MonteCarlo和TemporalDifference(TD)Learning的学习策略。重点讲述了DeepQ-learning的挑战与解决方案,如使用神经网络、Q-loss函数、经验回放、固定Q-Target和DoubleDQN以处理高维状态和动作空间的问题。

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

在介绍Q-learning之前先介绍两种学习策略:1)Monte Carlo 2)Temporal Difference(TD) Learning.

Monte Carlo

在一个episode结束时开始学习,value function 的更新策略为: V ′ ( s t ) = V ( s t ) + α ( G t − V ( s t ) ) V'(s_t) = V(s_t)+\alpha(G_t-V(s_t)) V(st)=V(st)+α(GtV(st)),其中V’ 是更新后的value function V是更新前的value function G是return

TD learning

每个step结束时都会学习,由于没有完整的 G t G_t Gt,所以用 R t + γ V ( S t + 1 ) R_t+\gamma V(S_{t+1}) Rt+γV(St+1)来代替这块也就是temporal difference,那么更新策略就是 V ′ ( s t ) = V ( s t ) + α ( R t + γ V ( S t + 1 ) − V ( s t ) ) V'(s_t) = V(s_t)+\alpha(R_t+\gamma V(S_{t+1})-V(s_t)) V(st)=V(st)+α(Rt+γV(St+1)V(st))

Q-learning 是一个 off-policy 的value-based method 用的更新策略是TD-learning。目的是为了获得一个Q-table,其中包含了state-action的value值。
步骤:
首先初始化这个Q-table(可以将其中的所有value都设为1),然后执行行动策略( ϵ − g r e e d y \epsilon -greedy ϵgreedy),获得reward,然后再根据公式来更新这个state-action的value值,如此反复直到一定次数就可以得到一个完备的Q-table,之后再根据这个Q-table执行greedy function

Deep Q-learning

当观测维数和行动维数增大之后Q-table的学习就变的越发的困难,所以就出现了用神经网络来拟合Q-table的想法。
神经网络的loss function称为Q-loss,表达式设置为
Q − L o s s ( S t , A t ) = R t + 1 + γ m a x a Q ( S t + 1 , a ) − Q ( S t , A t ) Q-Loss(S_t,A_t) = R_{t+1}+\gamma max_aQ(S_{t+1},a)-Q(S_t,A_t) QLoss(St,At)=Rt+1+γmaxaQ(St+1,a)Q(St,At)
其中 R t + 1 + γ m a x a Q ( S t + 1 , a ) R_{t+1}+\gamma max_aQ(S_{t+1},a) Rt+1+γmaxaQ(St+1,a)被称为Q-target
训练算法分为两步:采样和训练,采样是将 s t , a t , s t + 1 , r t + 1 s_t,a_t,s_{t+1},r_{t+1} st,at,st+1,rt+1记录储存到D中,然后训练就是从D中取出一批样本用梯度下降法来做参数的更新。
由于非线性Q-value function和自举法的结合会导致不稳定,所以采取一下三种方法来解决1)经历回放 2)固定Q-Target 3)Double Deep Q-learning

Experience Replay

好处:1)将过去的经历记录下来,使得在训练过程中重复使用,使得智能体能从一段经历多次学习 2)避免遗忘先前的经历(catastrophic forgetting)并且减少经历之间的相关性。

Fixed Q-Target

如果不适用固定Q-target的化当我们更新参数时Q-Target也会随之改变,使得我们无法赶上它造成震荡,所以需要另外使用一个固定参数的网络来获得Q-Target(每C个step来更新一下其中的参数)

Double DQN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值