新書推薦:
《
中文版SOLIDWORKS 2024机械设计从入门到精通(实战案例版)
》
售價:NT$
450.0
《
纯数学教程
》
售價:NT$
390.0
《
威尔士史:历史与身份的演进
》
售價:NT$
490.0
《
黄金、石油和牛油果:16件商品中的拉丁美洲发展历程
》
售價:NT$
395.0
《
母亲的选择:看不见的移民保姆与女性工作
》
售價:NT$
340.0
《
城邦政治与灵魂政治——柏拉图《理想国》中的政治哲学研究
》
售價:NT$
590.0
《
3分钟漫画墨菲定律:十万个为什么科普百科思维方式心理学 胜天半子人定胜天做事与成事的权衡博弈之道
》
售價:NT$
249.0
《
1911:危亡警告与救亡呼吁
》
售價:NT$
349.0
|
編輯推薦: |
进化深度学习
在这本不可思议的书中,将深度学习与进化生物学结合起来,研究增强神经网络解决棘手的搜索、优化和控制问题的能力。通过实用且有趣的示例展示了来自自然界的古老经验如何推动数据科学的发展。
《进化深度学习》介绍了进化计算(EC),并为你提供了一套实用的技术工具,你可以在整个深度学习过程中应用这些技术。本书提供了遗传算法和进化计算方法在网络拓扑、生成模型、强化学习等方面的应用。通过交互式的Colab notebook使你有机会在探索过程中进行实验。
|
內容簡介: |
主要内容
● 用进化计算解决复杂的设计和分析问题
● 调整深度学习超参数
● 将Q-Learning应用于深度学习,从而进行深度强化学习
● 优化无监督自编码器的损失函数和网络架构
● 创建一个能够参与OpenAI Gym游戏的进化智能体
|
關於作者: |
Micheal Lanham是一位可靠的软件和技术创新者,拥有超过20年的工作经验。
|
目錄:
|
第Ⅰ部分 入门
第1章 进化深度学习简介 3
1.1 什么是进化深度学习 4
1.2 EDL的缘由和应用领域 7
1.3 深度学习优化的需求 7
1.4 用自动化机器学习实现自动优化 9
1.5 进化深度学习的应用 12
1.5.1 模型选择:权重搜索 12
1.5.2 模型架构:架构优化 13
1.5.3 超参数调优 14
1.5.4 验证和损失函数的优化 14
1.5.5 神经进化增强拓扑结构 14
1.5.6 目标 14
1.6 本章小结 15
第2章 进化计算简介 17
2.1 Google Colaboratory中的康威生命游戏 17
2.2 用Python进行生命模拟 20
2.3 将生命模拟作为优化 23
2.4 向生命模拟添加进化 26
2.4.1 模拟进化 26
2.4.2 练习 29
2.4.3 关于达尔文和进化的背景知识 30
2.4.4 自然选择和适者生存 30
2.5 Python中的遗传算法 31
2.5.1 了解遗传学和减数分裂 31
2.5.2 编码遗传算法 33
2.5.3 构建种群 34
2.5.4 评估适应度 34
2.5.5 选择繁殖(交叉) 35
2.5.6 应用交叉:繁殖 36
2.5.7 应用突变和变异 38
2.5.8 将所有内容整合在一起 38
2.5.9 理解遗传算法的超参数 41
2.5.10 练习 42
2.6 本章小结 42
第3章 使用DEAP介绍遗传算法 45
3.1 DEAP中的遗传算法 45
3.1.1 使用DEAP解决一维最大化问题 46
3.1.2 练习 48
3.2 解决“王后开局”问题 49
3.3 旅行商问题 53
3.3.1 构建旅行商问题求解器 55
3.3.2 练习 58
3.4 改进进化的遗传操作符选择 59
3.5 使用EvoLisa进行绘画 63
3.6 本章小结 69
第4章 使用DEAP进行更多的进化计算 71
4.1 基于DEAP的遗传编程 71
4.1.1 用遗传编程解决回归问题 72
4.1.2 练习 77
4.2 基于DEAP的粒子群优化算法 77
4.2.1 用PSO求解方程 78
4.2.2 练习 82
4.3 基于DEAP的协同进化解决方案 82
4.4 使用DEAP的进化策略 87
4.4.1 将进化策略应用于函数逼近问题 87
4.4.2 重新审视EvoLisa 92
4.4.3 练习 93
4.5 基于DEAP的差分进化 94
4.5.1 使用差分进化逼近复杂和不连续的函数 94
4.5.2 练习 97
4.6 本章小结 97
第Ⅱ部分 优化深度学习
第5章 自动超参数优化 101
5.1 选项选择和超参数调优 102
5.1.1 调优超参数策略 102
5.1.2 选择模型选项 106
5.2 使用随机搜索自动化超参数优化过程 108
5.3 网格搜索和超参数优化 114
5.4 使用进化计算进行超参数优化 119
5.4.1 将PSO用于超参数优化 119
5.4.2 将进化计算和DEAP添加到自动化超参数优化中 119
5.5 在超参数优化中使用遗传算法和进化策略 123
5.5.1 将进化策略应用于超参数优化 123
5.5.2 使用主成分分析扩展维度 125
5.6 对超参数优化使用差分进化 128
5.7 本章小结 132
第6章 神经进化优化 133
6.1 使用NumPy的多层感知器 134
6.2 将遗传算法作为深度学习优化器 139
6.3 神经优化的其他进化方法 142
6.4 将神经进化优化应用于Keras 144
6.5 理解进化优化的局限性 148
6.6 本章小结 151
第7章 进化卷积神经网络 153
7.1 回顾Keras中的卷积神经网络 153
7.1.1 理解CNN层的问题 158
7.1.2 练习 161
7.2 将网络架构编码成基因 162
7.3 创建交叉配对操作 166
7.4 开发一个自定义突变操作符 168
7.5 卷积网络架构的进化 171
7.6 本章小结 175
第Ⅲ部分 高级应用
第8章 进化自编码器 179
8.1 卷积自编码器 180
8.1.1 自编码器简介 180
8.1.2 构建卷积自编码器 181
8.1.3 练习 185
8.1.4 卷积AE的泛化 185
8.1.5 改进自编码器 186
8.2 进化自编码器(AE)优化 188
8.2.1 构建AE基因序列 188
8.2.2 练习 192
8.3 配对和突变自编码器基因序列 193
8.4 进化自编码器介绍 195
8.5 构建变分自编码器 198
8.5.1 变分自编码器:综述 198
8.5.2 VAE的实现 200
8.5.3 练习 205
8.6 本章小结 206
第9章 生成式深度学习与进化 207
9.1 生成对抗网络(GAN) 2079.1.1 GAN简介 208
9.1.2 在Keras中构建卷积生成对抗网络 209
9.1.3 练习 214
9.2 训练GAN的挑战 215
9.2.1 GAN优化问题 215
9.2.2 观察梯度消失 216
9.2.3 观察GAN中的模式坍塌 218
9.2.4 观察GAN中的收敛失败 220
9.2.5 练习 222
9.3 使用Wasserstein损失修复GAN的问题 223
9.3.1 理解Wasserstein损失 223
9.3.2 使用Wasserstein损失改进DCGAN 224
9.4 对Wasserstein DCGAN编码,以便进行进化优化 226
9.5 使用遗传算法优化DCGAN 230
9.6 本章小结 231
第10章 NEAT:神经进化增强拓扑 233
10.1 使用NEAT-Python探索NEAT 235
10.2 可视化进化的NEAT网络 238
10.3 通过NEAT的功能进行练习 241
10.4 使用NEAT对图像进行分类 246
10.5 揭示种群细分在进化拓扑中的作用 250
10.5.1 调整NEAT的物种划分 252
10.5.2 练习 255
10.6 本章小结 255
第11章 使用NEAT进行进化学习 257
11.1 介绍强化学习 257
11.1.1 冰冻湖面上的Q-learning智能体 259
11.1.2 练习 265
11.2 探索OpenAI Gym中的复杂问题 266
11.3 使用NEAT解决强化学习问题 270
11.4 使用NEAT智能体解决Gym中的月球着陆器问题 274
11.5 使用DQN解决Gym中的登月器问题 277
11.6 本章小结 282
第12章 进化机器学习及其拓展领域 283
12.1 基因表达编程中的进化和机器学习 284
12.2 重新审视使用Geppy的强化学习 289
12.3 介绍本能学习 294
12.3.1 本能学习的基础知识 294
12.3.2 发展通用本能 296
12.3.3 进化出不带本能的通用解决方案 299
12.3.4 练习 302
12.4 遗传编程中的泛化学习 302
12.5 进化机器学习的未来 309
12.5.1 进化是否出现了问题 309
12.5.2 进化可塑性 309
12.5.3 利用可塑性改进进化过程 310
12.5.4 计算与进化搜索 311
12.6 利用本能深度学习和深度强化学习进行泛化 312
12.7 本章小结 317
附录A 获取和运行代码 319
|
內容試閱:
|
25年前,当我开始从事机器学习和人工智能的工作时,有两项主导技术被认为是未来的重要发展方向。这两项技术在解决复杂问题方面都显示出了巨大的潜力,并且在计算上是等效的。这两项技术分别是进化算法和神经网络(深度学习)。
在接下来的几十年里,我目睹了进化算法的急剧衰落和深度学习的爆炸性增长。这场斗争的结果是由计算效率决定的,深度学习也展示了许多新颖的应用。另一方面,在大多数情况下,进化和遗传算法的知识与应用已经逐渐减少到成为附注或脚注的程度。
我写本书的目的是展示进化和遗传算法可以为深度学习系统提供收益的能力。这些收益在深度学习进入自动机器学习时代尤为重要,在这个时代,自动化大规模模型开发正逐渐成为主流。
我也相信,我们对通用人工智能和智能体的探索可以从进化的角度得到帮助。毕竟,进化是自然界用来形成我们智慧的工具。那么,为什么它不能改进人工智能呢?我猜想,可能是我们太急躁和傲慢了,认为人类可以独自解决这个问题。
通过本书,我希望将进化方法作为超越常规思维的一种方式,展示其在深度学习中的强大力量。我希望本书以有趣和创新的方式展示进化方法的基础知识,同时涉及进化深度学习网络(即NEAT)和本能学习等先进领域。本能学习是我对我们应该如何更多地关注生物生命是如何进化的,并在寻找更智能的人工网络时反映出这些相同的特征的看法。
关 于 本 书
本书介绍了进化算法和遗传算法,从解决有趣的机器学习问题到将其中的概念与深度学习相结合。本书的开始部分介绍了Python中的模拟以及进化算法与遗传算法的概念。随着介绍的深入,重点转向展示它们在深度学习中的应用和价值。
本书读者对象
本书读者应该具备扎实的Python编程背景,并理解核心的机器学习和数据科学概念。在后面的内容中,深度学习的背景知识对理解概念至关重要。
本书组织结构:路线图
本书分为三个部分:入门、优化深度学习和高级应用。在第Ⅰ部分,将介绍模拟、进化、遗传和其他算法的基础知识。以此为基础,继续展示进化和深度学习中遗传搜索的各种应用。最后,将介绍生成式建模、强化学习和广义人工智能的高级应用。下面是每章的概要。
第Ⅰ部分:入门
● 第1章介绍了将进化算法与深度学习相结合的概念。
● 第2章提供了关于计算模拟的基本介绍,并介绍了如何利用进化进行计算。
● 第3章介绍了遗传算法的概念和DEAP框架的使用。
● 第4章介绍了遗传和进化算法的一些有趣应用,从推销员出差问题到生成EvoLisa的图像。
第Ⅱ部分:优化深度学习
● 第5章演示了几种使用遗传算法或进化算法优化深度学习系统超参数的方法。
● 第6章介绍了使用神经进化研究深度学习系统的网络架构优化。
● 第7章着眼于使用进化优化卷积神经网络架构的高级应用。
第Ⅲ部分:高级应用
● 第8章介绍或回顾了使用自编码器进行生成式模型的基础知识,然后展示了进化如何发展出进化自编码器。
● 第9章继续第8章的内容,介绍或回顾了生成式对抗网络,以及如何通过进化来优化它。
● 第10章介绍了NEAT,并讨论了如何将其应用于各种基准应用。
● 第11章讨论了强化学习和深度强化学习的基础知识,然后展示了如何利用NEAT解决OpenAI Gym上的一些困难问题。
● 第12章展望了进化在机器学习中的未来,并探讨了它如何为广义人工智能提供见解。
关于代码
本书中的所有代码都是使用Google Colab notebook编写的,并可在作者的GitHub存储库中找到:https://github.com/cxbxmxcx/EvolutionaryDeepLearning。要运行代码,只需要在浏览器中导航到GitHub存储库,并找到相关的代码示例。所有代码示例的名称都以章节编号为前缀,然后是示例编号,如EDL_2_2_Simulating_Life.ipynb。然后,只需要点击Google Colab标识即可在Colab中启动notebook。任何依赖项都将在Colab上预先安装或作为notebook的一部分进行安装。
在许多情况下,原始源代码已经进行了重新格式化:添加了换行符并重新调整了缩进,以适应书中可用的版面空间。在极少数情况下,即使这样仍然不够,代码清单中也会包含行延续标记(?)。此外,在文本中描述代码时,源代码中的注释通常会被删除。在许多代码清单中都提供代码注释,用来突出显示重要概念。
可以扫描封底二维码下载本书源代码。
|
|