3.7 搜索策略对比与选择 本节摘要:把进化、强化学习、梯度、贝叶斯、随机五类策略摆上同一张对比桌。本节给出覆盖全局搜索力、效率、样本利用、计算成本、可微性需求的五维对比表,再按"计算资源→评估成本→搜索空间→性能要求→任务类型"五步决策路径给出一套选型方法,最后提醒"混合策略"与"随机基线优先"两个实战心法。 学习目标 阅读完本节,你应当能够: 用五维对比表说出五类策略各自的强项与短板 按五步决策路径为一个具体场景选出搜索策略 解释"评估成本"为什么是选型的第一决策变量 说清混合策略(多级粗筛+精搜)的组装思路 一、问题与直觉:选策略没有银弹 看完前面六节,最大的困惑往往变成:方法这么多,我到底用哪个?这个问题的诚实答案是——没有绝对最优,只有场景适配。
本节摘要:把进化、强化学习、梯度、贝叶斯、随机五类策略摆上同一张对比桌。本节给出覆盖全局搜索力、效率、样本利用、计算成本、可微性需求的五维对比表,再按"计算资源→评估成本→搜索空间→性能要求→任务类型"五步决策路径给出一套选型方法,最后提醒"混合策略"与"随机基线优先"两个实战心法。
阅读完本节,你应当能够:
看完前面六节,最大的困惑往往变成:方法这么多,我到底用哪个?这个问题的诚实答案是——没有绝对最优,只有场景适配。进化的全局搜索与梯度的高效率是两条相反的路线,强推哪个都是片面的。选策略的本质是"先认命",认命你的预算、你的评估成本、你的空间形态,再在约束里挑最优解。
还有一个更基本的判断要先做:你真的需要复杂策略吗?在评估便宜、空间被先验修剪得比较合理的情况下,随机搜索+充足采样经常就够用。SOURCE 在 3.7 节用一个"如何选择"的清单收束,列了计算资源、评估成本、搜索空间、性能要求、任务类型五个维度——这就是本节选型框架的骨架。
五维对比。全局搜索力衡量策略跳出局部最优的能力;效率衡量在固定预算内找到好解的速度;样本利用衡量策略从历史评估里榨取信息的能力;计算成本衡量策略自身的开销;可微性需求衡量策略对搜索空间形态的要求。
| 策略 | 全局搜索力 | 搜索效率 | 样本利用 | 计算成本 | 可微性需求 |
|---|---|---|---|---|---|
| 进化算法 | 强 | 低 | 中 | 高 | 无 |
| 强化学习 | 强 | 低 | 中 | 高 | 无 |
| 梯度优化 | 弱 | 高 | 高 | 低 | 必须可微 |
| 贝叶斯优化 | 中强 | 中 | 极高 | 中 | 需距离定义 |
| 随机搜索 | 强但盲目 | 低 | 无 | 最低 | 无 |
读表要点:全局搜索力与效率几乎总是反相关——进化/强化学习/随机在探索端,梯度/贝叶斯在利用端。样本利用与效率高度相关——贝叶斯样本利用极高,所以评估贵时最划算。可微性需求是一票否决项——空间不可微,梯度优化直接出局。
五步决策路径。第一步看计算资源:资源足→进化/强化学习(用算力换全局搜索力);资源紧→梯度/贝叶斯/随机(效率优先)。第二步看评估成本:评估贵→贝叶斯(样本利用极高,少评估几次就回本);评估便宜→梯度/随机(评估次数不心疼,没必要养代理模型)。第三步看搜索空间:空间复杂不可微→进化/强化学习/随机;空间简单或可微→梯度。第四步看性能要求:要求逼近全局最优→进化/贝叶斯;够用就好→梯度/随机。第五步看任务类型:图像分类这类空间成熟的→梯度(DARTS 系);序列任务、结构多变→进化/强化学习。
上图把五步决策压成一张流程图:先看资源(大前提),再看评估成本(第二约束),最后看空间形态(技术前提)。注意"随机搜索"出现在多条路径的兜底位置——它永远是可退的保守方案。
实战心法一:混合策略。SOURCE 在 3.7 节总结里点了一句:未来可以结合多种策略的优点设计混合搜索。工程上最实用的混合是"多级粗筛+精搜":先用零成本代理/随机采样从大空间粗筛出一批候选,再用贝叶斯或进化在小候选集上精搜,最后完全训练定稿。粗筛解决"空间太大"问题,精搜解决"预算有限"问题,各司其职。
实战心法二:随机基线优先。无论最终选什么策略,先把随机搜索跑通。随机基线不仅给后续策略提供对照,还能暴露搜索空间的问题——随机基线差,多半是空间设计差,这时候换策略是治标不治本。
清单先行。动手选策略前,把下面五项填完:总算力预算(GPU 小时)、单次评估成本(GPU 小时)、搜索空间类型(可微/离散/巨大/小巧)、精度要求(够用即可/逼近最优)、空间成熟度(社区已验证/全新设计)。五项填完,决策路径基本自动收敛。
警惕"评估成本错估"。这是最常见的翻车点。评估成本不能只看"训练一个模型要多久",要加评估策略的折扣系数——权重共享下,评估一个子网几乎是免费的(第 4 章),这时贝叶斯优化的代理模型反而是多余开销。评估成本的正确计算方式,是把评估策略一并算进去。
结果报告要带齐对照。无论用了什么策略,报告里至少要有三列:随机基线、所选策略、完全训练验证。缺了任何一列,读者(包括未来的自己)都无法判断这个策略是不是真的贡献了增量。
⚠️ 常见坑:算力不足还要硬上进化算法。进化的评估账单按"种群规模×代数"膨胀,算力不足时进化退化成"慢速随机搜索",还不如直接随机采样省钱。
💡 关键直觉:策略选型的本质是"在探索与利用之间定价"。评估贵=探索贵=该多用利用(贝叶斯);评估便宜=探索便宜=可以放开探索(进化/随机)。评估成本是第一定价因子。
目标是在 CIFAR-10 上复现 DARTS 类结果。空间可微(Cell 空间)、评估走权重共享超网络——结论很清楚:选梯度优化。它省在哪?搜索阶段单卡几天跑完,代价是退化与 gap 要防。这个场景里进化、强化学习都不合适——它们的评估账单(哪怕是权重共享)在单卡预算下撑不住。选型逻辑:评估策略(权重共享)与搜索策略(梯度)在这里是配套设计的。
目标是给新任务找一个尽量好的架构,评估用代理任务(相对便宜),手里有 32 卡。评估便宜 + 算力足 + 空间较大——选进化算法。理由:进化的并行性(种群评估天然铺满多卡)+ 全局搜索力(空间大时不容易漏掉好解)最匹配这个场景。贝叶斯优化此时反而是次优——代理任务的评估已经便宜,贝叶斯的"样本高效"优势被稀释,它的串行更新还浪费了多卡并行。
这是贝叶斯优化的主场。评估次数被压缩到几十次以内,每一次都必须"打在点上"——代理模型 + 采集函数专门干这个。随机搜索此时最危险:几十次均匀采样等于把预算撒进大海。进化也不合适:种群迭代在极少数评估下无法收敛。选型结论是贝叶斯(配合随机铺底冷启动),并且评估阶梯的粗筛级(零成本代理)可以提前帮贝叶斯过滤明显差的候选。
目标是在三天内给一个中等任务找个比手工基线好的架构。空间经过手工修剪(先验强)、评估便宜(代理任务)、精度要求"够用"。最优解往往是随机搜索或随机+重要性采样,而不是任何"聪明"策略——复杂策略的调参周期比搜索本身还长。SOURCe 对随机搜索的定位"在计算资源极其有限的情况下使用"正落在这个场景。
无论按哪个流程选出的策略,启动前过一遍"后悔检查":如果这个策略跑完发现不行,我有没有退路?退路通常是随机基线——所以随机基线必须提前跑。这是第 3.7 节反复强调的一条纪律:先随机,再复杂。选型不是一次定生死,而是"先有兜底、再追求增量"的工程过程。
不是。NAS 策略的"新旧"只反映研究热度,不反映适用性。DARTS(2018)至今仍是效率标杆,随机搜索(最老)仍是不可替代的基线。策略选型看的是匹配度——你的空间形态、评估成本、预算结构匹配哪类策略,而不是"哪个听起来更先进"。SOURCe 在 3.7 节的总结里强调"选择合适的搜索策略需要综合考虑",这个"综合"里没有"新旧"这个维度。
不需要,也别这么干——那是把预算浪费在对比实验上。正确的做法是:用选型框架(3.7 的五步决策)先锁定 1-2 个候选策略,跑随机基线 + 一个策略候选的小规模对比,看增量是否显著,再决定是否加码。把五类全跑一遍,等于把搜索预算翻了五倍,违背了选型的初衷。
不一样。论文里策略选型往往被"最先进方法"绑定——要对比 SOTA 就得用 SOTA 策略;工程里策略选型被"预算和可靠性"绑定——稳定复现、可解释、易维护优先。一个典型的落差:论文主推的强化学习搜索,工程落地时常常被随机搜索或进化替代,因为后者的调参风险和可复现性更可控。工程选型时,别被论文的"性能叙事"带偏,回到自己的预算和可靠性约束上。
混合策略(粗筛+精搜)是工程最优解,但要注意"混合"的边界。SOURCe 提的混合是"结合多种策略的优点"——比如贝叶斯选点 + 权重共享评估 + 完全训练定稿,这是三层混合,各层干各层的事。但别在"同一层"里混——比如同一批候选既用进化又用强化学习驱动,参数的相互作用会让问题复杂到无法调试。混合的正确姿势是"分层混合、各司其职",不是"同层混用、互相打架"。
下一章进入第三根支柱——评估策略。策略选得再聪明,评估不准一切都是空转。
