| 作者 |
| 迈克·贝尼科(Mike Bernico) |
| 丛书名 |
| 出版社 |
| 机械工业出版社* |
| ISBN |
| 9787111646273 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 《深度学习快速实践--——基于TensorFlow和Keras的深度神经网络优化与训练》内容包括神经网络的基础、深度神经网络的优化和验证、深度神经网络开发和训练环境的构建、使用Tensor-Board 进行网络训练的监控和模的超参数优化。本书详细介绍的深度学习问题,包括基本的回归问题、二元分类问题和多元分类问题,还包括较为复杂的卷积神经网络对图像的分类和使用预训练CNN 进行的迁移学习;使用递归神经网络进行时间序列预测、自然语言分类,以及通过sequence-to-sequence 模型进行机器翻译;深度强化学习的智能体构建,以及生成对抗网络的图像生成。 |
| 目录 |
译者序 原书序 原书前言 第1 章 深度学习的构建模块 1 1.1 深度神经网络的架构 1 1.1.1 神经元 1 1.1.2 深度学习中的代价函数和成本函数 4 1.1.3 前向传播过程 5 1.1.4 反向传播函数 5 1.1.5 随机和小批量梯度下降 6 1.2 深度学习的优化算法 6 1.2.1 采用具有动量的梯度下降 6 1.2.2 RMSProp 算法 7 1.2.3 Adam 优化器 7 1.3 深度学习平台架构 7 1.3.1 什么是TensorFlow ? 7 1.3.2 什么是Keras ? 8 1.3.3 TensorFlow 的热门替代品 8 1.3.4 TensorFlow 和Keras 对GPU的要求 8 1.3.5 安装Nvidia CUDA Toolkit 和cuDNN 9 1.3.6 安装Python 10 1.3.7 安装TensorFlow 和Keras 11 1.4 深度学习数据集的构建 12 1.4.1 深度学习中的偏差和方差误差 13 1.4.2 train、val 和test 数据集 13 1.4.3 深度神经网络中的偏差和方差管理 14 1.4.4 K-Fold 交叉验证 14 1.5 小结 15 第2 章 用深度学习解决回归问题 16 2.1 回归分析和深度神经网络 16 2.1.1 使用神经网络进行回归的好处 16 2.1.2 使用神经网络进行回归时需要注意的问题 17 2.2 使用深度神经网络进行回归 17 2.2.1 如何规划机器学习问题 17 2.2.2 定义示例问题 17 2.2.3 加载数据集 18 2.2.4 定义成本函数 19 2.3 在Keras 中建立MLP 19 2.3.1 输入层的构形 20 2.3.2 隐藏层的构形 20 2.3.3 输出层的构形 20 2.3.4 神经网络的架构 20 2.3.5 训练Keras 模型 21 2.3.6 评测模型的性能 22 2.4 在Keras 中建立深度神经网络 22 2.4.1 评测深度神经网络的性能 24 2.4.2 模型超参数的调优 25 2.5 保存并加载经过训练的Keras模型 25 2.6 小结 25 第3 章 用TensorBoard 监控网络训练 27 3.1 TensorBoard 的概述 27 3.2 设置TensorBoard 27 3.2.1 安装TensorBoard 28 3.2.2 TensorBoard 如何与Keras /TensorFlow 会话 28 3.2.3 运行TensorBoard 28 3.3 将Keras 连接到TensorBoard 29 3.3.1 Keras 回调简介 29 3.3.2 创建TensorBoard 回调函数 29 3.4 使用TensorBoard 31 3.4.1 网络训练的可视化 31 3.4.2 网络结构的可视化 32 3.4.3 网络破碎的可视化 32 3.5 小结 33 第4 章 用深度学习解决二元分类问题 34 4.1 二元分类和深度神经网络 34 4.1.1 深度神经网络的优点 34 4.1.2 深度神经网络的缺点 35 4.2 案例研究—癫痫发作识别 35 4.2.1 定义数据集 35 4.2.2 加载数据 35 4.2.3 模型的输入和输出 36 4.2.4 成本函数 36 4.2.5 性能评估所采用的度量指标 37 4.3 在Keras 中构建二元分类器 37 4.3.1 输入层 38 4.3.2 隐藏层 38 4.3.3 输出层 39 4.3.4 网络层的合并 39 4.3.5 训练模型 40 4.4 使用Keras 中的检查点回调函数 40 4.5 在自定义回调函数中测量ROC AUC 41 4.6 精度、召回率和f1 积分的测量 42 4.7 小结 43 第5 章 用Keras 解决多元分类问题 44 5.1 多元分类和深度神经网络 44 5.1.1 优势 44 5.1.2 缺点 45 5.2 案例研究—手写数字的分类 45 5.2.1 问题定义 45 5.2.2 模型的输入和输出 45 5.2.3 成本函数 46 5.2.4 度量 46 5.3 在Keras 中构建多元分类器 47 5.3.1 加载MNIST 47 5.3.2 输入层 47 5.3.3 隐藏层 47 5.3.4 输出层 48 5.3.5 网络的总体结构 49 5.3.6 训练 49 5.3.7 多类模型中scikit-learn 度量指标的应用 50 5.4 通过Dropout 进行方差控制 51 5.5 采用正则化进行方差控制 54 5.6 小结 55 第6 章 超参数的优化 56 6.1 网络体系结构应该被视为超参数吗? 56 6.1.1 站在巨人的肩膀上 56 6.1.2 添加至过度拟合,然后进行正则化 57 6.1.3 实用建议 57 6.2 应该优化哪些超参数? 57 6.3 超参数优化策略 58 6.3.1 常用的策略 58 6.3.2 通过scikit-learn 使用随机搜索 59 6.3.3 Hyperband 60 6.4 小结 62 第7 章 从头开始训练CNN 63 7.1 卷积的引入 63 7.1.1 卷积层的工作原理 64 7.1.2 卷积层的好处 65 7.1.3 汇集层 66 7.1.4 批量正则化 67 7.2 在Keras 中训练卷积神经网络 67 7.2.1 输入 67 7.2.2 输出 67 7.2.3 成本函数和度量指标 67 7.2.4 卷积层 68 7.2.5 全相连层 68 7.2.6 Keras 中的多GPU 模型 69 7.2.7 训练 69 7.3 使用数据扩增 70 7.3.1 Keras 中的图像数据扩增器(ImageDataGenerator 类) 71 7.3.2 具有数据扩增的训练 72 7.4 小结 72 第8 章 使用预训练CNN 进行 迁移学习 73 8.1 迁移学习概述 73 8.2 何 |