尧图精选

HyperAgents父代选择算法全解析:5种parent_selection策略的数学原理与适用场景

🕒 发布时间:2026/10/1 16:11:56 📁 来源:尧图网络
HyperAgents父代选择算法全解析5种parent_selection策略的数学原理与适用场景【免费下载链接】HyperAgentsSelf-referential self-improving agents that can optimize for any computable task项目地址: https://gitcode.com/gh_mirrors/hy/HyperAgents在HyperAgents自我指涉、可自我改进的智能体框架中generate_loop.py 会不断进化出一棵智能体家族树。每代都要回答一个问题下一代的父代parent应该从档案库archive里挑谁这就是parent_selection策略要解决的核心问题。本文将带你从零看懂 5 种内置策略的数学原理、源码位置与适用场景帮你快速选对参数跑起来。HyperAgents 优化的基准域之一NetHack 学习环境NLE的瓦片贴图640x5921️⃣ 先搞清楚候选者是谁无论用哪种策略父代选择都基于同一份候选名单构建逻辑在 utils/gl_utils.py 的select_parent()中过滤无效节点只有元数据中标记valid_parent的代generation才有资格参选上一代运行失败、评测未通过的节点会被淘汰跨域平均分对每个候选取它在各评测域如balrog_nle、search_arena等上的验证集最高分typemax再求算术平均作为该候选的综合分兜底机制如果一个候选都没有有效分数则把档案库第一个节点archive[0]以 0.0 分作为唯一候选保证进化不会卡死。 关键洞察分数用的是验证集valsplit而非训练集避免父代选择过拟合到训练题上。2️⃣ 五种策略逐一拆解命令行动态参数定义在 generate_loop.py--parent_selection可选random、latest、best、score_prop、score_child_prop默认值为score_child_prop。策略 1random均匀随机P(选中 g) 1 / NN 为候选数量。完全不看分数纯靠多样性驱动探索。适用场景baseline 对照实验、验证档案库本身的价值。策略 2latest最新节点选中 候选列表的最后一个永远沿着最近一条进化线继续等价于线性进化链。注意当run_baseline no_archive时generate_loop.py 会强制切换为latest——因为没有档案库就没有回溯可言。适用场景无档案库基线、快速冒烟测试。策略 3best贪心最优选中 argmax(综合分)直接选历史最高分节点。简单直接但极易早熟收敛一旦最高分节点出现后续所有代都围着它转探索空间迅速枯竭。适用场景评测预算极小、只需确认当前最优水平。策略 4score_prop分数软概率⭐这是默认的函数签名策略generate_loop.py 中parent_selectionscore_prop。核心是一个陡峭 Sigmoid 软选择公式见 utils/gl_utils.pym mean(分数排序后前3名的平均分) # 动态中位参考点 w(g) 1 / (1 e^(-10 × (score(g) - m))) # 陡峭 sigmoid斜率10 P(选中 g) w(g) / Σ w数学直觉参考点m取前三名的平均分使分数接近头部的节点被压到 sigmoid 的陡峭段——分差被指数放大斜率 10 意味着分数比m低 0.5 以上权重就衰减到约 0.007接近 0比m高 0.5 的权重则趋近 1效果 精英优先但保留小概率翻盘比 best 更抗早熟。策略 5score_child_prop分数×子代惩罚命令行默认策略。在score_prop的软概率之上再乘一个子代数惩罚项utils/gl_utils.pypenalty(g) exp( - (child_count(g) / 8)³ ) w(g) w(g) × penalty(g) P(选中 g) w(g) / Σ w数学直觉三次方惩罚非常陡峭子代数为 4 时惩罚 ≈ 0.77子代数为 8 时惩罚 ≈ 0.24子代数为 16 时惩罚 ≈ 0.002它实现了一种**探索配额**——被反复选中的高分节点会逐渐冷却把机会让给其他分支这正是开放式进化open-ended evolution的关键分数决定谁有资格拥挤度决定轮到谁了。3️⃣ 五种策略速查表策略选择规则探索/利用典型适用场景random均匀随机纯探索基线对照latest最后一个节点无回溯链no_archive 基线、冒烟测试bestargmax 分数纯利用快速确认当前最优score_propSigmoid 软概率精英为主小概率探索默认函数签名值稳定进化score_child_prop软概率 × 子代惩罚利用分支配额CLI 默认长程开放式进化4️⃣ 进阶让 LLM 自己选父代edit_select_parent除了这 5 种数学策略HyperAgents 还支持自指涉模式--edit_select_parent开启后父代选择交给容器内的智能体自己决定走 select_next_parent.py 的select_next_parent()其默认实现是随机抽样以保持搜索空间开放但策略本身是可被智能体修改的代码。这也是自我改进的精髓——连选择算法都是被进化的对象源码位于 utils/run_select_next_parent.py。5️⃣ 实战配置建议# 使用默认策略score_child_prop运行 balrog_nle 域进化 python generate_loop.py --domains balrog_nle --max_generation 10 # 显式指定 score_prop并开启 LLM 自选父代 python generate_loop.py --domains search_arena --parent_selection score_prop --edit_select_parent新手选型口诀只是想跑通看效果 → 用默认score_child_prop✅想做论文级对照实验 →randomvsbestvsscore_child_prop三组对比发现进化曲线早早走平 → 换score_child_prop或调大探索强度调试阶段快速迭代 →latest省去回溯开销相关模块路径核心选择逻辑utils/gl_utils.py主循环入口generate_loop.pyLLM 自选父代select_next_parent.py、utils/run_select_next_parent.py进化分析可视化analysis/理解parent_selection就理解了 HyperAgents 开放式进化的方向盘——分数软概率解决选谁子代惩罚解决别再选谁两者合力让智能体家族树既向上生长、又不断分叉。【免费下载链接】HyperAgentsSelf-referential self-improving agents that can optimize for any computable task项目地址: https://gitcode.com/gh_mirrors/hy/HyperAgents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →