《Keras快速上手:基于Python的深度学习实战》系统地讲解了深度学习的基本知识、建模过程和应用,并以深度学习在推荐系统、图像识别、自然语言处理、文字生成和时间序列中的具体应用为案例,详细介绍了从工具准备、数据获取和处理到针对问题进行建模的整个过程和实践经验,是一本非常好的深度学习入门书。
不同于许多讲解深度学习的书籍,《Keras快速上手:基于Python的深度学习实战》以实用为导向,选择了 Keras 作为编程框架,强调简单、快速地设计模型,而不去纠缠底层代码,使得内容相当易于理解,读者可以在 CNTK、 TensorFlow 和 Theano 的后台之间随意切换,非常灵活。并且本书能帮助读者从高度抽象的角度去审视业务问题,达到事半功倍的效果。
目录 · · · · · ·
1 准备深度学习的环境 1
1.1 硬件环境的搭建和配置选择 1
1.1.1 通用图形处理单元 3
1.1.2 你需要什么样的 GPU 加速卡 6
1.1.3 你的 GPU 需要多少内存 6
1.1.4 是否应该用多个 GPU 10
1.2 安装软件环境 12
1.2.1 所需软件列表 12
1.2.2 CUDA 的安装 13
1.2.3 Python 计算环境的安装 13
1.2.4 深度学习建模环境介绍 15
1.2.5 安装 CNTK 及对应的 Keras 17
1.2.6 安装 Theano 计算环境 23
1.2.7 安装 TensorFlow 计算环境 25
1.2.8 安装 cuDNN 和 CNMeM 27
2 数据收集与处理 28
2.1 网络爬虫 28
2.1.1 网络爬虫技术 29
2.1.2 构造自己的 Scrapy 爬虫 30
2.1.3 构造可接受参数的 Scrapy 爬虫 35
2.1.4 运行 Scrapy 爬虫 36
2.1.5 运行 Scrapy 爬虫的一些要点 38
2.2 大规模非结构化数据的存储和分析 40
2.2.1 ElasticSearch 介绍 42
2.2.2 ElasticSearch 应用实例 44
3 深度学习简介 57
3.1 概述 57
3.2 深度学习的统计学入门 58
3.3 一些基本概念的解释 61
3.3.1 深度学习中的函数类型 62
3.3.2 深度学习中的其他常见概念 65
3.4 梯度递减算法 67
3.5 后向传播算法 70
4 Keras 入门 72
4.1 Keras 简介 72
4.2 Keras 中的数据处理 73
4.2.1 文字预处理 74
4.2.2 序列数据预处理 82
4.2.3 图片数据输入 83
4.3 Keras 中的模型 83
4.4 Keras 中的重要对象 86
4.5 Keras 中的网络层构造 90
4.6 使用 Keras 进行奇异值矩阵分解 102
5 推荐系统 105
5.1 推荐系统简介 105
5.2 矩阵分解模型 108
5.3 深度神经网络模型 114
5.4 其他常用算法 117
5.5 评判模型指标 119
6 图像识别 121
6.1 图像识别入门 121
6.2 卷积神经网络的介绍 122
6.3 端到端的 MNIST 训练数字识别 127
6.4 利用 VGG16 网络进行字体识别 131
6.5 总结 135
7 自然语言情感分析 136
7.1 自然语言情感分析简介 136
7.2 文字情感分析建模 139
7.2.1 词嵌入技术 139
7.2.2 多层全连接神经网络训练情感分析 140
7.2.3 卷积神经网络训练情感分析 143
7.2.4 循环神经网络训练情感分析 144
7.3 总结 146
8 文字生成 147
8.1 文字生成和聊天机器人 147
8.2 基于检索的对话系统 148
8.3 基于深度学习的检索式对话系统 159
8.3.1 对话数据的构造 159
8.3.2 构造深度学习索引模型 162
8.4 基于文字生成的对话系统 166
8.5 总结 172
9 时间序列 173
9.1 时间序列简介 173
9.2 基本概念 174
9.3 时间序列模型预测准确度的衡量 178
9.4 时间序列数据示例 179
9.5 简要回顾 ARIMA 时间序列模型 181
9.6 循环神经网络与时间序列模型 186
9.7 应用案例 188
9.7.1 长江汉口月度流量时间序列模型 190
9.7.2 国际航空月度乘客数时间序列模型 203
9.8 总结 209
10 智能物联网 210
10.1 Azure 和 IoT 210
10.2 Azure IoT Hub 服务 213
10.3 使用 IoT Hub 管理设备概述 215
10.4 使用.NET 将模拟设备连接到 IoT 中心 218
10.5 机器学习应用实例 237