探索进化算法如何运用自然选择原理解决人工智能问题。学习优化Ultralytics 超参数并提升模型性能。
进化算法(EAs)是一类强大的优化算法家族,它们模拟自然选择和遗传的生物学原理来解决复杂的计算问题。与依赖基于微积分的导数的传统数学技术(如随机梯度下降法(SGD))不同,进化算法专为探索广阔、崎岖或难以理解的搜索空间而设计。 其运作机制在于维持一个潜在解的种群,这些解随时间推移相互竞争、繁殖与变异。这种方法使其在人工智能(AI)领域尤为有效——当"最优解"难以通过分析确定时,系统可通过迭代演化逐步趋近最优结果。
进化算法的功能根植于适者生存的理念。该过程通过设计用于模拟自然遗传进化的操作循环,逐步优化候选解:
进化算法具有广泛的适用性,已在深度学习(DL)和工程领域的多个领域成功应用。
进化算法最实用的应用之一是
超参数调优现代神经网络需要配置数十个参数——例如学习率、权重衰减和动量——这些参数对性能影响显著。进化算法(EAs)可通过进化配置设置来自动化这一繁琐的试错过程。例如, tune() Ultralytics 中的方法采用遗传算法来发现最佳训练超参数。 YOLO26 在自定义数据集上训练模型。
进化算法是神经网络架构搜索(NAS)的基石。 相较于人工工程师手动设计神经网络(NN)结构,进化算法能通过"生长"方式构建架构。它测试不同层级、神经元及连接组合,进化出兼顾速度与精度的高效结构。该技术催生了高效神经网络(如EfficientNet)等高性能骨干网络,这些网络针对特定硬件限制进行了优化。
虽然两者都是受自然启发的优化策略,但区分进化算法与 群体智能(SI)仍具有重要意义。
实践者可直接运用遗传算法优化其目标检测模型。Ultralytics
tune 该方法通过进化过程对超参数进行多代变异,
自动识别在验证数据上能获得最高性能的设置。
from ultralytics import YOLO
# Load the standard YOLO26 model
model = YOLO("yolo26n.pt")
# Run hyperparameter tuning using a genetic algorithm approach
# The tuner evolves parameters (lr, momentum, etc.) over 30 generations
model.tune(data="coco8.yaml", epochs=10, iterations=30, plots=False)
这种自动化优化使开发者能够摆脱手动猜测的局限。对于正在扩展业务规模的团队, Ultralytics 可高效管理这些实验并追踪模型性能的演变过程——该Ultralytics 不仅可视化训练指标, 还能促进模型部署。