编程导航深度学习话题讨论

深度学习

6 参与
分享

快来分享你的内容吧~

点击登录,快来和大家讨论吧~
表情
图片
话题
打卡
综合
交流
文章
问答

MCTS + CNN 自对弈强化学习实战总结

# MCTS + CNN 自对弈强化学习实战总结 > 本文是对一个五子棋自对弈强化学习项目(GomokuCnn)的完整复盘。 > 项目在一台 RTX 3060 Laptop 上,用 AlphaZero 式"自对弈 → 训练 → 评估" > 循环从零训出强 AI:最终模型对战传统 NNUE 引擎 > [rapfi](https://github.com/dhbloo/rapfi),先手执黑基本保持 100% 胜率。 > 训练方案参考了 [zhoukangyang233/Gomoku](https://github.com/zhoukangyang233/Gomoku) > (nn_012 管线),在此之上做了大量机制研究与工程优化。 > > 项目已开源:<https://github.com/YorickFin/GomokuCnn> 这个项目最有价值的部分不是"训出了一个能下棋的 AI",而是过程中沉淀的 几条**反直觉结论**——它们大多来自失败的 run,每一条都有实测数据背书: 1. 标签质量不来自 sims 数,来自标签生成机制;棋力不来自单轮精度,来自总轮次; 2. 双盲期不是要"解决"的问题,而是要"穿越"的阶段; 3. 物化 D4 对称增强是强 AI 的信息论硬约束,Online D4 + 经验回放无法替代; 4. 防杀能力不生活在搜索里,它生活在训练标签里; 5. 跨轮持久的低学习率是棋力退化的隐形杀手。 下面按管线逐一展开。 ## 一、管线总览 整体是标准 AlphaZero 架构的轻量版: ``` 自对弈(MCTS + 当前模型生成对局数据) ↓ 标签生成(全节点收集 + prior/Q 分层重分配) ↓ 物化 D4 八倍对称增强 ↓ 训练(每轮重建 Adam + ReduceLROnPlateau 轮内调度) ↓ arena 竞技评估(对 champion 胜率 ≥52% 晋升) ↺ 回到自对弈 ``` 关键配置(低 sims 三支柱,缺一不可): | 支柱 | 配置 | 作用 | | --- | --- | --- | | 低算力搜索 | 30 sims/步 | 单轮快 → 总轮次多 | | 标签机制 | 全节点收集 + 分层重分配 | 低 visits 数据可用 | | 小网络 | 32 通道 / 5 残差块 | 容量匹配噪声标签 | 三支柱是绑定的。只搬其中两根会得到最差组合:首次启动时曾用 128ch/6blk 大网络配 30 sims,单轮 8 分钟(大网络吃不动 28 万全收样本), 且大容量在噪声标签上只会过拟合——128ch 的训练段计算量是 32ch 的 19 倍。 换 32ch 后全程平均约 22 秒/轮(自对弈 ~6s + 训练 ~15s)。 ## 二、低 sims 的经济学:总轮次 > 单轮标签精度 选择 30 sims 是一场明示的赌注。自对弈训练的总学习信号可以分解为: ``` 总学习信号量 ≈ 总轮次 × 每轮数据量 × 每样本信息密度 ``` 高 sims 管线的每样本信息密度高,但每轮慢;低 sims 管线的前期标签 基本是噪声(30 次模拟摊在 20 个子节点上,每个 1~3 次访问,毫无分辨力), 但换来的是 7 倍以上的轮次吞吐。 一组真实的对照实验: - **run_8**:800 sims,268 轮——arena 胜率停在 59% 天花板,且其 base 本身停滞后,新 run 只能摸到 base 的水平; - **nn_012(参考管线)**:30 sims,约 20000 轮——训出强 AI,对弈仅需 200 sims 就能稳定防杀。 轮次差 7.5 倍,sims 差 27 倍,结果完全倒挂。**单轮标签精度的短板 可以靠机制补(见下文重分配),总轮次的短板没有任何东西能补。** 代价也要有预期:低 sims 的双盲期更长(30 sims 树深约 3 层,搜不出 战术序列,战术能力只能等网络从数据里"背会"棋形)。这是设计内风险, 不是 bug。 ## 三、双盲期:定义、诊断与穿越 ### 什么是双盲期 自对弈冷启动阶段,对局双方(同一模型的自我复制)都弱到数据分布中 **不含任何有意义的对抗行为**——双方都不堵、不攻,谁先随手连五谁赢。 模型从这样的数据里学不到进步方向,形成自我强化的低水平均衡: ``` 模型弱 → 搜索树里没有战术信号 → 训练数据里没有"防守收益"的正例 → 模型学不会防守 → 模型依然弱 ``` ### 诊断指标(不要靠肉眼感觉) run_1 实测的双盲期指纹: | 特征 | 实测值 | 说明 | | --- | --- | --- | | 对局极短 | ~3.5 s/100 局 | 折合每局仅 ~10 手搜索 | | 胜率暴涨假象 | arena 对随机 base 99:1 | 赢随机对手不需要会下棋 | | value/policy 分离 | val value 0.088→0.029,policy 反而恶化 | 终局信号先教会 value 头;policy 无信号可学 | 三个关键判据: 1. **对局长度**(最灵敏):防守涌现 = 互堵 = 对局拉锯变长。自对弈 耗时**台阶式上升且不回落**才是涌现(平台期单次冲高不算数); 2. **arena 对 champion 的持续区分度**:50~60% 震荡且晋升不断 = 代际 进步;长期 45~50% 停滞 = 警惕; 3. **val value loss 在降**:说明逃逸引擎在转。注意 val policy loss 不能当判据——重分配标签是移动靶(value 变准 → 标签本身变锐), run_1 全程 policy loss 没有掉头向下,模型照样逃逸了。 ### 穿越手段 按"重要性 × 容易被忽视"排序: - **随机开局**(opening_max_moves=20,保留空盘开局概率):纯空盘自 对弈的开局标签退化成"先验 top-k 摊平",且所有对局开局段高度相似。 随机预落子把对局起点推进中盘,并用网络估值筛选最均势局面。踩坑 提醒:每个候选必须独立采样——参考实现曾把 shuffle 放在循环外, 1000 个候选实际只有 ~11 种不同局面; - **温度**:每局随机 0.1~0.8,让整个数据集覆盖从贪心到乱下的行为谱 (固定两阶段温度会导致中后期轨迹趋同,中盘残局偏弱); - **根节点 Dirichlet 噪声**(α=0.1,混合比 0.25):只加在根节点, 防止搜索被先验锁死; - **层次重分配标签**:这是低 sims 可行的支点——30 sims 的原始访问 分布是噪声,但每个子节点下方的树内 Q 是连续信号,把访问概率 按"Q 对比 + prior 层级"重新分配给树认为更好的分支,配合全节点 收集(visits 门槛设 0,可信度进样本权重 √(visits/sims)), 低 visits 数据不用丢弃。双盲期里它救不了命(Q 也是噪声),但 **value 头一旦变准,policy 标签立刻变准,不用等数据分布先改变** ——这把逃逸正反馈链的长度砍了一半; - **value 头是逃逸的正反馈引擎**:终局胜负 z 是唯一永远真实的监督 信号。逃逸链条:终局 z → value 变准 → 树内 Q 变准 → 重分配标签 变准 → policy 学会堵活三 → 对局拉锯 → 数据出现真战术 → 正循环。 ### run_1 完整逃逸时间线(1200 轮,约 12 万局,8.4 小时) | 阶段 | 轮次 | 自对弈耗时/轮 | arena 表现 | 状态 | | --- | --- | --- | --- | --- | | 双盲期 | r0~99 | ~3.6 s | 频繁晋升(假进步) | 随手连五 | | 长平台 | r100~799 | 3.6→9.6→5.5 s 冲高回落 | 晋升频繁但幅度小 | 行为在变 | | 深平台 | r800~1049 | ~3.4 s | 胜率 50% 无区分 | 全程最像"失败" | | 逃逸启动 | r1050~1149 | 3.5→5.0 s | 场均 82.5%,连续大胜 | 突破 | | 巩固 | r1150~1379 | 稳定 7~8 s | 54~63% 震荡晋升 | 中等 AI 强度 | 最深刻的教训:**深平台段(胜率 50% 无区分 + 耗时回落到双盲水平)是 全程最像"该止损"的阶段,但它恰恰是逃逸前夜**。防守是模式识别问题, 网络需要"见过足够多活三/冲四被惩罚"的对局——run_1 逃逸时累计约 12 万局,与参考实现的 20 万局同一数量级。数据量门槛真实存在,管线 优化只是压低它,没有取消它。 ## 四、物化 D4:强 AI 的信息论硬约束 逃出双盲期之后,下一个瓶颈是**自对弈闭环的对称性破缺**: ``` 模型有微小方位偏置(如左上角着法略多) → 自对弈生成的局面里,左上方战术出现频次更高 → 训练后偏置被巩固甚至放大 → 下次自对弈继续生成偏置数据 → 闭环正反馈:偏置永久固化,盲点永远存在 ``` 关键在于这个偏置发生在**数据生成端**。训练端的 Online D4(取样时 随机翻一个方位)只翻已有的偏置数据,改变不了模型下次下棋的偏置。 ### 硬约束 vs 软约束 - **物化 D4**:每个原始局面物化 8 份方位副本,8 个方位在**同一次 forward/backward** 里一起反传——梯度直接竞争,模型没有任何机会 选择性忽略某个方位; - **Online D4 + replay_rounds=7**:数字上等效(每样本训练 24 次, 方位覆盖 ~96%,Coupon Collector 问题),但 8 个方位分散在不同 epoch、不同轮次,每次训练步模型权重都不同——梯度永远不直接 竞争,偏置有充分的生存空间。且 replay 旧数据的重分配标签是 历史 value 头生成的,已经过时。 ### 分阶段收益 | 阶段 | 核心瓶颈 | 物化 D4 收益 | 性价比 | | --- | --- | --- | --- | | 冷启动期 | 标签全是噪声 | 8 份噪声平均,信噪比 +√8 | 差(每轮样本 ×8) | | 逃出冷启动后 | 闭环对称性破缺 | 打破偏置正反馈,消除盲点 | **极高** | 所以正确的姿势是:**没学会防守之前 Online D4(省钱熬双盲期), 学会防守之后必须物化 D4(强 AI 的关键)**。这个约束与 sims 数 无关——高 sims 管线标签干净后,同样会被闭环偏置卡在强 AI 门槛前。 ## 五、value 标签前缀重分配:防杀能力住在标签里 这是全项目最硬的一条结论,证据来自一次搜索预算完全倒挂的对抗测试: - 参考管线:约 2 万轮训练,对弈 **200 sims**——稳定防杀; - 新管线:6000 轮训练,对弈 **3600 sims**——反复失守。 18 倍搜索预算差距。修复前的新管线对强算杀对手呈现出两个不对称: ``` 对手的杀点落子之前:树里完全搜不到 10~20 步杀(3600 sims 如同不存在) 对手的杀点落子之后:立刻判断对面胜率 99%(一次前向就完成) ``` "下之后"只是模式识别(威胁已成型,CNN 一眼可见);"下之前"需要的 是前瞻推理,MCTS 能算深杀的唯一前提是 **value 头在杀路早期节点上 给出强烈负值信号,引导搜索分配模拟**。而嗅杀能力是训练标签教出来的。 ### 问题出在 value 标签的"半套重分配" 原管线只重分配了 policy 标签,value 标签仍用访问量加权树 Q: ``` 子节点 A:prior=0.7(正常回应),Q=+0.2,访问 7 次 子节点 B:prior=0.2(潜伏杀点),Q=+0.99,访问 3 次 访问量加权 Q:(7×0.2 + 3×0.99)/10 = 0.437 → 杀点信号被访问占比稀释,再被平庸回应平均掉 前缀 max 重分配:value ≈ 0.551,杀点权重 0.44,远超其 0.3 访问占比 → max 结构保证极端值不被平均掉 ``` 更尖锐的情况:杀点只被访问 1 次时(30 sims 常态),旧标签里它的 权重是 1/30 ≈ 3%,信号基本消失;前缀 max 里只要它 prior 靠前, 包含它的层级价值就**全额**等于它的极端价值。 修复方法:value 标签与 policy 标签从**同一个分层循环**产出——按 prior 降序逐层差分切分概率预算,每层的前缀 max 价值以同源权重累入 value 标签。数学上有 telescoping 恒等式保证权重和恰为已访问 prior 之和,标签是子节点取反 Q 的凸组合,恒在 [-1,1],与 tanh 输出域对齐。 为什么堆数据补不上这块?自对弈闭环会系统性饥饿这类样本:双方都 看不见长杀 → 树内 Q 没信号 → 对局在杀路成型前就结束了 →"被正确 标注的潜伏威胁"样本极其稀疏 → 模型更看不见。与 D4 闭环偏置同构: **数据生成端缺失的东西,训练端技巧补不齐**。前缀 max 有效恰恰是 因为它不需要额外数据——它把树里已经存在但被埋没的信息以正确权重 暴露出来。 教训:**3600 sims 防不住的,36000 也防不住**——搜索预算由 policy 先验驱动分配,杀点先验低的前提下,堆预算是无效堆砌。 ## 六、学习率:一次退化的教训 run_2 曾采用"余弦下降 + 谷底停留 + arena 驱动跳回"的跨轮 LR 状态机, 结果是:前 324 轮 9 次晋升后,LR 长期压在谷底 lr_min=1e-5 长达 460 轮,期间 arena 对 champion 胜率 45/49/39/50/51%(含明显连败), 棋力巅峰停在前 300 轮。 根因:**跨轮持久优化器 + 谷底低 LR = Adam 动量长期累积 + LR 过低, 双重退化**。 最终方案(nn_012)极其朴素: ```python # 每一轮训练(每次调用)都重建优化器与调度器 optimizer = optim.Adam(model.parameters(), lr=1e-4) # 每轮回 1e-4 scheduler = ReduceLROnPlateau(optimizer, mode='min', patience=2, factor=0.5) # 每个 epoch 用当轮验证损失 val_total = 2*val_value + val_policy step 一次 ``` 优化器每轮重建带来三个性质:LR 每轮回到 1e-4、Adam 动量不跨轮累积、 scheduler 每轮重置。与旧方案的本质区别:旧方案在**固定评估集**上做 跨轮调度(锚定 base,结构上跟踪不了进步);新方案在**当轮新鲜自对弈 验证集**上做轮内调度(3 个 epoch 内动态下调)。 另外一个相关教训:固定评估集 loss 与模型进步是结构性脱钩的——模型 变强后会偏离 base 的着法偏好,考卷 loss 反而上升。它可以留着看趋势, 但永远不能驱动 LR 调度和早停。 ## 七、工程优化速览 消费级显卡上跑通这套管线,工程优化占了一半功劳: - **C++ MCTS 核心**(pybind11):树操作加速 33.9 倍,端到端 2.18 倍; - **批量叶子推理**(infer_batch_size=16):30 sims 树浅,批 64 会 覆盖整棵树导致 Q 反馈进不了访问分布; - **bf16 autocast 训练 + channels_last**:batch 2048 下 3.64 倍; - **fp16 + channels_last 推理**:forward 2.49 倍; - **4 worker 并行自对弈**:~20 分钟/100 局训练轮(优化前配置下)。 ## 八、最终成果与已知短板 最终模型(models/run_6/950.pth)对战 NNUE 引擎 rapfi 的实测: - **先手执黑**:基本 100% 胜率; - **后手执白与平衡开局**:表现不佳。 短板的原因很清晰:自对弈管线的数据分布由模型自己决定,后手防守 局面与人为构造的平衡开局不在自然分布内。补强需要另做这两项的 专项训练——这本质上是又一处"数据生成端缺失"问题。 另一个值得记录的观察:修复 value 标签后,自对弈能稳定下到残局, run_5 的 6300 局里出现了 2 局和棋——终局覆盖和防守能力的改善 会直接反映在对局长尾上。 ## 九、可迁移的结论 如果把整个项目压缩成几句话: 1. **标签机制 > sims 数,总轮次 > 单轮精度。** 低 sims 的标签噪声 靠重分配机制补,高轮次的学习信号没有任何替代品; 2. **双盲期靠穿越,不靠解决。** 盯住对局长度、arena 区分度、 val value 三个指标;最像失败的深平台往往是逃逸前夜; 3. **自对弈闭环里,数据生成端缺的东西训练端补不齐。** 方位偏置 要靠物化 D4 硬约束,潜伏威胁要靠 value 标签前缀 max,后手与 平衡开局要靠专项数据——三条同构; 4. **防杀能力住在标签里,不住在搜索里。** 搜索预算由先验驱动, 先验看不见的,预算堆多少都是无效堆砌; 5. **跨轮持久的低 LR 是退化的隐形杀手。** 每轮重建优化器 + 轮内调度,朴素但有效。 ## 参考与深入阅读 - 项目仓库:<https://github.com/YorickFin/GomokuCnn> - 参考管线:[zhoukangyang233/Gomoku](https://github.com/zhoukangyang233/Gomoku)(nn_012) - 对抗测试对手:[dhbloo/rapfi](https://github.com/dhbloo/rapfi)(NNUE) 本文每个主题在项目仓库 docs 目录下都有一篇完整的机制分析, 含全部实测数据、推导过程与代码落位: - [低 sims 下棋类游戏强化学习如何逃出双盲期](https://github.com/YorickFin/GomokuCnn/blob/main/docs/低%20sims%20下棋类游戏强化学习如何逃出双盲期.md) - [自对弈强化学习成为强 AI 的硬约束——物化 D4 对称增强的不可替代性](https://github.com/YorickFin/GomokuCnn/blob/main/docs/自对弈强化学习成为强%20AI%20的硬约束——物化%20D4%20对称增强的不可替代性.md) - [自对弈强化学习的潜伏威胁盲区——value 标签前缀重分配](https://github.com/YorickFin/GomokuCnn/blob/main/docs/自对弈强化学习的潜伏威胁盲区——value%20标签前缀重分配.md)

自对弈强化学习成为强 AI 的硬约束——物化 D4 对称增强的不可替代性

# 自对弈强化学习成为强 AI 的硬约束——物化 D4 对称增强的不可替代性 > **适用范围声明**:本文讨论的约束可能仅适用于**五子棋、围棋等具有 > 棋盘对称性**的棋类游戏(D4 对称群:4 次旋转 × 2 次翻转 = 8 种 > 等价方位)。非对称博弈(如扑克)的自对弈闭环不会产生 > 同类方位偏置问题,以下结论不直接适用。 > > **与 sims 数无关**:本文结论覆盖所有 sims 配置。高 sims 管线 > 的标签质量更高、闭环偏置被暂时掩盖,但一旦逼近强 AI(标签干净), > 闭环偏置同样会成为瓶颈。低 sims 只是让这个问题更尖锐(标签噪声大 > 时 Online D4 的去噪收益不够),机制相同。 ## 1. 核心论点 **自对弈强化学习要突破"强 AI"瓶颈,全量 D4 物化增强是硬约束—— Online D4 + 经验回放无法替代。** 这不是"效果更好"的优化项,是**信息论上的天花板**:自对弈闭环 (模型生成数据 → 数据训练模型 → 模型变了 → 生成新数据)的 对称性破缺是**正反馈的**,不强制物化 D4 的话,方位偏置会被闭环 永久固化,盲点永远存在,模型永远有学不到的战术方位。 这个约束**与 sims 数无关**:高 sims 管线标签质量更高,闭环偏置 被暂时掩盖,但一旦逼近强 AI(标签干净),闭环偏置同样会成为瓶颈。 低 sims 只是让这个问题更尖锐(标签噪声大时 Online D4 的去噪收益 不够),但机制相同。 ## 2. 自对弈闭环的对称性破缺 自对弈是个闭环,数据分布由模型自己产生: ``` 模型下棋(有微小方位偏置:例,左上角着法略多) ↓ 自对弈生成局面 → 左上角相关战术出现频次更高 ↓ 训练后偏置被巩固,甚至放大 ↓ 下次自对弈继续生成偏置数据 ↓ 闭环正反馈:偏置 → 数据偏置 → 训练偏置 → 偏置更大 ``` 这个闭环的破缺机制:**数据生成端的不对称**——模型按偏置下棋, 生成的数据天然偏,训练端的 Online D4 补不齐,因为它只翻已有的 偏置数据,不改变模型下次下棋的偏置。 ## 3. 物化 D4 vs Online D4:硬约束 vs 软约束 ### 3.1 物化 D4 **在数据生成之后、训练之前,立刻为每个原始局面物化 8 份不同 方位的副本**,强制训练集瞬间完全对称: ``` 模型有偏置 → 自对弈生成偏置数据 ↓ 物化 D4(硬约束点) 每个原始局面同时生成 8 个方位副本 → 训练集完全对称 ↓ 同一次 forward/backward 里 8 个方位的梯度一起反传 ↓ 模型的方位偏置在每个训练步都被 8 倍信号强制纠正 ↓ 下次自对弈偏置被削弱 → 生成的数据更均衡 → 正循环(正确方向) ``` 关键:物化 D4 是**硬约束**——8 个方位的梯度在同一次训练步里 直接竞争,模型没有任何机会"选择性忽略"某个方位。 ### 3.2 Online D4 **训练时每个样本随机抽 1 种 D4 变换**,不物化 8 份副本: ``` 模型有偏置 → 自对弈生成偏置数据 ↓ Online D4(软约束点) 每个原始样本在当前 epoch 被随机变换 1 个方位 ↓ 梯度反传时只有 1 个方位的信号 ↓ 模型的方位偏置在这个训练步没有被 8 倍纠正 ↓ 闭环正反馈继续 → 偏置累积 ``` 关键:Online D4 是**软约束**——8 个方位分散在不同 epoch 里, 每次训练步的模型权重不同,梯度不直接竞争,偏置有充分的生存空间。 ### 3.3 核心差异图示 ``` 物化 D4 的梯度竞争(同一步): 方位 0 ─┐ 方位 1 ─┤ 方位 2 ─┼─→ 模型权重(同一次 backward) 方位 3 ─┤ 方位 4 ─┤ 方位 5 ─┼─→ 模型偏置被 8 倍信号强制拉向方位无关 方位 6 ─┤ 方位 7 ─┘ Online D4 的梯度竞争(跨 epoch): epoch 0: 方位 3 ──→ 模型权重 v0 epoch 1: 方位 7 ──→ 模型权重 v1(变了) epoch 2: 方位 1 ──→ 模型权重 v2(又变了) ... 8 个方位的梯度永远不直接竞争,偏置可在间隔中生存 ``` ## 4. replay\_rounds 能不能替代物化 D4? 短答:**数字上 7 等效,效果上不等效。** ### 4.1 数字等效计算 基于 run\_1 配置:每轮 100 局 × 15 手 ≈ 1500 原始样本、num\_epochs=3。 **样本量等效:** - 物化 D4:每轮训练样本 = 1500 × 8 = 12000(同时约束) - Online D4 + replay\_rounds=N:每轮训练样本 = (N+1) × 1500 × 3 - 令两者相等 → N+1 ≥ 8 → **replay\_rounds ≥ 7** **方位覆盖等效(Coupon Collector 问题):** - 物化 D4:每个原始样本 100% 覆盖 8 个方位(同时) - Online D4 + replay\_rounds=7:每个原始样本被训练 (7+1) × 3 = 24 次 → 期望覆盖 8 × (1 - (7/8)^24) ≈ 7.7/8 方位 ≈ 96% - **replay\_rounds ≥ 7 时方位覆盖 ≥ 95%** ### 4.2 为什么数字等效但效果不等效 核心差异回到硬/软约束: ``` 物化 D4,replay_rounds=0: 同一训练步,同一原始局面的 8 个方位同时过模型 → 梯度直接竞争 → 硬约束 → 偏置在每个训练步被强制纠正 Online D4,replay_rounds=7: 某训练步,局面 A 在方位 3;另一训练步(可能是另一 epoch、另一轮), 同一局面 A 在方位 7;两次训练步的模型权重不同 → 梯度不直接竞争 → 软约束 → 偏置有生存空间 ``` 此外,replay 的旧数据还有一个隐藏问题:**标签过时**——层次重分配 标签的质量依赖当前 value 头的精度。replay 里保留的是历史轮次的 重分配标签,当时 value 头还不准,标签质量差。 物化 D4 用的是**当前轮次的新鲜重分配标签**,没有过时问题。 **结论:replay\_rounds 最多缓解数据多样性不足,无法替代物化 D4 的"同一局面 8 方位同时约束"功能。** ## 5. 分阶段收益分析 物化 D4 在训练的不同阶段收益截然不同,这解释了为什么 run\_1 (低 sims)用 Online D4 也能逃出双盲期但到不了强 AI,也解释了 为什么高 sims 管线逼近强 AI 时同样会被闭环偏置卡住。 ### 5.1 冷启动期(run\_1 r0\~r1049,高 sims 同等阶段):D4 收益有限 冷启动期核心瓶颈:**policy 标签全是噪声**(低 sims:30 sims 每节点 1-3 visits,层次重分配的 Q 也不准;高 sims:搜索深但战术序列少, 早期对局同样单调)。 - 物化 D4:8 份噪声平均,信噪比提升 √8 ≈ 2.8 倍。虽然还是噪声, 但有方向性信号开始浮现。run\_1 估算可把逃逸点从 r1200 压缩到 r800。 - 但代价是每轮训练样本量 × 8,每轮耗时从 \~22s 涨到 \~150s+。 - **性价比差**:逃逸点缩短 400 轮,但每轮变慢 7 倍,总耗时反而增加。 run\_1 实测验证:Online D4 + 30 sims + 小网络 + 层次重分配, 8.4 小时、1200 轮自然逃逸——这是冷启动期管线的合理表现。高 sims 管线的冷启动期同样受益有限,只是高 sims 标签噪声小、逃逸点更早。 ### 5.2 逃出冷启动后(run\_1 r1050+,高 sims 同等强度阶段):D4 是刚需 逃出后标签信号已经干净(Q 变准 → 重分配标签变准),瓶颈从 "标签噪声"变成了**自对弈闭环的对称性破缺**——这是所有 sims 配置 下都存在的普适瓶颈。 - run\_1 用 Online D4 逃出后继续训练到 r1379,**已经摸到了强 AI 的 门槛**(用户实测"模型强度已经非常接近于强 AI")。 - 但这个门槛就是**不对称性的天花板**——某些方位的战术永远学不到, 或学到了但精度差一截。 - 高 sims 管线到这个阶段同样会被卡住:标签干净了,但闭环偏置的 正反馈开始主导,模型学不到方位无关的特征。 - run\_2/run\_3 如果继续用 Online D4 + 同一套管线,**预测永远过不去**: 不是训练时间不够,是自对弈闭环的正反馈会把偏置永久固化, 盲点永远存在。 ### 5.3 分阶段收益总结 | 阶段 | 核心瓶颈 | 物化 D4 收益 | 性价比 | | ------ | ------- | ----------------------------- | --------------- | | 冷启动期 | 标签全是噪声 | 加速逃逸(估算 r1200→r800),但每轮 ×8 样本 | 差:总耗时增加 | | 逃出冷启动后 | 闭环对称性破缺 | 打破偏置正反馈,消除盲点,继续爬强度 | **极高:信息论天花板问题** | ## 6. run\_2/run\_3 的建议 1. **run\_1 best.pth 已逃出双盲期且接近强 AI,作为 run\_2 的 base** 2. **run\_2 开启** **`augment_full=True`(物化 D4)**——此时标签是干净的, 硬约束收益最大,这是从"接近强 AI"到"强 AI"的关键一步 3. 双盲期已过,不用再担心物化 D4 的"标签噪声 × 8"问题 4. 训练时间会增加(每轮训练段 × 8),但换来的是打破信息论天花板 如果还没准备好开物化 D4 测试,可以先设 `replay_rounds=7` 作为 过渡(数字等效下界),但要接受效果永远不如物化 D4。 ## 7. 一句话总结 **自对弈闭环的对称性破缺是正反馈的、不可逆的——Online D4 只能软约束、 约束不了闭环本身,物化 D4 是唯一能打破这个正反馈的硬手段。 冷启动期标签是噪声,D4 的收益被稀释;一旦标签干净、模型逼近强 AI, 闭环偏置立刻成为信息论天花板——这道坎,只有物化 D4 能过。**

误闯修仙—记WSL安装Linux子系统

<img src="https://pic.code-nav.cn/post_picture/1675780045722882049/jFrIocV7TpNXDqRp.webp" alt="image.png" width="100%" /> # 前言 夫Windows者,锦衣玉食之贵公子也,GUI如雕梁画栋;Linux者,布衣芒鞋之江湖侠客也,CLI 似寒光宝剑。昔者欲用Linux,或装双系统,重启如抽签,或虚拟机中运行,卡顿似老牛破车。 昔者江湖传言:Windows显卡如闭门铸剑,纵有RTX核弹之威,Linux 却只能隔墙闻香。炼丹师欲借神力,非修习系统双修秘籍(装双系统),便是在虚拟机里搭空中楼阁,十成火力废其七成,炼丹炉(GPU)空转冒烟,真火(CUDA)难渡云霄。 丙申年中,微软祭出WSL宝术,竟将丹炉乾坤倒转!但见: - 英伟达老仙所传CUDA真经,直通Windows经脉,WSL中一声 nvidia-smi喝令,显卡如听梵音,瞬间金光大作,显存吞吐似天河倒灌; - TensorFlow/PyTorch等炼丹秘籍,不必重念移魂咒(重装驱动),Windows本体显卡竟与Linux终端神魂相通,张量计算如哪吒踩风火轮,瞬息千里; - 更有DirectX 12化作虹桥,Linux图形程序借Windows显卡显形,昔日"卡遁术"(图形驱动冲突)之窘,烟消云散! 道友不妨速速掐诀念咒 `wsl --install`,一屏观两界,十指戏双雄,白日炼丹(训练模型),夜晚斩妖(光追游戏),物尽其用,岂不美哉? (笔者已疯) # 一、检查系统 诸位道友欲修WSL宝术,需先验明电脑「仙根灵骨」,据老夫所闻,无维系统八字、虚拟化神脉、内存修为、显灵金丹(显卡驱动,非必要条件)尔。若诸般条件俱足,当见Linux终端如蛟龙出水,Windows资源信手拈来。 > 当今此界,根骨皆备者比比皆是,道友无需忧心,想来自是一代天骄。 ## 系统八字与内存修为 - Windows 10版本2004(内部版本19041)及以上,或Windows 11(天生自带WSL慧根) - 64位真元内核(32位道友请速速兵解转世) - 至少4GB内存(炼丹者请备8GB以上,否则恐遭「爆显存天劫」) <img src="https://pic.code-nav.cn/post_picture/1675780045722882049/AfqwfAQZshvkLKQQ.webp" alt="image.png" width="100%" /> ## 虚拟化神脉 一般都是开启的,若未开启,请自寻BIOS虚拟化神通:stuck_out_tongue_winking_eye: <img src="https://pic.code-nav.cn/post_picture/1675780045722882049/B3cKlvtcv6Y18KRw.webp" alt="image.png" width="100%" /> ## 洗精伐髓 开启如图两个选项(需要重启) <img src="https://pic.code-nav.cn/post_picture/1675780045722882049/vHCQff5TIg32cb51.webp" alt="image.png" width="100%" /> # 二、掐诀念咒 按照以下诀印,运转一个小周天: ```bash wsl --update wsl --list --online # 检查可安装的Linux发行版 wsl --install -d Ubuntu-24.04 # 安装具体的发行版 wsl --list -v # 已安装的Linux子系统 wsl --export Ubuntu-24.04 ubuntu.tar # 导出 wsl --import Ubuntu-2404 E:/wsl E:\ubuntu.tar # 将导出的安装到数据盘(C盘以外) wsl --unregister Ubuntu-24.04 # 卸载C盘安装的子系统 wsl -d Ubuntu-2404 # 启动WSL里的Linux子系统 nvidia-smi # 可选,检查显卡驱动是否直通 ``` 每印祭出,当有如下变化: ```shell PS C:\WINDOWS\system32> wsl --update 正在下载: 适用于 Linux 的 Windows 子系统 2.4.12 正在安装: 适用于 Linux 的 Windows 子系统 2.4.12 已安装 适用于 Linux 的 Windows 子系统 2.4.12。 操作成功完成。 正在检查更新。 已安装最新版本的适用于 Linux 的 Windows 子系统。 PS C:\WINDOWS\system32> PS C:\WINDOWS\system32> wsl --list --online 以下是可安装的有效分发的列表。 使用 'wsl.exe --install <Distro>' 安装。 NAME FRIENDLY NAME AlmaLinux-8 AlmaLinux OS 8 AlmaLinux-9 AlmaLinux OS 9 AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10 Debian Debian GNU/Linux SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5 SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6 Ubuntu Ubuntu Ubuntu-24.04 Ubuntu 24.04 LTS kali-linux Kali Linux Rolling openSUSE-Tumbleweed openSUSE Tumbleweed openSUSE-Leap-15.6 openSUSE Leap 15.6 Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS OracleLinux_7_9 Oracle Linux 7.9 OracleLinux_8_7 Oracle Linux 8.7 OracleLinux_9_1 Oracle Linux 9.1 PS C:\WINDOWS\system32> wsl --install -d Ubuntu-24.04 正在下载: Ubuntu 24.04 LTS 正在安装: Ubuntu 24.04 LTS 已成功安装分发。它可通过 “wsl.exe -d Ubuntu-24.04” 启动 PS C:\WINDOWS\system32> wsl --list -v NAME STATE VERSION * Ubuntu-24.04 Stopped 2 PS E:\> wsl --export Ubuntu-24.04 ubuntu.tar 正在导出,这可能需要几分钟时间。 (1128 MB) 操作成功完成。 PS E:\wsl> wsl --import Ubuntu-2404 E:/wsl E:\ubuntu.tar --version 2 操作成功完成。 PS E:\wsl> wsl --list -v NAME STATE VERSION * Ubuntu-24.04 Stopped 2 Ubuntu-2404 Stopped 2 PS E:\wsl> wsl --unregister Ubuntu-24.04 正在注销。 操作成功完成。 PS E:\wsl> wsl --list -v NAME STATE VERSION * Ubuntu-2404 Stopped 2 PS C:\WINDOWS\system32> wsl Provisioning the new WSL instance Ubuntu-24.04 This might take a while... Create a default Unix user account: xls New password: Retype new password: passwd: password updated successfully To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/pro System information as of Sat Mar 22 01:30:40 CST 2025 System load: 0.03 Processes: 31 Usage of /: 0.1% of 1006.85GB Users logged in: 0 Memory usage: 5% IPv4 address for eth0: 172.28.5.246 Swap usage: 0% This message is shown once a day. To disable it please create the /home/xls/.hushlogin file. xls@LAPTOP-5QKPIDQ4:/mnt/c/WINDOWS/system32$ pwd /mnt/c/WINDOWS/system32 (base) xls@LAPTOP-5QKPIDQ4:/mnt/c/Users/X-L-S$ nvidia-smi Sun Mar 23 12:35:40 2025 +---------------------------------------------------------------------------------------+ | NVIDIA-SMI 530.30.02 Driver Version: 531.14 CUDA Version: 12.1 | |-----------------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+======================+======================| | 0 NVIDIA GeForce RTX 2060 On | 00000000:01:00.0 On | N/A | | N/A 51C P8 9W / N/A| 107MiB / 6144MiB | 0% Default | | | | N/A | +-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=======================================================================================| | 0 N/A N/A 35 G /Xwayland N/A | +---------------------------------------------------------------------------------------+ xls@LAPTOP-5QKPIDQ4:/mnt/c/WINDOWS/system32$ exit logout ``` # 结束 至此,宝术小成。道友且记,虚拟机平台与某些安卓模拟器相克,如遇冲突,速念`bcdedit /set hypervisorlaunchtype auto`调和阴阳。 祝道友修为精进,结金丹,入元婴,登化神,成就至尊! <img src="https://pic.code-nav.cn/post_picture/1675780045722882049/o4j1ED5cu6zYq24O.webp" alt="image.png" width="100%" />

#黑客# 新手建站 docker k8s #Go# #MATLAB# fiddler和wireshark #TensorFlow# #Java# shell #深度学习# webpack 编程课程合集【35个大合集】 https://www.aliyundrive.com/s/dvfiJxVbcit 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 需要哪个存哪个,如果封禁就没啦

#深度学习# #资源# 分享 「清华大学人工智能」https://www.aliyundrive.com/s/KHvvBpfXjcU 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 「人工智能实践:Tensorflow笔记_北京大学」https://www.aliyundrive.com/s/dpL6qQhc9fN 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 「pytorch实战」https://www.aliyundrive.com/s/1UpVGPZXQDF 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。「4.10、深度学习基础介绍-机器学习」https://www.aliyundrive.com/s/AdPcZS5qJBs 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

#资源# #分享# #Web# #深度学习# #算法# #小程序# 需要的小伙伴自取[机智][机智] 「李宏毅深度学习课程」https://www.aliyundrive.com/s/WZVKu2ywMC2 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 「计算机专业知识系统精讲班」https://www.aliyundrive.com/s/TdHEXhbnBqx 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 「1」https://www.aliyundrive.com/s/VnPmUczyYQa 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 「2」https://www.aliyundrive.com/s/9xUHNQ1Kwqk 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 「3」https://www.aliyundrive.com/s/MmYcWNYGRxm 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

下载 APP