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 都不能相差太远

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

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

相关文章

【STM32+HAL】三轴按键PS2摇杆

一、准备工作: 有关CUBEMX的初始化配置,参见我的另一篇blog:【STM32HAL】CUBEMX初始化配置 有关定时器触发ADC模式配置,详见【STM32HAL】ADC采集波形实现 二、所用工具: 1、芯片: STM32F407VET6 2、CUBE…

OPC UA与IEC61499 在分布式智能电网中的应用

储能系统的系统架构 CMC :Cell Management Controller 储能设备中的电池芯包与电池均衡系统构成电池模组,国内的电池芯包通常使用被动均衡技术,被动均衡芯片通常通过SPI 接口连接到CMC 控制器,CMC 以单片机为主构建,具…

Python 与 TensorFlow2 生成式 AI(四)

原文:zh.annas-archive.org/md5/d06d282ea0d9c23c57f0ce31225acf76 译者:飞龙 协议:CC BY-NC-SA 4.0 第九章:文本生成方法的崛起 在前几章中,我们讨论了不同的方法和技术来开发和训练生成模型。特别是在第六章“使用 …

监控操作台为生活提供安全保障

在科技日新月异的现代社会,监控操作台已成为我们生活中不能缺少的一部分。它犹如一座城市的守护神,默默无闻地守护着我们的安全,确保着每一刻的平安。今天,和北京嘉德立一同走进这个神秘的世界,揭开监控操作台的神秘面…

深度学习中权重初始化的重要性

深度学习模型中的权重初始化经常被人忽略,而事实上这是非常重要的一个步骤,模型的初始化权重的好坏关系到模型的训练成功与否,以及训练速度是否快速,效果是否更好等等,这次我们专门来看看深度学习中的权重初始化问题。…

数据库管理-第179期 分库分表vs分布式(20240430

数据库管理179期 2024-04-30 数据库管理-第179期 分库分表vs分布式(20240430)1 分库分表1.1 分库1.2 分表1.3 组合1.4 问题 2 分布式3 常见分布式数据库4 期望总结 数据库管理-第179期 分库分表vs分布式(20240430) 作者&#xff1…

iBarcoder for Mac:一站式条形码生成软件

在数字化时代,条形码的应用越来越广泛。iBarcoder for Mac作为一款专业的条形码生成软件,为用户提供了一站式的解决方案。无论是零售、出版还是物流等行业,iBarcoder都能轻松应对,助力用户实现高效管理。 iBarcoder for Mac v3.14…

【Hadoop】-Hive客户端:HiveServer2 Beeline 与DataGrip DBeaver[14]

HiveServer2 & Beeline 一、HiveServer2服务 在启动Hive的时候,除了必备的Metastore服务外,我们前面提过有2种方式使用Hive: 方式1: bin/hive 即Hive的Shell客户端,可以直接写SQL方式2: bin/hive --…

使 Elasticsearch 和 Lucene 成为最佳向量数据库:速度提高 8 倍,效率提高 32 倍

作者:来自 Elastic Mayya Sharipova, Benjamin Trent, Jim Ferenczi Elasticsearch 和 Lucene 成绩单:值得注意的速度和效率投资 我们 Elastic 的使命是将 Apache Lucene 打造成最佳的向量数据库,并继续提升 Elasticsearch 作为搜索和 RAG&a…

SQLite如何处理CSV 虚拟表(三十七)

返回:SQLite—系列文章目录 上一篇:SQLite的DBSTAT 虚拟表(三十六) 下一篇:SQLite的扩展函数Carray()表值函数(三十八) ​ RFC4180格式是一种文本文件格式,被用于表格数据间的交互,也可将表格数据转化…

人工智能分割分类model:nnUnet-paddle

文章目录 神经网络nnUnet和paddle都需要在Ubuntu下进行安装PaddleProject 神经网络 开源来自https://github.com/MIC-DKFZ/nnUNet 自建了仓库,但还不会用 来自 mmsegmentation有空去了解 . MICCAI 2020 也是用到这个网络 paddle上的是不是不能用… nnUnet和pad…

Qt5画饼图、圆环图、极地图、折线图

(1)Qt5Chart应用 (2)展现形式 (3)下载地址: https://download.csdn.net/download/hgaohr1021/89247166 Qt5画饼图、圆环图、极地图、折线图