深圳Yolo 视觉
深圳
立即加入
词汇表

进化算法

了解进化算法如何使用受自然启发的策略来优化 AI 和 ML 解决方案,从超参数调整到机器人技术。

进化算法(EAs)是一类强大的 人工智能(AI)搜索技术 进化算法(EAs)是一类强大的人工智能(AI)搜索技术,其灵感来源于自然选择和遗传学的生物学原理。与传统数学 不同,这些算法模拟进化过程来解决复杂的优化问题。 优化问题。通过维持一个 潜在解决方案的群体进行竞争、繁殖和变异,EA 可以在广阔、崎岖的搜索空间中航行 在这些空间中,"最佳 "答案是未知的,或者是无法通过分析得出的。这使得它们在机器学习(ML 在机器学习(ML)任务中尤为重要 从自动模型设计到复杂调度等任务。

进化的核心机制

进化算法的功能反映了 "适者生存 "的概念。 适者生存。这个过程 通过生物运算法则的循环,迭代改进一组候选解决方案:

  1. 初始化:系统随机生成问题的潜在解决方案。
  2. 适合度评估:根据定义的 合适度函数进行测试。在 计算机视觉(CV)中,该函数通常 测量模型的准确度或平均精度(Mean Average Precision mAP).
  3. 选拔:选拔: 健康分数较高的候选者被选中,作为下一代的父母。 代。
  4. 复制与变异:新的解决方案是通过 杂交(将两个亲本的性状结合在一起 变异(引入随机 变异)。变异至关重要,因为它能引入遗传多样性,防止算法陷入局部最优而不是找到全局最优。 局部最优,而不是找到全局最优

人工智能在现实世界中的应用

进化算法是一种多用途工具,可用于各种具有重大影响的领域,以提高系统性能:

  • 超参数调整超参数调整 深度学习(DL)中最常见的应用之一 深度学习(DL)中最常见的应用之一就是优化训练 配置。与手动猜测学习率、动量或权重衰减的值相比 学习率、动量或权重衰减的值,EA 可以 进化出一组能最大化模型性能的超参数。超参数 Ultralytics YOLO11训练管道包括一个基于遗传 基于遗传算法的调谐器来自动完成这一过程。
  • 神经架构搜索(NAS):EA 自动设计 神经网络。通过将网络 结构(层、连接)视为遗传密码,该算法可演化出高效的架构,适用于计算资源有限的边缘人工智能设备。 适用于计算资源有限的边缘人工智能设备。 的边缘人工智能设备。
  • 机器人与控制:人工智能在机器人学中的应用,EA 演化出控制策略和运动步态。 运动步态。这样,自主机器人就能通过模拟 代运动策略来学习如何在动态环境中导航。
  • 优化环境:在农业人工智能等领域 在农业人工智能等领域,EA 可帮助优化资源分配,如灌溉计划或作物种植。 资源配置,如灌溉计划或作物种植,以最大限度地提高产量,同时减少浪费。

用Python自动优化

从业人员可以直接在以下系统中利用进化算法 ultralytics 软件包,以找到 的最佳训练配置 物体检测 模型。 tune 该方法采用遗传算法,经过几代变异超参数。

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Run hyperparameter tuning using a genetic algorithm approach
# The tuner evolves parameters like lr0, momentum, and weight_decay
# 'iterations' defines how many evolutionary generations to run
model.tune(data="coco8.yaml", epochs=10, iterations=30, optimizer="AdamW", plots=False)

区分相关概念

要有效地应用这些技术,就必须将进化算法与其他优化和学习策略区分开来。 和学习策略的区别:

  • Vs.随机梯度下降法(SGD):标准训练方法,如 随机梯度下降法(SGD 等标准训练方法依靠计算损失函数的导数来更新权重。 损失函数的导数来更新权重。而 EA 是 无梯度,这意味着它们可以优化无梯度的无差别或离散问题。 或离散问题。
  • Vs.蜂群智能:虽然两者都受生物启发、 群集智能(如蚁群 优化)侧重于在单一生命周期内交互的分散代理的集体行为。相比之下 相比之下,蚁群优化依赖于解决方案的世代更替,在这一过程中,较弱的候选方案会被 摒弃较弱的候选方案,取而代之的是来自较强父代的子代方案。
  • Vs.强化学习 强化学习(RL)涉及一个 强化学习(RL)是指代理通过与环境的试错互动来学习如何最大化奖励信号。虽然 EA 也能 虽然 EA 也能优化策略,但它们是通过演化策略参数群来实现的,而不是通过不断的代理与环境交互循环来学习。 代理与环境的持续交互循环来学习。

要进一步了解如何提高模型性能,请浏览我们的以下指南 模型训练技巧和防止 过度拟合

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入