【猎云网(微信号:ilieyun)】7月22日报道(编译:油人)
进化计算会响铃吗?在计算机科学中,它是受生物进化启发的全局优化算法系列。这些特殊模型不是遵循明确的数学梯度,而是生成变体,测试它们并保留最佳表现者。它们在OpenAI、谷歌和其他公司的早期工作中表现出了希望,但在原型方面有些难度,缺乏针对进化算法和自然进化策略(NES)的工具。
幸运的是,Uber工程部门的员工都在研究这一问题。该公司今天详细介绍了一个Python库EvoGrad,旨在帮助研究人员通过期望——它们所代表的同一实验重复的长期平均值——来区分随机变量,这是估计NES梯度的关键步骤。此外,该公司还宣布了evolvability ES,这是由Uber研究人员开发的一种基于NES的全新元学习算法,它促成了EvoGrad的创建。
项目撰稿人Alex Gajewski、Jeff Clune、Kenneth O. Stanley和Joel Lehman在博客中写道:“我们的想法是更快速地探索NES变体,类似于Google的TensorFlow机器学习框架。我们相信有许多有趣的算法尚未被发现,我们希望这个库有助于促进机器学习社区的进步。”
正如团队所解释的那样,传统的进化算法将一系列潜在的解决方案并行发展,以适应一种适合生存的竞争。那些排名最高的在下一代被授予更多的“后代”。另一方面,得分较差的将从样本中删除。
然后,NES将人口抽象为概率分布,从而对解决方案进行抽样和评估。基本上,一个目标函数——可以通过评估人口样本来区分,产生明确的改进梯度的数学公式——迭代地更新人口分布,从而最大化从中得出的解的平均适应度。
对于表示人口分布和优化度量的选择,必须单独导出梯度估计的符号形式,这往往是乏味的并且需要特定的数学知识。但是EvoGrad处理了大部分内容——它提供了可以在期望函数中使用的概率分布。开发人员可以最大限度地利用平均适应度或行为差异等因素,生成可轻松适应各种任务的人群。
此外,研究人员详细介绍了evolvability ES,这是他们在本月早些时候在布拉格举行的遗传和进化计算会议上接受的一篇论文中提出的一种技术。它是一种新的、高效的、可扩展的算法,用于直接优化可扩展性,应用NES的修改版本,最大限度地提高单个进化群体中行为的多样性。
在一个实验中,evolvability ES设法为一个数字四足机器人演化了一组人工智能控制器,该机器人编码了不同的行走行为。此外,随着时间的推移,人口的行为变得更佳。
“进化计算的长期目标是创建能够生成可演化解决方案的算法(换言之,能够快速适应新挑战的解决方案),”该团队写道。“我们相信这是一个令人兴奋的(并且是意料之外的)结果,未来通过EvoGrad和其他库开展的进化ES研究可以进一步探索更复杂的多模式种群分布和更具表现力的遗传编码组合。”