无梯度计算模式是指在进行优化、求解或模型训练时,不依赖于目标函数或其相关组件(如损失函数、约束函数等)的梯度信息来指导搜索或更新过程的方法。这种模式适用于以下几种情况:
-
梯度不可用或难以计算:
- 目标函数可能包含复杂的非线性关系、非光滑部分、黑盒函数(如仿真模型、实验数据驱动的函数),或者其数学表达式过于复杂以至于无法有效地计算或解析其梯度。
- 在某些情况下,即使能够计算梯度,但由于计算成本过高(例如大规模稀疏优化问题)、数值不稳定(如梯度可能包含NaN或Inf)或硬件限制(如嵌入式设备的计算资源有限),也可能选择无梯度方法。
-
模型或问题特性:
- 对于某些特定问题结构,如离散优化、整数规划、组合优化问题,目标函数的梯度通常不存在或意义不大,此时必须采用无梯度算法。
- 在机器学习领域,如果模型包含不可微分的操作(如分段函数、阈值函数、离散决策变量),梯度可能无法有效计算,此时也需要无梯度优化方法。
无梯度计算模式下,常见的算法和策略包括:
直接搜索方法:
- 单纯形法(如Nelder-Mead单纯形法、下降单纯形法):通过调整多维空间中的一个简单几何形状(如单纯形)来搜索极小点,通过比较顶点函数值并进行收缩、反射、扩张等操作来逐步逼近最优解。
- 模式搜索法:在搜索空间中按照预定的模式移动,如网格搜索、径向基函数搜索、坐标轮换等,以迭代地寻找函数值降低的方向。
模型拟合法:
- 响应曲面法(RSM):通过构建并优化目标函数在设计空间上的近似模型(如二次多项式、Kriging模型等),基于一系列采样点的函数值来估计全局最优解。
- 代理模型(Surrogate models):使用易于求导的模型(如高斯过程、神经网络)来近似原目标函数,然后在代理模型上进行梯度优化,再反馈到实际模型验证和更新。
进化算法与启发式方法:
- 遗传算法(GA):模仿生物进化过程,通过选择、交叉、突变等操作在种群中迭代产生新的解,适应度函数值高的个体更有可能被保留和繁殖。
- 粒子群优化(PSO):模拟粒子在搜索空间中飞行,每个粒子代表一个候选解,通过更新自身速度和位置来追踪群体最优和个体最优。
- 模拟退火(SA):基于物理退火过程,允许接受比当前解更差的新解(有一定概率),以跳出局部最优,逐渐冷却系统以逼近全局最优。
基于梯度估计的技术:
- 有限差分法:通过计算目标函数在相邻点之间的值差来近似梯度,如前向差分、后向差分、中心差分等。
- 随机梯度-free方法(如随机Frank-Wolfe算法):利用随机化技术来估计梯度方向或替代梯度更新步骤,适合大规模稀疏优化问题。
其他方法:
- 信赖域方法:在每个迭代步内,构建局部模型(如二次模型)来近似目标函数,并在一定的“信赖域”内求解这个局部模型,然后更新全局解。
- 元启发式方法(如蚁群优化、人工蜂群算法):模拟自然界现象(如蚂蚁觅食、蜜蜂采蜜)来探索解空间。
无梯度计算模式虽然通常收敛速度较慢且缺乏梯度提供的精确导向,但因其鲁棒性、通用性和对问题结构需求较低的特点,对于许多实际应用中的复杂优化问题具有重要价值。