零阶优化方法——自然进化策略

dawn_r1sing Lv4

很短的一个偏实现的介绍,在看VLMInferSlow的过程中遇到的问题,特此记录。


π(z|δ)为选择的搜索分布(这里选择多维的标准正态分布)

我们希望目标函数最大化,转换一下就是最大化目标函数的期望(在该分布上取值最大化)
$$
J(\mu)=E_{δ∼π_\mu(δ)}[L(δ)],\mu 、\eta为搜索分布的参数
$$
先在$\pi$分布上采样噪声向量(对称采样):
$$
x_i∼N(0,I),i=1,2,…,q \
{x_1, x_2, x_3, …,x_q, -x_1, -x_2,-x_3, …,-x_q},共2q个
$$
生成候选值δ:
$$
δ = \mu + \eta x_i
$$
注意,噪声向量$x_i$是二维向量,代表随机方向上的随机长度。这里生成的候选值是以δ为中心,$\eta x_i$为半径的取值,根据这些取值,找出平均增量最大的噪声方向即为我们期望的$\mu$的更新方向:
$$
∇_\mu​J(\mu)=E[L(\delta)∇_\mu logπ_\mu(δ)]
$$
这是基于样本加权平均的梯度估计,用于更新$\mu$。

最终更新得到的$\mu $即为我们想要找的最佳$δ$。

这个方法带给我的感觉如图所示

  • Author: dawn_r1sing
  • Created at : 2025-11-08 11:32:21
  • License: This work is licensed under CC BY-NC-SA 4.0.(转载请注明出处)
On this page