PPO系列3 - PPO原理

ops/2024/12/14 12:08:03/

On Policy:

采集数据的模型,和训练的模型,是同一个。缺点:慢,生成一批样本数据,训练一次,又要重新生成下一批。

Off Policy:

采集数据的模型,和训练的模型,不是同一个。有点:快,生成一批样本数据,可以供训练多次。

例子:

On Policy: 小明上课玩手机,老师批评了小明,小明做了改正不玩手机了。行为是小明产生的,改正也是小明做的,所以是On Policy。

Off Policy: 小明上课玩手机,老师批评了小明,和小明同样喜欢上课玩儿手机的小王,看到小明因为这个被批评后,做了改正不玩手机了。行为是小明产生的,改正是小王做的,所以是Off Policy。

重要性采样

从最开始的x服从p分布,转化到x服从q分布。

把重要性采样,用在GAE强化学习上:

以上就是PPO的梯度。

以下就是PPO的损失函数:

在参考模型\theta '上进行采样,并且A里的状态价值V也是用参考模型\theta'的。

训练模型和参考模型,不能偏差过大

例子:如果小王是成绩好的学生,那么,差生小明因为考试经常交白卷被老师批评,这件事被小王看到,则对小王影响不大,小王没啥要改正的地方。只有当小王也是差生也有时会交白卷,此事才对小王有警示作用,促其改正。

加约束,有2种方式:

第1个是把KL散度加到loss里。(2个分布完全相等时,KL散度为0;差异越大,KL散度越大)

第2个是加约束,P比值,不能超出一个范围。


http://www.ppmy.cn/ops/141812.html

相关文章

STM32模拟I2C通讯的驱动程序

目录 STM32模拟I2C通讯的驱动程序 开发环境 引脚连接 驱动程序 STM32模拟I2C通讯的驱动程序 开发环境 立创天空星开发板、主控芯片为STM32F407VxT6 引脚连接 使用stm32的PB9引脚模拟I2C时钟线SCL、PB8引脚模拟I2C数据线SDA 驱动程序 i2c.h文件如下:#ifndef…

MQ比较选型

4 种消息队列,如何选型? kafka 分布式存储,多分区,分副本;基于发布订阅模式 架构 Product broker Consumer Group ZK 关键词 product topic主题:消息分类,类似数据库表 partition分区&a…

【开源免费】基于SpringBoot+Vue.JS加油站管理系统(JAVA毕业设计)

本文项目编号 T 003 ,文末自助获取源码 \color{red}{T003,文末自助获取源码} T003,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

SQL Having用法

拿个业务场景说这个案例,比如我们有个表里面可能有批改过的数据,批改过得数据不会随着新批改的数据覆盖,而是逐条插入表中,如果想找出包含最早批改的数据和最新批改数据的话,那么我们就需要用到了havinng 用法,假设最开…

【C++算法】41模拟_外观数列

文章目录 题目链接:题目描述:解法C 算法代码: 题目链接: 38. 外观数列 题目描述: 解法 演示: 模拟双指针: right,直到left和right不同才停下来。 countright-left C 算法代码&…

Node.JS基础

标题:Node.js 基础教学课件 第一章:Node.js 概述 课件内容: 介绍Node.js及其与浏览器中JavaScript的区别。讲解Node.js的事件驱动、非阻塞I/O模型。Node.js的适用场景和优势。Node.js的版本管理和环境搭建。 讨论点: Node.js…

react-redux 数据持久化

安装依赖: npm install redux-persist 改造 src/store/index.js import { configureStore } from reduxjs/toolkit import userSlice from ./userSlice import storage from redux-persist/lib/storage; import { persistReducer, persistStore } from redux-p…

【再谈设计模式】组合模式~层次构建的多面手

一、引言 在软件开发的世界里,我们经常面临着处理对象之间复杂关系的挑战。如何有效地表示对象的部分 - 整体层次结构,并且能够以一种统一的方式操作这些对象,是一个值得探讨的问题。组合模式(Composite Pattern)为我们…