TensorFlow实用案例详解
  • 推荐0
  • 收藏1
  • 浏览814

TensorFlow实用案例详解

程世东 (作者)  葛娜 (责任编辑)

  • 书  号:978-7-121-36499-0
  • 出版日期:2019-07-25
  • 页  数:484
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:郑柳洁
纸质版 ¥128.00
本书通过案例讲解如何使用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 和超级马里奥、人脸生成。
10大人工智能场景,基于TF 1.x与TF 2.0代码实现,以案例巩固基础知识,轻松玩转深度学习与TensorFlow! 图像分类|彩票预测|古诗生成|个性化推荐|广告点击率预估|人脸识别 |AlphaZero/GO|汉字OCR|超级马里奥|人脸生成
前言
在过去的几年中,人工智能和深度学习是一个不断被提及的话题,最令大众熟知的恐怕就是AlphaGo与柯洁、李世乭的围棋大战了。而最近,人工智能OpenAI Five 在DOTA 2 的比赛中击败了世界冠军OG,人工智能的发展总会给人带来惊喜。除了上述“大事件”,人工智能和深度学习早就深入我们的生活当中,比如无人驾驶汽车、人脸识别,或者订外卖时App 给我们做的推荐。
在经历了互联网、移动互联网的浪潮之后,可以说现在我们已经步入了人工智能的时代。我第一次接触机器学习和深度学习时就被深深地吸引了,感觉自己就像一块海绵被投入到大海里,看书、看视频、看源码,学习新的知识使我感到非常兴奋。相信此刻的你也跟当年学习的我的状态是一样的吧,本书将我对深度学习的理解、从开源社区学到的知识分享给大家,希望能为你的学习提供一些帮助。
本书以案例的形式,讲解各种深度学习理论和相应场景的实践,包含TensorFlow 1.x 和TensorFlow2.0 的代码实现。全书共分10 章。第1章讲解了卷积神经网络理论知识,第2 章讲解了如何进行CIFAR-100 图像分类实践。第3 章介绍了循环神经网络(RNN 和LSTM),以及在彩票预测和古诗生成上的实践。在第3章的最后,介绍了Seq2Seq、Transformer 和BERT 模型。第4章以电影推荐系统为例,分享了推荐系统的实现。第5章介绍了广告点击率预测。第6章讲解了人脸识别的实践,包含使用OpenCV、dlib 和MTCNN 进行人脸检测,使用dlib、FaceNet 和VGG16等方式提取人脸特征,然后讨论了比较人脸特征的几种方式。最后,使用上述技术实现了一个在视频中找人的应用。第7 章分析了AlphaGo 和AlphaZero 的论文原文,讲解了蒙特卡罗树搜索(MCTS)和神经网络的结构,并且通过实现中国象棋复现了AlphaZero。第8章介绍了OCR 在汉字识别上的应用,并且讲解了BiLSTM 的多种类型,最后实现了一个端到端的汉字识别网络。第9章介绍了DQN 算法,用于玩Flappy Bird。然后介绍了OpenAI Baselines 和Gym 的用法,并用于玩“超级马里奥”。最后介绍了OpenAI 提出的具有好奇心的强化学习算法。第10章讲解了生成对抗网络(GAN)及衍生的变种DCGAN、WGAN 和WGAN-GP 算法,用于人脸生成的实
践。最后介绍了PG-GAN 和TL-GAN 的理论。
限于篇幅,以及作者能力有限,书中难免有错漏之处,本书仅仅是将作者掌握的知识做了总结与分享。当然,这些知识不属于我个人,首先要感谢那些工作在人工智能第一线的科学家们,是他们将研究成果公布出来,让大家可以阅读论文和博客。更要感谢开源社区的贡献者们,使我们可以阅读源码参考学习。还要感谢同样喜欢技术分享的人们,我所能做的跟他们一样,就是将分享的“火炬”继续传递下去。书中在引用时都会给出引用的出处,在这里一并表示感谢。
写作本书的过程,是对自己所学知识的一次梳理,回过头来重新审视自己对某些知识的理解,又是一次成长。同时,写作的过程又是孤独的、寂寞的,有时觉得自己就像在山洞里练剑一样。感谢我的妻子对我的理解和支持,在写作期间,她在国内带着孩子,听从了我“在交稿前不要来打扰”的安排。最要感谢的是我的妈妈,是她培养了我学习与钻研的习惯。最后还要感谢电子工业出版社的郑柳洁和葛娜老师,她们对本书的出版和编辑提供了很多专业性的指导和帮助,没有她们的付出,本书无法与大家见面。
希望本书的内容能够为你提供帮助,权当抛砖引玉,为你的深度学习知识打下基础。
程世东
2019 年4 月于日本

目录

目录
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

本书勘误

印次
  • 页码:1  •  行数:1  •  印次: 1

    没有源码,书的名字也不对,id本来是36499,变成5713了

    旅行的目光 提交于 2020/1/2 17:44:25
    郑柳洁 确认于 2020/1/6 10:22:12

读者评论

  • 源码地址要到书里面找,作者都放在GitHub上的

    milusheep发表于 2020/4/8 10:14:05
  • 源代码没有,名字也不对哎

    旅行的目光发表于 2019/12/18 19:18:10