目录

  • 确定策略梯度(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)、使用随机策略进行连续控制相关推荐

  1. 《强化学习》中的第13章:策略梯度方法

    前言: 本次笔记对<强化学习(第二版)>第十三章进行概括性描述. 以下概括都是基于我个人的理解,可能有误,欢迎交流:piperliu@qq.com. 让时间回到最开始:第二章多臂赌博机.在 ...

  2. 深度强化学习基础知识 思维导图

    学习了王树森老师的深度强化学习入门课件,将各个算法整理在如下思维导图中. 深度强化学习基础知识 思维导图

  3. 深度学习机器臂控制_基于深度强化学习的机器人手臂控制

    基于深度强化学习的机器人手臂控制 杨淑珍 ; 韩建宇 ; 梁盼 ; 古彭 ; 杨发展 ; 吕萍丽 [期刊名称] <福建电脑> [年 ( 卷 ), 期] 2019(035)001 [摘要] ...

  4. 深度强化学习基础(一):RL中的基本概念

    目录 强化学习是什么? 强化学习能做什么? 关键概念和术语 概率论 术语 AI如何控制agent 策略学习--学习policy函数​ 价值学习--学习最优动作价值函数 总结 强化学习是什么? 强化学习 ...

  5. 首个深度强化学习AI,能控制核聚变,成功登上《Nature》

    编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 最近,DeepMind 开发出了世界上第一个深度强化学习 AI ,可以在模拟环境和真正的核聚变装置中实现对等离子体的自主控制. ...

  6. DRL深度强化学习代码实战1——MountainCar-v0小车成功登顶

    如果你是刚刚接触DRL的同学,那么本文的内容就是引你入胜的第一个小实验. DRL的学习离不开理论知识,但更不能缺少实践!废话不多说我们直接开始. 0. 实验环境和包版本 ① PyCharm 2022 ...

  7. 【从RL到DRL】深度强化学习基础(四)——策略梯度中的Baseline,Reinforce与A2C的对比

    目录 带有Baseline的策略梯度 数学推导 蒙特卡洛近似(With Baseline) Reinforce With Baseline 使用Reinforce算法训练: Advantage Act ...

  8. 【李宏毅机器学习课程笔记】深度强化学习(五)—— Sparse Reward

    文章目录 Introduction Reward Shaping Curiosity Curriculum Learning Hierarchical Reinforcement Learning I ...

  9. 强化学习笔记(六):Policy Gradient/策略梯度

    目录 考题 知识点1:critic.actor​ 定理1:策略梯度理论 定理2:函数近似理论 知识点3:蒙特卡洛策略梯度 知识点4:Actor-critic算法 知识点:Advantage Funct ...

最新文章

  1. 丽水松阳计算机职业高中学校,丽水松阳职专
  2. 李开复对谈张亚勤:科学家创业需要企业家伙伴,开放心态看待元宇宙 | MEET2022...
  3. Chrome浏览器查看SSL证书信息
  4. JavaScript 的 defer 与 async
  5. md5 ios java代码_IOS端與Java端MD5加密方法
  6. 解决filezilla中无法显示中文的文件名
  7. 70道经典Android面试题加答案--重要知识点几乎都涉及到了
  8. POJ-2031-Building a Space Station
  9. ADB如何无线连接手机操作方法
  10. 抖音养号教程技巧,做抖音怎么养号上热门
  11. java计算税后工资switch语句_计算个人所得税!switch语句
  12. python里output是什么意思_Python入门系列:Input/Output
  13. php ucenter home登录,UCenter Home 2.0 正式版现正式下载!!
  14. 全息投影手机Alo将引领未来趋势!全息3d 网
  15. vuex中的actions
  16. 只有长大了,才认识父亲
  17. python打包flask 项目_使用pyinstaller将flask应用打包
  18. PMP考试中的各种图总结
  19. 程序员如何快速了解和掌握一门新技术
  20. 网格布局(grid布局)

热门文章

  1. 纸质图书和电子图书选择的三点建议
  2. TypeScript 类的使用、泛型与其他补充类型
  3. 安卓多媒体应用-通知
  4. python期末大作业-图形化爬虫
  5. jvm 之 国际酒店 8 月 19 一次full GC 导致的事故
  6. 数据库创建之主文件不能容纳副本的解决方案
  7. IP 如:192.168.2.0/24表示的IP范围及A段、B段和C段的意义
  8. xampp php目录,htaccess文件,php,包括目录和Windows XAMPP配置噩梦
  9. 蓝桥杯--矩阵翻硬币
  10. 超级网管员——网络基础