https://www.toutiao.com/a6706826223760179719/

作者:王源 周岩 杨翠娥

编者按

很多研究者已经利用演化算法(Evolutionary Algorithm, EA) 来解决机器学习中的复杂最优化问题。例如,EA 可以用来优化神经网络,包括训练连接权重、结构优化和超参数优化。这种演化的人工神经网络模型能取得非常好的性能,甚至能媲美手动设计的模型。尽管演化学习已经取得了很多成功,但也很难得到机器学习社区的广泛认同,其中一个重要的原因是 一直以来演化学习缺少坚实的理论基础,演化计算的研究者过于关注启发式的策略设计算法,缺乏对演化计算理论的关注。南大周志华,俞扬,钱超深耕演化计算理论近二十年,近期准备出版演化学习:理论与算法进展一书将为演化学习提供理论框架支撑。本文尝试为读者解读这一最新进展,希望能引起机器学习和演化计算领域的研究者更多的关注。

01简介之演化计算理论与机器学习的前世今生

2001年周志华教授与其合作者提出了selective ensemble approach,其主要思想是通过从一批训练好的神经网络中选择一个子集进行结合,泛化性能甚至优于结合所有神经网络。这项研究工作采用了遗传算法,是最为常见的一种演化算法(Evolutionary Algorithm, EA)

周志华认为演化算法作为一种强大的优化方法,演化算法可能对许多机器学习任务都有用。那个时候,演化计算基本上都是纯启发式的,而机器学习社区更加青睐于传统的数学优化方法,例如梯度法等等理论味道相对浓一点的优化方法,对演化算法在机器学习方面的应用并没有被广泛接受。演化算法在一些非凸优化问题,经典的组合优化问题上取得了不错的效果,然而一直以来因为过于依赖启发式的策略设计算法并且包含复杂的随机行为,使得很难对其进行理论分析,因而目前还缺乏严格的理论基础,尤其是当演化算法作为优化算法应用时的性能缺乏理论保障。理论基础的缺乏一方面阻碍了演化算法的进一步发展,另一方面也阻碍了演化算法在对计算性能有严格要求的问题上的应用。

周志华教授相信演化算法在应用中神秘成功的背后必定有其理论解释。在这样一个想法的驱使之下,周志华教授的学生 俞扬博士以 演化计算的理论研究为博士研究课题,钱超博士也相继投入该领域的研究。这一研究历程经历了十余年之久。在开始研究演化算法时,就面临着一个非常尴尬的两边不讨好的境地,在演化计算领域,理论研究过于滞后,根本无法对实际的算法有指导意义,因此基本少有人关注演化计算的理论进展,而在人工智能领域,更是艰难,当时演化计算已经是在顶级会议上冷下去的话题。

经过周志华等研究者的共同努力,目前演化学习已经不再是完全缺乏理论支撑的玄学,其关键部分上已经有了理论结果,并且对算法设计能够给出一定的指导,使得演化学习成为一个有理论基础的研究领域。这本书大部分内容都是三位作者在过去近二十年里取得的研究成果。

本书包含四部分内容:

第一部分介绍了演化学习,机器学习,多目标优化和一些基础预备知识。

第二部分给出了关于演化学习最重要的两个性质:时间复杂度和近似能力的理论分析方法。这一部分给出的方法是演化学习理论分析的通用性基础工具。

第三部分给出了关于演化学习的关键技术环节的理论分析,包括演化算法的算子、表征、评估和种群等。

第四部分以选择性集成等机器学习任务为例,展示了如何分析和设计有理论支撑的演化学习算法。

02分章节概览

2.1对应书的 part 2 Analysis Methodology

谈到优化算法有两个最基本的命题:1算法复杂度,2算法能否收敛到最优(很多时候无法收敛到最优,则退而求其次分析与最优的距离)。这两个命题在传统的数学优化领域和机器学习领域的理论分析非常多。演化计算的理论核心问题也是上面这两个点,我们想知道加入交叉算子,变异算子或者各种改进的策略对算法到底有什么影响,是否能够使得算法变好。演化计算中大量的参数到底代表着什么意义,如何科学地选取这些参数。演化计算一般求到的是近似最优解,那么这个近似到底有多么近?实际上面的问题到目前为止也没有一个非常完美的答案。

在过去的二十年间,在运行效率方面,演化计算的核心理论是平均算法复杂度。举例来说pseudu-Boolean linear problems 被广泛的应用来分析演化计算的效率和算法参数该如何给定。有趣的是,我们常常会得到相反的结论,例如在一些问题中加入 recombination operators 可以提升算法的效率,但在另外一些问题上加入recombination operators 则没有明显的效果。又例如在一些问题中采用比较大的种群规模会比较有效,而在另外一些问题中大的种群规模并没有显著的作用。这是因为各式各样不同类型的优化问题具有非常复杂和非常不同的特性。当演化计算面对各式各样不同类型的优化问题的时候,我们需要一个相对一般的工具或者理论帮助和指导我们来设计更好的演化计算方法,而不是仅仅是完全盲目的从零开始去试凑。

本章的核心点是建立了首次达到时间(first hitting time)和收敛率(Convergence rate)之间的关系。并且依据这个桥梁关系提出了一种基于收敛率的演化算法复杂度分析方法,并对多种演化算法在困难问题上的复杂度下界进行了分析。如下图所示是首次达到时间 和收敛率之间关系

具体内容可参考演化学习一书的第三章内容和参考文献[1]

2.2 对应书的 part 3 Theoretical Perspectives

演化计算在对问题求解的过程中往往会遇到一些问题,演化计算理论部分主要围绕如何针对这些问题从计算时间复杂度的角度进行分析,从而可以对算法的设计上提供一些帮助。

演化算法的问题边界

随着优化问题规模的扩大,这些大规模问题存在很多不同的结构,因此的对演化算法的分析在这些问题上就变得困难许多。这里提供了一个可以简化分析的方法,即对问题进行分类,将大规模问题分成容易解决和困难两类问题。困难的问题要结合问题的实例和算法共同分析才能得到解决。那么,这部分就主要讨论一下对算法独立的问题的边界识别,找到“困难或者简单”问题边界的好处是可以研究一个算法在一类问题上的表现,同时提供具体的实例来展示算法的优缺点。

演化算法中的重组

演化算法的重组是产生新个体的重要过程,重组的方式根据不同的编码方式有其对应的重组方法。但是目前对重组操作的理解还出在比较初级的阶段,这一章通过分析One-bit和Bit-wise两种重组操作在MOEA算法上的时间复杂度,证明了重组的一个重要作用是可以加快Pareto front的填充。

问题的表示

演化算法中最重要的一个步骤就是对问题的表示(编码),同一个问题可以有多种编码,如实值编码或者二进制编码等。不同的编码要对应不同的变异和重组操作,并且编码方式的不同也会导致搜索空间的不同,从而影响演化算法的性能。这里主要从运行时间的角度分析了一下二进制编码的GA和用树结构编码的GP算法,测试的问题是the maximum matching 和 minimum spanning tree problems.

不正确的适应度函数评估

在有噪声的环境下,适应度函数的评估有可能是错误的,并且噪声的存在很有可能实际上已经改变了问题的特点,进而将问题变得更为复杂。目前在演化算法领域已经有很多关于如何处理有噪声的问题,并且经验地说明了不是所有噪声都是消极的,有些噪声甚至可以提高局部搜索算法的效果。但是目前这些研究都是基于经验来证明的,本章从运行时间的角度来理论分析噪声对演化算法的影响。

演化算法中的种群

大部分演化算法在求解过程中都要维护一个解的集合,即种群。本章分析了种群的大小和演化算法运行时间的关系,同时分析了种群大小对于解鲁棒性的影响。目前很多运行时间分析都是基于单独父代或者单独子代来进行的,而当同时涉及到多父代和多子代算法时,分析往往会变得比较复杂。本章主要围绕解决子代父代个体不一致且大于1的演化算法在 UBoolean function上的分析进行展开。

带有约束的优化

约束问题是优化问题中的一个重要分支,问题的来源往往是从实际的问题中提炼的。目前对于约束问题的解法往往要避免在不可行区域搜索并且只需要输出可行解,因为不可行解往往被认为是没有意义的。演化算法中也有很多方法来处理这样的带约束问题,这些方法中,通常是采用抛弃,修复或者添加惩罚项来处理不可行解。但是一些研究表示,在演化算法中,不可行解会对最优解的出现有所帮助。这一章通过理论分析了何时不可行解是否有帮助的问题,分析结果显示当有不可行解参与进化时,会更快的找到最优解。

2.3 对应书的 part 4 Learning Algorithms

集成方法对一个学习问题训练并合并多个基模型的学习方法,如图 (a) 所示。选择性集成方法是从训练的基模型集合中选择一部分基模型进行集成,如图 (b) 所示。选择性集成模型降低了集成模型的规模,从而可以降低集成模型空间复杂度和预测的时间复杂度。此外,实验表明,选择性集成模型和将所有基模型进行集成的方法相比,具有更好的泛化能力。

从优化角度来说,选择性集成模型本质上是两个优化目标:提高集成模型的泛化能力和降低基模型的个数。当基模型的个数少于一定条件时,上述两个目标变成相互冲突的优化目标。换句话说,减少基模型的个数将会降低集成模型的泛化能力,反之则反。优化选择性集成模型的两个指标,通常的做法是混合两个指标为一个优化目标。然而,更为有效的方法是显示地优化每一个指标,将两个优化指标作为多目标优化问题。背后的原因是,多目标优化问题可以获得目标空间每一个帕累托解,而混合后的单目标优化问题只能获得按照指定的单一方向上的解。演化算法是基于种群的优化方法,一次迭代可以获得一个解集,非常适合解决多目标优化问题。

本章的核心是提出演化多目标优化方法解决选择性集成学习问题,从理论角度和实验结果方面分析和验证了所提的演化多目标优化方法的优越性。此外,本章对机器学习广泛存在的一般化的问题,子集选择问题,提出了一系列计算有界计算复杂度的演化多目标优化方法。

03附全书目录

参考文献

[1] Zhou Zhihua Yu Yang, Qian Chao. Evolutionary Learning: Advances in Theories and Algorithms[M]. Spring Verlag, Singapor, 2019.

[2] 俞扬. 演化计算理论分析与学习算法的研究[D].南京大学,2011.

[3] 南大周志华、俞扬、钱超最新力作:《演化学习:理论与算法进展》正式上线

主编推荐 | 南大周志华、俞扬、钱超最新力作导读相关推荐

  1. 南大周志华postgr

    南大周志华对于研究生入学要求 2022.12.22_ Tsongli For Potential Students If you are interested in pursuing a degree ...

  2. 南大周志华团队开源深度森林软件包DF21:训练效率高、超参数少,普通设备就能跑 | AI日报...

    中国学者研发新型电子纹身,实现8倍延展,有望用于医疗.VR和可穿戴机器人等领域 可穿戴设备,已经成为我们生活中极为常见的一种设备,它们体积轻巧.佩戴方便.检测数据齐全,但也存在一个很明显的缺点--无法 ...

  3. 南大周志华教授入围院士候选!计算机领域共计7人

    明敏 发自 凹非寺 来源 | 量子位 QbitAI 2021年中国科学院院士增选初步候选人名单现已公布. 人工智能领域有南京大学人工智能学院院长周志华教授.清华大学胡事民教授入围增选. 计算机领域共有 ...

  4. NIPS论文排行榜出炉,南大周志华5篇论文入选

    作者 | 非主流 出品 | AI科技大本营 作为人工智能领域的顶会,已经有 30 年历史的 NIPS 今年以来一直风波不断.先是被爆出 NIPS 2017 出现了性骚扰行为,然后又被 diss 会议名 ...

  5. 南大周志华清华胡事民入围院士候选!计算机领域共计7人

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 2021 ...

  6. 2021中科院院士候选名单出炉:清华胡事民、南大周志华等人在列

    8 月 1 日,中国科学院公布了 2021 年院士增选的初步候选人名单,清华大学计算机科学与技术系教授胡事民.南京大学人工智能学院院长周志华等 191 人进入了该名单. 这份名单分为数学物理.化学.生 ...

  7. 高考报 AI 专业?南大周志华:当然!清华孙茂松:再考虑一下

    By 超神经 场景描述:又到了高考放榜的时刻,接下来就是准大学生们选专业的环节.「人工智能」首次成为本科可选专业,在风头正盛的当下,到底该如何去抉择?不妨从行业大佬以及网友的看法中,去看看热潮背后的冷 ...

  8. 南大周志华vs清华孙茂松深刻思辩:AI本科教育该不该单独设系?

    问耕 夏乙 发自 凹非寺 量子位 出品 | 公众号 QbitAI 如何培养人工智能人才?中国大学该不该设立人工智能本科专业? 在昨天的<AI人才教育高峰论坛>上,清华大学计算机科学与技术系 ...

  9. 南大周志华教授写给学生的话

    周老师(个人还是比较喜欢以老师这个高尚的职业称呼他,而不是以个人的title)的简历 周志华,男,1973年11月生.分别于1996年6月.1998年6月和2000年12月于 南京大学计算机科学与技术 ...

  10. 机器学习两大派别--南大周志华

    //2014年11月7日 //http://quweiprotoss.blog.163.com/blog/static/4088288320099178652101/ 机器学习现在是一大热门,研究的人 ...

最新文章

  1. LeetCode 226. Invert Binary Tree--反转二叉树--C++,Python解法--递归,迭代做法
  2. Hello, World!我的房车编程生活,已经 150 天了
  3. java 用于xcopy复制_java调用copy复制子文件夹及文件到指定目录(非xcopy)
  4. FM,FFM及其实现
  5. 处理字符集中的算式问题
  6. js常用的2中排序方法:冒泡排序和快速排序
  7. 创建WPF单实例应用程序
  8. 光盘文件导入服务器,web服务器 光盘文件
  9. android 定时唤醒蓝牙,Android保活——蓝牙唤醒(主动kill掉也可唤醒)
  10. 开发一个Java项目的完整流程(附2600套Java项目源码+视频)
  11. 电商直播还有什么新花样?
  12. oracle 存档终点修改,修改归档模式的存档终点 archive log list
  13. 圆和长方形周长相等谁的面积大_周长相等,正方形、长方形、圆形谁的面积最大?...
  14. vue3.0之Router的使用
  15. pycharm下载思维导图插件 idea mind map
  16. 软件测试这个工作入门难不难?
  17. 显卡性能比较 GPU common sense
  18. win7虚拟计算机名,电脑高手必会技能:VMware虚拟机安装win7教程
  19. matlab中 %d,%f,%c,%s代表的输出格式
  20. Android兼容8.0后APP图标变为原生小机器人图标

热门文章

  1. SVG中中文字体的显示
  2. scrapy1.5文档(第二节 Scrapy Tutorial)
  3. lte网络测试用什么软件,LTE_测试软件使用教程.doc
  4. VS2017 插件的安装目录
  5. Bondareva-Shapley 定理
  6. matlab创建数组对象,如何在MATLAB中创建一个抽象类对象数组?
  7. 没有测量就没有管理,怀念DNW和复习盖洛普Q12
  8. 华为云服务器测试并用docker快速搭建2048网站
  9. Flash入门:动画制作基础知识
  10. 微信支付宝小程序复制内容到剪贴板功能