开源黑盒优化工具与核心挑战
演讲者首先介绍了其团队开源的代码库,该工具旨在解决黑盒优化问题。在黑盒场景中,目标函数 $f$ 的内部结构、导数及其他信息完全未知,用户只能通过调用函数获取数值反馈来指导下一步搜索。这种优化问题广泛存在于旅行商问题(TSP)、作业调度及蛋白质折叠等领域,其中许多属于 NP-hard 问题,在最坏情况下需要指数级时间才能求得最优解。传统方法依赖固定策略,而现代趋势是将优化转化为序列式决策问题(sequential decision)。通过引入神经网络或强化学习,利用其泛化能力预测下一步动作,有望在相同时间内获得比常规求解器更优的解或更快的速度。然而,不同问题的具体表现差异巨大,需要针对特定问题进行具体分析。
行动空间设计对搜索效率的决定性影响
演讲者指出,与围棋等游戏拥有固定且明确的行动空间(如361个交叉点)不同,高维优化问题的可选行动空间极其庞大且灵活。例如在神经网络架构搜索中,既可以选择“逐层添加”的方式,也可以先确定整体深度再细化参数。为了验证行动空间设计的重要性,演讲者展示了一个简化的神经网络搜索案例:包含5种深度、2个通道数和2种卷积核大小的组合空间。实验对比了两种行动空间:一种是Sequential Action Space(顺序行动空间),即逐层添加并设置参数;另一种是 Global Action Space(全局行动空间),先确定网络深度,再设置每层的参数。结果显示,Global Action Space 的搜索效率显著高于 Sequential。这是因为在决策树中,先决定“深度”这一关键全局变量,能更有效地将搜索空间划分为优劣区域;而逐层决策导致好坏样本在空间中分布杂乱,增加了模型学习难度。因此,自动学习更优的行动空间切分方式是提高搜索效率的关键。
隐式行动空间与蒙特卡洛树搜索算法
基于上述洞察,演讲者提出了Latent Action(隐式行动)的概念。以井字棋为例,每一步决策都将剩余的游戏结果空间进行切分;在复杂优化中,行动空间的定义本质上是对搜索空间的动态切分策略。不同的切分方式导致值函数(Value Function)分布不同:低效的切分使得好坏样本混杂,迫使算法遍历大量无效分支;而高效的切分能将优质解聚集在特定子树中,便于蒙特卡洛树搜索(MCTS)快速收敛。演讲者展示了从空网络开始逐层构建的传统方法,与其提出的新方法对比:后者直接从整个设计空间出发,通过自动学习隐式行动空间来指导搜索。这种方法不再依赖人工预设固定的动作序列,而是让算法学会如何最有效地“切分”问题空间。通过这种方式,MCTS 能够更精准地聚焦于高价值区域,从而在神经网络架构搜索等复杂优化任务中实现更快的收敛和更高的性能。
基于树状切分的动态行动空间学习
该算法的核心在于将神经网络的设计空间(Design Space)视为一个可被不断切分的区域。每一次“行动”实际上是对该空间的一次分割,旨在将表现好的节点与差的节点区分开来。这种切分并非静态固定,而是动态调整和学习的机制。
“这个切分的方案呢,其实在整个的搜索过程中呢,是可以动态的去调整、去学习的。”
具体而言,算法通过迭代过程优化行动空间的定义。首先给定一棵树的结构,但此时行动空间未定,因此需要随机采样一些点。根据这些样本点在空间中的分布位置,算法初步划分出行动空间的粗略结构。随后,利用蒙特卡洛树搜索(MCTS)基于此空间寻找有希望的节点。当积累一定数据后,再次训练以重新定义行动空间的切分方案——如果之前的划分不佳则继续细化。这种“采样-搜索-重定义”的迭代循环,使得最终切分出的叶节点对应的神经网络子集质量更高。
线性与非线性的行动空间定义策略
在行动空间的自动学习阶段,算法提供了从简单到复杂的多种划分方案。最基础的是线性切分方法。假设行动空间由宽度、深度等参数组成,算法可以学习这些参数与性能(Performance)之间的线性关系。通过拟合一条能让性能提升最快的方向线,算法沿此垂直方向切一刀,将空间分为“好”与“坏”两部分。这种方法属于机器学习的基础概念,易于实现但表达能力有限。
为了提升精度,算法进一步拓展至非线性切分。具体做法是先对样本进行聚类(如分为两类),结合类别标签后使用支持向量机(SVM)训练,从而得到一个非线性的决策边界。利用这个复杂的非线性边界来切割行动空间,能够更精准地隔离出高性能区域。这种从线性到非线性的演进,使得算法在面对复杂的设计空间时,仍能保持高效的划分能力。
蒙特卡洛树搜索中的探索与利用平衡
为何需要引入MCTS?因为在实际优化中,存在样本不足导致的局部最优陷阱。例如,若左侧区域大部分解尚可但无极致优解,而右侧区域整体糟糕却隐藏着一个全局最优解(Optimal Solution)。如果仅依据当前采样结果进行线性切分,算法会本能地认为左侧优于右侧,从而忽略右侧,导致错失找到全局最优解的机会。
“虽然我我现在觉得右边不好,但是呢,就是我保留呃去右边那边探索的权利啊。”
MCTS通过维护一棵树来解决这一问题,平衡利用(Exploitation)与探索(Exploration)。每个节点代表当前状态,子节点代表后续步骤的状态。算法倾向于选择历史上胜率高的路径(利用),但同时必须访问那些被访问次数较少的节点。通过UCB公式中的PUCT项,即使某节点当前胜率不高,若其探索次数少,算法仍会分配资源去测试它。每次搜索结束后进行回溯(Back Trace),更新节点的胜率和访问次数,从而在后续迭代中动态调整对“看似不好但可能蕴含惊喜”区域的探索力度。
子区域采样策略与高斯过程拟合优势
在MCTS的每个节点(对应一个子空间区域)上,需要进行采样以进一步细分或评估。算法提供了两种基础方案:一是针对线性约束形成的多面体(Polytope)进行有效采样;二是采用拒绝采样法,即在包含该区域的大区域内随机生成点,并剔除不满足所有父节点约束的点。
更高级且推荐的方法是高斯过程(Gaussian Process)拟合。由于每个子区域相对较小,高斯过程在此处的优势显著: 1. 样本效率高:大区域拟合需指数级样本,而小区域内高斯过程易于收敛。 2. 目标一致:采样评估的是区域平均值,而高斯过程可预测区域的最大值(Max),更符合寻找最优解的目标。 3. 计算复杂度可控:高斯过程通常需对N×N矩阵求逆,耗时随点数平方或立方增长。但由于算法在点增多时会自动将区域细分为更小的子节点,因此每个区域内的点数始终较少,避免了高维拟合的计算瓶颈。
在神经网络架构搜索(NAS)中的应用实证
该算法被应用于著名的NASNet搜索空间。NASNet由Normal Cell和Reduction Cell交替组成,结构复杂且参数化程度高。实验结果显示,该算法在极少样本量下即可获得高精度。相较于其他对比算法(图中不同颜色曲线),本方法在搜索初期就能迅速提升准确率,证明了其学习到的行动空间具有极高的指导价值。
在CIFAR-10数据集上的独立评估中,算法仅用约800次搜索次数便达到了极低的Top-1错误率,远超其他方案。此外,结合One-Shot方法(使用直方图函数替代完整训练以加速评估),算法在ImageNet上同样表现优异,大幅节省了GPU时间。该框架还可作为元方法(Meta Method),在每个叶节点嵌入任意求解器,利用高斯过程等近似函数指导局部最优搜索,进一步提升了整体优化效率。
高维空间下的搜索效率优势
在复杂函数的优化问题上,传统算法往往受限于局部极小值。以阿克里(Ackley)和罗斯布洛克(Rosenbrock)等人工函数为例,这些函数在二维空间中布满“坑洞”,传统求解器极易陷入非最优的局部解,而真正的零点附近才是全局最优。演讲者指出,AMCTS方法在搜索效率上显著高于Base Optimization及Open提出的Tube算法。特别是在高维空间中,这种优势更为明显:使用AMCTS方法的实线曲线下降速度远快于未使用该方法的虚线。在一百维的空间测试中,AMCTS的收敛速度大幅领先,因为传统Base Optimization在高维下极其缓慢。此外,在母周库(MuZero)的Task中,将策略参数视为黑盒函数进行优化时,AMCTS在Ant和Humanoid等高维问题上表现优异。相比进化算法或传统贝叶斯优化框架,AMCTS在高维黑盒问题中展现出更高的效率。
无梯度优化的适用场景与对比
尽管AMCTS在黑盒优化中表现良好,但演讲者强调其本质上是一种无梯度(Gradient-free)的方法。如果与基于梯度的方案相比,后者在特定任务中可能更高效。例如在母周库Task中,利用当前梯度计算下一步优化方向能更快达到更好结果。然而,无梯度方法有其独特优势:首先,它有助于跳出局部最优;基于梯度的方法虽能快速收敛至较好解,但可能陷入无法逃脱的局部极小值。其次,许多实际应用场景的目标函数根本不存在梯度。例如在大型调度系统中调整参数以最大化收益,由于系统复杂性导致无法计算每个参数与结果之间的数学梯度。在这种情况下,只能依赖无梯度的黑盒优化方法。这类场景在应用中非常常见。
核心机制:蒙特卡洛树搜索与Tube算法
AMCTS的核心在于结合了蒙特卡洛树搜索(MCTS)。针对随机搜索是否陷入局部最优的疑问,演讲者解释称,虽然理论上可能,但通过足够长时间的搜索或MCTS机制,算法总有机会跳出局部最优并逼近全局最优。关于计算复杂度理论支持的问题,目前仍是未来研究方向。在技术实现上,Tube算法被用作局部求解器嵌入AMCTS框架中。Tube通过在BO外部增加一层机制,同时优化多个小区域。每次优化时将小区间缩小一半,从而在细化过程中降低计算代价。这种策略牺牲了对某些早期放弃区域的回溯能力,但换取了更高的局部优化效率。代码已开源,用户只需定义输入输出接口即可调用求解器。
常见问题与架构定义的澄清
针对观众提问,演讲者明确了几个关键概念。首先,神经网络搜索(NAS)是比梯度下降更高层的Meta算法。它旨在寻找最优的网络架构,而给定架构后的参数训练仍可使用梯度下降。其次,关于高斯过程(Gaussian Process)在高维下的局限性,并非单纯因为维度高,而是因为协方差矩阵的计算复杂度与点数平方成正比,且存在维数灾难(拟合高维函数需指数级样本)。对于SVM核函数的选择,目前使用简单的线性核或高斯核即可工作。最后,关于算法精度与速度的平衡,AMCTS属于Anytime Algorithm( anytime 算法),可根据计算资源调整运行时间,跑得越久效果越好。该方法适用于任何耗时且需寻找最优解的黑盒函数场景。
问答环节精选观点
在Q&A部分,演讲者进一步阐述了判断标准与算法边界。好的结果判定标准是预设的,可以是测试集效果最好,也可以是兼顾模型大小与效果的加权指标。对于Go和Poker等游戏,由于行动空间已固定,该方法用处不大,强化学习可能更优。但在涉及大致战略思路的决策中或许有应用潜力。关于Tube支持高级数据优化的原因,在于其通过缩小优化区域来降低单次计算成本。若结合梯度方向,可先探索空间得到大致解再使用梯度微调。对于白噪声情况下的表现,目前未做测试,可能与核函数选择有关。
“我们的方法可能不会特别的好...因为我们对于这些...是一个没有用梯度的方案,是一个gradient free的一个approach。”
“Tube...相当于在BO的外面呢加了一层,这层是说我同时优化很多的小的区域。”
“AMCTS...是一个Anytime Algorithm,就是说你可以一直跑下去。你可以跑到就是天荒地老。”
结论
AMCTS通过自动学习隐式行动空间,将黑盒优化转化为序列决策问题。在高维NAS及Ackley等测试中,其搜索效率显著优于传统贝叶斯优化与进化算法,能在极少样本下快速收敛至全局最优。该机制利用MCTS平衡探索与利用,有效避免局部极小值陷阱。
然而,作为无梯度方法,其在存在明确梯度的场景中不如基于梯度的方案高效。其核心优势在于处理目标函数无梯度或结构未知的复杂调度与架构搜索场景,且具备Anytime特性。对于行动空间固定的游戏类问题,该方法适用性有限,强化学习或更优。