深度学习原理与TensorFlow实践主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域最优秀的计算系统之一,本书结合实例介绍了使用TensorFlow开发机器学习应用的详细方法和步骤。同时,本书着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。
深度学习原理与TensorFlow实践非常适合对机器学习、深度学习感兴趣的读者,或是对深度学习理论有所了解,希望尝试更多工程实践的读者,抑或是对工程产品有较多经验,希望学习深度学习理论的读者。
目录
- 1 深度学习简介 1
- 1.1 深度学习介绍 1
- 1.2 深度学习的趋势 7
- 1.3 参考资料 10
- 2 TensorFlow系统介绍 12
- 2.1 TensorFlow诞生的动机 12
- 2.2 TensorFlow系统简介 14
- 2.3 TensorFlow基础概念 16
- 2.3.1 计算图 16
- 2.3.2 Session会话 18
- 2.4 系统架构 19
- 2.5 源码结构 21
- 2.5.1 后端执行引擎 22
- 2.5.2 前端语言接口 24
- 2.6 小结 24
- 2.7 参考资料 25
- 3 Hello TensorFlow 26
- 3.1 环境准备 26
- 3.1.1 Mac OS安装 27
- 3.1.2 Linux GPU服务器安装 28
- 3.1.3 常用Python库 32
- 3.2 Titanic题目实战 34
- 3.2.1 Kaggle平台介绍 34
- 3.2.2 Titanic题目介绍 35
- 3.2.3 数据读入及预处理 38
- 3.2.4 构建计算图 40
- 3.2.5 构建训练迭代过程 44
- 3.2.6 执行训练 46
- 3.2.7 存储和加载模型参数 47
- 3.2.8 预测测试数据结果 50
- 3.3 数据挖掘的技巧 51
- 3.3.1 数据可视化 52
- 3.3.2 特征工程 54
- 3.3.3 多种算法模型 57
- 3.4 TensorBoard可视化 58
- 3.4.1 记录事件数据 58
- 3.4.2 启动TensorBorad服务 60
- 3.5 数据读取 62
- 3.5.1 数据文件格式 63
- 3.5.2 TFRecord 63
- 3.6 SkFlow、TFLearn与TF-Slim 67
- 3.7 小结 69
- 3.8 参考资料 69
- 4 CNN“看懂”世界 71
- 4.1 图像识别的难题 72
- 4.2 CNNs的基本原理 74
- 4.2.1 卷积的数学意义 75
- 4.2.2 卷积滤波 77
- 4.2.3 CNNs中的卷积层 81
- 4.2.4 池化(Pooling) 83
- 4.2.5 ReLU 84
- 4.2.6 多层卷积 86
- 4.2.7 Dropout 86
- 4.3 经典CNN模型 87
- 4.3.1 AlexNet 88
- 4.3.2 VGGNets 95
- 4.3.3 GoogLeNet & Inception 98
- 4.3.4 ResNets 106
- 4.4 图像风格转换 109
- 4.4.1 量化的风格 109
- 4.4.2 风格的滤镜 116
- 4.5 小结 120
- 4.6 参考资料 121
- 5 RNN“能说会道” 123
- 5.1 文本理解和文本生成问题 124
- 5.2 标准RNN模型 128
- 5.2.1 RNN模型介绍 128
- 5.2.2 BPTT算法 130
- 5.2.3 灵活的RNN结构 132
- 5.2.4 TensorFlow实现正弦序列预测 135
- 5.3 LSTM模型 138
- 5.3.1 长期依赖的难题 138
- 5.3.2 LSTM基本原理 139
- 5.3.3 TensorFlow构建LSTM模型 142
- 5.4 更多RNN的变体 144
- 5.5 语言模型 146
- 5.5.1 NGram语言模型 146
- 5.5.2 神经网络语言模型 148
- 5.5.3 循环神经网络语言模型 150
- 5.5.4 语言模型也能写代码 152
- 5.5.5 改进方向 163
- 5.6 对话机器人 164
- 5.6.1 对话机器人的发展 165
- 5.6.2 基于seq2seq的对话机器人 169
- 5.7 小结 181
- 5.8 参考资料 182
- 6 CNN LSTM看图说话 183
- 6.1 CNN LSTM网络模型与图像检测问题 184
- 6.1.1 OverFeat和Faster R-CNN图像检测算法介绍 185
- 6.1.2 遮挡目标图像检测方法 187
- 6.1.3 ReInspect算法实现及模块说明 188
- 6.1.4 ReInspect算法的实验数据与结论 204
- 6.2 CNN LSTM网络模型与图像摘要问题 207
- 6.2.1 图像摘要问题 208
- 6.2.2 NIC图像摘要生成算法 209
- 6.2.3 NIC图像摘要生成算法实现说明 214
- 6.2.4 NIC算法的实验数据与结论 243
- 6.3 小结 249
- 6.4 参考资料 250
- 7 损失函数与优化算法 253
- 7.1 目标函数优化策略 254
- 7.1.1 梯度下降算法 254
- 7.1.2 RMSProp优化算法 256
- 7.1.3 Adam优化算法 257
- 7.1.4 目标函数优化算法小结 258
- 7.2 类别采样(Candidate Sampling)损失函数 259
- 7.2.1 softmax类别采样损失函数 261
- 7.2.2 噪声对比估计类别采样损失函数 281
- 7.2.3 负样本估计类别采样损失函数 286
- 7.2.4 类别采样logistic损失函数 286
- 7.3 小结 287
- 7.4 参考资料 288
- 结语 289