21个项目玩转深度学习:基于TensorFlow的实践详解

本书特色

[

《21个项目玩转深度学习——基于TensorFlow的实践详解》以实践为导向,深入介绍了深度学习技术和TensorFlow框架编程内容。通过本书,读者可以训练自己的图像识别模型、进行目标检测和人脸识别、完成一个风格迁移应用,还可以使用神经网络生成图像和文本,进行时间序列预测、搭建机器翻译引擎,训练机器玩游戏等。全书共包含21个项目,分为深度卷积网络、RNN网络、深度强化学习三部分。读者可以在自己动手实践的过程中找到学习的乐趣,了解算法和编程框架的细节,让学习深度学习算法和TensorFlow的过程变得轻松和高效。本书基于TensorFlow 1.4版本,并介绍了该版本中的一些新特性。

]

内容简介

[

1.本书以TensorFlow为工具,从基础的MNIST手写体识别开始,介绍了基础的卷积神经网络、循环神经网络,还包括正处于前沿的对抗生成网络、深度强化学习等课题,代码基于TensorFlow 1.4.0 及以上版本。

2.书中所有内容由21个可以动手实验的项目组织起来,并在其中穿插TensorFlow的教学,让你可以在实践中比较轻松地学习到深度学习领域的基础知识,掌握TensorFlow的使用方法,并积累丰富的深度学习实战经验。

3.通过本书,可以学到:

在动手实践中快速入门深度学习领域。

通过实验快速掌握TensorFlow的操作方法。

掌握卷积神经网络、循环神经网络、对抗生成网络和深度强化学习等深度学习积累丰富的深度学习实战项目,如图像分类、目标检测、人脸识别、图像生成、文本生成、序列分类、时间序列预测等。

学习TensorFlow的一些新特性,如TimeSeries模块、RNNCell等。

]

作者简介

[

何之源,知乎专栏AI Insight作者。针对Tensorflow早期学习案例不足的情况,在网上撰写了大量实践文章与TensorFlow教程,教程风格清晰易懂又不失深度,获得了广大读者的肯定。热爱编程,在人工智能和深度学习领域有丰富的实践经验。

]

目录

前言第1章 MNIST机器学习入门 11.1 MNIST数据集 21.1.1 简介 21.1.2 实验:将MNIST数据集保存为图片 51.1.3 图像标签的独热(one-hot)表示 61.2 利用TensorFlow识别MNIST 81.2.1 Softmax回归 81.2.2 两层卷积网络分类 141.3 总结 18 第2章 CIFAR-10与ImageNet图像识别 192.1 CIFAR-10数据集 202.1.1 CIFAR-10简介 202.1.2 下载CIFAR-10数据 212.1.3 TensorFlow的数据读取机制 232.1.4 实验:将CIFAR-10数据集保存为图片形式 302.2 利用TensorFlow训练CIFAR-10识别模型 342.2.1 数据增强(Data Augmentation) 342.2.2 CIFAR-10识别模型 362.2.3 训练模型 392.2.4 在TensorFlow中查看训练进度 392.2.5 测试模型效果 422.3 ImageNet图像识别模型 442.3.1 ImageNet数据集简介 442.3.2 历代ImageNet图像识别模型 452.4 总结 49 第3章 打造自己的图像识别模型 503.1 微调(Fine-tune)的原理 513.2 数据准备 523.3 使用TensorFlow Slim微调模型 563.3.1 下载TensorFlow Slim的源代码 563.3.2 定义新的datasets文件 573.3.3 准备训练文件夹 593.3.4 开始训练 603.3.5 训练程序行为 623.3.6 验证模型正确率 633.3.7 TensorBoard可视化与超参数选择 643.3.8 导出模型并对单张图片进行识别 653.4 总结 69 第4章 Deep Dream模型 704.1 Deep Dream的技术原理 714.2 TensorFlow中的Deep Dream模型实践 734.2.1 导入Inception模型 734.2.2 生成原始的Deep Dream图像 764.2.3 生成更大尺寸的Deep Dream图像 784.2.4 生成更高质量的Deep Dream图像 824.2.5 *终的Deep Dream模型 874.3 总结 90第5章 深度学习中的目标检测 915.1 深度学习中目标检测的原理 925.1.1 R-CNN的原理 925.1.2 SPPNet的原理 945.1.3 Fast R-CNN的原理 975.1.4 Faster R-CNN的原理 985.2 TensorFlow Object Detection API 1015.2.1 安装TensorFlow Object Detection API 1015.2.2 执行已经训练好的模型 1035.2.3 训练新的模型 1095.2.4 导出模型并预测单张图片 1135.3 总结 114 第6章 人脸检测和人脸识别 1156.1 MTCNN的原理 1166.2 使用深度卷积网络提取特征 1216.2.1 三元组损失(Triplet Loss)的定义 1236.2.2 中心损失(Center Loss)的定义 1236.3 使用特征设计应用 1256.4 在TensorFlow中实现人脸识别 1266.4.1 项目环境设置 1266.4.2 LFW人脸数据库 1276.4.3 LFW数据库上的人脸检测和对齐 1286.4.4 使用已有模型验证LFW数据库准确率 1296.4.5 在自己的数据上使用已有模型 1306.4.6 重新训练新模型 1336.4.7 三元组损失和中心损失的定义 1386.5 总结 140 第7章 图像风格迁移 1417.1 图像风格迁移的原理 1427.1.1 原始图像风格迁移的原理 1427.1.2 快速图像风格迁移的原理 1487.2 在TensorFlow中实现快速风格迁移 1497.2.1 使用预训练模型 1507.2.2 训练自己的模型 1537.2.3 在TensorBoard中监控训练情况 1547.2.4 项目实现细节 1577.3 总结 162 第8章 GAN和DCGAN入门 1638.1 GAN的原理 1648.2 DCGAN的原理 1668.3 在TensorFlow中用DCGAN生成图像 1698.3.1 生成MNIST图像 1708.3.2 使用自己的数据集训练 1718.3.3 程序结构分析:如何将图像读入模型 1738.3.4 程序结构分析:可视化方法 1778.4 总结 180 第9章 pix2pix模型与自动上色技术 1819.1 cGAN的原理 1829.2 pix2pix模型的原理 1849.3 TensorFlow中的pix2pix模型 1879.3.1 执行已有的数据集 1879.3.2 创建自己的数据集 1919.4 使用TensorFlow为灰度图像自动上色 1949.4.1 为食物图片上色 1949.4.2 为动漫图片进行上色 1969.5 总结 198 第10章 超分辨率:如何让图像变得更清晰 19910.1 数据预处理与训练 20010.1.1 去除错误图片 20010.1.2 将图像裁剪到统一大小 20210.1.3 为代码添加新的操作 20210.2 总结 209 第11章 CycleGAN与非配对图像转换 21011.1 CycleGAN的原理 21111.2 在TensorFlow中用训练CycleGAN模型 21311.2.1 下载数据集并训练 21311.2.2 使用自己的数据进行训练 21711.3 程序结构分析 22011.4 总结 224 第12章 RNN基本结构与Char RNN文本生成 22512.1 RNN的原理 22612.1.1 经典RNN的结构 22612.1.2 N VS 1 RNN的结构 22912.1.3 1 VS N RNN的结构 23012.2 LSTM的原理 23112.3 Char RNN的原理 23512.4 TensorFlow中的RNN实现方式 23712.4.1 实现RNN的基本单元:RNNCell 23812.4.2 对RNN进行堆叠:MultiRNNCell 23912.4.3 注意点:BasicRNNCell和BasicLSTMCell的output 24012.4.4 使用tf.nn.dynamic_rnn展开时间维度 24112.5 使用TensorFlow实现Char RNN 24212.5.1 定义输入数据 24312.5.2 定义多层LSTM模型 24412.5.3 定义损失 24512.5.4 训练模型与生成文字 24612.5.5 更多参数说明 25012.5.6 运行自己的数据 25012.6 总结 251 第13章 序列分类问题详解 25213.1 N VS 1的RNN结构 25313.2 数列分类问题与数据生成 25413.3 在TensorFlow中定义RNN分类模型 25813.3.1 定义模型前的准备工作 25813.3.2 定义RNN分类模型 25913.3.3 定义损失并进行训练 26113.4 模型的推广 26213.5 总结 263 第14章 词的向量表示:word2vec与词嵌入 26414.1 为什么需要做词嵌入 26514.2 词嵌入的原理 26614.2.1 CBOW实现词嵌入的原理 26614.2.2 Skip-Gram实现词嵌入的原理 26914.3 在TensorFlow中实现词嵌入 27014.3.1 下载数据集 27014.3.2 制作词表 27214.3.3 生成每步的训练样本 27414.3.4 定义模型 27614.3.5 执行训练 27914.3.6 可视化 28114.4 与第12章的对比 28414.5 总结 285 第15章 在TensorFlow中进行时间序列预测 28615.1 时间序列问题的一般形式 28715.2 用TFTS读入时间序列数据 28715.2.1 从Numpy数组中读入时间序列数据 28815.2.2 从CSV文件中读入时间序列数据 29115.3 使用AR模型预测时间序列 29315.3.1 AR模型的训练 29315.3.2 AR模型的验证和预测 29515.4 使用LSTM模型预测时间序列 29715.4.1 LSTM模型中的单变量时间序列预测 29715.4.2 LSTM模型中的多变量时间序列预测 29915.5 总结 301 第16章 神经网络机器翻译技术 30216.1 Encoder-Decoder模型的原理 30316.2 注意力机制(Attention) 30516.3 使用TensorFlow NMT搭建神经网络翻译引擎 30916.3.1 示例:将越南语翻译为英语 30916.3.2 构建中英翻译引擎 31316.4 TensorFlow NMT源码简介 31716.5 总结 319 第17章 看图说话:将图像转换为文字 32017.1 Image Caption技术综述 32117.1.1 从Encoder-Decoder结构谈起 32117.1.2 将Encoder-Decoder应用到Image Caption任务上 32217.1.3 对Encoder-Decoder的改进1:加入Attention机制 32317.1.4 对Encoder-Decoder的改进2:加入高层语义 32517.2 在TensorFlow中实现Image Caption 32717.2.1 下载代码 32717.2.2 环境准备 32817.2.2 编译和数据准备 32817.2.3 训练和验证 33017.2.4 测试单张图片 33117.3 总结 332 第18章 强化学习入门之Q 33318.1 强化学习中的几个重要概念 33418.2 Q Learning的原理与实验 33618.2.1 环境定义 33618.2.2 Q函数 33818.2.3 Q函数的学习策略 33918.2.4 ?-greedy策略 34118.2.5 简单的Q Learning示例 34118.2.6 更复杂的情况 34218.3 总结 343 第19章 强化学习入门之SARSA算法 34419.1 SARSA 算法的原理 34519.1.1 通过与Q Learning对比学习SARSA算法 34519.1.2 off-policy与on-policy 34619.2 SARSA 算法的实现 34719.3 总结 348 第20章 深度强化学习:Deep Q Learning 34920.1 DQN算法的原理 35020.1.1 问题简介 35020.1.2 Deep Q Network 35120.1.3 训练方法 35220.2 在TensorFlow中运行DQN算法 35320.2.1 安装依赖库 35320.2.2 训练 35520.2.3 测试 35620.3 在TensorFlow中DQN算法的实现分析 35720.4 总结 360 第21章 策略梯度(Policy Gradient)算法 36121.1 策略梯度(Policy Gradient)算法的原理 36221.1.1 Cartpole游戏 36221.1.2 策略网络(Policy Network) 36321.1.3 训练策略网络 36421.2 在TensorFlow中实现策略梯度 算法 36521.2.1 初始化 36521.2.2 定义策略网络 36621.2.3 训练 36721.3 总结 371

封面

1个项目玩转深度学习:基于TensorFlow的实践详解"

书名:21个项目玩转深度学习:基于TensorFlow的实践详解

作者:何之源、 何之源 编著

页数:372

定价:¥79.0

出版社:电子工业出版社

出版日期:2018-03-01

ISBN:9787121335716

PDF电子书大小:49MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注