| 作者 |
| [瑞士] 翁贝托·米凯卢奇(Umberto Michelucci)[印度]莫希特·赛瓦克(Mohit Sewak) [孟加拉]穆罕默德·礼萨·卡里姆(Md. Rezaul Karim) [美]普拉蒂普·普贾里(Pradeep Pujari) |
| 丛书名 |
| 智能系统与技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9781910141148 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------深度学习:基于案例理解深度神经网络--------------------------- 本书探讨了深度学习中的高级主题,例如优化算法、超参数调整、Dropout和误差分析,以及解决在训练深度神经网络时遇到的典型问题的策略。你首先要研究激活函数,主要是单个神经元(relu、sigmoid和swish),了解如何使用TensorFlow进行线性和逻辑回归,并选择正确的代价函数。接着讨论了具有多个层和神经元的更复杂的神经网络结构,并探讨了权重的随机初始化问题。一整章致力于对神经网络误差分析的全面概述,给出了解决来自不同分布的方差、偏差、过度拟合和数据集问题的例子。 ---------------------------实用卷积神经网络:运用Python实现高级深度学习模型--------------------------- 本书主要用Python语言构建CNN,主要关注如何以最佳的方式利用各种Python和深度学习库(如Keras,TensorFlow和Caffe)来构建真实世界的应用程序。从构建CNN块开始,基于最佳实践来指导你实现真实的CNN模型及解决方案。你将学习创建图像和视频的创新解决方案,以解决复杂的机器学习和计算机视觉问题。 |
| 目录 |
---------------------------深度学习:基于案例理解深度神经网络--------------------------- 译者序 前言 审校者简介 致谢 第1章 计算图和TensorFlow1 1.1 如何构建Python环境1 1.1.1 创建环境3 1.1.2 安装TensorFlow7 1.1.3 Jupyter记事本8 1.2 TensorFlow基本介绍10 1.2.1 计算图10 1.2.2 张量12 1.2.3 创建和运行计算图13 1.2.4 包含tf.constant的计算图13 1.2.5 包含tf.Variable的计算图14 1.2.6 包含tf. placeholder的计算图15 1.2.7 运行和计算的区别18 1.2.8 节点之间的依赖关系18 1.2.9 创建和关闭会话的技巧19 第2章 单一神经元21 2.1 神经元结构21 2.1.1 矩阵表示法23 2.1.2 Python实现技巧:循环和NumPy24 2.1.3 激活函数25 2.1.4 代价函数和梯度下降:学习率的特点32 2.1.5 学习率的应用示例34 2.1.6 TensorFlow中的线性回归示例38 2.2 逻辑回归示例47 2.2.1 代价函数47 2.2.2 激活函数48 2.2.3 数据集48 2.2.4 TensorFlow实现51 2.3 参考文献54 第3章 前馈神经网络56 3.1 网络架构57 3.1.1 神经元的输出59 3.1.2 矩阵维度小结59 3.1.3 示例:三层网络的方程59 3.1.4 全连接网络中的超参数60 3.2 用于多元分类的softmax函数60 3.3 过拟合简要介绍61 3.3.1 过拟合示例61 3.3.2 基本误差分析66 3.4 Zalando数据集68 3.5 使用TensorFlow构建模型71 3.5.1 网络架构71 3.5.2 softmax函数的标签转换:独热编码73 3.5.3 TensorFlow模型74 3.6 梯度下降变体77 3.6.1 批量梯度下降77 3.6.2 随机梯度下降78 3.6.3 小批量梯度下降79 3.6.4 各种变体比较80 3.7 错误预测示例84 3.8 权重初始化84 3.9 有效添加多个层87 3.10 增加隐藏层的优点89 3.11 比较不同网络89 3.12 选择正确网络的技巧92 第4章 训练神经网络93 4.1 动态学习率衰减93 4.1.1 迭代还是周期94 4.1.2 阶梯式衰减95 4.1.3 步长衰减96 4.1.4 逆时衰减98 4.1.5 指数衰减100 4.1.6 自然指数衰减101 4.1.7 TensorFlow实现105 4.1.8 将方法应用于Zalando数据集108 4.2 常用优化器109 4.2.1 指数加权平均109 4.2.2 Momentum112 4.2.3 RMSProp115 4.2.4 Adam117 4.2.5 应该使用哪种优化器117 4.3 自己开发的优化器示例118 第5章 正则化123 5.1 复杂网络和过拟合123 5.2 什么是正则化127 5.3 p范数128 5.4 2正则化128 5.4.1 2正则化原理128 5.4.2 TensorFlow实现129 5.5 1正则化136 5.5.1 1正则化原理与TensorFlow实现137 5.5.2 权重真的趋于零吗137 5.6 Dropout140 5.7 Early Stopping143 5.8 其他方法144 第6章 指标分析145 6.1 人工水平表现和贝叶斯误差146 6.2 关于人工水平表现的故事148 6.3 MNIST中的人工水平表现149 6.4 偏差150 6.5 指标分析图151 6.6 训练集过拟合151 6.7 测试集152 6.8 如何拆分数据集153 6.9 不平衡类分布:会发生什么157 6.10 精确率、召回率和F1指标161 6.11 不同分布的数据集164 6.12 k折交叉验证170 6.13 手动指标分析示例177 第7章 超参数调优183 7.1 黑盒优化183 7.2 黑盒函数注意事项184 7.3 超参数调优问题185 7.4 黑盒问题示例186 7.5 网格搜索186 7.6 随机搜索190 7.7 粗到细优化192 7.8 贝叶斯优化195 7.8.1 Nadaraya-Watson回归195 7.8.2 高斯过程195 7.8.3 平稳过程196 7.8.4 用高斯过程预测196 7.8.5 采集函数200 7.8.6 上置信界(UCB)201 7.8.7 示例201 7.9 对数尺度采样207 7.10 使用Zalando数据集的超参数调优208 7.11 径向基函数注意事项214 第8章 卷积神经网络和循环神经网络216 8.1 卷积核和过滤器216 8.2 卷积217 8.3 卷积运算示例223 8.4 池化227 8.5 构建CNN块230 8.5.1 卷积层230 8.5.2 池化层231 8.5.3 各层的叠加231 8.5.4 CNN示例232 8.6 RNN介绍237 8.6.1 符号237 8.6.2 RNN的基本原理238 8.6.3 循环神经网络名称的由来239 8.6.4 学会统计239 第9章 研究项目244 9.1 问题描述244 9.2 数学模型246 9.3 回归问题246 9.4 数据准备250 9.5 模型训练258 第10章 从零开始进行逻辑回归261 10.1 逻辑回归的数学背景262 10.2 Python实现264 10.3 模型测试266 10.3.1 数据集准备267 10.3.2 运行测试268 10.4 结论268 ---------------------------实用卷积神经网络:运用Python实现高级深度学习模型--------------------------- 前言 关于作者 关于审阅者 第1章 深度神经网络概述 1 1.1 创建神经网络块 1 1.2 TensorFlow介绍 3 1.3 MNIST数据集介绍 10 1.4 Keras深度学习库概述 14 1.5 基于Keras和MNIST的手写数字识别 15 1.5.1 训练和测试数据的检索 17 1.5.2 训练数据的可视化 18 1.5.3 创建神经网络 18 1.5.4 训练神经网络 19 1.5.5 测试 19 1.6 理解反向传播 20 1.7 本章小结 23 第2章 卷积神经网络介绍 25 2.1 CNN历史 25 2.2 卷积神经网络 27 2.2.1 计算机如何解释图像 28 2.2.2 编码实现图像可视化 29 2.2.3 dropout 31 2.2.4 输入层 31 2.2.5 卷积层 32 2.2.6 池化层 34 2.3 实践示例:图像分类 35 2.4 本章小结 39 第3章 构建CNN并进行性能优化 41 3.1 CNN架构和DNN的缺点 41 3.1.1 卷积操作 44 3.1.2 池化、步长和填充操作 46 3.2 TensorFlow中的卷积和池化操作 48 3.2.1 在TensorFlow中应用池化操作 49 3.2.2 TensorFlow中的卷积操作 51 3.3 训练CNN 53 3.3.1 初始化权重和偏置 53 3.3.2 正则化 54 3.3.3 激活函数 54 3.4 创建、训练和评估第一个CNN 56 3.5 模型性能优化 73 3.5.1 隐含层数量 73 3.5.2 每个隐含层的神经元个数 74 3.5.3 批标准化 74 3.5.4 高级正则化及过拟合的避免 76 3.5.5 运用哪个优化器 79 3.5.6 内存调优 79 3.5.7 层的位置调优 80 3.5.8 综合所有操作创建第二个CNN 80 3.5.9 数据集描述和预处理 80 3.5.10 创建CNN模型 85 3.5.11 训练和评估网络 87 3.6 本章小结 90 第4章 经典的CNN模型架构 91 4.1 ImageNet介绍 91 4.2 LeNet 92 4.3 AlexNet架构 93 4.4 VGGNet架构 95 4.5 GoogLeNet架构 97 4.5.1 架构洞察 98 4.5.2 inception模块 99 4.6 ResNet架构 99 4.7 本章小结 101 第5章 转移学习 103 5.1 特征提取方法 103 5.1.1 目标数据集较小且与原始训练集相似 104 5.1.2 目标数据集较小且与原始训练集不同 105 5.1.3 目标数据集很大且与原始训练集相似 107 5.1.4 目标数据集很大且与原始训练集不同 107 5.2 转移学习示例 108 5.3 多任务学习 111 5.4 本章小结 111 第6章 CNN自编码器 113 6.1 自编码器介绍 113 6.2 卷积自编码器 114 6.3 应用 115 6.4 本章小结 116 第7章 CNN目标检测与实例分割 119 7.1 目标检测与图像分类的区别 120 7.2 传统的、非CNN的目标检测方法 124 7.3 R-CNN:CNN特征区 128 7.4 Fast R-CNN:基于区域快速识别的CNN 130 7.5 Faster R-CNN:基于快速区域生成网络的CNN 132 7.6 Mask R-CNN:CNN实例分割 135 7.7 实例分割的代码实现 137 7.7.1 创建环境 138 7.7.2 准备COCO数据集文件夹结构 139 7.7.3 在COCO数据集上运行预训练模型 139 7.8 参考文献 139 7.9 本章小结 141 第8章 GAN:使用CNN生成新图像 143 8.1 Pix2pix:基于GAN的图像翻译 144 8.1.1 CycleGAN 144 8.1.2 训练GAN模型 145 8.2 GAN的代码示例 146 8.2.1 计算损失 149 8.2.2 半监督学习和GAN 151 8.3 特征匹配 152 8.3.1 基于半监督分类的GAN示例 152 8.3.2 深度卷积GAN 158 8.4 本章小结 159 第9章 CNN和视觉模型的注意力机制 161 9.1 图像描述中的注意力机制 164 9.2 注意力类型 168 9.2.1 硬注意力 168 9.2.2 软注意力 169 9.3 运用注意力改善视觉模型 170 9.3.1 视觉CNN模型次优性能的原因 171 9.3.2 循环视觉注意力模型 174 9.4 参考文献 180 9.5 本章小结 181 |