riverstar

ddpg 论文读书笔记

ddpg 论文 2016

CONTINUOUS CONTROL WITH DEEP REINFORCEMENT LEARNING

DQN只能解决离散、低维度的动作空间。对于连续高维的动作空间,DQN就不能为力了。借此引出了DDPG。

  • 为什么不能直接离散化连续动作空间
    1. 如果对于连续动作空间进行精细离散化的话,会导致维度灾难,动作空间的维度很高,并且空间大小是指数级地增长。对于如此大的动作空间,难以高效探索,很难训练。
    2. 而过小的离散维度,会扔掉较多的动作信息,而有些任务需要精细的动作控制,粗间隔的动作无法完成任务。

论文提出一种model-free、off-policy,actor-critic算法。应对高维的、连续的动作控制问题---DDPG。
ddpg的工作是基于2014年的dpg思想,结合了当时(2016)最近成功的DQN思想启发。采用了两大利器:

  1. 经验回放。从经验池中随机取一批样本进行训练,打乱了样本之间相关性
  2. 固定备份网络训练,增加了训练的稳定性。
  3. 此外还使用了Batch Normalization

强化学习建模

考虑基本的强化学习模型,一个agent与环境E交互离散的时间步长。
在时间tagent接收环境返回的观察xt,采取动作at,获得环境反馈的标量奖励值rt.

动作a
奖励r
状态s
Agent
Environment

一般而言,环境对于agent只是部分可观测性,历史上整个环境观测xtat才能表述系统的状态.st=(x1,a1,...,at1,xt)
为了简化起见,我们一般都认为模型是完全观测系统,有st=xt

首先来解释随机策略 π:SP(A).得到的是状态到动作的概率,agent不是一定选择某一个动作,是有随机性的。

对于强化模型一次交互,系统进行状态转移P(st+1|st,at),环境返回奖励值rt=r(st,at).
奖励值随着状态的推进会累计成总奖励值。对于t时刻的状态来说他所能得到的总奖励值Rt=i=tTγitr(si,ai),
其中γ是折扣因子,用来调整未来的奖励对现在的影响,γ[0,1]
强化学习的目标自然是最大化奖励值,即最大下式:

J=Eri,siE,aiπ[R1]

这个式子,我们可以优化的就只有策略policy: π。强化学习要做的也就是找到一个最好的策略,让累计奖励值最大。
状态动作价值方程:当状态st采取动作at,然后遵循policyπ做决策

Qπ(st,at)=Erit,si>tE,ai>tπ[Rt|st,at]

bellman方程

Qπ(st,at)=Ert,st+1E[r(st,at)+γEat+1π[Qπ(st+1,at+1)]]

如果目标策略是确定的,有策略μ:SA

Qμ(st,at)=Ert,st+1E[r(st,at)+γQμ(st+1,μ(st+1))]

可以看到,确定策略消除掉了第一个方程里的求期望的部分。这一点很重要,因为对于连续动作和高维离散动作空间来说,这个期望的求解你就求不出来。确定策略就可以用一个确定的值代替之前的E,使得bellman方程依然可以使用(在实践中).
第二个方程只有一个外部的期望,这个期望只取决于环境,这就意味着可以使用不同的随机策略生成的转移过程去学习Qμ。也就是说对于相同的st,用不同的策略使用不同的动作at,但是因为有Qμ的价值函数依然可以计算。

作者使用loss去优化Q网络

L(θQ)=Estρβ,atβ,rtE[(Q(st,at|θQ)yt)2]

其中:

yt=r(st,at)+γQ(st+1,μ(st+1)|θQ)

显然,Q网络要去估计状态-动作的价值,扮演的是一个评论家critic,越准越好。

对于μ网络扮演的是actor角色,他的训练是这样的:

(1)θμEstρβ[θμQ(s,a|θQ)|s=st,a=μ(st|θμ)](2)=Estρβ[aQ(s,a|θQ)|s=st,a=μ(st)θμμ(s|θμ)|s=st]

使用了链式法则,Lossθμ=Qaaθμ.由于actor的目标值是使得Q值越大越好,所以对于这个loss为Q值的损失函数,采用的是梯度上升,寻找最大值。

深度强化学习,使用大规模的非线性网络去估计函数,有一个很大的问题就是训练出来的网络不收敛。对此文章作者花了很大的篇幅去讲述他们怎么使用各种设计和实现上的技巧去使得网络收敛的。
借鉴了DQN设计的思想:

  1. 经验池。很多强化学习都假设数学数据之间是独立同分布的.(independently and identically distributed ,iid)。很显然从环境中一个一个生成的数据序列并不是iid的。另外使用mini-batcher的方法去做训练还可以从硬件的并行中收益,所以说经验池是十分必要的。

posted on   RVIER  阅读(537)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

导航

统计信息

点击右上角即可分享
微信分享提示