是否有任何策略可以帮助我将“行为空间”可视化并产生新奇功能?

人工智能 遗传算法 进化算法 新奇搜索
2021-11-08 13:19:08

“放弃目标:仅通过寻找新奇事物的进化”中,解释了新奇事物搜索如何成为特定领域的功能,具体取决于可能出现的不同行为。

主要测试是一个欺骗性的迷宫,似乎他们将新颖性定义为一个函数,该函数取决于每个演员的结束位置,即与其他演员结束位置的距离。

我想尝试在某些任务上实现这一点。一些简单的 AI 任务,例如打乒乓球,或重建MarI/O,或将它们作为可以移动、转动和射击的演员粘贴在竞技场中(与竞技场中的其他演员一起)。

我很难考虑如何在不将其作为目标的情况下对这些实例的行为函数进行建模。对于乒乓球,我想我可以通过AI的分数来确定新奇,但这不是基本上使分数成为目标,因为它只能上升吗?对于 MarI/O,我已经看到了一些查看马里奥以什么顺序访问的唯一网格位置列表的实现,但我自己并没有想出这个。

对于竞技场示例,我的第一个冲动是根据演员存活的时间以及 AI 淘汰的其他演员的数量来计算分数;但同样,这只能上升,在我看来,它就像是在定义一个目标。

是否有任何策略或方法来思考可以帮助我更好地可视化“行为空间”并制作更好的新奇功能的问题?

1个回答

我认为最好的方法是从一般的、面向目标的、遗传算法的行为中“转换观点”。

通常 GA 依赖于个人主义:最好的生存。为此,您必须定义“最佳”的含义,这是通过一个适应度函数来完成的,该函数测量客观的东西,独立于个体(即分数,经典示例)。

如果您想衡量新颖性,集体主义变得更加重要,因为必须考虑整个人口(现在和过去)。您必须考虑衡量个人 X 与“其他人”的不同之处(即以前从未到达过的位置)。

另一个有趣的点是你应该以更多维度的方式思考:分数是一维的,每个人都想变得更高,这很容易。太空中的位置更难实现,这就是新奇变得有趣的原因。


总而言之:保持多维,始终将人口视为一个多有机体,而不是专注于单个个体。我希望这有帮助 :)