PPO系列3 - PPO原理
On Policy:
采集数据的模型,和训练的模型,是同一个。缺点:慢,生成一批样本数据,训练一次,又要重新生成下一批。
Off Policy:
采集数据的模型,和训练的模型,不是同一个。有点:快,生成一批样本数据,可以供训练多次。
例子:
On Policy: 小明上课玩手机,老师批评了小明,小明做了改正不玩手机了。行为是小明产生的,改正也是小明做的,所以是On Policy。
Off Policy: 小明上课玩手机,老师批评了小明,和小明同样喜欢上课玩儿手机的小王,看到小明因为这个被批评后,做了改正不玩手机了。行为是小明产生的,改正是小王做的,所以是Off Policy。
重要性采样
从最开始的x服从p分布,转化到x服从q分布。
把重要性采样,用在GAE强化学习上:
以上就是PPO的梯度。
以下就是PPO的损失函数:
在参考模型
上进行采样,并且A里的状态价值V也是用参考模型
的。
训练模型和参考模型,不能偏差过大
例子:如果小王是成绩好的学生,那么,差生小明因为考试经常交白卷被老师批评,这件事被小王看到,则对小王影响不大,小王没啥要改正的地方。只有当小王也是差生也有时会交白卷,此事才对小王有警示作用,促其改正。
加约束,有2种方式:
第1个是把KL散度加到loss里。(2个分布完全相等时,KL散度为0;差异越大,KL散度越大)
第2个是加约束,P比值,不能超出一个范围。
相关文章:
PPO系列3 - PPO原理
On Policy: 采集数据的模型,和训练的模型,是同一个。缺点:慢,生成一批样本数据,训练一次,又要重新生成下一批。 Off Policy: 采集数据的模型,和训练的模型,不是同一个。有点…...
.idea
.idea/ 文件夹下的文件和目录主要用于存储 JetBrains IDE(如 PyCharm、IntelliJ IDEA 等)的项目配置。下面是一些常见文件和目录及其作用的详细介绍: 1. workspace.xml 用户界面布局:保存了IDE窗口布局,包括打开的文…...
单片机:实现呼吸灯(附带源码)
单片机实现呼吸灯详细解读 呼吸灯是一种常见的灯光效果,广泛应用于电子产品、汽车、家居照明等领域。其基本特性是通过逐渐增亮和减弱的方式,使得灯光呈现出“呼吸”的效果,给人一种平缓、舒适的视觉感受。在嵌入式系统中,呼吸灯…...
PostgreSQL数据库序列信息查询
PostgreSQL序列信息查询 说明: 在PostgreSQL数据库中序列和表都是序列的对象。 数据库中不应该存在孤儿序列,序列应该和表对应的字段绑定起来。绑定后删除表或表对应的字段后,序列会自动被删除。 创建测试表和序列 create table test_t(…...
【Linux】Nginx一个域名https一个地址配置多个项目【项目实战】
👨🎓博主简介 🏅CSDN博客专家 🏅云计算领域优质创作者 🏅华为云开发者社区专家博主 🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入!…...
Linux驱动开发(12):中断子系统–按键中断实验
本章我们以按键为例讲解在驱动程序中如何使用中断, 在学习本章之前建议先回顾一下关于中断相关的裸机部分相关章节, 这里主要介绍在驱动中如何使用中断,对于中断的概念及GIC中断控制器相关内容不再进行讲解。 本章配套源码和设备树插件位于“…...
代码随想录-算法训练营-番外(图论02:岛屿数量,岛屿的最大面积)
day02 图论part02 今日任务:岛屿数量,岛屿的最大面积 都是一个模子套出来的 https://programmercarl.com/kamacoder/0099.岛屿的数量深搜.html#思路往日任务: day01 图论part01 今日任务:图论理论基础/所有可到达的路径 代码随想录图论视频部分还没更新 https://programmercar…...
20 go语言(golang) - gin框架安装及使用(一)
一、简介 Gin是一个用Go语言编写的高性能Web框架,专注于构建快速、可靠的HTTP服务。它以其速度和简洁性而闻名,非常适合用于开发RESTful API。 高性能:Gin使用了httprouter进行路由管理,这是一个轻量级且非常快速的HTTP请求路由器…...
重生之我在学Vue--第3天 Vue 3 模板语法与指令
重生之我在学Vue–第3天 Vue 3 模板语法与指令 文章目录 重生之我在学Vue--第3天 Vue 3 模板语法与指令前言一、数据绑定1.1 单向绑定1.2 双向绑定 二、常用指令2.1 v-bind2.2 v-model2.3 v-if2.4 v-show2.5 v-for2.6 v-on 三、事件处理与表单绑定3.1 事件处理3.2 表单绑定 前言…...
电脑win11家庭版升级专业版和企业版相关事项
我的是零刻ser9,自带win11家庭版,但是我有远程操控需求,想用windows系统自带的远程连接功能,所以需要升级为专业版。然后在系统激活页面通过更改序列号方式,淘宝几块钱买了个序列号升级成功专业版了。但是,…...
docker 架构详解
Docker架构是基于客户端-服务器(C/S)模式的,包含多个关键组件,以确保容器化应用的高效构建、管理和运行。以下是对Docker架构的详细解析: Docker 架构概述 Docker 架构采用客户端-服务器(C/S)…...
tinyCam Pro 用于远程监控,控制和录制您的私人公共网络或IP摄像机
tinyCam Pro 是一款用于远程监控,控制和录制您的私人/公共网络或IP摄像机,视频编码器和具有500万次下载的CCTV摄像头的DVR。需使用3G/4G/WiFi连接和下载数据。 tinyCam Monitor Pro 可用于远程安全地监控您的宝宝、宠物、家庭、商业、交通和天气…...
Flask 验证码自动生成
Flask 验证码自动生成 想必验证码大家都有所了解,但是可以自己定义图片验证码,包含数字,英文以及数字计算,自动生成验证码。 生成图片以及结果 from captcha.image import ImageCaptchafrom PIL import Image from random impo…...
vmpwn小总结
前言: 好久没有更新博客了,关于vm的学习也是断断续续的,只见识了几道题目,但是还是想总结一下,所谓vmpwn就是把出栈,进栈,寄存器,bss段等单独申请一块空闲实现相关的功能࿰…...
开源密码管理器 Bitwarden 一站式管理所有密码以及 2FA
本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 随着注册的平台越来越多,管理密码的难度也越来越高了。要是把密码都设置成一样的,担心哪天某个平台泄露被一锅端,而每个平台单独一个密码又不太好记,这时候就…...
标准体重计算API集成指南
标准体重计算API集成指南 引言 在当今数字化和健康意识日益增长的时代,开发人员和健康管理专业人士不断寻找创新的方法来促进用户的健康生活。标准体重计算是一个关键的健康指标,它可以帮助个人了解自己的身体状况,并为制定合适的饮食和运动…...
多个终端查看的history不一样,如何确保多个终端会话之间的 history 一致,减少历史记录差异
问题: 在使用 Linux 系统时,history 命令显示的历史记录通常是与当前终端会话相关的。这就意味着,如果你在多个终端中打开会话,它们显示的历史记录可能不完全相同。这个问题通常是由以下原因引起的: 原因:…...
Spring Boot整合EasyExcel并行导出及Zip压缩下载
1. 项目依赖 首先,我们需要引入相关的依赖,包括 Spring Boot 和阿里巴巴的 EasyExcel 组件,此外还需要使用 Java 的 Zip 工具进行压缩操作。 <dependencies><!-- Spring Web --><dependency><groupId>org.springfr…...
Docker 对 iptables 规则的自动配置,这句话是什么意思
Docker 对 iptables 规则的自动配置指的是 Docker 守护进程 (daemon) 会自动管理 Linux 系统上的 iptables 规则,以便容器可以正确地进行网络通信。这对于大多数用户来说是一个方便的功能,因为它简化了容器网络配置。 具体来说,这意味着&…...
使用aarch64-unknown-linux-musl编译生成静态ARM64可执行文件
使用aarch64-unknown-linux-musl编译生成静态ARM64可执行文件 使用aarch64-unknown-linux-musl编译生成静态ARM64可执行文件1. 安装aarch64-unknown-linux-musl目标2. 安装交叉编译工具链安装musl-cross-make 3. 配置Rust编译器使用交叉编译工具链4. 编译你的Rust项目5. 运行或…...
微信AI助手实战:基于大模型的智能消息处理机器人搭建指南
1. 项目概述与核心价值 最近在折腾一个挺有意思的开源项目,叫 Wechat-AI-Assistant。简单来说,它就是一个能帮你自动处理微信消息的“智能小秘书”。想象一下,你正在开会,或者忙得脚不沾地,微信上却不断弹出各种消息&a…...
远程团队绩效管理系统的终极指南:如何打造高效协作的分布式团队
远程团队绩效管理系统的终极指南:如何打造高效协作的分布式团队 【免费下载链接】remote-working 收集整理远程工作相关的资料 项目地址: https://gitcode.com/gh_mirrors/re/remote-working 在数字化转型加速的今天,远程工作已从选择变为必需。G…...
TinyBERT实战:从知识蒸馏原理到代码实现全解析
1. TinyBERT与知识蒸馏初探 第一次听说TinyBERT时,我正在为一个移动端项目发愁——客户要求部署BERT模型,但手机内存根本装不下动辄400MB的原始模型。直到发现华为诺亚方舟实验室开源的TinyBERT,这个仅有57MB的轻量模型,在GLUE基准…...
Prompster:开源提示词管理工具部署与工程化实践指南
1. 项目概述与核心价值最近在折腾AI应用开发,特别是围绕提示词工程和智能体构建,发现了一个挺有意思的GitHub项目——LucasAschenbach/prompster。这名字起得挺直白,Prompster,一看就知道跟“提示词”脱不了干系。简单来说&#x…...
OptimiLabs velocity:轻量级模型服务化部署实战指南
1. 项目概述与核心价值最近在开源社区里,OptimiLabs 推出的 velocity 项目引起了我的注意。这名字起得挺有意思,直译过来就是“速度”,一听就知道是冲着提升效率去的。作为一个长期在数据科学和机器学习工程化领域摸爬滚打的人,我…...
手把手教你用Keil调试LVGL的HardFault:从LR=0xFFFFFFF9到找到吃栈的‘元凶’
Cortex-M架构下LVGL的HardFault诊断方法论:从寄存器分析到堆栈优化 当LVGL在Cortex-M微控制器上运行时突然陷入HardFault死循环,许多开发者会条件反射地增大堆栈空间。这种"试错法"虽然可能暂时解决问题,却掩盖了真正的技术债务。本…...
双开关正激转换器设计与MOSFET选型指南
1. 双开关正激转换器拓扑解析双开关正激转换器(Two-Switch Forward Converter)作为工业电源设计的经典拓扑,在150W至750W功率段展现出独特的工程价值。初次接触这个拓扑时,我被其简洁而巧妙的结构所吸引——仅需两个MOSFET和两个快…...
FT232H芯片应用指南:从USB转串口到SPI/I2C协议模拟
1. 项目概述:从USB到万能的串行接口如果你玩过Arduino或者树莓派,肯定对USB转串口模块不陌生。它就像一座桥梁,让电脑能和那些只懂“嘀嘀嗒嗒”串行语言的硬件设备说上话。但传统的USB转串口芯片,比如常见的CH340或者FT232R&#…...
基于React与OpenAI构建智能聊天应用:架构设计与工程实践
1. 项目概述:一个开箱即用的React聊天应用框架最近在做一个需要集成智能对话功能的小项目,不想从零开始造轮子,就在GitHub上翻找现成的解决方案。结果就发现了这个叫openai-react-chat的仓库。第一眼看到这个标题,我的直觉是&…...
自动化安全测试:自动化检测安全漏洞
自动化安全测试:自动化检测安全漏洞 一、自动化安全测试概述 1.1 自动化安全测试的定义 自动化安全测试是指使用自动化工具和脚本对应用程序、基础设施和网络进行安全检测,自动识别安全漏洞和安全风险的过程。 1.2 自动化安全测试的价值 效率提升&#x…...




