深度学习程序设计实战 / 新基建核心技术与融合应用丛书,中国通信学会5G+行业应用培训指导用书
定价:¥69.80
作者: 方林,陈海波
出版时间:2021-03-08
出版社:机械工业出版社
“十四五”国家重点出版物出版规划项目
试读- 机械工业出版社
- 9787111673590
- 1-2
- 16开
- 2021-03-08
- 416
内容简介
本书以Python语言和Tensorflow为工具,由浅入深地讲述了深度学习程序设计的基本原理、算法和思考问题的方法,内容包括自顶向下的程序设计、递归程序设计、面向对象的程序设计、反向传播算法、三层神经网络、卷积神经网络、循环神经网络、生成式对抗网络和目标检测等。本书重在研究代码背后深刻的计算机理论和数学原理,试图说明代码是对理论和思想的实现手段,而不是目的。学以致用是本书的宗旨,提高读者编程水平和动手能力是本书的目的。本书通过大量有趣的实例,说明了理论对深度学习程序设计实践的指导意义。
目录
序
前言
第1 章 程序设计方法.00
1.1 自顶向下的程序设计.00
1.1.1 问题分解和自顶向下的程序设计方法.00
1.1.2 五猴分桃问题.00
1.1.3 猜姓氏问题.00
1.1.4 囚犯问题.00
1.1.5 扑克牌问题.0
1.2 递归程序设计.0
1.2.1 河内塔问题.0
1.2.2 兔子问题.0
1.2.3 字符串匹配问题.0
1.2.4 组合问题.0
1.2.5 人字形铁路问题.0
1.3 面向对象的程序设计.0
1.3.1 方法重定义和分数.0
1.3.2 二十四点问题.0
1.4 结束语.0
第2 章 反向传播算法.0
2.1 导数和导数的应用.0
2.1.1 导数.0
2.1.2 梯度下降法求函数的最小值.0
2.1.3 牛顿法求平方根.0
2.1.4 复合函数和链式法则.0
2.1.5 多元函数和全微分方程.0
2.1.6 反向传播算法.0
2.1.7 梯度.0
2.1.8 分段求导.0
2.2 自动求导和人工智能框架.0
2.2.1 表达式和自动求偏导.0
2.2.2 表达式求值.0
2.2.3 求解任意方程.0
2.2.4 求解任意方程组.0
2.2.5 求解任意函数的极小值.0
2.2.6 张量、计算图和人工智能框架.0
2.3 结束语.0
第3 章 神经元网络初步.0
3.1 Tensorflow基本概念.0
3.1.1 计算图、张量、常数和变量.0
3.1.2 会话、运行.0
3.1.3 占位符.0
3.1.4 矩阵算术运算.0
3.1.5 矩阵运算的广播.0
3.1.6 TF矩阵运算.0
3.1.7 形状和操作.0
3.1.8 关系运算和逻辑运算.0
3.2 优化器和计算图.0
3.2.1 梯度和优化器.0
3.2.2 求解平方根.0
3.2.3 计算图.0
3.3 三层神经网络.0
3.3.1 神经元网络训练算法.0
3.3.2 线性变换和激活函数.0
3.3.3 矩阵乘法和全连接.0
3.3.4 激活函数.0
3.3.5 全连接和Relu的梯度.0
3.3.6 求正弦.0
3.3.7 BGD、SGD和MBGD.0
3.3.8 三层神经网络模型.0
3.4 用三层神经网络拟合任意一个函数.0
3.4.1 三层神经网络拟合一元函数.0
3.4.2 样本、训练和预测.0
3.4.3 中间层神经元个数和样本数量之间
的关系.0
3.4.4 自变量越界会发生什么.0
3.4.5 同时拟合cos(x)、sin(x).0
3.4.6 拟合多元函数.0
3.4.7 过拟合.0
3.5 手写数字识别.0
3.5.1 手写数字样本集合MNIST.0
3.5.2 独热向量.0
3.5.3 3种损失函数.0
3.5.4 softmax函数.0
3.5.5 保存和恢复模型.0
3.5.6 验证模型.0
3.5.7 测试和使用模型.0
3.6 结束语.0
第4 章 卷积神经网络.0
4.1 卷积.0
4.1.1 一维卷积.0
4.1.2 二维卷积.
4.1.3 通道.
4.1.4 TF对卷积的第一种实现.
4.1.5 TF对卷积的第二种实现.
4.1.6 卷积的实质.
4.2 池化操作.
4.2.1 最大值池化和平均值池化.
4.2.2 池化操作的梯度.
4.3 用CNN实现手写数字识别.
4.3.1 模型的结构.
4.3.2 模型参数数量和计算量.
4.3.3 关于全连接和Dropout.
4.3.4 用Tensorboard监视训练.
4.4 手写数字生成.
4.4.1 生成问题.
4.4.2 VAE模型和语义.
4.4.3 反卷积操作.
4.4.4 网络的结构.
4.4.5 动量.
4.4.6 控制依赖.
4.4.7 预测.
4.5 条件VAE模型.
4.5.1 CVAE模型.
4.5.2 条件式手写数字生成模型.
4.6 使用GPU.
4.6.1 单GPU和nvidia-smi命令.
4.6.2 多GPU和重名问题.
4.6.3 多GPU的梯度.
4.6.4 多GPU训练.
4.6.5 多GPU预测.
4.7 残差神经网络.
4.7.1 残差神经网络的实现.
4.7.2 BN操作.
4.8 表情识别.
4.8.1 样本.
4.8.2 通用超级框架.
4.8.3 模型.
4.9 人脸识别和人脸对比.
4.9.1 人脸识别.
4.9.2 简单人脸对比.
4.9.3 简单人脸对比的实现.
4.9.4 法向量和夹角余弦.
4.9.5 基于夹角余弦的人脸对比.
4.10 语义分割和实例分割.
4.10.1 什么是语义分割和实例分割.
4.10.2 多分类问题.
4.10.3 U型网络.
4.10.4 语义分割和实例分割的实现.
4.10.5 点到点的语义分割和实例分割.
4.11 其他CNN模型.
4.12 优化器.
4.12.1 GradientDescentOptimizer.
4.12.2 MomentumOptimizer.
4.12.3 RMSPropOptimizer.
4.12.4 AdamOptimizer.
4.12.5 AdagradOptimizer.
4.12.6 AdadeltaOptimizer.
4.13 结束语.
第5 章 循环神经网络.
5.1 什么是循环神经网络.
5.2 RNN的结构.
5.2.1 简单RNN模型.
5.2.2 多层RNN.
5.3 诗歌生成器.
5.3.1 样本预处理.
5.3.2 字向量.
5.3.3 可洗牌的DataSet.
5.3.4 生成诗歌.
5.4 LSTM模型.
5.4.1 基本LSTM模型.
5.4.2 LSTM变体之一——Peephole.
5.4.3 LSTM变体之二——GRU.
5.5 1:1模型.
5.5.1 分词和词性标注.
5.5.2 双向RNN.
5.6 N∶1模型与1∶N模型.
5.6.1 N∶1模型.
5.6.2 1∶N模型.
5.7 N∶N模型.
5.7.1 翻译.
5.7.2 自注意力.
5.7.3 独立计算的自注意力.
5.7.4 Transform(变形)操作.
5.7.5 Transformer多头注意力模型.
5.8 N∶N∶N模型.
5.8.1 阅读理解.
5.8.2 多轮对话.
5.9 结束语.
第6 章 生成式对抗网络.
6.1 简单GAN.
6.1.1 简单GAN模型.
6.1.2 简单GAN生成手写数字.
6.1.3 GAN的训练为什么困难.
6.2 条件式GAN.
6.3 Pix2Pix模型.
6.4 CycleGAN模型.
6.5 StarGAN模型.
6.5.1 StarGAN的训练.
6.5.2 数字之间的转换.
6.6 WGAN.
6.7 结束语.
第7 章 目标检测.
7.1 目标检测简介.
7.2 目标检测中的难点.
7.2.1 模型的输出.
7.2.2 目标检测的主要方法.
7.3 两步检测法.
7.3.1 RCNN模型.
7.3.2 Fast RCNN模型.
7.3.3 Faster RCNN模型.
7.4 一步检测法.
7.4.1 SSD模型.
7.4.2 Yolo模型.
7.5 结束语.
索引.
前言
第1 章 程序设计方法.00
1.1 自顶向下的程序设计.00
1.1.1 问题分解和自顶向下的程序设计方法.00
1.1.2 五猴分桃问题.00
1.1.3 猜姓氏问题.00
1.1.4 囚犯问题.00
1.1.5 扑克牌问题.0
1.2 递归程序设计.0
1.2.1 河内塔问题.0
1.2.2 兔子问题.0
1.2.3 字符串匹配问题.0
1.2.4 组合问题.0
1.2.5 人字形铁路问题.0
1.3 面向对象的程序设计.0
1.3.1 方法重定义和分数.0
1.3.2 二十四点问题.0
1.4 结束语.0
第2 章 反向传播算法.0
2.1 导数和导数的应用.0
2.1.1 导数.0
2.1.2 梯度下降法求函数的最小值.0
2.1.3 牛顿法求平方根.0
2.1.4 复合函数和链式法则.0
2.1.5 多元函数和全微分方程.0
2.1.6 反向传播算法.0
2.1.7 梯度.0
2.1.8 分段求导.0
2.2 自动求导和人工智能框架.0
2.2.1 表达式和自动求偏导.0
2.2.2 表达式求值.0
2.2.3 求解任意方程.0
2.2.4 求解任意方程组.0
2.2.5 求解任意函数的极小值.0
2.2.6 张量、计算图和人工智能框架.0
2.3 结束语.0
第3 章 神经元网络初步.0
3.1 Tensorflow基本概念.0
3.1.1 计算图、张量、常数和变量.0
3.1.2 会话、运行.0
3.1.3 占位符.0
3.1.4 矩阵算术运算.0
3.1.5 矩阵运算的广播.0
3.1.6 TF矩阵运算.0
3.1.7 形状和操作.0
3.1.8 关系运算和逻辑运算.0
3.2 优化器和计算图.0
3.2.1 梯度和优化器.0
3.2.2 求解平方根.0
3.2.3 计算图.0
3.3 三层神经网络.0
3.3.1 神经元网络训练算法.0
3.3.2 线性变换和激活函数.0
3.3.3 矩阵乘法和全连接.0
3.3.4 激活函数.0
3.3.5 全连接和Relu的梯度.0
3.3.6 求正弦.0
3.3.7 BGD、SGD和MBGD.0
3.3.8 三层神经网络模型.0
3.4 用三层神经网络拟合任意一个函数.0
3.4.1 三层神经网络拟合一元函数.0
3.4.2 样本、训练和预测.0
3.4.3 中间层神经元个数和样本数量之间
的关系.0
3.4.4 自变量越界会发生什么.0
3.4.5 同时拟合cos(x)、sin(x).0
3.4.6 拟合多元函数.0
3.4.7 过拟合.0
3.5 手写数字识别.0
3.5.1 手写数字样本集合MNIST.0
3.5.2 独热向量.0
3.5.3 3种损失函数.0
3.5.4 softmax函数.0
3.5.5 保存和恢复模型.0
3.5.6 验证模型.0
3.5.7 测试和使用模型.0
3.6 结束语.0
第4 章 卷积神经网络.0
4.1 卷积.0
4.1.1 一维卷积.0
4.1.2 二维卷积.
4.1.3 通道.
4.1.4 TF对卷积的第一种实现.
4.1.5 TF对卷积的第二种实现.
4.1.6 卷积的实质.
4.2 池化操作.
4.2.1 最大值池化和平均值池化.
4.2.2 池化操作的梯度.
4.3 用CNN实现手写数字识别.
4.3.1 模型的结构.
4.3.2 模型参数数量和计算量.
4.3.3 关于全连接和Dropout.
4.3.4 用Tensorboard监视训练.
4.4 手写数字生成.
4.4.1 生成问题.
4.4.2 VAE模型和语义.
4.4.3 反卷积操作.
4.4.4 网络的结构.
4.4.5 动量.
4.4.6 控制依赖.
4.4.7 预测.
4.5 条件VAE模型.
4.5.1 CVAE模型.
4.5.2 条件式手写数字生成模型.
4.6 使用GPU.
4.6.1 单GPU和nvidia-smi命令.
4.6.2 多GPU和重名问题.
4.6.3 多GPU的梯度.
4.6.4 多GPU训练.
4.6.5 多GPU预测.
4.7 残差神经网络.
4.7.1 残差神经网络的实现.
4.7.2 BN操作.
4.8 表情识别.
4.8.1 样本.
4.8.2 通用超级框架.
4.8.3 模型.
4.9 人脸识别和人脸对比.
4.9.1 人脸识别.
4.9.2 简单人脸对比.
4.9.3 简单人脸对比的实现.
4.9.4 法向量和夹角余弦.
4.9.5 基于夹角余弦的人脸对比.
4.10 语义分割和实例分割.
4.10.1 什么是语义分割和实例分割.
4.10.2 多分类问题.
4.10.3 U型网络.
4.10.4 语义分割和实例分割的实现.
4.10.5 点到点的语义分割和实例分割.
4.11 其他CNN模型.
4.12 优化器.
4.12.1 GradientDescentOptimizer.
4.12.2 MomentumOptimizer.
4.12.3 RMSPropOptimizer.
4.12.4 AdamOptimizer.
4.12.5 AdagradOptimizer.
4.12.6 AdadeltaOptimizer.
4.13 结束语.
第5 章 循环神经网络.
5.1 什么是循环神经网络.
5.2 RNN的结构.
5.2.1 简单RNN模型.
5.2.2 多层RNN.
5.3 诗歌生成器.
5.3.1 样本预处理.
5.3.2 字向量.
5.3.3 可洗牌的DataSet.
5.3.4 生成诗歌.
5.4 LSTM模型.
5.4.1 基本LSTM模型.
5.4.2 LSTM变体之一——Peephole.
5.4.3 LSTM变体之二——GRU.
5.5 1:1模型.
5.5.1 分词和词性标注.
5.5.2 双向RNN.
5.6 N∶1模型与1∶N模型.
5.6.1 N∶1模型.
5.6.2 1∶N模型.
5.7 N∶N模型.
5.7.1 翻译.
5.7.2 自注意力.
5.7.3 独立计算的自注意力.
5.7.4 Transform(变形)操作.
5.7.5 Transformer多头注意力模型.
5.8 N∶N∶N模型.
5.8.1 阅读理解.
5.8.2 多轮对话.
5.9 结束语.
第6 章 生成式对抗网络.
6.1 简单GAN.
6.1.1 简单GAN模型.
6.1.2 简单GAN生成手写数字.
6.1.3 GAN的训练为什么困难.
6.2 条件式GAN.
6.3 Pix2Pix模型.
6.4 CycleGAN模型.
6.5 StarGAN模型.
6.5.1 StarGAN的训练.
6.5.2 数字之间的转换.
6.6 WGAN.
6.7 结束语.
第7 章 目标检测.
7.1 目标检测简介.
7.2 目标检测中的难点.
7.2.1 模型的输出.
7.2.2 目标检测的主要方法.
7.3 两步检测法.
7.3.1 RCNN模型.
7.3.2 Fast RCNN模型.
7.3.3 Faster RCNN模型.
7.4 一步检测法.
7.4.1 SSD模型.
7.4.2 Yolo模型.
7.5 结束语.
索引.














