摘要
实验 0200 的小参数 CEM 因引擎异常中止后,路线转向小型神经网络 + 强化学习。本实验先做工程预检:用一个只看公开信息的策略/价值网络控制整场战斗,确认它能真实驱动 Simulator、完整保存轨迹,并完成一次 PPO 更新。PPO(近端策略优化)是一种常用强化学习算法,每次更新只允许策略在旧策略附近小步变化;Masked 指每一步只在当前合法动作里选择,非法动作概率严格为零。首次运行因一个路径类型错误在首步前退出;修复后同一协议在新目录完成:8 局全部自然终局,一次 PPO 更新完成,全部轨迹回放核验通过。这只证明链路可用,不证明棋力提升。
要回答的问题
整局神经网络采样、模仿初始化与 PPO 更新这条链路,能否在不泄漏隐藏信息的前提下端到端运行并被独立核验?
方法
- 编码器:只消费公开观察、合法菜单和 Simulator 公开规则查询;未知数值配独立的“已知”标志位,不把未知当零。状态 1,282 维、动作 255 维。
- 网络:64 宽的多层感知机(MLP),共享主干 + 动作评分头 + 价值头,共 111,042 个参数。
- 训练:先用 Fair(只看公开信息的规则 AI)的选择做模仿学习初始化(BC,behavior cloning,照着老师的动作学),再让网络控制一方、Fair 控制另一方打整局;只有自然终局的最后一个受控动作得到 +1/0/−1 奖励。
- 进程边界:CPU 上的规则进程与 GPU 学习进程通过本地管道传编码后的数值,不把真实状态或敌方隐藏构筑传给网络。
设置
只用两个既有训练来源(920002、920003)的两个方向;最多 4 个工作进程;每局 120 秒、1000 决策。门槛:四局网络对局全部自然终局且受控决策 ≥ 64 才做一次更新。不打开开发或保留来源。
结果
| 来源/方向 | 教师(Fair)决策/结果 | 网络决策/结果 | 网络相对 Fair 改选 |
|---|---|---|---|
| 920002 原方向 | 83 / 胜 | 91 / 胜 | 49/56 |
| 920002 换边 | 55 / 胜 | 58 / 胜 | 27/34 |
| 920003 原方向 | 171 / 负 | 208 / 负 | 68/84 |
| 920003 换边 | 131 / 负 | 128 / 负 | 52/55 |
模仿阶段 204 次受控决策、16 个优化步;网络阶段 229 次受控决策后完成一次 PPO 更新(4 轮、16 优化步,最大 KL 约 0.00850,未提前停止)。独立读回复核 925 次转移、433 份重新投影的公开编码与采样回执,跨批重算最大 log-prob 差 9.54e−7;32 次隐藏敌方法术书/未来随机数扰动不改变网络输入。
失败与负结果
- 首次运行失败:工作进程的初态路径是字符串,旧读取函数要求路径对象,4 个 worker 在首步前退出,0 次转移、0 次更新。原失败目录保留,修复后在新目录重跑,协议与来源不变。
- 教师与网络都是 2 胜 2 负,而且网络对局发生在 PPO 更新之前,没有更新后的胜率评测。
- CPU 与 GPU 完整调用成本接近(批量 1 时中位 17.41 vs 18.70 ms),不能声称 GPU 提速;实际推理几乎都是批量 1。
局限
v1 编码只聚合状态数量,未逐项编码状态参数、己方未可用法术、装备和历史;部分不同动作可能编码相同。两个训练来源没有覆盖所有被动、法术和状态。
结论与下一步
工程链路可用。下一步:先做最多 90 分钟的表示 v2(公开单位/能力/状态 ID、己方法术可用性、动作目标格),再冻结 64 训练 / 8 开发 / 16 保留的正式训练协议,见实验 0202。
Comments