ISBN/ISSN:978-7-121-36499-0
出版:北京 :电子工业出版社 ,2019
载体形态:10,473页 :图,照片 ;24cm
简介:本书通过案例讲解如何使用TensorFlow解决深度学习的实际任务,每章都包含TensorFlow 1.x和2.0的代码实现。全书共分10章,主要讲解卷积神经网络、LSTM、Seq2Seq、Transformer、BERT、文本卷积、GBDT、FM、FFM、Dlib、MTCNN、VGG、AlphaGo /AlphaZero、BiLSTM、DQN、Gym、GAN等技术,包含的项目有CIFAR-100图像分类、彩票预测、古诗生成、推荐系统、广告点击率预测、人脸识别、中国象棋、汉字OCR、FlappyBird和超级马里奥、人脸生成。
其他题名:跟着案例学TensorFlow
中图分类号:TP18
责任者:程世东 编著 冯璇 译
豆瓣内容简介:
本书通过案例讲解如何使用TensorFlow 解决深度学习的实际任务,每章都包含TensorFlow 1.x和 2.0的代码实现。全书共分 10 章,主要讲解卷积神经网络、LSTM、Seq2Seq、Transformer、BERT、文本卷积、GBDT、FM、FFM、Dlib、MTCNN、VGG、AlphaGo/AlphaZero、BiLSTM、DQN、Gym、GAN等技术,包含的项目有CIFAR-100 图像分类、彩票预测、古诗生成、推荐系统、广告点击率预测、人脸识别、中国象棋、汉字OCR、FlappyBird和超级马里奥、人脸生成。
本书假设读者具有适当的 Python 编程基础和深度学习基础(比如梯度下降、反向传播等知识)。全书以案例的方式讲解涉及的知识,包括理论、算法和解决思路,适合相关专业的大学生或研究生,以及对深度学习感兴趣的读者参考阅读。
豆瓣作者简介:
目录:
1 卷积神经网络与环境搭建 1
1.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 卷积神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 卷积层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 修正线性单元 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3 池化层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.4 全连接层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.5 softmax 层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.6 LeNet-5 网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 准备开发环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.1 Anaconda 环境搭建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.2 安装 TensorFlow 1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.3 FloydHub 使用介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.4 AWS 使用介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4 本章小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2 卷积神经网络实践:图像分类 27
2.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 卷积神经网络项目实践:基于 TensorFlow 1.x . . . . . . . . . . . . . . . . . . . . . 27
2.2.1 数据预处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.2 网络模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.3 训练网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.3 卷积神经网络项目实践:基于 TensorFlow 2.0 . . . . . . . . . . . . . . . . . . . . . 41
2.3.1 TensorFlow 2.0 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3.2 CIFAR-100 分类网络的 TensorFlow 2.0 实现 . . . . . . . . . . . . . . . . . . 44
2.4 本章小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3 彩票预测和生成古诗 61
3.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2 RNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.3 LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.4 嵌入矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.5 实现彩票预测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.5.1 数据预处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.5.2 构建神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.5.3 训练神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.5.4 分析网络训练情况 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.5.5 生成预测号码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.6 文本生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.7 生成古诗:基于 TensorFlow 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3.7.1 数据预处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3.7.2 构建网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.7.3 开始训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.7.4 生成古诗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.8 自然语言处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.8.1 序列到序列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.8.2 Transformer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.8.3 BERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.9 本章小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
4 个性化推荐系统 119
4.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
4.2 MovieLens 1M 数据集分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.2.1 下载数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.2.2 用户数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.2.3 电影数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.2.4 评分数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.3 数据预处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.3.1 代码实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.3.2 加载数据并保存到本地 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.3.3 从本地读取数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.4 神经网络模型设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.5 文本卷积神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.6 实现电影推荐:基于 TensorFlow 1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.6.1 构建计算图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.6.2 训练网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.6.3 实现个性化推荐 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
4.7 实现电影推荐:基于 TensorFlow 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
4.7.1 构建模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
4.7.2 训练网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.7.3 实现个性化推荐 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.8 本章小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
5 广告点击率预估:Kaggle 实战 170
5.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
5.2 下载数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
5.3 数据字段的含义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
5.4 点击率预估的实现思路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
5.4.1 梯度提升决策树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
5.4.2 因子分解机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
5.4.3 场感知分解机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
5.4.4 网络模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
5.5 数据预处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
5.5.1 GBDT 的输入数据处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
5.5.2 FFM 的输入数据处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
5.5.3 DNN 的输入数据处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
5.5.4 数据预处理的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
5.6 训练 FFM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
5.7 训练 GBDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
5.8 用 LightGBM 的输出生成 FM 数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
5.9 训练 FM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
5.10 实现点击率预估:基于 TensorFlow 1.x . . . . . . . . . . . . . . . . . . . . . . . . . 218
5.10.1 构建神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
5.10.2 训练网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
5.10.3 点击率预估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
5.11 实现点击率预估:基于 TensorFlow 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . 237
5.12 本章小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
6 人脸识别 246
6.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
6.2 人脸检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
6.2.1 OpenCV 人脸检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
6.2.2 dlib 人脸检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
6.2.3 MTCNN 人脸检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
6.3 提取人脸特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
6.3.1 使用 FaceNet 提取人脸特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
6.3.2 使用 VGG 网络提取人脸特征 . . . . . . . . . . . . . . . . . . . . . . . . . . 265
6.3.3 使用 dlib 提取人脸特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
6.4 人脸特征的比较 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
6.5 从视频中找人的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
6.6 视频找人的案例实践 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
6.7 人脸识别:基于 TensorFlow 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
6.8 本章小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
7 AlphaZero / AlphaGo 实践:中国象棋 304
7.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
7.2 论文解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
7.2.1 蒙特卡罗树搜索算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
7.2.2 神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
7.2.3 AlphaZero 论文解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
7.3 实现中国象棋:基于 TensorFlow 1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
7.3.1 中国象棋着法表示和 FEN 格式 . . . . . . . . . . . . . . . . . . . . . . . . . 317
7.3.2 输入特征的设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
7.3.3 实现神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
7.3.4 神经网络训练和预测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
7.3.5 通过自我对弈训练神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
7.3.6 自我对弈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
7.3.7 实现蒙特卡罗树搜索:异步方式 . . . . . . . . . . . . . . . . . . . . . . . . 340
7.3.8 训练和运行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
7.4 实现中国象棋:基于 TensorFlow 2.0,多 GPU 版 . . . . . . . . . . . . . . . . . . . 354
7.5 本章小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
8 汉字 OCR 365
8.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
8.2 分类网络实现汉字 OCR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
8.2.1 图片矫正 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
8.2.2 文本切割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
8.2.3 汉字分类网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
8.3 端到端的汉字 OCR:基于 TensorFlow 1.x . . . . . . . . . . . . . . . . . . . . . . . . 371
8.3.1 CNN 设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
8.3.2 双向 LSTM 设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
8.3.3 CTC 损失 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
8.3.4 端到端汉字 OCR 的网络训练 . . . . . . . . . . . . . . . . . . . . . . . . . . 388
8.4 汉字 OCR:基于 TensorFlow 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
8.4.1 CNN 的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
8.4.2 双向 LSTM 的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
8.4.3 OCR 网络的训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
8.5 本章小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
9 强化学习:玩转 Flappy Bird 和超级马里奥 407
9.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
9.2 DQN 算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
9.3 实现 DQN 玩 Flappy Bird:基于 TensorFlow 1.x . . . . . . . . . . . . . . . . . . . . 412
9.4 实现 DQN 玩 Flappy Bird:基于 TensorFlow 2.0 . . . . . . . . . . . . . . . . . . . . 417
9.5 使用 OpenAI Baselines 玩超级马里奥 . . . . . . . . . . . . . . . . . . . . . . . . . . 424
9.5.1 Gym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
9.5.2 自定义 Gym 环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
9.5.3 使用 Baselines 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
9.5.4 使用训练好的智能体玩游戏 . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
9.5.5 开始训练马里奥游戏智能体 . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
9.6 具有好奇心的强化学习算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
9.7 本章小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
10 生成对抗网络实践:人脸生成 445
10.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
10.2 GAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
10.3 DCGAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
10.3.1 生成器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
10.3.2 判别器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
10.4 WGAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
10.5 WGAN-GP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
10.5.1 WGAN-GP 算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
10.5.2 训练 WGAN-GP 生成人脸:基于 TensorFlow 1.x . . . . . . . . . . . . . . . . 452
10.5.3 训练 WGAN-GP 生成人脸:基于 TensorFlow 2.0 . . . . . . . . . . . . . . . . 462
10.6 PG-GAN 和 TL-GAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
10.7 本章小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
分馆名 | 馆藏部门 | 图书条码 | 索书号 | 登录号 | 卷期 | 状态 | 异地预借 |
A | (5楼)科技图书阅览室 | A0487463 | TP18/643 | A0487463 | 在架可借 | 异地预借 |
序号 | 图书条码 | 索书号 | 登录号 | 藏书部门 | 流通状态 | 年卷期 | 装订册 | 装订方式 | 装订颜色 |
类型 | 说明 | URL |
评 论 |
北京创讯未来软件技术有限公司 版权所有 ALL RIGHTS RESERVED 京ICP备 09032139
欢迎第2815683位用户访问本系统