术语表

进化算法

探索进化算法如何利用自然启发策略优化人工智能和人工智能解决方案,从超参数调整到机器人技术。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

进化算法(EAs)是一类优化和搜索技术,其灵感来源于生物进化原理,如自然选择、突变和繁殖。对于传统优化算法可能难以解决的复杂问题,如非线性、无差别或高维搜索空间的问题,进化算法尤其有效。EA 维护着潜在解决方案的群体,并通过世代迭代对其进行改进,旨在根据定义的适应度标准找到最优或接近最优的解决方案。这种方法使其成为人工智能(AI)机器学习(ML)等多个领域的重要工具。

进化算法的工作原理

进化算法的核心过程通常包括以下步骤,模仿生物进化

  1. 初始化:通常在搜索空间内随机生成一个候选解决方案群体(通常称为个体或染色体)。
  2. 适应度评估:使用适度函数(类似于损失函数)对种群中的每个解决方案进行评估,以衡量其质量或解决目标问题的程度。
  3. 选择:解决方案根据其适应度得分进行选择。适合度较高的解决方案被选中的概率较高,它们会将自己的特性传递给下一代,模拟 "适者生存 "的原则。有多种选择策略,如锦标赛选择或轮盘选择。
  4. 繁殖(遗传操作器):
    • 交叉(重组):被选中的亲代方案交换信息(其结构的一部分)以产生新的子代方案,将潜在的有益性状结合在一起。
    • 突变:在子代解决方案中引入微小的随机变化,以保持种群内的多样性,探索搜索空间的新领域,防止过早趋同于次优解决方案。
  5. 更替:新后代取代部分或全部老后代,形成下一代。
  6. 终止:该过程从适配性评估步骤开始重复,直到满足终止条件,如达到最大代数、找到满意的解决方案或观察到适配性没有明显改善。

人工智能和机器学习的相关性

EA 是人工智能和人工智能领域的强大工具,尤其适用于梯度信息不可用或不可靠的复杂空间优化任务。主要应用包括

进化算法与其他优化方法的比较

虽然 EA 也是一种优化算法,但它们与梯度下降法或随机梯度下降(SGD)等基于梯度的方法有很大不同:

  • 梯度信息EA 不需要梯度信息,因此适用于梯度下降失效的无差别或不连续问题。
  • 搜索策略:与基于损失函数斜率的梯度下降局部搜索相比,EA 使用群体解进行全局搜索,因此不容易陷入局部最优状态。不过,这种全局探索往往需要付出更高的计算成本。
  • 问题类型:梯度下降法通常适用于优化具有平滑可变损失函数的深度学习模型中的参数,而 EAs 则擅长于组合优化、复杂拟合景观中的参数优化以及多目标优化。

实际应用

除了理论上的优化外,EA 在以下方面也有实际用途:

  1. 优化 ML 模型 如前所述,为诸如 Ultralytics YOLO 是一项重要应用。该系统 Ultralytics Tuner 提供了一个使用 EA 的实施方案,用于优化 YOLO 模式 培训 [参考:超参数调整术语表].与以下工具集成 雷-图恩 进一步增强分布式调整能力。
  2. 机器人和控制系统:EA 可用于演化机器人步态、自主系统的控制器参数和路径规划策略,尤其是在机器人技术领域。
  3. 调度和物流:解决复杂的调度问题,如作业车间调度、时间表创建或优化交货路线(车辆路线问题资源)。
  4. 设计优化:用于工程和设计领域,以优化结构、材料或空气动力学形状(如美国国家航空航天局的天线设计研究)。
  5. 药物发现:电子设备可以探索广阔的化学空间,找出具有所需特性的潜在候选药物,从而为药物研究提供帮助。

优缺点

优势

  • 有效实现全局优化,不易出现局部最优。
  • 适用于各种问题,包括无差别问题和复杂问题。
  • 本质上是可并行的,因为适配性评估通常可以独立完成。
  • 可适应嘈杂或不确定的环境。

缺点

  • 由于基于群体的搜索和适应性评估,计算成本可能很高。
  • 性能对 EA 参数(种群规模、突变率等)的选择很敏感。
  • 收敛到全局最优并不总是有保证的。
  • 可能需要针对具体问题进行重大调整。

在人工智能和 ML 领域,进化算法是一套功能强大、用途广泛的工具,具有独特的优势,可以解决研究和行业中遇到的复杂优化难题,包括利用Ultralytics HUB 等平台优化最先进的计算机视觉模型

阅读全部