打开网易新闻 查看更多图片

新智元报道

编辑:Emile, yaxin, 好困

【新智元导读】近日,由周志华教授、俞扬教授和钱超研究员共同完成的新书——《演化学习:理论与算法进展》即将上线!堪称「宝藏级」新书,速来拜读。

很长时间以来,演化学习算法在机器学习领域是一个冷门且充满「玄学」意味的分支。

在线体验遗传算法如何「炼丹」:

https://rednuht.org/genetic_cars_2/

而周志华教授团队近二十年来的一项持续研究,让演化学习不再是「玄学」和「炼丹」,而是拥有坚实的理论基础和丰富的算法体系,来拥抱应用。

继「西瓜书」之后,周志华团队再发力作

说到人工智能研究,南京大学LAMDA实验室在世界范围内都是一个响当当的名字,领头人周志华教授在南京大学完成了本科到博士的学习,并于2001年留校任教。

如今周志华教授是南京大学计算机科学与技术系主任、人工智能学院院长、计算机软件新技术国家重点实验室常务副主任、机器学习与数据挖掘研究所(LAMDA)所长。

ACM/AAAS/AAAI/IEEE/IAPR/IET/CCF/CAAI会士,是国际上与人工智能相关的重要学会「大满贯」 Fellow华人第一人,欧洲科学院外籍院士。

打开网易新闻 查看更多图片

事实上除了做学问,周志华教授在授业解惑上同样堪称大师。

在2016年,周志华教授将自己在南京大学开设的机器学习入门课程主要内容编撰成为一本教材《机器学习》出版发行——这就是爆红网络的「西瓜书」。

在今年火爆的6.18前夕,周志华教授携自己的得意弟子师徒三人又突然放出「大招」:继「西瓜书」之后团队又一本在机器学习领域的力作——《演化学习:理论与算法进展》正式与读者见面。

据悉,这本书系团队超过20年的研究成果的「集大成之作」,如果说「西瓜书」是带领读者入门机器学习的「初级地形图」,那么《演化学习》则要带领大家探讨机器学习领域的一个前沿分支了。

演化学习的前世今生

何为演化学习?

演化学习就是利用演化算法(EA)求解机器学习中的复杂优化问题。比如,EA 可以用来优化神经网络,包括训练连接权重、结构优化和超参数优化。

那么,演化算法是指一大类受自然演化启发的启发式随机优化算法,通过考虑 「突变重组」和 「自然选择」这两个关键因素来模拟自然演化过程。

演化算法有很多种实现方法,如遗传算法(genetic algorithm)、遗传编程(genetic programming)、演化策略(evolutionary strategy)等。

用遗传算法举个例子:

打开网易新闻 查看更多图片

△ 虽然第80代还是摇头晃脑的,但第999代已经可以顺利地行走了

同样,非常适用于我们熟知的旅行商问题(Travelling Salesman Problem)。

其实,演化算法源于上个世纪60年代,而演化学习的思想却可以追溯到人工智能之父艾伦·图灵关于如何设计「智能机器」的设想。

图灵认为,机器只要通过学习可以从「儿童机器」成长为「智能机器」,这便是机器的自然进化。

60年代,计算设备的出现能够让研究者设计在计算机中模拟生物进化过程的算法,结果发现这样的算法具有一定的优化能力,并且对优化目标函数的限制很少。

随着时间的发展,这些最初的算法,以及之后设计的其他算法可以统称为演化算法(EA)。

等到90年代,演化算法才真正得到蓬勃发展。

随着以反向传播算法(BP)为代表的神经网络的兴起,神经网络的优化成为人们关注的问题。


△ 反向传播算法的一个示例

人们发现,在机器学习任务中常常涉及到复杂的优化问题,例如学习模型的参数优化、监督学习中复杂损失函数的优化、聚类分析中样本划分的优化等。

因此尝试使用演化算法来处理机器学习任务中的优化问题,就成为很自然的选择。

2001年,周志华教授与其合作者开展了「选择性集成方法」(selective ensemble approach)的研究。

其主要思想是通过从一批训练好的神经网络中选择一个子集进行结合,泛化性能甚至优于结合所有神经网络。

在这项工作中,便引入了一种名为「遗传算法」的演化算法(Evolutionary Algorithm)。

打开网易新闻 查看更多图片

尽管演化学习在实践中取得了许多成功, 但在很长时期内未获得机器学习社区的广泛接受。

其中一个最主要的原因便是,缺少坚实的理论基础。

一直以来,演化计算的研究者过于关注启发式的策略设计算法,而缺乏对演化计算理论的关注。

周志华认为,「理论基础的缺乏一方面阻碍了演化算法的进一步发展,另一方面也阻碍了演化算法在对计算性能有严格要求的问题上的应用。」

因此,周志华教授带领学生俞扬,以及钱超以「演化计算的理论研究」为研究课题,历经十余年,将演化学习这一完全缺乏理论支持的「玄学」成为一个有理论基础的研究领域。

在开始研究演化算法时,就面临着一个非常尴尬的两边不讨好的境地,在演化计算领域,理论研究过于滞后,根本无法对实际的算法有指导意义。

因此基本少有人关注演化计算的理论进展,而在人工智能领域,更是艰难,当时演化计算已经是在顶级会议上冷下去的话题。

经过周志华教授等研究者的共同努力,2019年,《Evolutionary Learning: Advances in Theories and Algorithms》英文版最先发布。

在很多学界和业界同仁的期盼和鼓励下,这本书的中文版《演化学习:理论与算法进展》将于2021年6月底面世,本书主要内容为三位作者在演化学习方向上对过去二十年间主要工作的总结。

俞扬:致青春

现任南京大学的俞扬教授,就《演化学习:理论与算法进展》近二十年来他们取得的研究成果做了一个 brief review:

最近与周老师、钱超一起完成了一本书。书的名字叫《Evolutionary Learning: Advances in Theories and Algorithms》,但是对于我来说,可以叫「致青春」。

从2005年硕士入学开始,抱着演化算法理论这个硬骨头开始啃。

我的数学基础并不好,在我同一届进入LAMDA的同学中,毫无疑问是垫底,但也许优点是胆子大,周老师说这个方向重要,那就干。

这个领域真是四处不讨好,让我深刻体验了什么叫「冷板凳」。

即使是在演化计算领域里,对于搞应用的来说,理论太滞后,没有指导意义,甚至关注理论进展的人都很少。而放在整个人工智能领域里,更是艰难,当时演化计算就已经是在顶级会议上冷下去的话题了。

2000年前,IJCAI还出现了演化计算的session,2000年左右,随着上一波演化神经网络结构优化的兴起演化算法也还在火(是的,NAS并不是这几年发明的,20年前的东西了),之后也随着神经网络的冷淡,大家放弃启发拥抱理论更清楚的方法,演化计算也迅速在顶级会议上隐匿。

所以演化计算的论文要发在顶级会议上极其困难,而理论更甚,不仅要回答技术问题,还要回答诸如这个方向还有研究价值吗、这个理论怎么指导算法,之类的问题。

回想起来在AAAI 2006发表的第一篇做演化算法复杂度分析的论文,真是走运,其中一个审稿人一个字审稿意见都没写,直接打了满分。

看到最终成稿,收录了我们十几年努力的结果,感觉这么多年也没白做,现在从理论、算法、到应用效果都能打通,AAAI、IJCAI、NIPS也都有发表了,尤其是NIPS 2017的工作,回答了一个长久以来演化计算领域面临的核心挑战:「有什么问题能证明是以往算法做不到而演化算法能做到的」。

致我的青春年华。以后只能是个拼搏的中年人了。

「演化学习」内容初探

机器学习的过程

机器学习过程一般由三个部分组成:模型表示(model representation)、模型评估(model evaluation)、模型优化(model optimization)。

△ 典型机器学习过程的三个组成部分

为了解决复杂学习问题,往往需要使用非线性模型形式和非凸模型评估函数,这导致优化目标函数往往具有不可导、不连续、存在多个局部最优解等性质。

然而,这些性质可能使得传统优化算法(如梯度下降)失效,而演化算法便有了用武之地

演化算法

演化算法一般可以抽象为以下四个步骤:

1. 生成一个包含若干初始解(solution)的集合,称为种群(population);

2. 基于当前种群通过变异和交叉产生一些新解;

3. 从当前种群和产生的新解中去除一些相对差的解形成新的种群;

4. 返回第二步并重复运行, 直至满足某个停止条件。

△ 演化算法的一般结构

演化算法的解

在演化过程中,算法会维持一个种群,并通过迭代地产生新的子代解(off spring solution)、评估这些解、选择更好的解来改善种群中解的质量。变异(mutation)与交叉(crossover)是两种常用的产生新解的算子。

一位变异(one-bit mutation):对于一个父代解,通过随机选择一个位置并翻转其上的布尔值产生一个子代解

单点交叉(one-point crossover):对于两个父代解,通过随机选择一个位置并交换这两个解在该位置后面的部分产生两个子代解

在子代解生成之后,用适应度(fitness)函数来度量它们的优劣,然后根据选择机制,从旧种群包含的父代解(parent solution)和新产生的子代解中选择较优解以构建新的种群。演化将持续,直至满足停止条件。

△ 遗传算法的迭代过程。蓝点:种群适应度平均值;绿点:最佳适应度

演化算法的优势

从迭代过程可以看出,演化算法在求解优化问题时,能够对解的优劣进行评估以便执行搜索,而无须关注问题的结构信息。

尤其在缺乏目标函数的梯度信息、甚至缺乏目标函数的显式表达式时都能使用,仅需能够通过实验或模拟评估解的相对优劣即可。

因此,演化算法被视为一种通用优化算法,甚至能以黑箱的方式求解优化问题。

福利时间

介绍了这么多《演化学习》 ,只吊大家胃口怎么能行?

这次我们不玩虚的!

在《演化算法》首发,又恰逢618之际,新智元携手周志华教授团队在第一时间为大家送出10本《演化算法》。

获取办法:1、关注《新智元》微信公众号;2、在本文下方留言。

我们将挑选文章下方点赞数最高,且质量高的前10条留言,在第一时间私信联系寄出。

就这样。