上个月,我宣布增强学习已经死了。接下来,进化算法会成为我打击对象吗?
为了开篇这篇文章,我想先说我绝对带有偏见。遗传算法是我过去生活中作为康奈尔大学生物学专业的遗物。这些算法不仅在设计上优雅,模拟了自然选择和进化的真实过程,而且令人惊讶地直观… 如果你是生物学专业的话。
然而,机器学习的文献中却令人惊讶地缺乏与进化算法和遗传优化相关的论文。老实说,除了我自己的自动化交易平台NexusTrade,它使用遗传算法进行策略优化,自从我4年前第一次了解到遗传算法以来,我还没有看到过遗传算法的实际应用。这引发了一个问题...遗传优化是否已经死了?
简要回顾:什么是遗传算法?
遗传算法(GAs)是一种受生物启发的人工智能搜索启发式方法,能够在非常庞大的搜索空间中找到良好的解决方案。它们通过借鉴自然选择的策略,使一群解决方案通过杂交来混合其基因,产生新的解决方案,尽管与上一代有相似之处,但通常表现为稍微改变的变体。就像自然界一样,突变还进一步引入了种群内的变化,确保了多样化的解决方案集,有助于有效地探索搜索空间。
与其他一些优化技术(如梯度下降)不同,遗传算法可以优化任何任意函数,包括不可微分的函数。它们的独特之处在于,它们不仅仅生成一个解决方案,而是经常生成一组解决方案,每个方案都有其自身的优点和缺点。从理论上讲,这使得根据你愿意权衡的因素选择不同的解决方案变得容易。
要了解更多关于遗传算法的内容,请查看下面的文章。
遗传算法已经死了吗?
随着大多数机器学习和人工智能模型逐渐朝着拥有数万亿参数的巨型模型发展,更传统的方法并没有得到太多的喜爱。尽管其受欢迎度有所下降,但我仍不认为遗传算法已经失去了它的用武之地。
一个原因是遗传算法实际上非常有效。与强化学习不同,后者在解决玩具问题方面几乎没有效果,遗传优化在解决各种问题时表现出色,无需特殊调整或令人费解的技巧即可找到一群良好解决方案。尽管根据适应性函数的不同,它们可能会消耗较多的计算资源,但它们仍然能够有效地搜索大型搜索空间,并找到通常被认为是“足够好”的解决方案。
谈到它们的计算复杂性,遗传算法之所以有效的另一个原因是你可以在任何计算机上运行它们,并在收集更多数据后重新运行它们。对于深度学习模型,尤其是大型语言模型,你需要十几台超级计算机来有效训练它们在你想要的任务中发挥作用。而对于遗传算法,你可以在MacBook上运行一个小群体,并将新解决方案添加到群体中以观察它们的性能如何。
最后,我认为遗传算法将会长存的最后一个原因是它们可以应用在各种广泛的问题上。基本上,任何可以编码为数字数组的问题空间都可以通过遗传算法进行优化。这在工程领域(包括芯片设计)、金融建模、机器人技术,甚至计算生物学等方面都有应用。我甚至最近写了一篇关于如何利用遗传算法来改善使用大型语言模型进行快捷工程的文章。
这是可能的,主要是因为它能够优化不可微分的函数。只要适当地设计适应性函数,遗传算法可以在各种问题中找到一个好的解决方案。
那么遗传算法就是完美的了,对吗?
不要那么急,伙计。虽然遗传算法是有用的,但它们也有许多缺点。其中最大的缺点之一是它们的计算复杂度。它们运行起来很昂贵,特别是如果适应度函数需要很大的计算能力。例如,在金融领域,比如在NexusTrade中,适应度函数可能是投资组合在回测中的表现。如果你要评估种群中的每个个体,可能需要每一代运行数百次回测。你要么需要一个较小的种群(降低解决方案的质量),要么需要一台更强大的计算机。
除了在计算上复杂之外,遗传算法经常面临早熟收敛问题。尽管多目标优化可以在一定程度上缓解这个问题,但事实上,遗传算法无法保证在问题空间中找到最优解。这对于复杂和高维问题尤其如此。
最后对于许多问题来说,我们并不关心生成整个解集群。因此,通过遗传算法,我们会产生比实际所需更多的解决方案,这完全是计算资源的浪费。对于这些类型的问题来说,我们最好采用其他优化方法,比如模拟退火或梯度下降。
结论
尽管遗传优化已不再 "酷",但它并非一无是处,并且很可能在很长一段时间内存在下去。这个算法能够生成独特解决方案的群体,这一事实极为有用,并且可以应用于各种领域。我知道我将继续使用遗传算法进行优化。你呢?
感谢阅读!如果您喜欢这篇文章,请给我一些掌声,并与朋友(或社交媒体)分享这篇文章!我有几个新闻通讯你可以关注。如果您对人工智能、机器学习、金融、投资、交易以及这些领域之间的交叉感兴趣,Aurora's Insights 是一个完美的博客。您还可以在NexusTrade上创建一个免费账户,获得下一代算法交易平台的访问权限。
NexusGenAI是托管NexusTrade的AI智能聊天平台。它也向等待名单上的用户开放!
🤝 在领英上与我联系
🐦 关注我的Twitter
👨💻 在 GitHub 上探索我的项目
📸 关注我的Instagram账号
🎵 扎入我的抖音