3.6 随机搜索 本节摘要:随机搜索是 NAS 里最被低估的策略——随机采样架构、评估、取最优,简单到没有任何"智能",却常被证明与复杂策略打平。本节讲清均匀采样、重要性采样、网格化三个变体,分析它作为基线的不可替代价值,并讨论为什么"随机"在特定条件下能赢过"聪明"策略。 读完这一节你会得到 阅读完本节,你应当能够: 复述随机搜索的三步流程与三个变体 解释随机搜索为什么能避免陷入局部最优 说清"随机基线不可替代"的三个理由 判断在什么条件下随机搜索值得被优先考虑 一、问题与直觉:别小看"蒙答案" 前几节讲进化、强化学习、梯度、贝叶斯,一个比一个精巧。现在要泼一盆冷水:这些精巧策略,很多情况下打不过一个只会"随机蒙答案"的选手。 这个反直觉的结论来自两个朴素的事实。
本节摘要:随机搜索是 NAS 里最被低估的策略——随机采样架构、评估、取最优,简单到没有任何"智能",却常被证明与复杂策略打平。本节讲清均匀采样、重要性采样、网格化三个变体,分析它作为基线的不可替代价值,并讨论为什么"随机"在特定条件下能赢过"聪明"策略。
阅读完本节,你应当能够:
前几节讲进化、强化学习、梯度、贝叶斯,一个比一个精巧。现在要泼一盆冷水:这些精巧策略,很多情况下打不过一个只会"随机蒙答案"的选手。
这个反直觉的结论来自两个朴素的事实。第一,NAS 的搜索空间虽然巨大,但好架构往往不是孤立点——如果你的空间设计合理(先验嵌得好),随机采样的架构性能分布里,排前面的那批其实已经不错。第二,搜索策略的"智能"是拿评估预算换的——进化要评估整个种群、贝叶斯要建代理模型,这些开销花掉了大量预算。而随机搜索把这些预算全花在"纯采样"上,评估次数反而更多。评估次数多 + 空间设计得好 = 随机搜索常常够用。
SOURCE 给随机搜索的定位很准:简单有效的基线方法,在某些情况下能取得令人惊讶的效果,并为更复杂的搜索策略提供性能对比基准。注意"在某些情况下"——随机不是万能的,它打不过复杂策略的场景是"评估便宜 + 空间平滑 + 预算充足"组合的反面。但作为基线,它永远免费、永远在场。
基本流程。随机采样——在搜索空间里均匀抽架构;评估性能——按评估策略算出架构分数;选择最优——把预算花完后取分数最高的架构。三个步骤没有任何历史信息利用,这是它的全部"智慧"。
变体一:均匀随机采样。每个架构等概率被抽中。实现最简单,也最"诚实"——它测的是搜索空间本身的性能分布。如果均匀采样都能拿到不错的架构,说明空间里好架构的密度高(先验起效了);如果均匀采样全军覆没,说明空间设计有问题,这时该修空间而不是换策略。
变体二:重要性采样。不均匀采样——对已知性能较好的区域提高采样概率。这算"半个聪明策略":它开始利用历史信息,但利用得很粗糙(只调采样分布,不建代理模型)。重要性采样介乎纯随机与贝叶斯之间,实现成本低,适合"知道好区域在哪但懒得建模"的场景。
变体三:网格化随机。先把空间离散成网格,再在网格上随机采样。好处是覆盖更均匀——纯随机的样本可能在空间里扎堆,网格化保证"哪里都试过"。代价是网格的粒度选择本身是个超参数。
为什么随机不会局部最优。因为它根本没有"顺着梯度/适应度走"的行为——每次采样完全独立,不偏向任何区域。局部最优坑只会坑那些"朝着当前最好方向走"的策略,随机搜索没有"方向",自然不会被坑。这是随机搜索最被低估的优点:它的结果方差大,但期望质量稳定,不依赖初始化、不依赖参数、不依赖运气。
用法一:当基线(必须)。任何 NAS 实验的标配,是先跑一遍随机搜索拿基线。基线的作用有三:判断搜索空间质量(基线好=空间好)、判断策略增益(复杂策略必须显著超过基线才算数)、判断评估策略可靠性(评估噪声大时,基线能告诉你多少"性能差异"是噪声)。SOURCE 在 3.6 节总结里把"提供性能基准"列为随机搜索的核心优势,就是这个意思。
用法二:当评估阶梯的第一级。第 4 章会讲评估阶梯——零成本代理粗筛、权重共享精筛、完全训练定稿。随机搜索可以嵌进任何一级:用零成本代理给随机采样的一大批架构打分,挑分数高的进下一级。这时的随机搜索负责"广撒网",评估策略负责"网眼粗细"。
用法三:当冷启动方案。贝叶斯优化的冷启动问题(代理模型初期不准)有个简单解法:前 10-20 个点用随机采样铺底。进化算法也可以先用随机采样初始化种群。随机搜索是给所有"聪明策略"垫底的免费起步模块。
| 用法 | 配合对象 | 目的 |
|---|---|---|
| 基线对照 | 任何复杂策略 | 判断策略增益是否真实 |
| 粗筛第一级 | 零成本代理/评估阶梯 | 广撒网快速过滤 |
| 冷启动 | 贝叶斯优化、进化 | 给代理模型/种群铺底 |
⚠️ 常见坑:评估噪声大时拿随机基线和复杂策略比绝对精度。随机搜索的结果方差大,单次跑完的基线可能偏高或偏低——跑 3-5 个随机种子取中位数,基线才可信。
💡 关键直觉:随机搜索的"笨"恰恰是它的优点——它不携带任何假设。策略的"聪明"假设如果错了(比如空间根本不是它建模的形状),聪明策略的表现还不如随机。先跑随机,是在为所有假设交学费之前先验一下货。
把随机搜索当成"对搜索空间的普查"就明白了:均匀采样下,采到的架构性能分布,就是整个空间性能分布的抽样估计。如果采样 1000 个架构里最好的那个已经相当能打,说明空间里好架构的密度高——空间设计成功。如果采 1000 个全军覆没,说明空间里好架构的密度极低——问题在空间不在搜索。这个视角给了随机搜索一个被低估的用途:诊断搜索空间质量。SOURCe 把它定位为"基线"的深层含义正在于此——基线的表现直接反映空间的"矿藏含量"。
随机搜索没有策略参数,唯一的决策是"采多少个、每个评估到什么程度"。评估总预算固定时,存在一个权衡:采样多、评估浅(每个架构只跑代理任务)能覆盖更多候选,但每个的分数噪声大;采样少、评估深(每个跑完全训练)分数可靠,但覆盖窄。SOURCe 强调的"评估策略决定效率"在这里体现得最直接——随机搜索的预算分配,本质上就是第 4 章评估阶梯在"采样侧"的投影:先浅评估广采样,再对高分者深评估。两段式比一刀切高效得多。
重要性采样开始"利用"历史信息——对已知好区域提高采样概率。但要注意它的代价:采样分布一旦偏向某区域,其他区域的覆盖就稀疏了,如果偏的区域其实是局部最优,整个搜索就被带偏。SOURCe 把重要性采样列为随机搜索的变体之一,但它已经偏离了"纯随机"的诚实性。工程上建议:不知道好区域在哪时用均匀采样(诚实普查),有把握好区域在哪时再考虑重要性采样,但始终保留一部分均匀采样的预算兜底。
NAS 文献里反复出现一个结果:在固定搜索空间和评估预算下,精心设计的策略与随机搜索的性能差距,常常远小于研究者预期。这不奇怪——复杂策略的"聪明"要建立在准确的评估反馈上,而评估反馈(尤其代理评估)噪声大时,策略学到的"方向"本身可能带偏。SOURCe 说随机搜索"在某些情况下也能取得令人惊讶的效果",这句话值得反复咀嚼。工程上的推论是:先跑随机,如果它已经够用,就别急着为微小的提升引入复杂策略的调参成本。
网格搜索把空间离散成网格后穷举所有网格点——覆盖率有保证但组合数指数爆炸;随机搜索在网格上随机抽样——覆盖不完全但预算可控。SOURCe 在 3.6 节把"网格化随机"列为变体之一,它在空间维度低时接近网格搜索的覆盖效果,维度高时又不会像纯网格那样爆炸。工程经验:维度低(几个超参数)用网格,维度高(架构空间)用随机——这已经是超参数调优领域的共识,NAS 里同样成立。
基线分数的高低本身不说明任何策略的好坏,它只反映"这个空间在固定评估预算下的天然产出"。解读的正确姿势是对比:复杂策略比基线高多少?高出的部分够不够补偿它的实现和调参成本?如果复杂策略只比随机高 1% 精度,而调参花了三周,这笔账未必划算。SOURCe 提醒随机搜索"为更复杂的搜索策略提供性能对比的基准",基准的价值就在这个对比里。
不需要刻意找好种子,反而要防"只看一次结果"。随机搜索结果方差大——同一个搜索跑两次,最优架构可能不同,分数也可能差几个点。SOURCe 说它"易于并行化",这个性质可以反过来用:跑 3-5 个随机种子并行,取中位数或最优,得到更稳定的基线。单种子结果既不可信也不可复现,多种子是随机搜索实验的标配。
三个条件:评估便宜(代理任务或零成本代理支撑大量采样);空间被先验修剪得合理(好架构密度高,均匀采样就能摸到);预算有限到复杂策略的调参成本不值得付。SOURCe 的原话是随机搜索适用于"在计算资源极其有限的情况下"——很多工业场景恰好满足这三条,所以"随机搜索当主策略"在工程里远比论文里常见。
下一节把五类策略摆到一起——一张多维对比表,一个选型决策框架。