在优步的规模下,机器学习的进步可以显著增强技术,为更安全、更可靠的交通解决方案提供动力。优步人工智能实验室最近宣布的一项进展是d燃灯neuroevolution在那里,进化算法,如进化策略(ES)和遗传算法(GA),有助于训练深度神经网络,以解决困难的强化学习(RL)问题。近来,人们对深度神经进化的兴趣越来越浓厚,主要贡献也来自于OpenAI,DeepMind,谷歌大脑,有知觉的这反过来又增加了对工具的需求,以帮助该领域的研究人员。雷竞技是骗人的
特别是,i在神经进化和神经网络优化中,通常很难观察到学习过程的潜在动态。为了弥补这一差距并开放观察过程,我们介绍神经进化视觉检查器(VINE)这是一个开源的交互式数据可视化工具,旨在帮助那些对神经进化感兴趣的人更好地理解和探索这个算法家族。我们希望这项技术能在未来激发神经进化的新创新和应用。
VINE可以说明ES和ga风格的方法。在本文中,我们着重于将ES应用到的结果可视化Mujoco人形运动任务作为我们的例子。
在ES的传统应用中(由OpenAI普及),一组称为pseudo-offspring云一个在几代人的时间里对目标进行重新优化。云中每个单独神经网络的参数是通过随机扰动单个“父”神经网络的参数而生成的。每个伪后代神经网络然后根据目标进行评估:在人形运动任务中,每个伪后代神经网络控制机器人的运动,并获得一个分数,称为健身,根据它走路的情况。ES通过基于这些适应度分数聚合伪后代的参数来构造下一个亲本(几乎像一个复杂的多亲本交叉形式,也让人联想到随机有限差分)。如此循环往复。
![]() |
![]() |
| 图1:通过遗传算法(左)和进化策略(右)训练行走的模拟机器人。 |
用葡萄树
为了利用VINE,行为特征在评估过程中记录每个亲本和所有伪后代的(bc)。在这里,BC可以是与环境交互时代理行为的任何指示器。例如,在Mujoco中,我们简单地使用代理的最终{x, y}位置作为BC,因为它指示代理从原点移动到什么位置以及移动到什么位置。
然后,可视化工具根据它们的bc将父母和伪后代映射到2D平面上。为此,它调用图形用户界面(GUI),其主要组件由两种类型的相关图组成:一个或多个伪后代云图(在独立的2D平面上)和一个适合度图。如下面的图2所示,一个伪后代云图显示了每一代在云中的父代和伪后代的bc,而一个适合度图显示了父代的适合度得分曲线,作为几代进步的关键指标。
然后,用户与这些图交互,探索伪后代云的总体趋势以及任何亲本或伪后代在进化过程中的个体行为:(1)用户可以可视化任何一代的亲本、优等生和/或整个伪后代云,并探索不同适合度得分的伪后代在2D BC平面上的数量和空间分布;(2)用户可以进行代与代之间的比较,在代与代之间进行导航,以可视化父云和/或伪后代云是如何在2D BC平面上移动的,以及这些移动与适合度评分曲线的关系(如图3所示,可以自动生成移动云的完整电影剪辑);(3)点击云图上任意一点,就会显示相应伪后代的行为信息和适应度得分。
其他用例
除了默认功能之外,该工具还支持高级选项和自定义可视化。例如,BC可以是每个代理的完整轨迹(例如,1,000个时间步的连接{x, y}),而不仅仅是单个最后的{x, y}点。在这种情况下,如果BC的维数高于2,则维数降低技术(如主成分分析或t-SNE),将BC数据的维数降为2D。我们的工具使这些过程自动化。
GUI能够加载多组2D bc(可能是通过不同的简化技术生成的),并在同时和连接的云图中显示它们,如图4所示。该功能为用户提供了探索不同BC选择和降维方法的方便方法。此外,用户还可以使用定制的功能扩展基本的可视化。“图4展示了一个这样的定制云图,它可以显示特定领域的高维bc(在这种情况下,代理的完整轨迹)以及相应的简化2D bc。另一个定制云图示例(见图5)允许用户回放代理在与环境交互时产生的确定性和随机行为。
该工具还设计用于除移动任务之外的其他领域。下图6展示了一个云图,它可视化了ES训练代理来玩《Frostbite》(Atari 2600游戏之一),其中我们使用最终模拟器RAM状态(长度为128的整值向量,捕捉游戏中的所有状态变量)作为BC,并应用PCA将BC映射到2D平面上。
从图中我们可以观察到,随着进化的进行,伪后代云向左移动并聚集在那里。能够看到每个代理玩游戏的对应视频,让我们推断每个集群对应语义上有意义的不同终端状态。
VINE还可以与其他神经进化算法(如GAs)无缝合作,后者可以在几代中保持后代的数量。事实上,该工具独立于任何特定的神经进化算法工作。用户只需要稍微修改他们的神经进化代码,就可以保存他们为特定问题选择的bc。在代码发布中,我们提供了对ES和GA实现的修改作为示例。
下一个步骤
因为进化方法在一组点上操作,它们为新型可视化提供了机会。在实现了一个我们认为有用的可视化工具后,我们想与机器学习社区分享它,以便所有人都能受益。随着神经进化扩展到拥有数百万或更多连接的神经网络,通过VINE等工具获得更多的信息对进一步的进展越来越有价值和重要。
VINE可以在这里找到链接.它是轻量级、可移植的,并且是用Python实现的。
确认
我们感谢Uber AI实验室,特别是Joel Lehman、Xingwen Zhang、Felipe Petroski Such和Vashisht Madhavan的宝贵建议和有益讨论。
图1,左图片来源:Felipe Petroski Such。








