新颖性搜索算法的提出
1 新颖性搜索算法简介
在计算创造力的研究中,一个解如果既实用又新颖,就被认为是具有创造性的。这种定义特别适用于图像生成领域。尽管基于表达的进化艺术理论上可以生成任何可能的图像,但在实践中,特定系统生成的图像往往具有相同的整体外观。这表明,尽管进化算法在理论上能够生成无限多样的图像,但实际上它们经常收敛到相似的解,导致多样性不足。
新颖性搜索(Novelty Search)是一种旨在促进进化过程中解的多样性的算法。它通过奖励那些与已有解不同的新解来避免过早收敛到局部最优解。这种算法不仅适用于图像生成,还可以在其他领域如机器人学、音乐作曲等方面发挥重要作用。
1.1 新颖性搜索的基本原理
新颖性搜索的核心思想是,通过引入新颖性度量(novelty metric),奖励那些与现有种群中个体差异较大的解。具体来说,每个个体的新颖性分数是根据它与种群中其他个体的差异度量来计算的。差异度量的选择取决于具体问题,可以是欧氏距离、汉明距离等。
计算新颖性分数
设 ( \text{dissim}(i, j) ) 表示个体 ( i ) 和个体 ( j ) 之间的差异度量,( k ) 表示最相似的邻居数量,则个体 ( i ) 的新颖性分数 ( \text{nov}(i) ) 计算公式为:
[ \text{nov}(i) = \frac{1}{k} \sum_{j=1}^{k} \text{dissim}(i, j) ]
1.2 新颖性搜索的优势
与传统基于适应度的进化算法相比,新颖性搜索有以下几个优势: