猜你喜欢
深入理解AutoML和AutoDL:构建自动化机器学习与深度学习平台  [Dive into AutoML and AutoDL:Building Automated Pla]

深入理解AutoML和AutoDL:构建自动化机器学习与深度学习平台 [Dive into AutoML and AutoDL:Building Automated Pla]

书籍作者:王健宗 ISBN:9787111634362
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:6058
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

这是一部从基础理论、核心原理、前沿算法等多个维度系统、全面讲解AutoML、AutoDL、AutoNAS和元学习的著作。

作者是资深的人工智能专家,大型金融集团科技公司深度学习平台和AutoML平台负责人。本书得到了IEEE Fellow/ACM杰出科学家/香港科技大学教授杨强教授、腾讯AI Lab副主任俞栋、美国佛罗里达大学教授李晓林等8位来自企业界、学术界和媒体界的资深专家的一致好评。它既能让新人理清AutoML的脉络,快速上手机器学习,又能让有经验的读者全面掌握AutoML的知识体系,工作变得更高效。

全书共14章,逻辑上分为四部分:

第一部分(第1~2章) 人工智能基础

对人工智能、自动化人工智能的重要概念、发展历程及现状、适用场景、主要的工具和技术等做了全面的介绍,并引出了人工智能技术未来的发展方向——AutoML,这部分是阅读本书的基础。

第二部分(第3~6章) AutoML

主要讲解机器学习和自动化机器学习,核心是AutoML,包含自动化特征工程、自动化模型选择和自动化超参优化3个方面的内容。

第三部分(第7~13章) AutoDL

主要讲解深度学习和自动化深度学习,重点讲解了AutoDL的原理、基于强化学习的AutoDL、基于进化算法的AutoDL、AtuoDL的高阶知识、自动化模型压缩与加速,以及各种核心算法和前沿算法。

第四部分(第14章) 元学习

元学习是人工智能的理想目标,这部分对元学习的概念、流程和各种主流的学习方法都进行了详尽的介绍。


作者简介

王健宗

大型金融集团科技公司深度学习平台和AutoML平台负责人,中国人工智能开源软件发展联盟副理事长,美国佛罗里达大学人工智能博士后,曾任美国莱斯大学电子与计算机工程系研究员,专注于联邦学习和人工智能在金融、保险、投资、银行和医疗等领域的研发工作,发表联邦学习、深度学习、云计算和大数据等领域国际论文30余篇,以及发明专利200余项。多届国内知名大数据、人工智能、金融科技和联邦学习会议/论坛主席和出品人。

瞿晓阳

华中科技大学计算机系统结构博士,美国中佛罗里达大学访问学者,大型金融集团科技公司资深算法工程师,一直从事机器学习、大数据、体系结构方面的研究工作,在AutoML平台、面向AI的云原生架构、高性能计算、高效能存储系统等方面经验丰富。近几年,在国际会议和期刊发表过多篇文章,担任过多个国际期刊的评委。


编辑推荐
适读人群 :人工智能领域的所有技术工程师,尤其是机器学习方向的技术工程师

(1)作者是资深的AI专家,在机器学习、AutoML、联邦学习、大数据、云计算等领域发表国际论文30余篇,发明专利200余项。

(2)作者是大型金融集团科技公司深度学习平台和AutoML平台负责人,美国佛罗里达大学人工智能博士后,中国人工智能开源软件发展联盟副理事长。

(4)本书得到了腾讯、阿里、字节跳动、微众银行、浙江大学、新智元等企业界、学术界、媒体界的8位资深专家联袂推荐。

(5)从基础理论、核心原理、前沿算法等多个维度全面解读AutoML、AutoDL和元学习。


前言

前  言

为什么要写这本书

“人工智能”“机器学习”“深度学习”“联邦学习”“自动化”等已经成为互联网行业使用最频繁的词汇,在人工智能发展日益成熟的今天,越来越多的研究者将目标聚焦于“自动化”。出于对AutoML技术出现的振奋和对人工智能的热情与投入,我们逐渐萌生了撰写这本书的想法,我们想让更多的人了解AutoML,了解我们身边最前沿的技术和知识,最终能够让天下没有难的AI,实现普惠AI。如果一定要问我们写这本书的原因,我觉得可以归结为如下三点:

首先,已经有多家互联网公司发布了AutoML平台,毫无疑问AutoML已经成为目前各大公司的“护城河”,我们希望通过本书来揭开AutoML平台的神秘面纱。基于AutoML平台,专业编程人员和非专业人员均可快速创建项目并训练模型,但是,由于国内至今还没有一本关于AutoML算法介绍的书籍,平台用户只知其然却不知其所以然。

其次,我们想要通过本书建立一套完整的AutoML知识体系。很多AutoML从业者懂技术,但是缺少一套完整的知识体系来支撑自己的核心技术,有鉴于此,我们在开始撰写本书前做的第一件事就是建立知识体系,包括自动化机器学习、神经架构搜索的核心算法、自动化模型压缩、模型调参、深度学习的垂直领域应用以及元学习等。这套知识体系可以帮助很多从业者认清技术方向,也可以帮助初期从业者选择研究领域。我们期望有更多人来为AutoML这个诞生仅仅一年半的新技术添砖加瓦,共建AutoML生态。

最后,我们希望这本书能为更多非专业人员带来价值。本书的初期定位是AutoML入门书籍,换句话说,我们撰写的初衷是想为更多不懂算法但是热爱AI技术的爱好者提供一些思路和理解角度。因此,我们在本书中尽量使用白话来解释算法思想,从人工智能的初期发展到AutoML技术的成熟,可以让每一个非技术人员快速理解AutoML。

对于本书,我们倾注了很多热情和心血,从2017年年底AutoML技术开始出现就开始深入探索,接着起草最初书稿框架到成型历时一年多,其中经过了多次章节结构调整和修改,查阅并解读近百篇AI前沿论文,才有了今天大家看到了这本书。在本书中,我们从0到1介绍了AutoML技术的方方面面,希望这本书能带给你惊喜。

读者对象

本书适用于非计算机专业研究人员、期望转型AI领域的技术爱好者,同样也适用于初级、中级和高级的人工智能算法工程师、项目经理和产品经理等。

本书特色

AutoML技术的发展日新月异,诸多科学家和研究者会在论文中发表自己的研究成果,但是目前国内还没有一本讲解AutoML发展和技术的书籍。本书聚焦于AutoML,从无到有地介绍了AutoML的发展过程以及相关的算法。本书涉及AutoML技术的多个方面,从AutoML到AutoDL,最后延伸到元学习,为读者提供了一套完整的知识体系。

如何阅读这本书

本书是关于自动化人工智能的一本入门级书籍,书中涵盖了大部分基础知识,因此非专业人士也可以读懂。自动化人工智能的最重要的两个分支是自动化机器学习和自动化深度学习,因此,本书的核心和聚焦在这两大研究领域,旨在为专业人士和刚入门的学者提供一些研究方向和思路。

从逻辑上,全书一共分为四个部分。

第一部分(第1~2章)是关于人工智能的基础概述,并介绍了现有的AutoML平台。

第二部分(第3~6章)是自动化机器学习,这里的机器学习是指统计机器学习,这一部分主要介绍了基本的机器学习知识以及自动化特征工程、自动化模型选择和自动化超参优化。

第三部分(第7~13章)是自动化深度学习,众所周知,近年来深度学习的研究开展得如火如荼,为了拓展读者的知识领域和研究思路,我们在这一部分花费了大量的篇幅来介绍近几年最前沿的算法和技术,这也是全书最核心的章节。

第四部分(第14章)是关于元学习的内容,我们认为元学习应该是独立于统计机器学习和深度学习的一个研究领域,因为元学习跳出了学习“结果”的这种思想,学习的是“学习过程”,这也是自动化人工智能的理想目标。因此,我们将元学习单独作为一个部分,作为全书内容的升华,读者可以在本书的引导下展开更深入的研究。

我们将本书的重点内容罗列为以下几点:

1)自动化特征工程生成方法,分别是深度特征合成算法、Featuretools自动特征提取以及基于时序特征的自动化特征工程。

2)自动化模型选择方法,包括贝叶斯优化算法、进化算法、分布式优化等。

3)自动化超参优化,主要有序列超参优化、进化算法的运用以及迁移学习方法。

4)神经架构搜索,主要搜索算法有强化学习和进化算法。

5)神经架构搜索加速方案,包括权值共享法、超网络、网络态射法、代理评估模型以及可微分神经架构搜索。

6)模型压缩和加速方案,包括量化、修剪法、稀疏化以及轻量级模型设计。

专业读者或具体从业者可根据自己的研究领域以及感兴趣情况选择以上部分内容重点阅读。对于非专业读者,本书中也有最基本的算法入门介绍,可以将本书作为一本AutoML入门书籍进行全书通读。

勘误和支持

本书并没有涵盖AutoML研究领域的全部知识,因为这个领域的知识体系之庞大,不是一本书就可以介绍完的。譬如我们书中所涉及的图计算网络、超网络、蒙特卡洛树搜索以及元学习都可以成为一个独立的研究课题。在AutoML技术的发展过程中,很多前沿算法会不断被提出和更新,因此书中的内容会存在一定的局限性。

本书的很多思想和知识体系都是作者基于自己的理解建立的,难免会出现理解不当或者不准确的地方,恳请读者批评指正。如果你有更多的宝贵意见,欢迎发送邮件至邮箱

[email protected],我们会认真采纳你的意见和建议。这本书的结束并不意味着我们的研究就此结束,我们还需要不断挖掘其中的精华与奥妙,期待能够得到你们的真挚反馈和支持。

致谢

在本书的撰写和研究期间,感谢多名AutoML技术爱好者(赵淑贞、尚迪雅、曾昱为、吴文启、唐彦玺、张君婷、贺凡等)的参与支持。

感谢出版社对本书的耐心修订和整理,没有他们,就没有今天这本书的出版。

最后,我要感谢读者,感谢读者对我们的信任。我们尽最大努力想要给大家呈现一本逻辑清晰、技术易懂的入门书籍,感谢读者选择了这本书,选择就是对我们最大的信任。

谨以此书献给AutoML的技术爱好者和研究者们!

王健宗

2019年8月于深圳


目录

目录

赞誉

前言

第1章 人工智能概述1

1.1 全面了解人工智能1

1.1.1 人工智能定义1

1.1.2 弱人工智能、强人工智能与超人工智能2

1.1.3 人工智能三大主义3

1.1.4 机器学习与深度学习4

1.2 人工智能发展历程5

1.3 深度学习的崛起之路7

1.3.1 人脸识别的起源7

1.3.2 自动驾驶的福音7

1.3.3 超越人类的AI智能体8

1.3.4 懂你的AI8

1.3.5 奔跑、飞行以及玩游戏的AI8

1.3.6 人人都可以创造属于自己的AI8

1.4 深度学习的发展9

1.4.1 计算机视觉9

1.4.2 自然语言处理10

1.4.3 语音识别11

1.5 下一代人工智能11

1.6 参考文献13

第2章 自动化人工智能14

2.1 AutoML概述14

2.1.1 什么是自动化14

2.1.2 AutoML的起源与发展15

2.2 AutoML的研究意义17

2.2.1 AutoML的研究动机17

2.2.2 AutoML的意义和作用18

2.3 现有AutoML平台产品21

2.3.1 谷歌Cloud AutoML21

2.3.2 百度EasyDL23

2.3.3 阿里云PAI24

2.3.4 探智立方DarwinML28

2.3.5 第四范式AI ProphetAutoML29

2.3.6 智易科技30

2.4 参考文献31

第3章 机器学习概述32

3.1 机器学习的发展32

3.1.1 “机器学习”名字的由来32

3.1.2 “机器学习”的前世今生33

3.1.3 “机器学习”的理论基础34

3.2 机器学习的实现方法36

3.2.1 分类问题36

3.2.2 回归问题38

3.2.3 聚类问题39

3.3 自动化机器学习40

3.3.1 机器学习面临的问题40

3.3.2 为什么会产生AutoML41

3.4 参考文献41

第4章 自动化特征工程43

4.1 特征工程43

4.1.1 什么是特征43

4.1.2 什么是特征工程44

4.2 特征工程处理方法45

4.2.1 特征选择45

4.2.2 数据预处理47

4.2.3 特征压缩48

4.3 手工特征工程存在的问题49

4.4 自动化特征工程50

4.4.1 什么是自动化特征工程50

4.4.2 机器学习和深度学习的特征工程51

4.5 自动化特征工程生成方法52

4.5.1 深度特征合成算法52

4.5.2 Featuretools自动特征提取52

4.5.3 基于时序数据的自动化特征工程56

4.6 自动化特征工程工具67

4.6.1 自动化特征工程系统67

4.6.2 自动化特征工程平台71

4.7 参考文献75

第5章 自动化模型选择76

5.1 模型选择76

5.2 自动化模型选择77

5.2.1 基于贝叶斯优化的自动化模型选择78

5.2.2 基于进化算法的自动化模型选择84

5.2.3 分布式自动化模型选择86

5.2.4 自动化模型选择的相关平台92

5.3 自动集成学习94

5.3.1 集成学习基础94

5.3.2 集成学习之结合策略97

5.3.3 自动化模型集成98

5.4 参考文献99

第6章 自动化超参优化101

6.1 概述101

6.1.1 问题定义103

6.1.2 搜索空间103

6.1.3 搜索策略103

6.1.4 评价预估104

6.1.5 经验迁移加速105

6.2 基本方法105

6.2.1 网格搜索105

6.2.2 随机搜索105

6.3 基于模型的序列超参优化106

6.3.1 代理模型的选择108

6.3.2 代理模型的更新108

6.3.3 新超参组的选择109

6.3.4 基于高斯过程回归的序列超参优化111

6.3.5 基于随机森林算法代理的序列超参优化112

6.3.6 基于TPE算法的序列超参优化114

6.3.7 SMBO的进阶技巧114

6.4 基于进化算法的自动化超参优化115

6.4.1 基于进化策略的自动化超参优化115

6.4.2 基于粒子群算法的自动化超参优化116

6.5 基于迁移学习的超参优化加速方法117

6.5.1 经验迁移机制117

6.5.2 经验迁移衰退机制117

6.5.3 经验迁移权重机制117

6.5.4 优化过程的试点机制118

6.6 参考文献118

第7章 深度学习基础120

7.1 深度学习简介120

7.1.1 什么是神经元120

7.1.2 人工神经网络的发展历程121

7.1.3 深度学习方法123

7.2 卷积神经网络简介123

7.2.1 卷积层123

7.2.2 池化层125

7.2.3 全连接层126

7.3 CNN经典模型126

7.3.1 LeNet126

7.3.2 AlexNet127

7.3.3 VGGNet128

7.3.4 GoogLeNet129

7.3.5 ResNet130

7.3.6 DenseNet131

7.4 循环神经网络132

7.4.1 基本循环神经模型132

7.4.2 LSTM模型133

7.4.3 GRU模型134

7.5 参考文献134

第8章 自动化深度学习概述136

8.1 深度学习vs自动化深度学习136

8.2 什么是NAS136

8.2.1 问题定义137

8.2.2 搜索策略139

8.2.3 加速方案140

8.3 NAS方法分类140

第9章 基于强化学习的AutoDL142

9.1 强化学习基础142

9.1.1 强化学习简介142

9.1.2 基本要素及问题定义144

9.1.3 发展历史144

9.1.4 基本方法146

9.2 两类基本模型147

9.2.1 TD经典算法148

9.2.2 DQN系列算法149

9.2.3 策略梯度算法152

9.3 强化学习之Actor-Critic系列154

9.3.1 Actor-Critic算法154

9.3.2 确定性策略梯度155

9.3.3 深度确定性策略梯度157

9.3.4 异步优势Actor-Critic算法158

9.3.5 近端策略优化160

9.3.6 分布式近端策略优化164

9.4 基于强化学习的自动搜索166

9.5 基本搜索方法166

9.5.1 基于层的搜索166

9.5.2 基于块的搜索169

9.5.3 基于连接的搜索171

9.6 进阶搜索方法173

9.6.1 逆强化学习173

9.6.2 图超网络174

9.6.3 蒙特卡洛树搜索175

9.6.4 知识提炼(教师网络)177

9.7 参考文献179

第10章 基于进化算法的AutoDL181

10.1 启发式算法181

10.1.1 随机搜索182

10.1.2 近邻搜索183

10.1.3 进化计算187

10.1.4 启发式算法的局限性189

10.2 初代进化算法190

10.2.1 基本术语190

10.2.2 基础算子191

10.2.3 遗传算法196

10.2.4 进化策略198

10.2.5 进化规划199

10.3 其他近代进化算法200

10.3.1 遗传编程算法簇200

10.3.2 群体算法—以PSO为例205

10.3.3 文化基因算法207

10.3.4 差分进化算法208

10.3.5 分布估计算法208

10.4 进化神经网络209

10.4.1 简介209

10.4.2 神经网络编码方式210

10.4.3 竞争约定211

10.4.4 网络结构的创新性212

10.4.5 NAS之进化算法212

10.5 细粒度的神经进化(NEAT算法)213

10.5.1 基因编码214

10.5.2 基因的可追溯性216

10.5.3 通过物种形成保护创新结构216

10.6 粗粒度的神经进化(CoDeep-NEAT算法)218

10.6.1 DeepNEAT算法218

10.6.2 CoDeepNEAT算法219

10.7 block-level的进化220

10.7.1 Genetic CNN算法220

10.7.2 CGP-CNN方法222

10.8 基于node-level的网络架构进化224

10.8.1 思想简介224

10.8.2 基本算法设计225

10.8.3 信息复用与加速226

10.9 基于NAS搜索空间的网络架构进化227

10.9.1 思想简介227

10.9.2 基本算法设计227

10.9.3 信息复用与加速228

10.10 基于层次拓扑表示的网络进化方法228

10.10.1 思想简介228

10.10.2 分级表示229

10.10.3 随机的层次分级进化230

10.11 参考文献230

第11章 AutoDL高阶233

11.1 搜索加速之权值共享法233

11.1.1 ENAS233

11.1.2 基于稀疏优化的NAS235

11.2 基于one-shot模型的架构搜索236

11.2.1 超网络的应用236

11.2.2 基于one-shot的搜索237

11.2.3 实例级架构搜索238

11.2.4 单路径超网络240

11.3 搜索加速之代理评估模型241

11.3.1 代理模型241

11.3.2 PNAS中的LSTM代理242

11.4 基于网络态射法的神经架构搜索244

11.4.1 网络态射的提出244

11.4.2 什么是网络态射244

11.4.3 网络态射+迂回爬山法246

11.5 可微分神经架构搜索247

11.5.1 可微分神经架构搜索的来源247

11.5.2 可微分神经架构搜索的方法248

11.6 参考文献250

第12章 垂直领域的AutoDL252

12.1 AutoCV252

12.1.1 Auto-DeepLab(图像语义分割)252

12.1.2 随机连线神经网络257

12.2 AutoVoice261

12.2.1 关键词定位问题定义261

12.2.2 随机自适应架构搜索原理262

12.2.3 SANAS模型262

12.3 AutoNLP263

12.3.1 什么是自注意力机制263

12.3.2 初识Transformer模型265

12.3.3 Evolved Transformer结构266

12.4 参考文献270

第13章 自动化模型压缩与加速271

13.1 从生物角度看模型压缩的重要性271

13.1.1 人脑神经元的修剪271

13.1.2 大脑的冗余性272

13.1.3 修剪的意义273

13.2 模型压缩发展概述274

13.3 入门级方法:量化技术275

13.3.1 量化技术275

13.3.2 二值化网络276

13.3.3 TensorRT277

13.4 初级方法:修剪法278

13.4.1 修剪法278

13.4.2 修剪与修复279

13.5 中级方法:稀疏化技术281

13.5.1 正则化281

13.5.2 知识精炼281

13.5.3 张量分解281

13.6 高级方法:轻量级模型设计284

13.6.1 简化卷积操作284

13.6.2 深度可分离卷积285

13.6.3 改进的Inception287

13.7 自动化模型压缩技术289

13.7.1 AMC算法289

13.7.2 PocketFlow框架291

13.8 基于AutoDL的轻量级模型292

13.8.1 问题定义292

13.8.2 帕累托最优问题293

13.8.3 进化算法的应用294

13.8.4 强化学习的应用296

13.8.5 可微分架构搜索298

13.9 参考文献300

第14章 元学习302

14.1 什么是元学习302

14.1.1 基本介绍302

14.1.2 经典案例303

14.1.3 深入了解元学习304

14.1.4 元学习应用的发展306

14.2 元学习的通用流程306

14.2.1 基本定义306

14.2.2 流程框架306

14.3 从模型评估中学习307

14.3.1 任务无关推荐308

14.3.2 参数空间设计308

14.3.3 参数转换309

14.3.4 学习曲线310

14.4 从任务属性中学习310

14.4.1 元特征310

14.4.2 学习元特征311

14.4.3 相似任务的热启动优化311

14.4.4 元模型311

14.4.5 管道合成312

14.4.6 是否调整312

14.5 从先前模型中学习312

14.5.1 迁移学习313

14.5.2 神经网络中的元学习313

14.5.3 小样本学习314

14.5.4 监督学习之外的方法315

14.6 基于模型的方法316

14.6.1 记忆增强神经网络316

14.6.2 元网络317

14.6.3 模型无关的元学习方法317

14.6.4 利用注意力机制的方法319

14.6.5 基于时间卷积的方法320

14.6.6 基于损失预测的方法321

14.6.7 元强化学习321

14.7 基于度量的方法322

14.7.1 Siamese网络322

14.7.2 匹配网络324

14.7.3 关系网络324

14.7.4 原型网络325

14.8 基于优化的方法326

14.8.1 基于LSTM网络的元学习者326

14.8.2 未知模型的元学习326

14.8.3 Reptile:可扩展元学习方法327

14.8.4 基于梯度预测的方法327

14.9 参考文献329

结束语332


产品特色