我是靠谱客的博主 发嗲柜子,最近开发中收集的这篇文章主要介绍【从RL到DRL】深度强化学习基础(五)离散控制与连续控制——确定策略梯度方法(DPG)、使用随机策略进行连续控制确定策略梯度(Deterministic Policy Gradient,DPG)使用随机策略进行连续控制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 确定策略梯度(Deterministic Policy Gradient,DPG)
    • 改进:使用Target Network
    • 随机策略与确定策略网络对比
  • 使用随机策略进行连续控制
    • 策略网络搭建
    • 策略网路的训练
      • 构建辅助网络来计算策略梯度(Auxiliary Network for Policy Gradient)
      • 策略梯度方法——Reinforce与A-C

确定策略梯度(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

最后

以上就是发嗲柜子为你收集整理的【从RL到DRL】深度强化学习基础(五)离散控制与连续控制——确定策略梯度方法(DPG)、使用随机策略进行连续控制确定策略梯度(Deterministic Policy Gradient,DPG)使用随机策略进行连续控制的全部内容,希望文章能够帮你解决【从RL到DRL】深度强化学习基础(五)离散控制与连续控制——确定策略梯度方法(DPG)、使用随机策略进行连续控制确定策略梯度(Deterministic Policy Gradient,DPG)使用随机策略进行连续控制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部