技术博客
AI Agent

让 AI 自己"进化"出机器学习方案:MLEvolve 论文解析

liam2026-07-09 14:41
让 AI 自己"进化"出机器学习方案:MLEvolve 论文解析

论文链接:

https://arxiv.org/abs/2606.06473

代码地址:

https://github.com/InternScience/MLEvolve




1

先理解:现有方法卡在哪?


论文把痛点归纳为三条,理解它们是理解整篇工作的钥匙。


第一是分支信息孤立。现有方法大多用线性或树状搜索,每条探索路径(分支)各走各的,A 路径试出来的好招数传不到 B 路径。而且探索策略往往写死,不会随时间调整,在有限预算下白白浪费算力。


第二是搜索没有记忆。很多框架只在节点间传一个分数(标量奖励),每次规划都像"失忆"一样从头想,无法复用之前类似尝试的经验。


第三是缺乏分层控制。不少方法把"改什么"和"怎么写代码"揉进一次性生成里,每轮重写整个方案,效率低、修改不可控。



针对这三点,MLEvolve 给出三个对应组件。下面逐一拆解。



2


组件一:渐进式蒙特

卡洛图搜索(Progressive MCGS)


MLEvolve 的做法是把搜索组织成有向图,边分两类:主边(primary edge)记录"由谁改出来"的父子关系,用于选择和奖励回传;引用边(reference edge)则允许一个新节点额外参考其他分支或非相邻层的节点实现跨分支的知识流动,但不参与奖励回传(因为它只是借鉴信息,不是亲子生成关系)。论文特别指出:当引用边集合为空时,整个方法就退化成标准的 MCTS。


它还有一个渐进式探索调度,灵感来自信息论里的熵。简单说,系统用一个随时间从 1.0 递减到下限的权重 w(t),在两种策略间做"软切换":早期多用 UCT 做广泛探索(熵高、分支分散),后期更多用"精英引导"直接挑全局最好的若干个节点来开发(熵低、算力集中)。



此外,图搜索的几个高级操作(同分支进化、跨分支引用、多分支聚合)不是随便触发的,而是由停滞检测驱动:某分支连续若干步不进步就触发同分支反思乃至跨分支借鉴;全局长期不进步则触发多分支聚合,开一条全新分支。



3

组件二:回顾式记忆(Retrospective Memory)


这个组件解决"没记忆"的问题,由两部分组成。一是静态领域知识库,针对图像分类、NLP、表格回归等不同任务类型,预存了合适的候选模型和使用建议,专门用来缓解"冷启动"时智能体凭空乱试、错误率高的问题。二是动态全局记忆,在搜索过程中自动累积"计划—结果—分析—反馈"这样的结构化记录。


作者强调的一个差异点是:相比 MARS、ML-Master 2.0 等需要额外调用大模型做"反思总结"的记忆方案,MLEvolve 的记忆是自动累积、无需额外 LLM 反思的



4

组件三:分层规划与自适应代码生成


最后一个组件把"想"和"写"分开。规划者(Planner)在模块层面决定"改什么、为什么改",编码者(Coder)则专注"怎么实现",且会尽量保留已有的可用代码。


编码者有三种模式按搜索状态切换:从零完整重写(Base,初稿时用)、逐模块生成(Stepwise,复杂多阶段任务用)、以及对现有代码打补丁式的局部修改(Diff,已有可用方案时用,修改更稳更可控)。



5

实验结果怎么样?


主战场是 OpenAI 的 MLE-Bench(75 个 Kaggle 竞赛任务,分低/中/高三档难度)。关键结果如下:



注意两点:MLEvolve 在只用一半时间预算(12 小时)的情况下,平均夺牌率和金牌率都拿到对比方法中的最佳,低/中/高难度上分别为 80.3% / 64.0% / 46.7%。


消融实验显示,去掉任一组件性能都明显下降,其中移除 Progressive MCGS 掉得最多。更细的分析进一步指出,在图搜索的内部机制里,同分支进化(intra-branch evolution)是最关键的一环去掉它夺牌率从 66.67% 直接掉到 33.33%,说明"复盘最近几步、别重复犯错"这件事极其重要。



为验证泛化能力,作者还把 MLEvolve 用到 AlphaEvolve 的 15 道开放式数学优化题上。这里补充背景:AlphaEvolve 是 Google DeepMind 2025 年 5 月发布的进化式编程智能体,用 LLM 加自动评估器的进化循环来发现算法。MLEvolve 在 15 题中的 11 题取得最优,超过了 AlphaEvolve 及其后续版本,说明这套自进化机制不止能做 ML 工程。


点赞收藏
// 评论0
0 / 500
还没有评论,快来抢沙发