进化算法
了解进化算法如何使用受自然启发的策略来优化 AI 和 ML 解决方案,从超参数调整到机器人技术。
进化算法(EAs)是一类强大的
人工智能(AI)搜索技术
进化算法(EAs)是一类强大的人工智能(AI)搜索技术,其灵感来源于自然选择和遗传学的生物学原理。与传统数学
不同,这些算法模拟进化过程来解决复杂的优化问题。
优化问题。通过维持一个
潜在解决方案的群体进行竞争、繁殖和变异,EA 可以在广阔、崎岖的搜索空间中航行
在这些空间中,"最佳 "答案是未知的,或者是无法通过分析得出的。这使得它们在机器学习(ML
在机器学习(ML)任务中尤为重要
从自动模型设计到复杂调度等任务。
进化的核心机制
进化算法的功能反映了 "适者生存 "的概念。
适者生存。这个过程
通过生物运算法则的循环,迭代改进一组候选解决方案:
-
初始化:系统随机生成问题的潜在解决方案。
-
适合度评估:根据定义的
合适度函数进行测试。在
计算机视觉(CV)中,该函数通常
测量模型的准确度或平均精度(Mean Average Precision
mAP).
-
选拔:选拔: 健康分数较高的候选者被选中,作为下一代的父母。
代。
-
复制与变异:新的解决方案是通过
杂交(将两个亲本的性状结合在一起
变异(引入随机
变异)。变异至关重要,因为它能引入遗传多样性,防止算法陷入局部最优而不是找到全局最优。
局部最优,而不是找到全局最优。
人工智能在现实世界中的应用
进化算法是一种多用途工具,可用于各种具有重大影响的领域,以提高系统性能:
-
超参数调整超参数调整
深度学习(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 也能优化策略,但它们是通过演化策略参数群来实现的,而不是通过不断的代理与环境交互循环来学习。
代理与环境的持续交互循环来学习。
要进一步了解如何提高模型性能,请浏览我们的以下指南
模型训练技巧和防止
过度拟合。