大规模神经网络的有限评估进化优化研究
1. 交叉与变异算子
在进化算法(EA)中,种群成员是神经网络参数 $\theta \in R^c$ 的直接编码,其中 $c$ 是每个网络的参数总数。交叉和变异算子直接修改这个向量表示,以下是具体的算子介绍:
- 均匀交叉(Uniform Crossover) :两个父代 $\theta_1$ 和 $\theta_2$ 进行均匀交叉时,通过随机决定子代参数向量的每个元素来自哪个父代来创建子代 $\theta_u$:
- $\theta_{u,i} =
\begin{cases}
\theta_{1,i} & \text{概率为 } 0.5 \
\theta_{2,i} & \text{其他情况}
\end{cases}$
- 算术交叉(Arithmetic Crossover) :通过取两个父代 $\theta_1$ 和 $\theta_2$ 的算术平均值来创建子代 $\theta_a$:
- $\theta_a = \frac{1}{2} (\theta_1 + \theta_2)$
- 变异(Mutation) :变异算子将由变异强度 $\sigma$ 缩放的随机正态噪声添加到父代 $\theta_1$ 上:
- $\theta_m = \theta_1 + \sigma \cdot N(0, 1)$
变异强度 $\sigma$ 是一个重要的超参数,可以根据需要在进化算法运行过程中进行更改。常见的设置方式有:
-
超级会员免费看
订阅专栏 解锁全文
2901

被折叠的 条评论
为什么被折叠?



