3.5 贝叶斯优化搜索 本节摘要:贝叶斯优化是"评估最贵时最划算"的策略:用代理模型预测架构性能,用采集函数决定下一个评估谁。本节讲清"代理模型→采集函数→选点→评估→更新"五步循环,对比高斯过程与 TPE 两类代理模型、EI 与 UCB 两类采集函数,展开 NASBOT、Auto-Keras、BOHB 三个代表方法,并指出高维空间失效与核函数设计两大边界。 本节要回答的问题 阅读完本节,你应当能够: 复述贝叶斯优化的五步循环,并解释每步在 NAS 语境下的含义 对比高斯过程与 TPE 两种代理模型的差异 解释期望提升(EI)与置信区间上界(UCB)如何平衡探索与利用 说清 NASBOT 与 BOHB 各自解决什么问题,以及高维空间为什么是贝叶斯的死穴
本节摘要:贝叶斯优化是"评估最贵时最划算"的策略:用代理模型预测架构性能,用采集函数决定下一个评估谁。本节讲清"代理模型→采集函数→选点→评估→更新"五步循环,对比高斯过程与 TPE 两类代理模型、EI 与 UCB 两类采集函数,展开 NASBOT、Auto-Keras、BOHB 三个代表方法,并指出高维空间失效与核函数设计两大边界。
阅读完本节,你应当能够:
假设一次架构评估要花掉 500 GPU 小时,你只有 100 次评估预算。你会怎么花?随机搜索会把预算均匀撒开——公平但浪费;进化算法会保留一群个体来回折腾——也很费。贝叶斯优化的思路完全不一样:它先"猜"一个性能地形图(代理模型),然后每次只评估"按当前地图最值得的地方"(采集函数),评估完立刻更新地图。评估次数少、每次都打在点上。
这个策略的适用条件很苛刻:评估必须足够贵,贵到"少评估一次"的收益超过"建代理模型"的成本。如果评估便宜(零成本代理那种),贝叶斯优化的那套代理模型反而成了负担。所以 SOURCE 对贝叶斯优化定位的第一条优点就是"能够高效利用少量评估样本"——它天生是为"评估贵"的场景设计的。
贝叶斯优化的另一面是"聪明反被聪明误":代理模型要对架构空间建模,而架构不是连续向量,怎么定义"两个架构之间的距离"本身就是难题。空间一旦高维,高斯过程的计算和精度都会崩。这些边界决定了贝叶斯优化在 NAS 里是"精兵路线",不是"主力舰队"。
五步循环。构建代理模型——用已评估的架构性能数据,拟合一个能预测未知架构性能的模型。定义采集函数——综合代理模型的预测值和不确定性,算每个未评估架构的"价值分数"。选择下一个架构——挑采集函数分数最高的架构。评估架构性能——真金白银地训练评估。更新代理模型——把新样本并进数据,重拟合代理模型,回到第 2 步。
代理模型:高斯过程 vs TPE。高斯过程(GP)输出的是"均值±不确定性"——它既预测架构性能,也告诉你在哪些区域预测没底。不确定性正是采集函数做探索-利用平衡的燃料。但 GP 在高维、大规模数据下计算量大。TPE(树 Parzen 估计器)走另一条路:不直接建模性能函数,而是分别建模"表现好的架构的分布"和"表现差的架构的分布",用两者的比值指导采样。TPE 在高维和离散空间上比 GP 稳健,实现也便宜,是 Auto-Keras 等框架的默认选择。
采集函数:EI 与 UCB。期望提升(EI)算"这个架构的预期收益能超过当前最优多少",只评估预期提升大的点——它偏向利用,但不确定性大的区域 EI 也会高(有概率捡漏),所以自带探索。置信区间上界(UCB)把"预测均值 + k×不确定性"当分数,k 控制探索强度——k 大偏向探索,k 小偏向利用。调 k 就是调探索-利用旋钮。
代表方法。NASBOT:贝叶斯优化直接用于 NAS,GP 当代理模型、EI 当采集函数。它的技术难点在"架构之间的距离"——NASBOT 定义了一种基于架构编辑距离的核函数,让 GP 能在架构空间上工作。Auto-Keras:把贝叶斯优化封装进易用的 AutoML 框架,用 TPE 当代理模型,主打"几行代码出模型"。BOHB:贝叶斯优化与 HyperBand 结合——贝叶斯负责"选点",HyperBand 负责"省钱评估"(在训练中途早停明显不行的架构),专门治"评估贵"和"超参多"两个病。
| 方法 | 代理模型 | 采集函数 | 特色 |
|---|---|---|---|
| NASBOT | 高斯过程 | 期望提升 | 架构编辑距离核函数 |
| Auto-Keras | TPE | TPE 派生 | AutoML 封装,低门槛 |
| BOHB | TPE | 多臂赌博机式 | 结合 HyperBand 早停 |
高维是死穴,提前验空间。SOURCE 明确指出贝叶斯优化"对于高维搜索空间可能效果不佳"。架构空间动辄几十上百维,GP 直接建模容易失灵。对策:用 Cell 空间压缩维度(第 2 章)、用结构化的核函数(NASBOT 的编辑距离)、或者干脆用 TPE 这种对维度更宽容的模型。别把贝叶斯优化当万能钥匙。
代理模型的精度决定上限。贝叶斯优化做得再好,也不比它的代理模型聪明。代理模型预测不准,采集函数选的"最值得评估的点"就不可信。评估初期样本少,代理模型一团糟——这是贝叶斯优化的"冷启动"问题。对策:前 10-20 个点用随机搜索铺底,等代理模型有点样子再切回贝叶斯。
收益要跟评估成本对齐。判断"该不该用贝叶斯优化"看一个数:单次评估成本。评估一次架构如果低于几十 GPU 小时,贝叶斯优化的代理模型开销可能抵不过它省的评估次数。评估越贵,贝叶斯越香;评估便宜,随机搜索+并行反而更划算。
⚠️ 常见坑:在高维搜索空间里硬上高斯过程。GP 的计算复杂度随样本量立方增长,样本一多训练就慢,而且高维下 GP 的预测几乎退化成均值——探索利用平衡完全失效。
💡 关键直觉:贝叶斯优化的灵魂是"不确定性"——它不只告诉你"哪里预测好",还告诉你"哪里预测没底"。采集函数的价值正在于把这两条信息拧成一股绳,这正是它区别于"贪心搜索"的地方。
贝叶斯优化的代理模型(尤其高斯过程)需要一个核函数,而核函数基于"两点之间的距离"。连续参数空间的距离好算(欧氏距离),架构空间的距离却不好定义——两个 Cell 结构怎么算"差多少"?NASBOT 的贡献正在于此:它定义了基于架构编辑距离的核函数——把架构变换成另一个架构所需的最小编辑步数(换操作、加边、删边)当作距离。这个设计给我们的启示是:贝叶斯优化能不能用于 NAS,一半取决于你能不能定义出一个合理的"架构距离"。工程上如果定义不出来,就退到 TPE(TPE 不直接需要距离,它只比较样本的优劣)。
高斯过程在高维下有双重失效:计算失效——训练复杂度随样本量立方增长,维度一高、样本一多就扛不住;精度失效——高维空间里所有点之间的"距离"都趋于相等(维度灾难),核函数给出的相似度失去区分度。SOURCe 对贝叶斯优化的边界描述正是"对于高维搜索空间可能效果不佳"。工程上的三个应对:降维(用 Cell 空间、操作集合精简压缩有效维度);用 TPE 替代 GP(TPE 对高维稳健得多);把高维问题拆成低维问题的组合(分层贝叶斯优化)。
当一次评估要花几百甚至上千 GPU 小时时,评估次数本身成了最稀缺的资源,贝叶斯优化的"样本高效"优势被放大到极致——它把每一次评估都用在"最值得"的点上。SOURCe 对贝叶斯优化的定位就是"能够高效地利用少量的评估样本,在计算资源有限的情况下也能取得较好的搜索结果"。这种场景下,随机搜索的"广撒网"和进化的"种群迭代"都付不起评估账单,贝叶斯是少数可行的选择之一。
BOHB 的聪明之处在于分工:贝叶斯优化负责"选哪个架构值得评估",HyperBand 负责"评估到什么程度"。HyperBand 会对明显不行的候选中途早停(训练几十个 epoch 就看衰不衰),把预算留给有潜力的。这个组合正好呼应第 4 章的评估阶梯思想——"选点"和"评估预算分配"是两件事,可以分开优化。工程上用 BOHB 类方法时,早停的标准(看什么指标、看几个 epoch)要跟评估策略的配置对齐,否则两头打架。
贝叶斯优化初期代理模型几乎没数据,采集函数选的点跟随机搜索差不多,甚至更差。工程上别等代理模型"自己暖起来"——直接前 10-20 次评估用随机搜索铺底,拿到基础数据后再交给贝叶斯优化接管。这个"随机铺底 + 贝叶斯精搜"的两段式,是所有贝叶斯 NAS 实践的标准起步姿势。
不是,但容易混淆。代理任务评估(第 4.3 节)是"用便宜任务算真实性能"——它给出的分数是真实的,只是来自缩小版任务。贝叶斯优化的代理模型是"预测性能"——它给出的分数是模型猜测的,不是评估出来的。两者可以组合:贝叶斯优化的"评估环节"可以换成代理任务评估,让每次评估更便宜。组合后代理模型预测 + 代理任务评估,两处都在省成本,但两处都有误差,误差会叠加——这是组合时要留神的。
看你对"不确定性"的态度。EI(期望提升)偏保守:只有"可能超过当前最优"的点才值得评估,适合预算紧、想稳步提升的场景。UCB(置信区间上界)更激进:直接用"预测均值+置信"当分数,系数 k 调大就偏向探索未知区域,适合空间大、担心漏掉好解的场景。工程上从 EI 起步(它通常更稳健),遇到"搜索停滞在局部最优"再换大 k 的 UCB 冲一冲。
能,但要选对工具。离散空间里高斯过程的核函数定义困难(距离不好算),但 TPE 对离散空间天然友好——它只比较样本的"好/差"归属,不直接算距离。SOURCe 列 Auto-Keras 时明确写它"使用 TPE 作为代理模型",处理的就是带离散组件的结构空间。如果空间高度离散,优先 TPE 而非 GP。
三个场景:评估便宜(一次评估几分钟就完)——代理模型的维护成本反而拖慢节奏,随机搜索+并行更划算;空间巨大且不可分解——代理模型在高维下失效,贝叶斯的"样本高效"无从谈起;空间太小平缓——随机搜索几次就摸到底了,贝叶斯优化的"聪明"没有用武之地。判断标准始终回到那句:评估越贵、空间越适度,贝叶斯越值。
下一节看随机搜索——最简单却最容易被低估的基线。