安全强化学习笔记

这里写自定义目录标题

  • 参考资料
  • 环境
  • 算法
    • CPO 2017 ICML
    • PCPO 2019 ICLR
    • FOCOPS 2020 NIPS
    • CRPO 2021 ICML
    • CUP 2022 NIPS

TRPO
如何看懂TRPO里所有的数学推导细节? - 小小何先生的回答 - 知乎

参考资料

Safe Reinforcement Learning

安全/约束强化学习路线图(Safe RL Roadmap)编辑于 2023-05-06

Safe RL 的一点点总结编辑于 2021-04-25
1.CPO
2.RCPO
3.CPPO-PID
4.SafeLayer+DDPG
5.Safety-Gym

【安全强化学习· 一】Safe Reinforcement Learning(一)2020

Constrained reinforcement learning
constrained markov decision processes

PKU-Alignment/Safe-Policy-Optimization 作者就是CUP的作者
NeurIPS 2023: Safe Policy Optimization: A benchmark repository for safe reinforcement learning algorithms
PKU-MARL/OmniSafe github
PKU-MARL/OmniSafe 作者就是CUP的作者
OpenAI/safety-starter-agents github

环境

safety-gym openai
Benchmarking Safe Exploration in Deep Reinforcement Learning, Ray et al, 2019.

safety-gymnasium
Bullet-Safety-Gym

算法

算法算法类型时间会议引用量
CPO约束策略优化二阶2017ICML1214
RCPO奖励约束策略优化2018ICLR452
PCPO基于投影的约束策略优化二阶2019ICLR188
FOCOPS策略空间中的一阶约束优化一阶2020NIPS87
CRPO约束修正策略优化Lagrange2021ICML84
CUP约束更新投影一阶2022NIPS18

CPO 2017 ICML

Constrained Policy Optimization 上海交通大学 工学硕士
CPO omnisafe

PCPO 2019 ICLR

PCPO omnisafe

FOCOPS 2020 NIPS

FOCOPS slideslive
FOCOPS slideslive 短
FOCOPS omnisafe

CPO的问题
从当前策略获取样本轨迹时产生的错误。
泰勒近似引起的近似误差。
使用共轭法计算Fisher信息矩阵的逆矩阵会产生近似误差。

FOCOPS的优势
实现简单,只使用一阶近似。
简单的一阶法避免了泰勒法和共轭法引起的误差。
在实验中表现优于CPO。
不需要任何恢复步骤。

Two-stage Policy Update

CRPO 2021 ICML

CRPO slideslive
CRPO slideslive 短
在这里插入图片描述
在这里插入图片描述

CUP 2022 NIPS

强化学习 safe RL小综述 从TRPO出发 捋清CPO | CUP编辑于 2022-11-24

将GAE引入推导,得出了更紧的上下界
在具体的实现上做了改变,使得每次更新对计算资源的需求更小。

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

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

相关文章

JVM相关问题及答案(2024)

1、什么是JVM,它是如何工作的? JVM(Java虚拟机)是Java编程语言的核心组件之一,它是一个虚拟机器,用于执行Java字节码。JVM的主要任务是将Java字节码翻译成特定平台的机器码,并在特定平台上运行…

Java的NIO

Java NIO(New I/O,新 I/O)是 Java 1.4 版本引入的一组用于进行非阻塞 I/O 操作的 API。相比于传统的 Java I/O(或称为 IOStream),Java NIO 提供了更为灵活、可扩展和高性能的 I/O 处理方式。 Java NIO 的核…

Python-动态烟花【附完整源码】

烟花代码 运行效果:Python动态烟花代码 import pygame from random import randint from random import uniform from random import choice import math vector pygame.math.Vector2 # 重力变量 gravity vector(0, 0.3) # 控制窗口的大小 DISPLAY_WIDTH DISP…

C#核心--实践小项目(贪吃蛇)

C#核心实践小项目 -- 贪吃蛇 必备知识点--多脚本文件 (可观看CSharp核心--52集进行了解) 必备知识点--UML类图 必备知识点--七大原则 贪吃蛇 项目展示 控制方向的是:WSAD 确定键是:J 需求分析(UML类图&#xff09…

第11章 GUI Page495~496 步骤三十一:另存为别的文件

当前的TrySaveFile(bool hint_on_dirty true)有两个特征无法满足“另存”的需求: 一,TrySaveFile仅在数据为“新”的时候才提问用户输入文件名。而“另存”总是要求用户输入一个文件名,多以它总应该弹出一个文件选择对话框,这也…

【网络安全】【密码学】【北京航空航天大学】实验二、数论基础(中)【C语言和Java实现】

实验二、数论基础(中) 一、实验内容 1、扩展欧几里得算法(Extended Euclid’s Algorithm) (1)、算法原理 已知整数 a , b ,扩展的欧几里得算法可以在求得 a , b 的最大公约数的同时,找到一对…

Python如何连接RabbitMQ并编写简单的生产者和消费者代码?有录播直播和私教视频教程

更简单的获取连接的方式 get_connection方法 这个方法的签名如下: def get_connection(host127.0.0.1,port5672,username"zhangdapeng",password"zhangdapeng520",virtual_host/, ):"""获取RabbitMQ客户端连接对象:param hos…

LeetCode[105] 从前序与中序遍历序列构造二叉树

给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,null,15,7] …

Linux计划任务管理

之前已经学习了一些Linux的基础知识和关机方式与文件系统简介,今天来学习下Linux下的计划任务,因为这个功能自己搭建服务器还是用得上的,比如定期清理垃圾缓存、定期备份数据库和网站等等。 系统环境:Centos8 一、什么是计划任务 …

c语言中负数的读取

自记: 1.以字节为例,其取值范围是 -128 ~ 127,即-2E7 ~ 2E7-1, 用最高位表示其符号,0表示正数,1表示负数。数值以补码形式存储。正数的补码就是该正数本身,负数的补码需要转化,如下: 1>.对负…

【flink番外篇】13、Broadcast State 模式示例-广播维表(2)

Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的…

自定义Flink SourceFunction定时读取数据库

文章目录 前言一、自定义Flink SourceFunction定时读取数据库二、java代码实现总结 前言 Source 是Flink获取数据输入的地方,可以用StreamExecutionEnvironment.addSource(sourceFunction) 将一个 source 关联到你的程序。Flink 自带了许多预先实现的 source funct…

openssl3.2 - 官方demo学习 - 索引贴

文章目录 openssl3.2 - 官方demo学习 - 索引贴概述笔记工程的搭建和调试环境BIOBIO - client-arg.cBIO - client-conf.cBIO - saccept.cBIO - sconnect.cBIO - server-arg.cBIO - server-cmod.cBIO - server-conf.cBIO - 总结certsciphercipher - aesccm.cEND openssl3.2 - 官方…

使用Java连接MongoDB (6.0.12) 报错

报错: Exception in thread "main" com.mongodb.MongoCommandException: Command failed with error 352: Unsupported OP_QUERY command: create. 上图中“The client driver may require an upgrade”说明了“客户端驱动需要进行升级”,解…

数据分析-Pandas如何转换产生新列

数据分析-Pandas如何转换产生新列 时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。此处选择巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 NO2​数据作为样例。 python数据分析-数据表读写到pandas 经典…

What does `rpm -ivh` do?

rpm -ivh 安装 并 显示安装进度 (–install–verbose–hash) rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm 安装rpm -ivh --relocate //opt/gaim gaim-1.3.0-1.fc4.i386.rpm 指定安装到 /opt/gaim[Ref] rpm -uvh和-ivh有什么区别以及zabbix 安…

android前台服务:

android前台服务: android-安卓如何开启前台服务?foregroundService的使用方法,什么是前台服务?_foregroundservicetype-CSDN博客

使用BeanShell写入内容到文件【JMeter】

一、前言 ​ 在我们日常工作中,可能会遇到需要将请求返回的数据写入到文件中。在我们使用JMeter进行性能测试时,就经常能够遇到这种情况。要想达到这种目的,我们一般采取BeanShell后置处理器来将内容写入到文件。 二、提取 ​ 在目前大多数的…

基于多智能体点对点转换的分布式模型预测控制

matlab2020正常运行 基于多智能体点对点转换的分布式模型预测控制资源-CSDN文库

Spring MVC 日期转换器

日期转换器 自定义日期转换器 public class DataConvert implements Converter<String, Date> {/**** 配置时间转换类* param date* return*/Overridepublic Date convert(String date) {try {SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd");ret…