强化学习性能测试方法:取最后10个epoch的testing epoch的均值 —— 强化学习中的一种性能测试方法
参考:
https://www.cnblogs.com/devilmaycry812839668/p/17813337.html
The Actor-Mimic and expert DQN training curves for 100 training epochs for each of the 8 games. A training epoch is 250,000 frames and for each training epoch we evaluate the networks with a testing epoch that lasts 125,000 frames. We report AMN and expert DQN test reward for each testing epoch and the mean and max of DQN performance. The max is calculated over all testing epochs that the DQN experienced until convergence while the mean is calculated over the last ten epochs before the DQN training was stopped.
强化学习和其他的AI方法在性能测试上有一些不同,其他的AI方法都是在训练完成后再进行性能测试,也就是说其他AI方法中训练和测试时两个隔离开的的两个独立过程,但是在强化学习中却不是这样,在强化学习中测试过程和训练过程是融合在一起的,具体来讲:
假设在一个强化学习的训练过程中,我们要进行100个epoch的训练,而每个epoch里面包括250000 frames,如果一个batch的大小为100, 那么一个epoch就包括了2500个batch,也就是要进行2500次参数训练更新;
由于强化学习算法中测试和训练是结合在一起的,因此每完成1个epoch的训练我们就进行一次test,每次test都包括125000 frames,然后取这125000 frames收集过程中获得的reward的总和作为测试结果,当然也可以除125000做下规范化;
测试的重点在于如何根据训练过程中获得的这些测试结果来计算出测试的max和mean值,这里给出的一个方法就是将训练过程中的所有testing epoch值(每个testing epoch中的125000 frames的reward的和)的最大值作为max值,虽然max值好获得但是mean值却难以有个唯一的评价方法,这里的一个主要的贡献就是给出了一种比较客观的mean值计算方式,也就是取整个训练过程中的最后10个测试结果做平均,也就是将训练过程中的最后10个testing epoch的值(每个testing epoch值为125000 frames的reward的和)取平均作为整个训练过程的测试mean值。
强化学习性能测试方法:取最后10个epoch的testing epoch的均值 —— 强化学习中的一种性能测试方法的更多相关文章
- [源码解析] 深度学习分布式训练框架 horovod (10) --- run on spark
[源码解析] 深度学习分布式训练框架 horovod (10) --- run on spark 目录 [源码解析] 深度学习分布式训练框架 horovod (10) --- run on spark ...
- Qt学习 之 数据库(支持10种数据库)
Qt 提供了 QtSql 模块来提供平台独立的基于 SQL 的数据库操作.这里我们所说的“平台独立”,既包括操作系统平台,有包括各个数据库平台.另外,我们强调了“基于 SQL”,因为 NoSQL 数据 ...
- Qt 学习之路 2(10):对象模型
Home / Qt 学习之路 2 / Qt 学习之路 2(10):对象模型 Qt 学习之路 2(10):对象模型 豆子 2012年9月2日 Qt 学习之路 2 45条评论 标准 C++ 对象模 ...
- oracle 取前10条记录
1.oracle 取前10条记录 1) select * from tbname where rownum < 11; 2) select * from (select * from tbnam ...
- PHP学习笔记 - 进阶篇(10)
PHP学习笔记 - 进阶篇(10) 异常处理 抛出一个异常 从PHP5开始,PHP支持异常处理,异常处理是面向对象一个重要特性,PHP代码中的异常通过throw抛出,异常抛出之后,后面的代码将不会再被 ...
- MySQL性能调优的10个方法 - mysql数据库栏目
摘要: https://edu.aliyun.com/a/29036?spm=5176.11182482.related_article.1.hbeZbF 摘要: MYSQL 应该是最流行了 WEB ...
- oracle和sql server中,取前10条数据语法的区别
在sql server中,取数据中前10条语句,我们可以用top 10 这样语句,但是oracle就没有这个函数,接下来介绍它们之间的区别 1.sql server 取前10语句和随机10条的语法 - ...
- 萌新学习Python爬取B站弹幕+R语言分词demo说明
代码地址如下:http://www.demodashi.com/demo/11578.html 一.写在前面 之前在简书首页看到了Python爬虫的介绍,于是就想着爬取B站弹幕并绘制词云,因此有了这样 ...
- mybatis学习$与#号取值区别
1,多个参数传递用map或实体封装后再传给myBatis, mybatis学习$与#号取值区别 #{} 1.加了单引号, 2.#号写是可以防止sql注入,比较安全 select * from use ...
- 10 | MySQL为什么有时候会选错索引? 学习记录
<MySQL实战45讲>10 | MySQL为什么有时候会选错索引? 学习记录http://naotu.baidu.com/file/e7c521276650e80fe24584bc9a6 ...
随机推荐
- 如何使用csproj构建C#源代码组件NuGet包?
一般我们构建传统的NuGet包,都是打包和分发dll程序集文件. 至于打包和分发C#源代码文件的做法,比较少见. 那么这种打包源代码文件的做法,有什么优点和缺点呢? 优点: 方便阅读源代码. 方便断点 ...
- 修改Oracle数据表空间存储位置
查看数据文件的存储路径: SQL> select name from v$datafile; NAME --------------------------------------------- ...
- 利用 device_map、torch.dtype、bitsandbytes 压缩模型参数控制使用设备
为了更好的阅读体验,请点击这里 device_map 以下内容参考 Huggingface Accelerate文档:超大模型推理方法 在 HuggingFace 中有个重要的关键字是 device_ ...
- Windows下用VS2022编译安装Boost库
Windows下用VS2022编译安装Boost库 下载地址: https://www.boost.org/users/download/ 解压得到如下文件: 编译安装: 打开vs2022命令行工具 ...
- Freertos学习:02-FreeRTOSConfig.h
--- title: rtos-freertos-02-FreeRTOSConfig.h EntryName: rtos-freertos-02-FreeRTOSConfig date: 2020-0 ...
- 流程图渲染方式:Canvas vs SVG
我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:霁明 背景 我们产品中会有一些流程图应用,例如审批中心的审 ...
- Node.js中的模块
CommonJS模块 CommonJS是一种规范,它定义了JavaScript 在服务端运行所必备的基础能力,比如:模块化.IO.进程管理等.其中,模块化方案影响深远,其对模块的定义如下: 1,模块引 ...
- P3731 题解
简要题意是找到一条边连接使得最大团大小增加. 在补图上最大团等于最大独立集. 所以问题转化为删掉一条边使得最大独立集增加,又因为团不超过两个,所以原图是二分图,也就是使得最大匹配减少. 考虑什么样的匹 ...
- [Java SE] Java-文件系统-常用文件路径的获取方法
1 获取相对路径 /** * 获取相对路径 [推荐] * 使用Java提供的Path类和Paths类来获取相对路径. * 例如,假设有两个路径a和b,我们可以使用Path类的relativize()方 ...
- Luogu P5745 区间最大和
原题链接:Luogu P5745 区间最大和 初看这道题,