深度强化学习——第一次知识小结(3.5)

news2024/11/19 14:51:09

一、策略网络的小结:

重要概念回顾:

1、动作价值函数QΠ(st,at)

动作价值函数是未来奖励总和Ut的条件期望,如果已知了策略函数Π与当前的状态st,QΠ就可以对所有的动作a打分,以此来决定选择哪个a

其实顾名思义就是给所有当前状态下所有动作打分的函数

2、状态价值函数VΠ(st)=EA[QΠ(st,A)],A~(·|st)

顾名思义就是给当前所处状态打分,得到一个值来判断当前状态是好是坏

1、策略学习的最终目标

》学习到一个策略函数Π,比如在当前状态下,agent需要做动作,但是它不知道应该做什么,就调用Π(a|s)函数,来决定当下最应该做出什么动作

在这里,调用Π(a|s)函数会得到一个数组(0.2,0.1,0.7),数组里的每个元素代表相应动作被选择的概率,然后agent从里面随机抽一个动作来执行

2、但是现实中可能有无数个状态/动作,而且我们无法预知未来,得到这个上帝函数Π(绝对正确),那么应该怎么办呢?

》使用策略神经网络Π(a|s;θ)来近似Π(a|s),所以我们的目标就是学习到一个最好的神经网络参数θ,来使Π(a|s;θ)无限接近Π(a|s)

3、我如何评价神经网络参数θ的好坏呢?

》使用V(st;θ)=。。。。。。。。。。。。来评价策略网络Π(a|s;θ)的好坏,进而评价θ的好坏,我们可以通过求V(st;θ)的极大值来获得局部最大值,也可以通过求V(st;θ)的条件期望J(θ)=ES[(S,θ)]来获得全局最大值,在本文的线性模型当中,求V(st;θ)的极大值就是全局的最大值了

4、那么如何求V(st;θ) max呢?

》先随机初始化参数θ,然后通过梯度上升,使得θ朝着极大值点的方向移动

5、如何求策略梯度

呢?

1)假如动作是离散的,即A={"left","right","up"}

这样我们计算出来策略梯度,就可以更新参数θ了

2)假如动作是连续的,我们使用蒙特卡洛近似:

 由于:

所以:

因此我们可以使用g(a hat,θ)来代替策略梯度

最后还有一个问题就是QΠ怎么算?

我们不知道QΠ,所以没法算qt,那么如何近似去算qt呢?

法一:用策略网络Π来控制agent运动,从一开始一直玩到游戏结束,把整个游戏的轨迹都记录下来,s1,a1,r1,s2,a2,r2,...sn,an,rn,观测到所有奖励r,我们就可以算出ut

由于价值函数QΠ是Ut的期望,我们可以用大Ut的观测值小ut来近似QΠ,所以reinforce强化算法就是使用观测到的ut来代替QΠ函数,reinforce算法需要玩完一局游戏,观测到所有的奖励,然后才能更新策略网络

法二:用一个神经网络来做近似:

原本已经用神经网络近似了策略函数Π,现在用另一个神经网络来近似价值函数QΠ,这样就有了两个神经网络,一个被称为Actor,一个被称为Critic,这样就有了actor-critic方法 

总结一下策略梯度算法:

1、在第t个时间点,观测到了状态st

2、使用蒙特卡洛近似来计算策略梯度,把策略网络Π作为概率密度函数,用它随机抽样得到一个动作at,比如at是向左的动作

3、计算价值函数QΠ的值,把结果记作qt

4、对策略网络Π求导,算出logΠ关于θ的导数,得到的结果dθ,t是向量、矩阵或者是张量,dθ,t的大小和θ是一样的,如果θ是100*100的矩阵,那么dθ,t也是100*100的矩阵,tensorflow和pytorch这些系统都支持自动求梯度你告诉系统当前at,st还有当前参数θt,系统可以自动求出来梯度dθ,t

5、近似地计算策略梯度,用一个样本a来算策略梯度的蒙特卡洛近似

6、最后一步,有了近似的策略梯度,就可以用它来更新策略网络的参数θ了

二、价值网络小结:

写技术类的文章好烦,研究的人不多,没怎么有人看,如果没人互动的话,就不更新了,Tandy Monkey只能自我提升了。。。。。。。。。。。。。。。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023第14届蓝桥杯C/C++A组省赛题解

省一了,占个坑,今天晚上来补蓝桥的题 试题 A: 幸运数 本题总分:5 分 【问题描述】 小蓝认为如果一个数含有偶数个数位,并且前面一半的数位之和等于后面 一半的数位之和,则这个数是他的幸运数字。例如 2314 是…

ROC的理解

ROC 的由来 ROC 曲线是由混淆矩阵衍生来的指标。 混淆矩阵如图所示, 二ROC曲线的横坐标为 FPR,纵坐标为 TPR,计算公式分别是 F P R F P F P T N , 也就是 F P R F P F A L S E FPR \frac{FP}{FPTN}, 也就是 FPR \frac{FP}{FALSE} FP…

5天学会Linux C高级

day1 用C语言的理论知识点去推断结果 需求&#xff1a;让面试官知道你懂这个内容 一、C语言补充内容 【1】结构体补充内容&#xff1a; 1&#xff09;结构体.等法 结构体.等法代码 #include <stdio.h> struct student { int num; float score; char name[32…

docker镜像创建|实战案例(ssh|systemd|nginx|apache)

docker镜像创建|实战案例&#xff08;ssh|systemd|nginx|apache&#xff09; 一 Docker 镜像的创建1.基于现有镜像创建2基于本地模板创建3 基于Dockerfile 创建为什么Docker里的centos的大小才200M&#xff1f;DockerfileDocker 镜像结构的分层 4 Dockerfile 案例&#xff08;h…

Java IO数据流

Java IO数据流介绍 在程序开发中&#xff0c;将不同输入/输出设备&#xff08;例如文件、网络、压缩包等&#xff09;之间的数据传输抽象为流。可以将流分为字节流&#xff08;以Stream结尾的流&#xff09;和字符流&#xff08;以Reader和Writer结尾的流&#xff09;两种 try…

水羊转债,超达转债,晓鸣转债上市价格预测

水羊转债 基本信息 转债名称&#xff1a;水羊转债&#xff0c;评级&#xff1a;A&#xff0c;发行规模&#xff1a;6.94987亿元。 正股名称&#xff1a;水羊股份&#xff0c;今日收盘价&#xff1a;13.94元&#xff0c;转股价格&#xff1a;13.71元。 当前转股价值 转债面值 /…

5.3 Mybatis映射文件 - 零基础入门,轻松学会查询的select标签和resultMap标签

本文目录 前言一、创建XML映射文件二、MybatisX插件安装三、mapper标签四、select标签UserMapper接口方法UserMapper.xml 五、resultMap标签定义resultMap标签修改select标签 总结 前言 MyBatis的强大在于它的语句映射&#xff0c;它提供了注解和XML映射文件两种开发方式&…

jenkins——邮件告警

文章目录 一、下载 Email Extension 插件二、修改系统配置项目1、Jenkins Location配置2、邮件通知配置&#xff08;用于测试连通性&#xff09;3、Extended E-mail Notification配置4、Jenkins Location 配置5、在 job 中配置邮件发送6、高级设置7、配置发送 trigger8、构建验…

arduino学习笔记3

一.RGB三色小灯实验 1.源代码 int rgb_R11;//接到板子上面的PWM口11 R int rgb_G9;//接到板子上面的PWM口9 G int rgb_B10;//接到板子上面的PWM口10 B void setup() {pinMode(rgb_R,OUTPUT);//设置rgb_R的控制口为输出模式pinMode(rgb_G,OUTPUT);//设置rgb_G的控制口为输出模…

多线程【进阶版】

目录 一. 常见的锁策略 1.1 乐观锁和悲观锁 1.2 轻量级锁和重量级锁 1.3 自旋锁和挂起等待锁 1.4 互斥锁和读写锁 1.5 可重入锁和不可重入锁 1.6 公平锁和非公平锁 1.7 关于锁策略的相关面试题 二. CAS 三. Synchronized 原理 3.1 基本特点 3.2 加锁步骤 3.3 锁消除…

利用宏简化Q_PROPERTY动态属性的定义

目录 写在前面实现历程传统定义方式预想的方式(事实上有一点点区别) 例程mainwindow.hmainwindow.cppmain.cpp 执行结果如上事实的使用方法 写在前面 上一篇写了pyqt如何更加便利地定义动态属性&#xff0c;关于C版的其实在我刚接触Qt不久就想过并做了一些尝试&#xff0c;但死…

C. Vus the Cossack and Strings(异或判断二进制位匹配数奇偶)

Problem - C - Codeforces 题目描述 Vus the Cossack has two binary strings, that is, strings that consist only of "0" and "1". We call these strings aa and bb . It is known that |b| \leq |a|∣b∣≤∣a∣ , that is, the length of bb is at m…

手把手教你学习IEC104协议和编程实现 十二-读取定值

不废话,直接接上一章开始。忘记的复习一下上一章。 读取多个/全部定值 结构 设计思路 先说一下,读取多个定值的思路,首先。。。我靠,好长时间不看这一部分的程序,忘记了,待我先好好捋一捋。。。 言归正传,首先我们要选择我们要调用的定值。如下图: 大概就这样举个例…

2023年数据治理工程师证书有哪些值得考?DAMA-CDGA/CDGP

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

CDR2023新版本安装下载教程

CDR2023是最新发布的一款强大且专业的图像设计软件,适用于平面设计、装饰设计、产品包装设计等领域。coco玛奇朵其主要功能如下: 1. 矢量图形设计:提供强大的绘图与编辑工具,支持创建和编辑各种矢量图形,如线条、曲线、矩形、椭圆、星形等。 2. 文字编辑:提供文字输入、编辑与…

Docker资源控制和镜像

目录 第一章Docker的资源控制 1.2.对内存使用的限制 1.3.对磁盘IO配额控制&#xff08;blkio&#xff09;的限制 第二章Docker 的数据管理 2.1.数据卷 2.2.数据卷容器 2.3.端口映射 2.4.容器互联&#xff08;使用centos镜像&#xff09; 第三章.Docker 镜像的创建 3.…

java 实现对称加密的方法

对称加密是一种加密算法&#xff0c;它和非对称加密的区别在于&#xff1a;加密和解密使用不同的密钥&#xff0c;对称加密使用同一个密钥对数据进行加密和解密。 今天我们来学习下对称加密的实现方法&#xff0c;不需要使用到私钥&#xff0c;只需要用到公钥。 首先我们来看下…

气传导蓝牙耳机优缺点有哪些?气传导耳机科普及推荐

气传导蓝牙耳机&#xff0c;可以说是目前使用场景最全的种类&#xff0c;个人认为&#xff0c;这种耳机也同时是目前最好的耳机体验形态&#xff0c;将会是主流的长时间佩戴的耳机形态&#xff0c;甚至是未来智能耳机终极形态。 不过目前大多数人都还没有接触过这类蓝牙耳机&a…

污水处理厂的工艺流程有哪些?

对于普通人来说&#xff0c;一个完整的污水处理过程是相当神秘的&#xff0c;那么&#xff0c;今天我们来聊一下&#xff0c;一个完整的污水处理厂的工艺流程&#xff0c;都包括了哪方面的内容&#xff0c;一起来了解一下吧&#xff01; 一、污水处理厂的工艺流程 1、先进行污…

项目管理中,管理者如何打造团队执行力?

作为一名优秀的团队管理者&#xff0c;首先应该以身作则&#xff0c;成为团队的榜样&#xff0c;并将自己的良好工作作风带入团队中&#xff0c;影响团队成员&#xff0c;以真诚的态度打动每一位成员&#xff0c;促进团队之间的默契合作。 团队执行力的最重要原因通常与团队的…