【从RL到DRL】深度强化学习基础(五)离散控制与连续控制——确定策略梯度方法(DPG)、使用随机策略进行连续控制

确定策略梯度(Deterministic Policy Gradient,DPG)

考虑如下的连续控制问题:在这里插入图片描述
动作空间A是一个二维空间,且动作A是一个二维连续的向量。DPG其实也是一种A2C算法,网络结构如下:在这里插入图片描述
当状态s与价值网络Value Network确定后,唯一可以影响输出价值q(s,a;w)的参数就是策略网络中的θ,因此可以对输出的状态价值函数q(s,a;w)对θ求梯度
在这里插入图片描述
最后对θ使用梯度上升 即可。在实际应用中,直接使用上述的网络结构往往会有缺陷,下面介绍几种改进。

改进:使用Target Network

即在前篇介绍Bootstrapping问题时,使用另一个神经网络来计算价值网络的方法。
使用Target Network对t+1时刻进行预测,网络结构一致,但参数不同:在这里插入图片描述
改进后的计算流程:

  • 策略网络做出一个决定:a = π(s;θ)
  • 使用DPG更新策略网络(梯度上升)在这里插入图片描述
  • 计算价值网络qt=q(s,a;w)
  • 使用Target Network的策略函数与价值函数π(s;θ-)与q(s,a;w-),计算qt+1
  • 使用TD更新价值网络:在这里插入图片描述
  • 此外,还要更新Target Network ,具体方法是设置一个超参数τ∈(0,1),并进行加权平均:在这里插入图片描述

可以看到在θ-与w-的更新过程中,仍然使用到了原网络中的w与θ,因此Target Network无法完全避免Bootstrapping现象

随机策略与确定策略网络对比

在这里插入图片描述
输出: 随机策略输出的是一个有限维度的确定的向量,描述的是在整个有限维度的动作空间中执行某个动作的概率,是一个向量,而确定策略网路输出的直接是一个明确的动作a
对Agent的控制: 随机策略从输出的离散概率中随机抽取一个动作,而确定策略网路直接采取Output的结果控制Agent
应用: 随机策略网常用于离散控制,确定策略网络常用于连续控制(连续控制的动作集维度是无限的)。

使用随机策略进行连续控制

知识回顾:

  • 价值函数:在这里插入图片描述
  • 策略梯度(定义式):在这里插入图片描述
  • 随机策略梯度(蒙特卡洛的近似思想):在这里插入图片描述

策略网络搭建

基本思想:
使用正态分布(或其他确定的概率密度函数模型)来进行连续动作值的输出,而使用网络来逐步优化概率密度函数模型中的其他参数(如正态分布中的μ与σ²):在这里插入图片描述
进一步的,对于多个自由度的动作集空间,相应的便有多个维度的正态分布表达,其中d为自由度数目:在这里插入图片描述
这样,只需要使用神经网络来近似概率密度函数中的μ与σ等即可,考虑到实际应用,可以按照如下近似模型:在这里插入图片描述在这里插入图片描述
最终就可以得到如下的神经网络结构:在这里插入图片描述
这样,在连续控制时,只需要从对应自由度维度的正态分布中随机抽取一个动作a来执行即可:在这里插入图片描述

策略网路的训练

构建辅助网络来计算策略梯度(Auxiliary Network for Policy Gradient)

因为随机策略梯度的表达式为:在这里插入图片描述
而策略网络π表达式为:在这里插入图片描述
则对π取自然对数:在这里插入图片描述
进一步表示为神经网路参数ρ与μ的函数,并使用θ来表示θμ与θρ,也即:在这里插入图片描述
将连加部分定义为辅助神经网络(Auxiliary Network):
在这里插入图片描述
则加入了辅助函数的网络模型为:
在这里插入图片描述
可以发现,辅助函数f主要依赖于dense1与dense2的参数,在网络中做前向传播,就可以的得到分关于全连接层与卷积层的梯度:
在这里插入图片描述
策略梯度计算:
结合函数f(s,a;θ)的表达式与前文随机策略梯度g(a)的表达式,可以得到:在这里插入图片描述

策略梯度方法——Reinforce与A-C

Reinforce是一种蒙特卡洛方法,使用ut来近似Qπ,则使用Reinforce方法时,在这里插入图片描述
而使用A-C算法则所使用价值网路来近似动作价值函数,则梯度上升的表达式为:在这里插入图片描述
同时注意,价值网络的参数w也需要更新,可以使用TD Learning

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值