新颖性搜索(Novelty Search,NS)算法详解与实现

基于目标的进化算法的缺点

大多数机器学习方法(包括进化算法)都基于目标函数的优化进行训练。优化目标函数的方法的重点是,提高求解器性能的最佳方法是对接近目标的行为给予奖励。在大多数进化算法中,与目标的接近程度由求解器的适应度来衡量。个体性能的度量标准由适应度函数定义,适应度函数是生物体适应其环境的进化压力,适应度最高的个体更适合其环境,并且最适合于寻找解决方案。
虽然适应度函数优化方法在许多简单情况下效果很好,但对于更复杂的任务,它常常陷入局部最优陷阱。收敛到局部最优值意味着在适应度函数优化过程中,搜索空间中没有局部步长可以提供任何改进。传统的遗传算法使用变异和孤岛机制来跳出这种局部最优。但是,它并不总是能解决局部最优问题,或者找到成功的解需要过长时间。
许多现实世界中的问题都具有这种欺骗性的适应度函数态势,无法通过仅基于测量当前解与目标的接近程度的优化过程来解决这些问题。

新颖性搜索与自然进化

通过研究自然选择在物理世界中的工作方式,可以看到进化多样性背后的推动力是对新颖性的追求。换句话说,任何正在进化的物种都可以通过发现新的行为模式而获得优于其竞争对手的进化优势。这使他们可以更有效地利用环境。自然进化没有明确的目标,它通过奖励对新行为的探索和开发来拓宽解决方案的搜索空间。这种新颖性可以看作是自然世界中隐藏的创造力,它可以使进化进一步阐述更为复杂的行为和生物结构。
从自然进化中汲取灵感,Joel Lehman提出了一种针对人工进化过程的搜索优化新方法,称为新颖性搜索。使用这种方法,没有定义特定的适应度函数或将其用于解决方案搜索;相反,每个发现的解决方案的新颖性都会在神经进化过程中得到直接奖励。因此,所发现的解决方案的新颖性将神经进化引导至最终目标。这种方法可以独立于适应度压力来利用进化的创造力,以使解适合特定的问题场景。
新奇搜索的有效性可以通过迷宫导航实验来证明,其中基于目标的搜索比新颖性搜索要花更多的步骤(代际)来找到迷宫的解决方案。

新颖性指标

新颖性搜索方法采用新颖性度量标准来跟踪每个新个体的行为的唯一性。也就是说,新颖性度量标准是对新生物与行为空间中其他种群之间的距离的度量。有效的新颖性度量实现应允许我们在行为空间的任何点计算稀疏度。任何具有更密集访问点群集的区域都不太新颖,并且产生的进化奖励也更少。
在一个点上最简单的稀疏度量是在行为空间中到该点的k个最近邻居的平均距离。当此距离高时,兴趣点在稀疏区域。同时,较密集的区域以较低的距离值标记。因此,点 x x x处的稀疏度 ρ ρ ρ由以下公式给出:
ρ ( x ) = 1 k ∑ i = 0 k d i s t ( x , u i ) ρ(x)=\frac1k\sum_{i=0}^kdist(x,u_i) ρ(x)=k1i=0kdist(x,ui)
这里, μ μ μ x x x的第 i i i个最接近的邻居,由距离度量 d i s t ( x , u i ) dist(x,u_i) dist(x,ui)计算得出。距离度量是两个个体之间行为差异的特定领域度量。
稀疏区域的候选个体获得较高的新颖性分数。当该分数超过某个最小阈值时,该位置上的个体将被添加到性能最佳的档案(archive)中,该档案表征了行为空间中先前解的分布。当前这一代物种与档案一起定义了搜索的方向和当前进度。因此,通过最大化新颖性度量,搜索的梯度将针对新的行为,而没有任何明确的目标。但是,新颖性搜索仍然由有意义的信息驱动,因为探索新行为需要全面利用搜索域。

算法描述

算法描述
新颖性搜索优化方法允许进化过程在任何具有欺骗性局部最优解的空间中搜索解决方案并找到最佳解决方案。使用这种方法,当物种被迫不会收敛于特定的小生境解(局部最优),同时不得不探索整个解空间时,将有可能实现发散进化。尽管它采用违反直觉的方法,但是它似乎完全忽略了搜索过程中的显式目标,是一种非常有效的搜索优化方法。在大多数情况下,它可以比传统的基于目标的搜索(这种搜索以距离最终解的距离来衡量适应度)更快地找到最终解决方案。

新颖性搜索算法实践

利用NEAT-python库实现新颖性搜索算法解决迷宫导航问题,代码实现链接

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盼小辉丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值