开悟Optimization guide for intermediate tracks

目录
认识模型
参考方案(按模块拆解)
认识模型
模型控制1名英雄进行镜像1 v 1对战
Actor集群资源为64核CPU
问题特点:单一公平对抗场景(同英雄镜像对赛),单位时间样本产能低,累计训练资源相对充裕。
中级赛道难点:
-
训练下RL收敛性保证:在小资源长时间训练的情况下,如何解决样本多样性问题,使训练效果媲美高并发、中等时间训练的效果。
-
面向赛题英雄定制优化:环境和Baseline均未面向赛题英雄做任何优化。参赛队伍可以研究英雄设计和机制玩法特点,完善特征、规则、动作空间、奖励等相关设计,提升环境状态表征能力,整合已知先验和,降低策略学习难度并提升单英雄能力上限。
-
单一公平对抗场景下,需要关注并完善更多细节,得到更完备的策略。
此外,参赛队伍可以:
-
消灭各种bug(如不符合预期的移动/走位
-
实现支持在线调整或调度的多风格、多样化策略。面向对手行为进行进一步优化,包括建模和预测对手的行为,以便先发制人或极限闪避化解危机。
-
细化局内不同阶段的奖励方案(如动态权重),课程学习不同阶段的奖励权重(如过程导向或结果导向)
参考方案(按模块拆解)

(CNN+MLP)-LSTM的Encoder-Decoder结构 Multi--Head Value,通过分组改进Value估计效果,降低方差 使用全局Perfect Information铺助Value估计

定制特征:


后置规则(处理模型输出)
具体操作参见"开发指南“
通过开发后置规则,可以支持实现模型输出->动作的二次映射。特定实现下,从RL
Agent视角看,等价于环境的变化。
奖励机制
具体操作参见"开发指南“、“环境介绍“,并建议参考往届各晋级队伍相关设计
可能的优化方向包括:
-
调整奖励子项权重
-
静态权重
-
局内动态权重(e.g.奖励局内衰减)
-
-
新增奖励项目
对手模型
具体操作参见"开发指南“,并建议参考往届各晋级队伍相关设计
对应位置:actor/actor..py
可能的优化方向包括:
-
新旧模型比例
-
对手模型池/League
-
自定义评估对局
学习策略
课程学习:将复杂、综合的学习目标分解为多阶段、更小规模的学习任务。
通过预训练模型+多阶段训练的方式,分步实现总体学习目标。心
例子:通过局间奖励衰减,实现稠密奖励到稀疏奖励的过渡
训练前期,偏重具体行为相关的稠密奖励,引导智能体学会基本操作
训练中期,增强与对局结果强相关的稠密奖励,引导智能体在单局中建立优势
训练后期,调高稀疏奖励权重,引导智能体直接关注最终胜负
知识蒸馏:强化学习+监督学习联合优化方案
例子:多英雄能力提升问题的内部解法之一
单英雄Teacher训练:强化学习,单英雄镜像自对战
蒸馏(单英雄Teacher->多英雄Student):在Actor样本中存入Teacher Logits
Learner增加一项监督学习的蒸馏
多英雄Student训练:强化学习,多英雄混合对战
注:可参考原理。受限于资源规模,在比赛中实际复现该做法的投入产出比可能并不突出。
系统优化角度
Learner效率
-
有效吞吐量
-
计算效率 比赛场景下,考虑到单位时间内Actor样本吞吐量远低于Learner,一般不需要进一步提升样本吞吐量
Graph中尽可能拼Batch计算,提高计算密度,对应底层计算从GEMV(访存密集型)->GEMM(计算密集型)
采用在GCU上性能更好的算子实现(可结合隧原-开发指南及实际Profiling情况)
-
样本池 当前框架版本的MemPool实现并非最优,可能存在一定程度的样本浪费现象 通过改进MemPool数据结构相关实现,改变随机读写方式,可以减少样本被覆盖的情况
-
-
样本效率与收敛速度
强化学习算法优化:其他条件不变,强化学习算法越高效,收敛至同等能力所需时间越短
-
Dual-Clip PPO / Value Clip 对policy loss进行双重clip,避免advantage取值outlier对收敛稳定性的影响。 类似地,可以对value loss进行clip,避免单步更新幅度过大对value network收敛的影响。
-
Value Normalization

对于策略梯度方法,伴随着RL过程,value network学习目标的变化可能比较剧烈,影响了value估计的学习效果,进而影响了整体收敛效果与稳定性。实验表明,通过引入Vlue归一化,类PPO算法的样本效率可能获得改善。
-
PPG算法

-
SAC算法

PPO存在on-policy假设,而分布式强化学习场景下,为了实现更高效的并行计算,在on-policy程度上存在妥协。SAC是一种off-policy的随机策略RL算法,在样本利用方式上和DDPG类似,区别在于其生成stochastic policy,在部分benchmark中表现出优于DDPG的样本效率。
考虑到更换PPO算法涉及较大的开发和调试工作量,推荐大部分队伍优先考虑在PPO算法基础上的优化,学有余力的队伍可以直接尝试更换算法。
-

Actor效率
吞吐量优化
-
CPU推理优化:Actor进程运行在CPU多机环境,可以面向CPU平台优化模型计算性能
-
PyTorch JIT优化
-
集成第三方推理框架(例如:onnx-runtime)
-
改善样本分布
-
可尝试通过intrinsic reward等方式,减少产生无效/同质化样本,提高样本多样性
-
可尝试引导生成符合特定条件的样本,比如使样本分布向特定对手模型倾斜
ABSTool工具使用

相关文章:
开悟Optimization guide for intermediate tracks
目录 认识模型 参考方案(按模块拆解) 认识模型 模型控制1名英雄进行镜像1 v 1对战 Actor集群资源为64核CPU 问题特点:单一公平对抗场景(同英雄镜像对赛),单位时间样本产能低,累计训练资源相…...
wx.request配置服务器域名,只能包含英文大小写字母、数字,解决办法
前言.小程序服务器域名配置常见错误及解决方法 1.配置入口: 小程序后台->-开发->开发设置->服务器域名 2.常见错误及原因分析: 3.实战中出现的错误 4.解决办法:应把域名后边的路径去掉,只写域名即可...
【有效的括号】
题目 1、左括号入栈 2、右括号出栈顶括号进行匹配 栈 typedef char STDataType; //元素为char类型 typedef struct Stack {STDataType* a;//动态的开辟空间int top;int capacity; }ST;void StackInit(ST* ps)//初始化 {assert(ps);ps->a (STDataType*)malloc(sizeof(STD…...
积跬步至千里 || 数学基础、算法与编程
数学基础、算法与编程 1. BAP 技能 BAP 技能是指基础(Basic)、算法(Algorithm)和编程(Programm)三种基本技能的深度融合。理工科以数学、算法与编程为根基,这三个相辅相成又各有区别。 (1)数学以线性代数为主要研究工具和部分微积分技术为手…...
Java单元测试 JUnit 5 快速上手
一、背景 什么是 JUnit 5?首先就得聊下 Java 单元测试框架 JUnit,它与另一个框架 TestNG 占据了 Java领域里单元测试框架的主要市场,其中 JUnit 有着较长的发展历史和不断演进的丰富功能,备受大多数 Java 开发者的青睐。 而说到…...
【Linux网络】TCP UDP socket HTTP webSocket之间的区别
目录 一、OSI & TCP/IP模型 二、几者之间的关系 三、HTTP 四、Socket 五、WebSocket 5.1、WebSocket 优点 一、OSI & TCP/IP模型 首先我们要了解OSI七层模型,和预支对应的TCP/IP 四层的模型。 用下面的图可以看出,TCP UDP 工作在传输层&…...
【面向大一新生IT技术社群招新啦,不来瞅瞅?】
个人名片: 🐼作者简介:一名大三在校生 🐻❄️个人主页:落798. 🐼个人WeChat:落798. 🕊️系列专栏:【零基础学java】 ----- 【重识c语言】 ---- 【计算机网络】—【Spri…...
分析系统 - 使用Python爬虫
在竞争激烈的市场环境中,了解和分析竞争对手的销售策略和市场表现对于企业的成功至关重要。本文将介绍如何利用Python爬虫建立低成本的销售竞争对手分析系统,探索其方法、工具和好处,并同时解决可能出现的问题。 销售竞争对手分析的目标是获取…...
strstr函数
目录 函数介绍: 函数分析: 使用案例: 函数介绍: 返回指向 str1 中第一次出现的 str2 的指针,如果 str2 不是 str1 的一部分,则返回一个空指针。 匹配过程不包括终止空字符,但它到此为止。 …...
[C++] string类常用接口的模拟实现
文章目录 1、前言2、遍历2.1 operator[ ]下标方式2.2 迭代器2.3 范围for2.4 c_str 3、容量相关3.1 size(大小)3.2 capacity(容量)3.3 empty(判空)3.4 clear(清理)3.5 reserve3.6 res…...
每日一学——防火墙
防火墙是网络安全的重要组成部分,可以帮助保护网络免受恶意攻击和未经授权的访问。以下是防火墙的基本配置步骤: 定义安全策略:防火墙通过安全策略来决定允许或拒绝网络流量。你需要定义适当的安全策略来保护你的网络。安全策略通常包括源IP地…...
常用数据库备份方法,sql数据库备份方法
在信息时代,数据成为了公司的主要资产。然而,数据的安全性和完整性也成为企业管理的重要组成部分。因此,数据库备份至关重要。本文将详细介绍几种常见的数据库备份方法。 全备份 全备份是指数据库中所有数据的备份,包括数据文件、…...
常见前端面试之VUE面试题汇总八
22. Vue 子组件和父组件执行顺序 加载渲染过程: 1.父组件 beforeCreate 2.父组件 created 3.父组件 beforeMount 4.子组件 beforeCreate 5.子组件 created 6.子组件 beforeMount 7.子组件 mounted 8.父组件 mounted 更新过程: 1. 父组件 befor…...
弯道超车必做好题集锦二(C语言选择题)
前言: 编程想要学的好,刷题少不了,我们不仅要多刷题,还要刷好题!为此我开启了一个弯道超车必做好题锦集的系列,每篇大约10题左右。此为第二篇选择题篇,该系列会不定期更新,后续还会…...
PROFIBUS主站转MODBUS TCP网关
1.产品功能 YC-DPM-TCP网关在Profibus总线侧实现主站功能,在以太网侧实现ModbusTcp服务器功能。可将Profibus DP从站接入到ModbusTcp网络;通过增加DP/PA耦合器,也可将Profibus PA从站接入ModbusTcp网络。YC-DPM-TCP网关最多支持125个Profibu…...
【力扣】盛最多水的容器
目录 题目 题目初步解析 水桶效应 代码实现逻辑 第一步 第二步 第三步 代码具体实现 注意 添加容器元素的函数 计算迭代并且判断面积是否是最大值 总代码 运行结果 总结 题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是…...
【SQL应知应会】索引(三)• MySQL版:聚簇索引与非聚簇索引;查看索引与删除索引;索引方法
欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习,有基础也有进阶,有MySQL也有Oracle 索引 • MySQL版 前言一、索引1.简介2.索引类型之逻…...
rtmp直播
技术要求:nginxnginx-rtmpffmpegVLC 跟着大佬走的: 传送门 准备工作: 首先需要一台公网ip的服务器 这是使用天翼云的弹性云主机:免费试用1个月 天翼云官网 点击关机,更多里面选择重置密码, 默认用户名为…...
4.14 tcp_tw_reuse 为什么默认是关闭的?
开启 tcp_tw_reuse 参数可以快速复用处于 TIME_WAIT 状态的 TCP 连接时,相当于缩短了 TIME_WAIT 状态的持续时间。 tcp_tw_reuse 是什么? TIME_WAIT 状态的持续时间是 60 秒,这意味着这 60 秒内,客户端一直会占用着这个端口。端…...
Python数据分析和爬虫:解析数据的强大工具
引言: 在当今数据爆炸的时代,数据分析和数据提取变得越来越重要。作为一种简洁而强大的编程语言,Python在数据分析和爬虫领域有着广泛的应用。本文将详细介绍Python在数据分析和爬虫中的常用库和技术,并探讨其在实际应用中的优势…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
