PPO 学习笔记

用PPO算法求解整个神经网络在迭代过程中的梯度问题

每走一步就会得到一个新的状态,把这个状态传到网络里面,会得到一个 action,执行这个 action 又会到达一个新状态


policy 中由状态 st 生成动作 at,生成的这个 at 是由整个网络的所有权重参数 \Theta 决定的。最终目标是优化整个网络模型,使得这个网络模型在每一个状态都能给出正确的答案

我们的目标是训练一个网络模型,只不过背景和数据有一些变化,数据是不断地由自己生成的,也就是智能体在玩的过程中不断生成出来的。用一系列生命周期记录数据,目的是训练好当前的网络模型。


一(下一个状态是什么)和三(规则)都是游戏自带的,只有第二个是我们需要考虑的,我们只需要操心怎么把模型训练的更好

 


我们的目的是求出一个神经网络模型,帮我去玩这个游戏,帮我去得到每一步的 action 是什么,把神经网络中的模型参数 \Theta 求出一个合适的值,所以我们优化的是网络中的权重参数

需要找到一组最优的 \Theta 使得整个生命周期做完之后整体的奖励最大,这是一个梯度上升问题


求 \Theta 等于什么的时候能够使得期望 J(\Theta) 最大

下面终极版的公式需要很多数据,有没有巧妙的方法帮我们收集这些数据?

到此为止我们还没有提到 PPO,只是在算梯度,一会会说 PPO 是帮助我们求解的


每玩一把都是在攒数据,把数据代入即可求解

PPO 的一些技巧方法:

baseline 去均值,使得奖惩分明,奖励是正的,惩罚是负的

不用总的奖励,用去均值之后的


之前讲的只是策略梯度(policy gradient),没有任何 PPO 的概念,下面看一下 PPO 到底是怎样帮助我们优化当前任务的

 

在实际中,和 \Theta2 最像的就是前一步的迭代结果 \Theta1,用前一步迭代结果的时候用到的 \Theta 1产生大量数据供当前的 \Theta2 进行学习,学习完之后变成 \Theta3,\Theta3 的时候狸猫变成 \Theta2,\Theta4 的时候狸猫变成 \Theta3

PPO2 只是多加了一个限制条件,做一个截断的操作,把他俩的相似范围限制到了一个区间


actor 网络输入的是 state,会帮我们决定当前什么样的 action 是最合适的

critic 也是一个网络,会输出 value 值,这个 value 值来评估我当前这个水平做的这个事情是否合适

b 是 critic 网络要学习的结果,是 critic 网络的输出值 value,如果当前智能体水平很高但是还在打低级怪物,获得比较低的奖励,那么此时当他再减去一个 value 之后可能会得到一个负值,意味着当前做这件事不合适


之所以取  min 值,是希望不论 A 大于 0 还是小于 0,p_\Theta 和 p_\Thetak 都不能相差太远

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CGAL 点云数据生成DSM、DTM、等高线和数据分类

原文链接 CGAL 点云数据生成DSM、DTM、等高线和数据分类 - 知乎 在GIS应用软件中使用的许多传感器(如激光雷达)都会产生密集的点云。这类应用软件通常利用更高级的数据结构:如:不规则三角格网 (TIN)是生成数字高程模型 (DEM) 的基础,也可以利…

CSS中的圆角和阴影

目录 盒子圆角 圆角基础使用 圆角常见使用 通过设置盒子圆角得到一个圆形 通过设置盒子圆角,得到一个“操场”的样式 盒子阴影 文字阴影 盒子圆角 圆角基础使用 在 CSS3 中,新增了圆角边框样式,这样我们的盒子就可以变圆角了。 使用…

深入浅出TCP 与 UDP

🔥 引言 在互联网的广阔天地里,TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)作为传输层的两大支柱,各自承担着不同的使命。下面这篇文章将带你从基础到进阶,全…

8. Django 表单与模型

8. 表单与模型 表单是搜集用户数据信息的各种表单元素的集合, 其作用是实现网页上的数据交互, 比如用户在网站输入数据信息, 然后提交到网站服务器端进行处理(如数据录入和用户登录注册等).网页表单是Web开发的一项基本功能, Django的表单功能由Form类实现, 主要分为两种: dj…

练习题(2024/5/1)

1二叉树的层平均值 简单 相关标签 相关企业 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[3.00000,14.50000…

关于建表、表字段的增删改等的语法及举例(字段类型、字段约束、建表语法、表字段增删改、注意事项等)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

ASUS华硕ROG幻15笔记本GU502GU原装出厂Windows10系统工厂模式安装包下载,带MyASUS WinRE恢复重置功能

华硕ROG Zephyrus M15笔记本原厂Win10预装OEM系统,恢复开箱状态 适用型号:GU502GW,GU502GU,GU502GV 链接:https://pan.baidu.com/s/1lTK_CUFT9N3q0sXBS7ENPg?pwd8hm2 提取码:8hm2 华硕原装W10系统工厂…

警惕虚假宣传:GPT-4.0免费领取真相揭秘

警惕虚假宣传:GPT-4.0免费领取真相揭秘 在人工智能技术飞速发展的今天,尤其是OpenAI推出的GPT-4.0成为技术前沿的焦点,不少不法分子也开始借机进行欺诈。网络上出现了大量声称“免费领取GPT-4.0”的虚假信息,这不仅误导了公众&am…

嵌入式全栈开发学习笔记---C语言知识复习大全1

目录 Linux开发者的基本素养-文件分类 补充命令1-pwd 补充命令2-clear 在Linux上编写C程序 在Linux上编译程序 思考:C语言中一定要main函数吗 我们为什么要学习C语言?学习C语言有助于理解计算机底层工作原理! 后面我们的很多项目也都是…

ML.NET机器学

一、新建项目MLL 二、选择方案 我们这里选择的是计算机视觉-->图像分类 三、选择环境 本地(CPU) 四、选择数据 我自己造了2个验证码的目录 五、训练 六、评估 7、代码中使用 运行效果:

MySQL中索引的数据结构

2.3.1. 索引数据结构 索引就是能够提高查询速度的一种数据结构,在数据插入时就进行了排序(会影响插入和更新的性能),索引广泛使用的是B树索引。 B树索引结构: 目前是基于磁盘排序效率最高的数据结构,树非…

Linux:浏览器访问网站的基本流程(优先级从先到后)

浏览器访问网站的基本流程(优先级从先到后) 首先查找浏览器是否存在该网站的访问缓存 其次查找本机的域名解析服务器 windows:C:\Windows\System32\drivers\etc\hostsLinux:/etc/hosts 使用外部的域名解析服务器解析&#xff…

如何安装cuda版本的torch-sparse和torch-scatter

安装对应cuda版本的torch,确保cuda可用 使用nvidia-smi查看cuda版本,我的是11.4,然后就找到pytorch历史版本,页面搜索cuda 11.4,没搜到,继续往小版本搜,搜到cuda 11.3,果断安装&…

【深度学习实战(29)】后处理之NMS(非极大值抑制)

一、NMS工作原理 NMS 的工作原理: 置信度排序:对于每个类别,NMS 首先根据每个边界框的置信度(即预测框中含有目标的概率)进行排序。选择最高置信度框:从置信度最高的边界框开始,将其作为当前考…

# 从浅入深 学习 SpringCloud 微服务架构(七)Hystrix(2)

从浅入深 学习 SpringCloud 微服务架构(七)Hystrix(2) 一、Hystrix:基于 RestTemplate 的统一降级配置 1、Hystrix:基于 RestTemplate 的统一降级配置 步骤: 1)在项目的 pom.xml …

前端 CSS

目录 选择器 复合选择器 伪类-超链接 结构伪装选择器 伪元素选择器 画盒子 字体属性 CSS三大属性 Emmet写法 背景属性 显示模式 盒子模型 盒子模型-组成 盒子模型-向外溢出 盒子模型-圆角 盒子模型-阴影 flex position定位 CSS小精灵 字体图标 垂直对齐方式…

《R语言与农业数据统计分析及建模》学习——logistic回归和poisson回归

普通线性回归通常用来描述变量y与x之间的线性关系: 普通线性模型的假设是:响应变量y是连续型变量而且,服从正态分布分布。但在很多现实情况y并不是正态分布,如:二值问题/多分类问题,计次问题等,…

防火墙远程桌面端口号修改,如何用防火箱修改远程桌面的端口号

在网络安全日益重要的今天,修改远程桌面服务的默认端口号已成为提高系统安全性的重要手段。通过修改端口号,可以有效防止潜在的恶意攻击者通过扫描常见端口来发现并利用系统的漏洞。本文将详细介绍如何在Windows系统中修改远程桌面服务的端口号&#xff…

2024 五一杯高校数学建模邀请赛(C题)| 煤矿深部开采冲击地压危险预测 |建模秘籍文章代码思路大全

铛铛!小秘籍来咯! 小秘籍团队独辟蹊径,构建了这一题的详细解答哦! 为大家量身打造创新解决方案。小秘籍团队,始终引领着建模问题求解的风潮。 抓紧小秘籍,我们出发吧~ 让我们看看五一杯的C题! 完…

动静态库(完结版)

文章目录 接上篇完成blog第三方库安装演示动态库加载原理一二三四 接上篇完成blog 上篇链接 第三方库安装演示 sudo yum install -y ncurses-devel下载完成之后 在系统目录下面一定能找到对应的头文件和库文件 此时使用第三方库: 编译之后按错误提示是对应的函数找不到,所以链…