神经进化是一种方法,利用进化算法来优化神经网络的拓扑结构和权重。
形式上,代数为 t 的网络种群 P_t 通过选择算子 S、变异算子 M 和重组算子 R 转化为:
P_{t+1} = R(M(S(P_t)))
种群中的每个个体 i ∈ P_t 根据适应度函数 f(i) 进行评估,该函数衡量网络在目标任务中的性能。
神经进化包括诸如 NEAT 的方法,该方法增量式地扩展网络拓扑结构并同时优化权重,以及用于开发复杂结构的 CPPNs(组合模式生成网络)。
这些方法使得神经网络的架构和参数能够自适应地设计,这在目标函数不可微或环境动态变化的问题中尤为有利。
定义:
“神经进化是基于性能适应度评估,应用进化算法同时优化神经网络结构和参数的过程。”
来源:
Stanley, K. O., & Miikkulainen, R. (2002). 通过拓扑增强进化神经网络。Evolutionary Computation, 10(2), 99-127。