侧边栏壁纸
博主头像
Zeeland

The mixture of software dev+Iot+ml+anything

  • 累计撰写 60 篇文章
  • 累计创建 45 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

记录一些智能优化算法的想法

Zeeland
2022-12-07 / 0 评论 / 0 点赞 / 195 阅读 / 2,103 字

Introduction

最近从模拟退火算法发和遗传算法中了解了一些智能优化算法,记录一下。下图为一些常见的智能优化算法。

大家对群体智能算法观点不一,有的人认为很多算法没有什么价值,重要的还是一些主流的算法,如遗传算法,模拟退火算法等。

下面附上一些大佬们关于群体智能算法的观点。

群体智能算法在最开始诞生的时候确实是具有很强创新性的,相信第一次看遗传算法的同学都会感叹生物进化的一些原理可以被搬到优化算法上来,着实让你感觉眼前一新。但是随着研究的深入,水论文的情况越来越多,原始创新性越来越小,所谓的新的群体智能算法一拥而上的都来了。可以说群体智能算法在一开始诞生的时候是很有价值的,现在已经变了味道,很多算法可能终究会死掉。
总结起来不单单是群体智能算法这个研究领域存在着这个问题,经典的数学优化也有类似问题,例如很多gap值从原来的1.1%改进了一下降低到1.0%,这就足以水一篇论文。近来大火的机器学习也都有类似问题。概况一下就是
Level 1: 原始创新(例如 遗传算法,粒子群算法 从无到有的创新)
Level 2: 模仿创新(例如 借鉴了遗传算法的套路 提出一个新的算法)
Level 3: 跟风创新(把在遗传算法上做过的改进在这个新提出的算法上全部再来一遍)
个人建议如果是初入一个新的研究方向或者是低年级的博士生做做Level 3的研究 即小改进一个算法,在实验数据上跑一跑发现结果不错就可以了,写一篇文章发表出来完全是可以的。毕竟我们是生活在现实社会中对吧,毕竟我们要拿论文毕业对吧,毕竟我们要有成果啊。正所谓理想很丰满,现实很骨感,饭都吃不饱还谈理想是不是有点眼高手低呢。
如果是高年级博士生或者在这个研究领域有很深的背景了,建议是更多的做Level 2 甚至 Level 1这些更有挑战性的研究。因为这个时候你已经具备很多基础了,同时你可能不缺论文数量了,这个时候就是更多的思考你所做的研究到底能有多少真正的意义的时候了,真正的去做一些开创性工作的时候了。正所谓做人没有理想和咸鱼有什么区别。

作者:Gargantua
链接:https://www.zhihu.com/question/22752108/answer/404600713

本人观点:其实不止在群体智能算法领域,在大多数领域都是这样子的,如果想要从一个领域入门深入研究,先要对这个领域的框架有基本的了解,包括一些主流的算法、方法论等,尝试复现这些主流的算法,之后再尝试在原有的基础上做一些小创新,再不断地实践中汲取该领域涉及的方法论精华,不断从Level3到Level2最后再到Level1。

没什么卵用,在可微可导问题上被传统优化方法吊打,黑箱问题上,比起网格搜索貌似人们也不信任大多数fancy的群智能算法。举个栗子,群体算法离不开全局搜索和收敛能力的trade off。要想增强全局搜索能力,一个做法就是用小的邻域,但是,这么多个体通信要占用大量时间,算下来整个迭代过程用到的总个体数目也不比网格搜索用得少,小邻域内计算一些东西很麻烦,这些炫酷的看起来reasonable的改进远不如网格那样简单易上手,而且你还不能保证收敛。
当初众多群智能算法提出的目的是针对众多黑箱问题,不可微可导的问题,这些方法(包括但不限于进化计算,粒子群方法)可以作为一种零阶优化方法进行搜索。类似的应用场景包括现在大热的机器学习中的超参数搜索,结构搜索。
但是,就目前而言,超参数搜索中用到的更多的(绝大多数)是网格搜索。因为你可以去隔壁Evolutionary Computation和Swarm ,Evolutionary Computation看看,各种fancy的改版貌似除了听起来好听之外根本也不是网格搜索的对手,还难以应用。现在看到的唯一用处就是用进化计算暴力搜索更好的神经结构,而且用的还是最原始版本的。
这个领域比隔壁CV水太多了。貌似现在用来忽悠funding也不行了。不过这东西还是有好处的,就是帮我们鉴别垃圾。凡是博士硕士论文题目是"粒子群算法在##的应用"或者"改进的粒子群算法在##的应用",这样的大学学院有一个算一个,都是垃圾,垃圾,垃圾,垃圾场,屎坑。

作者:震灵
链接:https://www.zhihu.com/question/22752108/answer/2099902042

本人观点:参数搜索、结构搜索可能还有其他可以扩展的领域,如基于模拟自适应的PID?这估计是自控领域的扩展了,本人不是很了解。

讲句公道话,目前大多数拥有奇怪名称的启发式算法都是一些非主流的学者在研究。无论国内外学者,其实大家都是不太支持这种现象的。例如有答主提到的抨击启发式算法乱象的经典之作《Metaheuristics—the metaphor exposed》,目前的引用量已经有700多了。
实际上,针对目前群体智能算法的乱象,2019年,一众大佬(包括TEVC现任主编Coello,Swarm and Evolutionary Computation现任主编Suganthan)共同撰写了一篇文章《Bio-inspired computation: Where we stand and what’s next》,指出了群体智能算法未来的发展道路。

群体智能算法研究方向
该论文调研了Scopus数据库上近些年的群体智能论文,并对这些论文进行了归类。从图中可以看出,各种所谓的群体智能算法根本不属于主流群体智能算法的研究领域。真正的群体智能算法一定是问题驱动的,例如多维优化问题、多目标优化问题、高代价问题、多峰问题、大规模问题、组合优化问题,而每个问题我们都可以设计相应的算法。 因此,回到题主的问题上,我的答案是“任何脱离了特定问题的算法设计都是没有意义的”。
其实,目前的群体智能算法和编程语言领域非常相似,大家都希望能通过发明各种新算法/新语言来在圈子内占据一席之地,但实际上其实大多数的新算法/新语言都会被历史湮灭。

参考资料:

0

评论区