cart算法 java实现_这个开源项目用Pytorch实现了17种强化学习算法

2023-11-08

强化学习在过去的十年里取得了巨大的发展,如今已然是各大领域热捧的技术之一,今天,猿妹和大家推荐一个有关强化学习的开源项目。

这个开源项目是通过PyTorch实现了17种深度强化学习算法的教程和代码库,帮助大家在实践中理解深度RL算法。

完整的17个算法实现如下:

Deep Q Learning (DQN) (Mnih et al. 2013)

DQN with Fixed Q Targets (Mnih et al. 2013)

Double DQN (DDQN) (Hado van Hasselt et al. 2015)

DDQN with Prioritised Experience Replay (Schaul et al. 2016)

Dueling DDQN (Wang et al. 2016)

REINFORCE (Williams et al. 1992)

Deep Deterministic Policy Gradients (DDPG) (Lillicrap et al. 2016 )

Twin Delayed Deep Deterministic Policy Gradients (TD3) (Fujimoto et al. 2018)

Soft Actor-Critic (SAC & SAC-Discrete) (Haarnoja et al. 2018)

Asynchronous Advantage Actor Critic (A3C) (Mnih et al. 2016)

Syncrhonous Advantage Actor Critic (A2C)

Proximal Policy Optimisation (PPO) (Schulman et al. 2017)

DQN with Hindsight Experience Replay (DQN-HER) (Andrychowicz et al. 2018)

DDPG with Hindsight Experience Replay (DDPG-HER) (Andrychowicz et al. 2018 )

Hierarchical-DQN (h-DQN) (Kulkarni et al. 2016)

Stochastic NNs for Hierarchical Reinforcement Learning (SNN-HRL) (Florensa et al. 2017)

Diversity Is All You Need (DIAYN) (Eyensbach et al. 2018)

所有实现都能够快速解决Cart Pole(离散动作),Mountain Car Continuous(连续动作),Bit Flipping(具有动态目标的离散动作)或Fetch Reach(具有动态目标的连续动作)。创建者计划尽快添加更多的分层RL算法。

1. Cart Pole 和 Mountain Car

下面展示了各种RL算法成功学习离散动作游戏Cart Pole 或连续动作游戏Mountain Car。使用3个随机种子运行算法的平均结果显示如下:

0b01431b9292a330697e3597cd78b746.png

阴影区域表示正负1标准差。使用超参数可以在 results/Cart_Pole.py 和 results/Mountain_Car.py 文件中找到。

2. Hindsight Experience Replay (HER) Experiements

下图展示了DQN和DDPG在 Bit Flipping(14位)和 Fetch Reach 环境中的性能,这些环境描述在论文《后见之明体验重放2018》和《多目标强化学习2018》中。这些结果复现了论文中发现的结果,并展示了Fetch HER如何让一个agent解决它无法解决的问题。注意,在每对agents中都使用了相同的超参数,因此它们之间的唯一区别是是否使用hindsight。

4cec2b6777a4ad85af65cdd2bc08e818.png

3. Hierarchical Reinforcement Learning Experiments

efce112bac38eb84d4a0bd11bd7b0ed6.png

上图左边的结果显示了在 Long Corridor 环境中 DQN 和 Kulkarni 等人在 2016 年提出的 hierarchy -DQN 算法的性能。

上图右边的结果显示了 Florensa 等人 2017 年提出的 DDQN 算法和用于分层强化学习的随机神经网络 (SNN-HRL) 的性能。

e49c6b08310003d7de45fe55fba52337.png

目前,该项目已经在Github上标星 962,170个Fork(Github地址:https://github.com/p-christ/Deep-Reinforcement-Learning-Algorithms-with-PyTorch)

【编辑推荐】

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cart算法 java实现_这个开源项目用Pytorch实现了17种强化学习算法 的相关文章

  • SQLServer导入导出excel及常见问题

    前几天考试系统导入导出学生信息 初次接触导入导出 为sqlserver和excel的数据传递方法之简和MS产品的高效兼容所震惊 但也遇到各种各样问题 在此介绍SQLServer导入导出excel方法及遇到的问题 SQLServer导出Exc
  • java 中Date日期类型

    4 日期相关 把1970年1月1日当做了时间原点 以毫秒值为单位 4 1 获得当前时间 System currentTimeMillis public class DateTest public static void main Strin
  • ifstream 和 ofstream 文件中读取和写入操作

    导读 ofstream是从内存到硬盘 ifstream是从硬盘到内存 其实所谓的流缓冲就是内存空间 在C 中 有一个stream这个类 所有的I O都以这个 流 类为基础的 包括我们要认识的文件I O stream这个类有两个重要的运算符
  • XGBoost和LightGBM的比较

    目录 1 XGBoost sgboost中树节点分裂时所采用的公式 xgboost的分裂步骤 xgboost总结 LightGBM 基于决策树算法的分布式梯度提升框架 LightGBM在模型的训练速度和内存方面的优化 LightGBM的le
  • arima模型 p q d 确定_【干货】时间预测之 ARIMA模型

    ARIMA 是 AutoRegressive Integrated Moving Average的简称 看起来很复杂 其实这个模型本身是多个模型的叠加或者说混合 AR 自相关模型 AutoRegressive MA 移动平均模型 Movin
  • Python显示目录的树形结构

    转自 http blog chinaunix net uid 21374062 id 5198995 html Python显示目录的树形结构 coding utf 8 仿Linux命令tree生成树形目录结构 并汇总当前目录下文件总算 A
  • pes2017服务器维护时间,PES2017授权详情与球场数据包发布时间

    East Dorsetshire AFC Bournemouth BOU Lancashire Claret Burnley BRN London FC Chelsea CHE South Norwood Crystal Palace CR
  • python:多维数组变一维数组

    python 多维数组变一维数组 b a flatten 将多维数组变为1维数组 具体代码如下 import numpy as np 1 随机生成一个4行3列的多维数组a a np random randn 4 3 print a prin
  • selenium自动化,更新到最新的chrome驱动

    很久没有做自动化了 最近想要熟悉下 发现之前的chrome驱动器与现在的chrome浏览器版本不匹配了导致报错 提示如下 raise exception class message screen stacktrace selenium co
  • (已解决)显卡(N卡)设置独显后,指定程序依旧使用集显渲染

    显卡 N卡 设置独显后 指定程序依旧使用集显渲染 设置流程如下 设置流程如下 1 打开 nvdia 控制面板 2 设置全局为独显 3 修改指定程序为独显 4 以上几步若无效 则按如下修改 选择对应的程序
  • Linux安装nginx

    Linux安装nginx 1 下载 2 准备目录 3 上传 解压 5 设置安装路径 如果 报错 gcc pcre 6 编译 7 安装 8 启动 9 其他命令 10 判断Nginx配置是否正确命令 11 开放nginx默认端口号80 12 访
  • 02_02_广度优先搜索(Breadth-First Search,BFS)

    广度优先搜索 Breadth First Search BFS 广度优先搜索 Breadth First Search BFS 介绍 是一种图遍历算法 其原理是逐层遍历图的节点 BFS从起始节点开始 先访问起始节点的所有邻居节点 然后再逐层
  • 【知识分享】关于建立GitHub个人博客的问题和解决办法

    前言 GitHub是可以共享 存储的平台 我们可以用它 1 管管自己代码 类似一个程序员专版的Onedrive 当然也不仅仅是代码 任何文件都支持 不少人用GitHub来写博客 也就是使用Github Pages服务 它会自动帮你记录代码的
  • Qt扫盲-QWidget理论使用总结

    QWidget理论使用总结 一 概述 二 顶层 控件 和子 控件 三 复合控件 四 自定义控件和绘制 五 大小提示和大小策略 六 事件 七 一组函数和属性 八 QWidget样式表 九 透明度和双缓冲 十 创建半透明窗口 一 概述 widg
  • Java中同一个文件里类和方法的引用

    Java中同一个文件里类和方法的引用 在项目开发时往往需要在同一个文件里创建几个类 并互相引用 但小白们搞不懂 所以我给大家讲解一下 目录 Java中同一个文件里类和方法的引用 1 权限修饰符 2 类的引用 1 注意修饰符 2 同文件引用
  • windows 各种消息

    win32 消息
  • H3C平台部署chatGLM2-6B 且通过两块GPU调用

    H3C平台部署chatGLM2 6B 且通过两块 调用 文件上传 首先在github上下载chatGLM2 6B的参数文件和模型文件 简单来说是在github上搜索chatGLM2 6B 如下图所示 点击右侧 下载 然后解压到新建文件夹 C
  • c++ /QT 加锁的懒汉式单例

    c 加锁的懒汉式单例 singleton h ifndef SHAREPTR T H define SHAREPTR T H pragma once include
  • Perl Getopt::Long命令行参数传递

    原文链接 https www javatpoint com perl command line arguments The simple command line options are done using s option Comple

随机推荐

  • 数论——欧拉函数

    在数论中 对正整数n 欧拉函数是少于或等于n的数中与n互质的数的数目 此函数以其首名研究者欧拉命名 它又称为Euler s totient function 函数 欧拉商数等 例如 8 4 因为1 3 5 7均和8互质 百度百科词条 欧拉函
  • 虚拟机的启动内核日志

    等有时间了 回来分析下 0 000000 Initializing cgroup subsys cpuset 0 000000 Initializing cgroup subsys cpu 0 000000 Initializing cgr
  • LaTeX各种矩阵输入方法总结

    begin Bmatrix 1 2 4 5 end Bmatrix 结果 1 2
  • 【深度学习图像识别课程】毕业项目:狗狗种类识别(4)代码实现

    本博文涉及以下 六 目录 Zero 导入数据集 一 检测人脸 二 检测狗狗 三 从头实现CNN实现狗狗分类 四 迁移VGG16实现狗狗分类 五 迁移ResNet 50实现狗狗分类 六 自己实现狗狗分类 六 自己实现狗狗分类整体流程 实现一个
  • Modbus常用功能码协议详解

    Modbus常用功能码协议详解 01H 读线圈状态 1 描述 读从机线圈寄存器 位操作 可读单个或者多个 2 发送指令 假设从机地址位0x01 寄存器开始地址0x0023 寄存器结束抵制0x0038 总共读取21个线圈 协议图如下 3 响应
  • 值得收藏的TCP套接口编程文章

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由jackieluo发表于云 社区专栏 TCP客户端 服务器典型事件 下图是TCP客户端与服务器之间交互的一系列典型事件时间表 首先启动服务器 等待客户端连接 启动客户端 连接到
  • 隧道代理实现流量伪装:在数据采集中的应用

    在这篇文章中 我们将一起探讨隧道代理实现的流量伪装以及它在数据采集中的应用 隧道代理可以帮助我们在数据采集过程中隐藏真实的IP地址和网络行为 从而降低被目标网站识别和封禁的风险 让我们一起来了解如何利用隧道代理技术提高爬虫程序的稳定性和可靠
  • el-dialog使用心得

    日常代码开发中 el dialog是我经常使用到的 在某一次检查请求的优化时 突然发现一些本不应该出现的请求 仔细检查后发现了一个自己之前忽略的细节 通常情况下 el dialog的使用有两种方式 方法一 把el dialog写在引入的组件
  • 电磁干扰和空间混叠效应

    电磁干扰 定义 电磁干扰 Electromagnetic Interference EMI 是干扰电缆信号并降低信号完好性的电子噪音 EMI通常由电磁辐射发生源如马达和机器产生 种类 电磁干扰EMI Electromagnetic Inte
  • word/wps分页

    方法1 将需要设置为奇数页的地方 设置为奇数页 方法2 在需要设置为奇数页的后面插入空白页 或偶数页 但不推荐 可以捣鼓捣鼓
  • k8s-kubeadm安装(四、多master安装)

    1 编辑集群配置文件 vi k8s config yaml apiVersion kubeadm k8s io v1beta2 kind ClusterConfiguration kubernetesVersion v1 20 6 vip
  • Maven极简入门

    Maven项目管理 Maven入门 安装地址 http maven apache org download cgi 配置完后可以ctrl r 进入cmd输入命令 mvn v 如果有输出版本信息 则表示成功配置 Maven的优点 如果是普通的
  • 12.Python+selenium实现数据驱动,通过ddt传入数据

    数据驱动概述 数据驱动的定义 相同的测试脚本使用不同的测试数据来执行 测试数据和测试行为完全分离 是一种测试脚本设计模式 实施数据驱动测试步骤 1 编写测试脚本 脚本需要支持从程序对象 文件或数据库读入测试数据 2 将测试脚本使用测试数据存
  • 根据平面方程拟合生成平面三维点云

    平面方程 ground ax by cz d 0 位于相机坐标系 转换到世界坐标系 def gen ground points denorm camera2world ground ax by cz d 0 in camera a b c
  • Linux中jar包的启动脚本解析及问题

    搭建运行环境时 把jar包打好外 我们还需要一个启动脚本 新建一个文件start sh 内容如下 ps ef grep dvmrms grep v grep awk print 2 xargs kill 9 nohup java jar d
  • 【Flask】快速入门后台写接口【API】

    Flask是一个使用Python编写的轻量级Web应用框架 其WSGI工具箱采用Werkzeug 模板引擎则使用Jinja2 Flask使用BSD授权 Flask也被称为 microframework 因为它使用简单的核心 用extensi
  • 支付宝微信在刷脸支付领域两强争霸

    网易2010年就开始从支付领域入局 刚开始主要为集团内的游戏 邮箱等业务提供金融服务 并在早期就拿到了支付牌照 对比起后期才入局的京东 滴滴等来说 起步非常早 对于 余额宝 带来的理财风口 网易金融也都没有错过 市场份额占比超过90 支付宝
  • (一)QCustomPlot常见属性设置、多曲线绘制、动态曲线绘制、生成游标、矩形放大等功能实现

    系列文章目录 提示 这里是该系列文章的所有文章的目录 第一章 一 QCustomPlot常见属性设置 多曲线绘制 动态曲线绘制 生成游标 矩形放大等功能实现 第二章 二 QCustomPlot生成热力图 矩阵颜色图 文章目录 系列文章目录
  • python 实现 PDF 页面横向纵向旋转

    了解RPA www i search com cn 学习RPA https support i search com cn 下面示例代码 是将横向纸张旋转为纵向 根据纸张大小判断纸张方向 from PyPDF2 import PdfFile
  • cart算法 java实现_这个开源项目用Pytorch实现了17种强化学习算法

    强化学习在过去的十年里取得了巨大的发展 如今已然是各大领域热捧的技术之一 今天 猿妹和大家推荐一个有关强化学习的开源项目 这个开源项目是通过PyTorch实现了17种深度强化学习算法的教程和代码库 帮助大家在实践中理解深度RL算法 完整的1