【从RL到DRL】深度强化学习基础(五)离散控制与连续控制——确定策略梯度方法(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)、使用随机策略进行连续控制相关推荐
- 《强化学习》中的第13章:策略梯度方法
前言: 本次笔记对<强化学习(第二版)>第十三章进行概括性描述. 以下概括都是基于我个人的理解,可能有误,欢迎交流:piperliu@qq.com. 让时间回到最开始:第二章多臂赌博机.在 ...
- 深度强化学习基础知识 思维导图
学习了王树森老师的深度强化学习入门课件,将各个算法整理在如下思维导图中. 深度强化学习基础知识 思维导图
- 深度学习机器臂控制_基于深度强化学习的机器人手臂控制
基于深度强化学习的机器人手臂控制 杨淑珍 ; 韩建宇 ; 梁盼 ; 古彭 ; 杨发展 ; 吕萍丽 [期刊名称] <福建电脑> [年 ( 卷 ), 期] 2019(035)001 [摘要] ...
- 深度强化学习基础(一):RL中的基本概念
目录 强化学习是什么? 强化学习能做什么? 关键概念和术语 概率论 术语 AI如何控制agent 策略学习--学习policy函数 价值学习--学习最优动作价值函数 总结 强化学习是什么? 强化学习 ...
- 首个深度强化学习AI,能控制核聚变,成功登上《Nature》
编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 最近,DeepMind 开发出了世界上第一个深度强化学习 AI ,可以在模拟环境和真正的核聚变装置中实现对等离子体的自主控制. ...
- DRL深度强化学习代码实战1——MountainCar-v0小车成功登顶
如果你是刚刚接触DRL的同学,那么本文的内容就是引你入胜的第一个小实验. DRL的学习离不开理论知识,但更不能缺少实践!废话不多说我们直接开始. 0. 实验环境和包版本 ① PyCharm 2022 ...
- 【从RL到DRL】深度强化学习基础(四)——策略梯度中的Baseline,Reinforce与A2C的对比
目录 带有Baseline的策略梯度 数学推导 蒙特卡洛近似(With Baseline) Reinforce With Baseline 使用Reinforce算法训练: Advantage Act ...
- 【李宏毅机器学习课程笔记】深度强化学习(五)—— Sparse Reward
文章目录 Introduction Reward Shaping Curiosity Curriculum Learning Hierarchical Reinforcement Learning I ...
- 强化学习笔记(六):Policy Gradient/策略梯度
目录 考题 知识点1:critic.actor 定理1:策略梯度理论 定理2:函数近似理论 知识点3:蒙特卡洛策略梯度 知识点4:Actor-critic算法 知识点:Advantage Funct ...
最新文章
- 丽水松阳计算机职业高中学校,丽水松阳职专
- 李开复对谈张亚勤:科学家创业需要企业家伙伴,开放心态看待元宇宙 | MEET2022...
- Chrome浏览器查看SSL证书信息
- JavaScript 的 defer 与 async
- md5 ios java代码_IOS端與Java端MD5加密方法
- 解决filezilla中无法显示中文的文件名
- 70道经典Android面试题加答案--重要知识点几乎都涉及到了
- POJ-2031-Building a Space Station
- ADB如何无线连接手机操作方法
- 抖音养号教程技巧,做抖音怎么养号上热门
- java计算税后工资switch语句_计算个人所得税!switch语句
- python里output是什么意思_Python入门系列:Input/Output
- php ucenter home登录,UCenter Home 2.0 正式版现正式下载!!
- 全息投影手机Alo将引领未来趋势!全息3d 网
- vuex中的actions
- 只有长大了,才认识父亲
- python打包flask 项目_使用pyinstaller将flask应用打包
- PMP考试中的各种图总结
- 程序员如何快速了解和掌握一门新技术
- 网格布局(grid布局)