【深度强化学习】确定性策略梯度算法 DDPG

前面讲到如 REINFORCE,Actor-Critic,TRPO,PPO 等算法,它们都是随机性策略梯度算法(Stochastic policy),在广泛的任务上表现良好,因为这类方法鼓励了算法探索,给出的策略是各个动作的概率分布。

实际上策略梯度方法分为两类:一类是随机性策略梯度算法,另一类是确定性策略梯度算法

确定性策略可能更适合需要精确控制的任务,在这些任务中,任何偏离最佳操作的行为都会对结果产生重大影响(如:下棋)。而随机策略可能更适合涉及不确定性或探索的任务,因为它们允许智能体尝试不同的行动并从其结果中学习。


DDPG 深度确定性策略梯度 Deep Deterministic Policy Gradient

直觉

DQN 挺好的,但是只能离散动作,不能连续动作,关键原因在于 max ⁡ a Q ( S , a ) \max_a Q(S,a) maxaQ(S,a),在无限多的动作下不适用。
解决方法:
max ⁡ a Q ( s , a ) = Q ( s , arg ⁡ max ⁡ a Q ( s , a ) ) → Q ( s , μ θ ( s ) ) \max_a Q(s,a) = Q(s,\arg \max_a Q(s,a)) \to Q(s, \mu_{\theta}(s)) amaxQ(s,a)=Q(s,argamaxQ(s,a))Q(s,μθ(s))
核心思想:既然在连续的时候从众多 a a a 里面选一个使得 Q Q Q 最大的 a a a 这么难,那我就用一个网络直接近似给出这个 a a a,代替这个 max操作,这个网络就叫 μ θ \mu_\theta μθ


图示

实际上是一种 Actor-Critic 方法

在这里插入图片描述
这里策略网络 μ ( s ; θ ) \mu(s;\theta) μ(s;θ)给出的动作 a a a 是确定的,而不是一个分布。


伪代码与解释

在这里插入图片描述

  • 动作 Clip : 在动作选择的时候,clip,因为动作是连续的,是由神经网络给出的,防止爆nan
  • (动作添加噪声 N ( 0 , σ 2 ) \mathcal{N}(0,\sigma^2) N(0,σ2)):探索 or 稳健
  • (动作输入之前批标准化):平衡连续动作量纲
  • 每得到一批数据,分别更新 Critic 、 Actor、慢 Critic、慢 Actor:
    • Critic Q ϕ ( ⋅ , ⋅ ) Q_{\phi}(\cdot,\cdot) Qϕ(,) 更新:利用 ( r , s ′ ) (r,s') (r,s) 计算 TD target,计算的时候都使用 target 参数( θ t a r g e t , ϕ t a r g e t \theta_{target}, \phi_{target} θtarget,ϕtarget) ,TD target 和 Q ( s , a ) Q(s,a) Q(s,a) 计算 TD loss, 最小化,梯度下降。
    • Actor μ θ ( ⋅ ) \mu_\theta(\cdot) μθ() 更新:我们假设 Critic 已经是一个良好的估计,那么就让 θ \theta θ 往能够使得 Critic 满意的方向走(选择使得 Critic 满意的连续动作 a a a),最大化,梯度上升。
    • 慢 Critic 和慢 Actor 更新:用移动平均更新即可(思想:类似于 DQN 目标网络,减少自举法带来的偏差)

DDPG 加特技

TD3:双延时 DDPG(Twin Delayed Deep Deterministic Policy Gradient)

在这里插入图片描述

截断双Q学习:Clipped Double Q-Learning

在这里插入图片描述


实验效果

在这里插入图片描述


变化路线

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/284839.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

档案数字化管理可以提供什么服务?

档案数字化管理提供了便捷、高效和安全的档案管理服务,帮助组织更好地管理和利用自己的档案资源。 具体来说,专久智能档案数字化管理可以提供以下服务: 1. 档案扫描和数字化:将纸质档案通过扫描仪转换为数字格式,包括文…

Convolutional Neural Network(CNN)——卷积神经网络

1.NN的局限性 拓展性差 NN的计算量大性能差,不利于在不同规模的数据集上有效运行若输入维度发生变化,需要修改并重新训练网络容易过拟合 全连接导致参数量特别多,容易过拟合如果增加更多层,参数量会翻倍无法有效利用局部特征 输入…

python接口自动化测试-unittest-批量用例管理

我们日常项目中的接口测试案例肯定不止一个,当案例越来越多时我们如何管理这些批量案例?如何保证案例不重复?如果案例非常多(成百上千,甚至更多)时如何保证案例执行的效率?如何做(批…

59. 螺旋矩阵 II(java实现,史上最详细教程,想学会的进!!!)

今天来分享一下螺旋矩阵的解题思路及代码的实现。 题目描述如下: 首先拿到这道题,首先不要慌张,我们来仔细分析一下会发现并没有那么难。 首先看下边界的元素是1、2、3递增的,那么我们也许可以根据这一点先把边界的元素一个一个给…

建行江门市分行致力数字人民币加速融入百姓生活

数字金融是“数字中国”建设的重要组成部分。建行江门市分行主动拥抱数字经济浪潮,全力探索数字金融赋能实体经济和社会民生,不断助力增强人民群众对金融服务的获得感、幸福感和安全感。 缴交住维如此简单! 江门是著名侨乡,有40…

Java小案例-RocketMQ的11种消息类型,你知道几种?(死信消息)

前言 在RocketMQ中,死信消息(Dead-Letter Message)是指那些在正常情况下无法被消费者消费的消息。这些消息会被存储在死信队列(Dead-Letter Queue,简称DLQ)中。 死信消息的特性包括: 不会再被…

RocketMQ EventBridge 核心概念

理解EventBridge中的核心概念,能帮助我们更好的分析和使用EventBridge。本文重点介绍下EventBridge中包含的术语: EventSource:事件源。用于管理发送到EventBridge的事件,所有发送到EventBridge中的事件都必须标注事件源名称信息…

关键字、标识符、变量、基本数据类型

一、关键字(Keyword) 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(或单词) 特点:全部关键字都是小写字母 Java关键字查询关键地址: http:// https://docs.oracle.com/j…

微服务——服务异步通讯(MQ高级)

MQ的一些常见问题 消息可靠性 生产者消息确认 返回ack,怎么感觉这么像某个tcp的3次握手。 使用资料提供的案例工程. 在图形化界面创建一个simple.queue的队列,虚拟机要和配置文件里面的一样。 SpringAMQP实现生产者确认 AMQP里面支持多种生产者确认的类…

Jmeter 性能-负载阶梯场景

1、安装阶梯测试的第三方插件->搜jpgc 选项-JMeter Plugins Manager -搜jpgc 空格,然后安装 2、脚本-线程组选jpgc Stepping Thread Group 最终并发数为100,并发数从0开始,5秒内增加10个并发数,增加10个后持续30s,…

[C++]——STL简介

带你了解c的STL 前言:一、什么是STL?二、STL有什么版本?三、STL的组件有哪些?四、如何学习STL?五、总结 前言: 我写这个博客,是为了在学习过程中能够更加有条理,更加全面,更加清晰的学习STL。…

Pipelined-ADC设计一:序言

现在是2023年12月18日,准备开新帖,设计一个 流水线型 模数转换器( Pipelined-ADC )。记录帖,后续会放在咸鱼。同步记录,谨防盗用。 初定指标:12位50Mhz,采用2.5bit每级结构&#xff…