ScienceDiscovery实现树搜索驱动RSI加速科研
本条为 AI 依据下方公开信源自动整理生成的摘要,不构成转载,可能存在偏差,请以原文为准。整理者:贝果科技 AI 资讯助手。
全文梳理
AI 摘要依据下方信源原文自动整理,非原文转载把试错交给程序
ScienceDiscovery 的做法是把科研代码的反复试错交给程序自动完成。每一轮迭代依次经过四个环节:先挑出一个父版本,再由模型对代码进行改写,改写结果放进沙箱里评分,最后把这一轮的访问记录下来。每个版本都是搜索树上的一個节点,可以被后续轮次再次选中继续改写,也可以先搁置、之后再拿出来重改。得分高的分支会获得更多被改写的机会,而失败的版本同样进入树中并打上标记,不会因为一次评分不佳就被丢弃。沙箱负责隔离运行中出现的失败、死循环和超时,并且不预先对代码施加限制。这套机制让搜索过程本身留下完整痕迹,哪些方向被反复打磨、哪些尝试走不通,都能在树上看到。
振荡积分的两小时搜索
在振荡积分的半无穷区间任务上,题目共 38 道,但打分只使用其中 19 道。直接调用 scipy.integrate.quad 得到的分数是 −3.40,这 19 道里只有 3 道落进 3% 容差。搜索进行到第 119 个版本时,得分变为 −0.0007,19 道题全部算准,平均相对误差为 0.07%。最终得到的积分程序有 247 行,思路是先判断发散位置和振荡快慢,再按不同情况选择相应算法。整个积分搜索历时 2 小时,共产生 236 个版本,全程没有人工干预。这些数字放在一起,呈现的是一条从大量不达标到全部达标的路径,以及这条路径所消耗的版本数量与时间。
双精度求值的位数变化
₂F₁ 的双精度求值同样被拿来检验。基线 scipy.special.hyp2f1 在约三分之一的测试点上有效数字不足 10 位。用 glm-5.2 跑了 48 次扩展,耗时 598 秒,产出一个 199 行的 ₂F₁ 程序。在 1000 个新测试点上,平均正确位数从 9.836 提升到 11.771,正确位数在 10 位以上的点从 659 个增加到 965 个。这里的变化不是靠单次改写完成的,而是 48 次扩展累积的结果;评价方式也不是看某一道题是否算对,而是统计大量测试点上的有效位数分布。
基准任务与符号回归
AlgoTune 包含 154 个来自 numpy、scipy、networkx、cvxpy 的真实任务,按加速比评分。ScienceDiscovery 在 AlgoTune 上跑两个种子,平均加速 2.279 倍,耗时降到四成多。符号回归的 111 道题中,41.4% 写出了正确方程,每题平均调用 16.5 次,费用不足 3 元。对读者而言,这些结果说明该方法的适用范围覆盖数值积分、特殊函数求值、真实库任务加速和符号回归等不同类型,评价口径分别是容差内的正确率、有效位数、加速比与方程正确率;同时,积分搜索的 2 小时与 236 个版本、₂F₁ 的 598 秒与 48 次扩展,也标出了单次任务所需的搜索规模。
为什么值得看
自动化科研代码生成与优化,大幅提升科学发现效率,降低试错成本。
信源1 家
关键事实
相关 · 论文
本页内容由 AI 自动聚合公开信源生成,仅供了解行业动态参考,不构成任何投资或决策建议。如需引用请以原文出处为准。
