进化深度学习:遗传算法和神经网络-Books


目录

• 第一部分 入门

• 第1章 进化深度学习简介

• 1.1 什么是进化深度学习

• 1.2 EDL的缘由与应用领域

• 1.3 深度学习优化的需求

• 1.4 用自动化机器学习实现自动优化

• 1.5 进化深度学习的应用

• 1.5.1 模型选择:权重搜索

• 1.5.2 模型架构:架构优化

• 1.5.3 超参数调优

• 1.5.4 验证和损失函数的优化

• 1.5.5 神经增强拓扑结构

• 1.6 本章小结

• 第2章 进化计算简介

• 2.1 Google Colaboratory中的康威生命游戏

• 2.2 用Python进行生命模拟

• 2.3 将生命模拟作为优化

• 2.4 向生命模拟添加进化

• 2.4.1 模拟进化

• 2.4.2 练习

• 2.4.3 关于达尔文和进化的背景知识

• 2.4.4 自然选择和适者生存

• 2.5 Python中的遗传算法

• 第二部分 优化深度学习

• 第3章 使用DEAP介绍遗传算法

• 3.1 DEAP中的遗传算法

• 3.1.1 使用DEAP解决一维最大化问题

• 3.1.2 练习

• 3.2 解决“王后开局”问题

• 3.3 旅行商问题

• 3.3.1 构建旅行商问题求解器

• 3.3.2 练习

• 3.4 改进进化的遗传操作符

• 3.5 使用EvoLisa进行绘画

• 3.6 本章小结

• 第4章 使用DEAP进行更多的进化计算

• 4.1 基于DEAP的遗传编程

• 4.2 使用DEAP的策略优化

• 4.3 使用DEAP的函数优化

• 4.4 使用DEAP的参数优化

• 4.5 本章小结

• 第5章 自动超参数优化

• 5.1 选项选择和超参数调优

• 5.1.1 调优策略

• 5.1.2 选择模型类型

• 5.2 使用随机搜索自动化超参数优化过程

• 5.3 网络搜索和超参数优化

• 5.4 使用进化计算进行超参数优化

• 5.4.1 将PSO用于超参数优化

• 5.4.2 将进化计算和DEAP添加到自动化超参数优化中

• 5.5 本章小结

• 第6章 神经进化优化

• 6.1 使用NumPy的多层感知器

• 6.2 将遗传算法作为深度学习优化器

• 6.3 神经优化的其他方法

• 6.4 构建变分自编码器

• 6.5 理解优化的局限性

• 6.6 本章小结

• 第7章 进化卷积神经网络

• 7.1 回顾Keras中的卷积

• 7.2 将网络架构编码成基因

• 7.3 创建交叉操作

• 7.4 开发一个自定义突变操作符

• 7.5 训练GA

• 7.6 本章小结

• 第8章 生成式深度学习与进化

• 8.1 生成对抗网络(GAN)

• 8.1.1 GAN简介

• 8.1.2 在Keras中构建卷积生成对抗网络

• 8.1.3 练习

• 8.2 训练GAN的挑战

• 8.2.1 GAN优化问题

• 8.2.2 观察梯度消失

• 8.2.3 观察GAN中的模式坍塌

• 8.2.4 观察GAN中的收敛失败

• 8.2.5 练习

• 8.3 使用Wasserstein损失修复GAN

• 8.3.1 理解Wasserstein损失

• 8.3.2 使用Wasserstein损失改进DC - GAN

• 8.4 对Wasserstein DC - GAN编码,以便进行进化优化

• 8.5 使用遗传算法优化DC - GAN

• 8.6 本章小结

• 第三部分 高级应用

• 第9章 生成式深度学习与进化

• 9.1 生成对抗网络(GAN)

• 9.1.1 GAN简介

• 9.1.2 在Keras中构建卷积生成对抗网络

• 9.1.3 练习

• 9.2 训练GAN的挑战

• 9.2.1 GAN优化问题

• 9.2.2 观察梯度消失

• 9.2.3 观察GAN中的模式坍塌

• 9.2.4 观察GAN中的收敛失败

• 9.2.5 练习

• 9.3 使用Wasserstein损失修复GAN

• 9.3.1 理解Wasserstein损失

• 9.3.2 使用Wasserstein损失改进DC - GAN

• 9.4 对Wasserstein DC - GAN编码,以便进行进化优化

• 9.5 使用遗传算法优化DC - GAN

• 9.6 本章小结

• 第10章 NEAT:神经进化拓扑

• 10.1 探索NEAT - Python

• 10.2 可视化进化的NEAT网络

• 10.3 通过NEAT的功能进行练习

• 10.4 使用NEAT对图像进行分类

• 10.5 揭示种群细分在进化中的作用

• 10.5.1 调整NEAT的物种划分

• 10.5.2 练习

• 10.6 本章小结

• 第11章 使用NEAT进行进化学习

• 11.1 强化学习

• 11.1.1 冰湖上的Q - learning智能体

• 11.1.2 练习

• 11.2 学习

• 第四部分 进化领域前沿问题

• 第12章 进化机器学习及其拓展领域

• 12.1 基因表达编程中的进化和机器学习

• 12.2 重新审视使用Geppy的强化学习

• 12.3 介绍本能学习

• 12.4 遗传编程中的泛化

• 12.5 计算与进化学习

• 12.5.1 进化是否出现了问题?

• 12.5.2 进化可塑性

• 12.5.3 利用可塑性改进进化

• 12.6 本章小结

• 第13章 探索OpenAI Gym中的复杂问题

• 13.1 使用NEAT解决OpenAI Gym中的学习问题

• 13.2 使用NEAT智能体解决Gym中的月球着陆器问题

• 13.3 使用DON解决Gym中的倒立摆问题

• 13.4 本章小结

• 第14章 本能学习

• 14.1 本能学习的基础知识

• 14.2 发展通用本能

• 14.3 进化出本能学习解决方案

• 14.4 本章小结

• 第15章 进化学习的未来

• 15.1 进化是否出现了问题?

• 15.2 利用本能深度学习和深度强化学习进行泛化

• 15.3 利用可塑性改进进化

• 15.4 本章小结

• 附录A 获取和运行代码

读书摘要与主要内容介绍

《进化深度学习:遗传算法和神经网络》这本书深入探讨了进化深度学习这一交叉领域,将遗传算法与神经网络相结合,用于解决复杂的机器学习问题。

一、内容结构

  1. 第一部分:入门

• 第1章:进化深度学习简介

• 介绍了进化深度学习(EDL)的基本概念、应用领域和优化需求,以及如何通过自动化机器学习实现自动优化。还包括在模型选择、架构优化、超参数调优等方面的应用。

• 第2章:进化计算简介

• 通过Google Colaboratory中的康威生命游戏引入进化计算,讲解了如何用Python进行生命模拟和进化,以及相关的背景知识和遗传算法在Python中的实现。

  1. 第二部分:优化深度学习

• 第3 - 8章

• 这部分主要围绕如何使用遗传算法(通过DEAP库)来优化深度学习中的各个环节。包括解决常见的优化问题(如旅行商问题)、自动超参数优化、神经进化优化、进化卷积神经网络、生成式深度学习与进化等内容。每章都通过实例和练习,帮助读者理解如何将遗传算法应用到具体的深度学习任务中。

  1. 第三部分:高级应用

• 第9 - 11章

• 进一步深入到高级应用领域,如更深入地探讨生成式深度学习与进化,包括生成对抗网络(GAN)的训练挑战和优化方法,以及使用NEAT(神经进化拓扑)进行进化学习,包括强化学习和其他学习方法的应用。

  1. 第四部分:进化领域前沿问题

• 第12 - 15章

• 探索了进化机器学习及其拓展领域,包括基因表达编程中的进化和机器学习、重新审视使用Geppy的强化学习、本能学习等前沿话题。还讨论了在OpenAI Gym中解决复杂问题的方法,以及对进化学习未来发展方向的展望。

  1. 附录A:获取和运行代码

• 提供了获取和运行书中代码的方法,方便读者实践操作。

二、主要内容

书中详细阐述了如何利用遗传算法对神经网络进行优化和进化。从基础的进化计算和深度学习概念入手,逐步深入到复杂的应用场景。例如,在自动超参数优化章节中,讲解了如何通过遗传算法自动搜索最佳的超参数,以提高深度学习模型的性能。在生成式深度学习与进化章节中,探讨了如何通过进化算法改进生成对抗网络(GAN),解决GAN训练中的收敛失败、模式坍塌等问题。

此外,书中还涉及了一些前沿的研究方向,如本能学习,展示了进化深度学习在未来可能的发展方向。通过大量的实例、练习和代码,读者可以深入理解和实践进化深度学习的方法和技术,适用于对机器学习、进化计算和神经网络感兴趣的专业人士和研究人员。