Tensorized NeuroEvolution of Augmenting Topologies for GPU Acceleration

2024年04月02日
  • 简介
    本文介绍了一种针对神经进化领域的算法——“增广拓扑的神经进化(NEAT)算法”。该算法通过从简单网络开始逐步进化网络拓扑和权重来提高其效果。虽然该算法在各种挑战中的能力显而易见,但其计算效率仍然是一个障碍,限制了其可扩展性的潜力。为此,本文提出了一种张量化方法,使得该算法的多样化网络拓扑和相关操作可以转化为统一形状的张量进行计算。这种进步有助于在整个种群中并行执行NEAT算法。此外,作者还开发了一个库——TensorNEAT,用于实现张量化的NEAT算法及其变体,如CPPN和HyperNEAT。该库基于JAX构建,通过自动化函数向量化和硬件加速促进高效的并行计算。此外,TensorNEAT库还支持各种基准环境,包括Gym、Brax和gymnax。通过在Brax中进行一系列机器人控制环境的评估,TensorNEAT相对于现有实现(如NEAT-Python)实现了高达500倍的加速。源代码可在https://github.com/EMI-Group/tensorneat上获得。
  • 图表
  • 解决问题
    如何提高NEAT算法的计算效率和可扩展性?
  • 关键思路
    使用张量化方法将不同的网络拓扑结构和操作转化为统一形状的张量,实现并行计算,提高NEAT算法的计算效率和可扩展性。
  • 其它亮点
    论文提出了TensorNEAT库,实现了张量化NEAT算法和其变种的高效并行计算,支持多种基准环境,如Gym、Brax和gymnax。在Brax的多个机器人控制环境中,与现有实现(如NEAT-Python)相比,TensorNEAT实现了高达500倍的加速。
  • 相关研究
    最近的相关研究包括:《NEAT算法的改进与应用》、《基于NEAT算法的深度强化学习在自适应控制中的应用》等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论