首页 > 其他分享 >强化学习性能测试方法:取最后10个epoch的testing epoch的均值 —— 强化学习中的一种性能测试方法

强化学习性能测试方法:取最后10个epoch的testing epoch的均值 —— 强化学习中的一种性能测试方法

时间:2024-08-07 10:16:18浏览次数:15  
标签:训练 testing epoch 测试 frames 强化 测试方法 mean

参考:

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值。





标签:训练,testing,epoch,测试,frames,强化,测试方法,mean
From: https://www.cnblogs.com/devilmaycry812839668/p/18346497

相关文章

  • Unity强化工程 之 Mask & SortingGroup
    本文仅作笔记学习和分享,不用做任何商业用途本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正1.Mask遮罩故名思意就是起到遮挡作用的罩子:精灵遮罩-Unity手册如果我想让sprite与遮罩发生交互,那么我需要勾选spritrrenderer的交互选项之后就可......
  • Unity强化工程 之 SpriteRender
    本文仅作笔记学习和分享,不用做任何商业用途本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正1.SpriteRenderer是什么渲染精灵用的,是渲染的核心组件,有许多重要参数所以要详细讲一讲SpriteRenderer-Unity手册2.参数DrawMode精灵绘制模式Sim......
  • 《软件方法》强化自测题-分析(8)
    DDD领域驱动设计批评文集做强化自测题获得“软件方法建模师”称号《软件方法》各章合集按照业务建模、需求、分析、设计工作流考察,答案不直接给出,可访问自测链接自测,做到全对才能知道答案。知识点见《软件方法》(http://www.umlchina.com/url/softmeth.html)、“软件需求设......
  • 有没有办法阻止 setUp() 为 python 测试用例中的每个测试方法启动浏览器?
    我正在练习编写Web自动化测试用例,并且编写了一些函数来测试登录、在用户主页中查找我的用户名以及测试GitHub的注销功能。然而,我通过经验和阅读了解到setUp()是在每个测试方法之前启动的,而我的问题是在每个测试方法之前它都会打开一个新的浏览器。我希望我的所有测......
  • 基于强化学习的倒立摆平衡车控制系统simulink建模与仿真
    1.算法仿真效果matlab2022a仿真结果如下(完整代码运行后无水印):      2.算法涉及理论知识概要       基于强化学习的倒立摆平衡车控制系统是一个典型的动态系统控制问题,它通过不断的学习和决策过程,使倒立摆维持在垂直平衡位置,即使受到外力干扰或系统内部噪......
  • SpringBoot入门、进阶、强化、扩展、知识体系完善等知识点学习、性能优化、源码分析专
    场景作为一名Java开发者,SpringBoot已经成为日常开发所必须。势必经历过从入门到自学、从基础到进阶、从学习到强化的过程。当经历过几年企业级开发的磨炼,再回头看之前的开发过程、成长阶段发现确实是走了好多的弯路。作为一名终身学习的信奉者,秉承Java体系需持续学习、持续优......
  • Java入门、进阶、强化、扩展、知识体系完善等知识点学习、性能优化、源码分析专栏分享
    场景作为一名Java开发者,势必经历过从入门到自学、从基础到进阶、从学习到强化的过程。当经历过几年企业级开发的磨炼,再回头看之前的开发过程、成长阶段发现确实是走了好多的弯路。作为一名终身学习的信奉者,秉承Java体系需持续学习、持续优化的信念。不惜耗费无数个日日夜夜,耗......
  • 通过 GraalVM 在 Spring Boot 项目中运行 Python 脚本(强化学习)
    我想要完成的是通过GraalVM在SpringBoot项目中运行python脚本(在我的例子中是agent.py)。我已经安装了GraalVM(cejdk21)并给它一个路径。还在项目结构中定义并根据graalvm和graalvm的python更改了pom.xml。即使它给出了无法找到火炬模块的错误。我还有一个安装了......
  • (10-2-02)智能行为决策算法:常用的智能行为决策算法(2)-------强化学习
    10.2.2 强化学习强化学习是一种机器学习方法,其核心思想是通过代理程序与环境的交互学习最优行为策略,以最大化累积奖励。在强化学习中,代理程序通过观察环境的状态,并选择动作来影响环境,从而学习如何在面对不同状态时做出最优的决策。和强化学习相关的关键概念包括:环境与代理......
  • 大咖公开课 | 大模型场景讲解以及测试方法
    在这个日新月异的科技时代,人工智能(AI)正以惊人的速度改变着我们的生活与工作方式。为了帮助大家系统地掌握人工智能的场景及测试方法,我们特别推出了大模型与人工智能平台测试公开课,带领大家从大模型场景、RAG及人工智能平台的测试开始,深入探索人工智能技术的场景及测试方法。本......