TensorFlow深度学习算法原理与编程实战
出版时间: 2019
内容简介
TensorFlow是谷歌研发的人工智能学习系统,是一个用于数值计算的开源软件库。《TensorFlow深度学习算法原理与编程实战》以基础+实践相结合的形式,详细介绍了TensorFlow深度学习算法原理及编程技巧。通读全书,读者不仅可以系统了解深度学习的相关知识,还能对使用TensorFlow进行深度学习算法设计的过程有更深入的理解。 《TensorFlow深度学习算法原理与编程实战》共14章,主要内容有:人工智能、大数据、机器学习和深度学习概述;深度学习及TensorFlow框架的相关背景;TensorFlow的安装;TensorFlow编程策略;深度前馈神经网络;优化网络的方法;全连神经网络的经典实践;卷积神经网络的基础知识;经典卷积神经网络的TensorFlow实现;循环神经网络及其应用;深度强化学习概述;TensorFlow读取数据的API;TensorFlow持久化模型的API;可视化工具TensorBoard的使用;TensorFlow使用多GPU或并行的方式加速计算等。 《TensorFlow深度学习算法原理与编程实战》内容通俗易懂,案例丰富,实用性强,特别适合对人工智能、深度学习感兴趣的的相关从业人员阅读,也适合没有相关基础但是对该方面研究充满兴趣的爱好者阅读。
目录
第一部分探索深度学习之方式的开始
第1章开篇
1.1人工智能的发展
1.1.1萌芽
1.1.2复苏
1.1.3现代实践:大数据+深度神经网络模型
1.2大数据
1.3机器学习与深度学习
1.3.1机器学习
1.3.2深度学习
1.3.3同人工智能的关系
1.4人工神经网络与TensorFlow
1.4.1人工神经网络
1.4.2TensorFlow
1.5其他主流深度学习框架介绍
1.5.1Caffe
1.5.2Torch
1.5.3Theano
1.5.4MXNet
1.5.5Keras
1.6机器学习的常见任务
1.6.1分类
1.6.2回归
1.6.3去噪
1.6.4转录
1.6.5机器翻译
1.6.6异常检测
1.6.7结构化输出
1.7深度学习的现代应用
1.7.1计算机视觉
1.7.2自然语言处理
1.7.3语音识别
第2章安装TensorFlow
2.1安装前的须知
2.1.1检查硬件是否达标
2.1.2推荐选用GPU进行训练
2.1.3为什么选择Linux系统
2.1.4为什么选择Python语言
2.2安装Anaconda
2.3TensorFlow的两个主要依赖包
2.3.1Protocol Buffer
2.3.2Bazel
2.4安装CUDA和cuDNN
2.4.1CUDA
2.4.2cuDNN
2.5正式安装TensorFlow
2.5.1使用pip安装
2.5.2从源代码编译并安装
2.6测试你的TensorFlow
2.6.1运行向量相加的例子
2.6.2加载过程存在的一些问题
2.7推荐使用IDE
第3章TensorFlow编程策略
3.1初识计算图与张量
3.2计算图——TensorFlow的计算模型
3.3张量——TensorFlow的数据模型
3.3.1概念
3.3.2使用张量
3.4会话——TensorFlow的运行模型
3.4.1TensorFlow系统结构概述
3.4.2简单使用会话
3.4.3使用with/as环境上下文管理器
3.4.4Session的参数配置
3.4.5placeholder机制
3.5TensorFlow变量
3.5.1创建变量
3.5.2变量与张量
3.6管理变量的变量空间
3.6.1get_variable()函数
3.6.2variable_scope()与name_scope()
第二部分TensorFlow实现深度网络
第4章深度前馈神经网络
4.1网络的前馈方式
4.2全连接
4.2.1神经元与全连接结构
4.2.2前向传播算法
4.3线性模型的局限性
4.4激活函数
4.4.1常用激活函数
4.4.2激活函数实现去线性化
4.5多层网络解决异或运算
4.6损失函数
4.6.1经典损失函数
4.6.2自定义损失函数
第5章优化网络的方法
5.1基于梯度的优化
5.1.1梯度下降算法
5.1.2随机梯度下降
5.2反向传播
5.2.1简要解释反向传播算法
5.2.2自适应学习率算法
5.2.3TensorFlow提供的优化器
5.3学习率的独立设置
5.3.1指数衰减的学习率
5.3.2其他优化学习率的方法
5.4拟合
5.4.1过拟合和欠拟合
5.4.2正则化的方法
5.4.3Bagging方法
5.4.4Dropout方法
第6章全连神经网络的经典实践
6.1MNIST数据集
6.2网络的设计
6.3超参数和验证集
6.4与简单模型的对比
第7章卷积神经网络
7.1准备性的认识
7.1.1图像识别与经典数据集
7.1.2卷积网络的神经科学基础
7.1.3卷积神经网络的历史
7.2卷积
7.2.1卷积运算
7.2.2卷积运算的稀疏连接
7.2.3卷积运算的参数共享
7.2.4卷积运算的平移等变
7.2.5多卷积核
7.2.6卷积层的代码实现
7.3池化
7.3.1池化过程
7.3.2常用池化函数
7.3.3池化层的代码实现
7.4实现卷积神经网络的简例
7.4.1卷积神经网络的一般框架
7.4.2用简单卷积神经网络实现Cifar-10数据集分类
7.5图像数据处理
7.5.1图像编解码处理
7.5.2翻转图像
7.5.3图像色彩调整
7.5.4图像太阳城
化处理
7.5.5调整图像大小
7.5.6图像的标注框
第8章经典卷积神经网络
8.1LeNet-5卷积网络模型
8.1.1模型结构
8.1.2TensorFlow实现
8.2AlexNet卷积网络模型
8.2.1模型结构
8.2.2TensorFlow实现
8.3VGGNet卷积网络模型
8.3.1模型结构
8.3.2TensorFlow实现
8.4InceptionNet-V3卷积网络模型
8.4.1模型结构
8.4.2Inception V3 Module的实现
8.4.3使用Inception V3完成模型迁移
8.5ResNet卷积网络模型
8.5.1模型结构
8.5.2TensorFlow实现
第9章循环神经网络
9.1循环神经网络简介
9.1.1循环神经网络的前向传播程序设计
9.1.2计算循环神经网络的梯度
9.1.3循环神经网络的不同设计模式
9.2自然语言建模与词向量
9.2.1统计学语言模型
9.2.2Word2Vec
9.2.3用TensorFlow实现Word2Vec
9.3LSTM实现自然语言建模
9.3.1长短时记忆网络(LSTM)
9.3.2LSTM在自然语言建模中的应用
9.3.3循环神经网络的Dropout
9.4循环神经网络的变种
9.4.1双向循环神经网络
9.4.2深层循环神经网络
第10章深度强化学习
10.1理解基本概念
10.2深度强化学习的思路
10.3典型应用场景举例
10.3.1场景1:机械臂自控
10.3.2场景2:自动游戏系统
10.3.3场景3:自动驾驶
10.3.4场景4:智能围棋系统
10.4Q学习与深度Q网络
10.4.1Q学习与深度Q学习
10.4.2深度Q网络
第三部分TensorFlow的使用进阶
第11章数据读取
11.1文件格式
11.1.1TFRecord格式
11.1.2CSV格式
11.2队列
11.2.1数据队列
11.2.2文件队列
11.3使用多线程处理输入的数据
11.3.1使用Coordinator类管理线程
11.3.2使用QueueRunner创建线程
11.4组织数据batch
第12章模型持久化
12.1通过代码实现
12.2模型持久化的原理
12.2.1model.ckpt.mate文件
12.2.2从.index与.data文件读取变量的值
12.3持久化的MNIST手写字识别
12.4PB文件
第13章TensorBoard可视化
13.1TensorBoard简要介绍
13.2MNIST手写字识别的可视化
13.2.1实现的过程
13.2.2标量数据可视化结果
13.2.3图像数据可视化结果
13.2.4计算图可视化结果
13.3其他监控指标可视化
第14章加速计算
14.1TensorFlow支持的设备
14.2TensorFlow单机实现
14.2.1查看执行运算的设备
14.2.2device()函数的使用
14.3并行训练的原理
14.3.1数据并行
14.3.2模型并行
14.4单机多GPU加速TensorFlow程序
14.4.1实现的过程
14.4.2多GPU并行的可视化
14.5分布式TensorFlow概述