白话深度学习与TensorFlow 作者: 高扬 出版时间: 2017年版 内容简介 本书基本独立成册,适用于零基础的初学者。 基础篇(第1~3章),讲解了机器学习、深度学习与实践的上下文知识,如基本的机器学习与深度学习算法,TensorFlow框架的安全与配置,简单的深度学习实践。该篇是阅读和实践的基石。 原理与实践篇(第4~8章),介绍“老牌”的深度学习网络的数学原理和工程实现原理,尤其是第4章,如果能基本读懂,后面的网络实现层面的问题基本都可以迎刃而解。涵盖BP网络、CNN、RNN的结构、思路、训练与使用,以及一些常见的综合性问题。该篇是学习深度学习的重点和难点,作者通过大量示例、推理与实现,帮读者*大化降低学习曲线。 扩展篇(第9~13章),介绍一些网络的变种和一些较新的网络特性,涵盖深度残差网络、受限玻尔兹曼机、强化学习、对抗学习,这是读者进一步学习与实践思路的钥匙。最后给出了一些有趣的深度学习应用:人脸识别、作诗姬、大师风图像处理,有趣又有用。 目录 本书赞誉 序 前 言 基 础 篇 第1章 机器学习是什么 2 1.1 聚类 4 1.2 回归 5 1.3 分类 8 1.4 综合应用 10 1.5 小结 14 第2章 深度学习是什么 15 2.1 神经网络是什么 15 2.1.1 神经元 16 2.1.2 激励函数 19 2.1.3 神经网络 24 2.2 深度神经网络 25 2.3 深度学习为什么这么强 28 2.3.1 不用再提取特征 28 2.3.2 处理线性不可分 29 2.4 深度学习应用 30 2.4.1 围棋机器人——AlphaGo 30 2.4.2 被教坏的少女——Tai.ai 32 2.4.3 本田公司的大宝贝—— ASIMO 33 2.5 小结 37 第3章 TensorFlow框架特性与安装 38 3.1 简介 38 3.2 与其他框架的对比 39 3.3 其他特点 40 3.4 如何选择好的框架 44 3.5 安装TensorFlow 45 3.6 小结 46 原理与实践篇 第4章 前馈神经网络 50 4.1 网络结构 50 4.2 线性回归的训练 51 4.3 神经网络的训练 75 4.4 小结 79 第5章 手写板功能 81 5.1 MNIST介绍 81 5.2 使用TensorFlow完成实验 86 5.3 神经网络为什么那么强 92 5.3.1 处理线性不可分 93 5.3.2 挑战“与或非” 95 5.3.3 丰富的VC——强大的空间 划分能力 98 5.4 验证集、测试集与防止过拟合 99 5.5 小结 102 第6章 卷积神经网络 103 6.1 与全连接网络的对比 103 6.2 卷积是什么 104 6.3 卷积核 106 6.4 卷积层其他参数 108 6.5 池化层 109 6.6 典型CNN网络 110 6.7 图片识别 114 6.8 输出层激励函数——SOFTMAX 116 6.8.1 SOFTMAX 116 6.8.2 交叉熵 117 6.9 小试牛刀——卷积网络做图片分类 124 6.10 小结 138 第7章 综合问题 139 7.1 并行计算 139 7.2 随机梯度下降 142 7.3 梯度消失问题 144 7.4 归一化 147 7.5 参数初始化问题 149 7.6 正则化 151 7.7 其他超参数 155 7.8 不唯一的模型 156 7.9 DropOut 157 7.10 小结 158 第8章 循环神经网络 159 8.1 隐马尔可夫模型 159 8.2 RNN和BPTT算法 163 8.2.1 结构 163 8.2.2 训练过程 163 8.2.3 艰难的误差传递 165 8.3 LSTM算法 167 8.4 应用场景 171 8.5 实践案例——自动文本生成 174 8.5.1 RNN工程代码解读 174 8.5.2 利用RNN学习莎士比亚剧本 183 8.5.3 利用RNN学习维基百科 184 8.6 实践案例——聊天机器人 185 8.7 小结 196 扩 展 篇 第9章 深度残差网络 198 9.1 应用场景 198 9.2 结构解释与数学推导 200 9.3 拓扑解释 205 9.4 Github示例 207 9.5 小结 207 第10章 受限玻尔兹曼机 209 10.1 结构 209 10.2 逻辑回归 210 10.3 最大似然度 212 10.4 最大似然度示例 214 10.5 损失函数 215 10.6 应用场景 216 10.7 小结 216 第11章 强化学习 217 11.1 模型核心 218 11.2 马尔可夫决策过程 219 11.2.1 用游戏开刀 221 11.2.2 准备工作 223 11.2.3 训练过程 224 11.2.4 问题 226 11.2.5 Q-Learning算法 228 11.3 深度学习中的Q-Learning——DQN 231 11.3.1 OpenAI Gym 234 11.3.2 Atari游戏 237 11.4 小结 238 第12章 对抗学习 239 12.1 目的 239 12.2 训练模式 240 12.2.1 二元极小极大博弈 240 12.2.2 训练 242 12.3 CGAN 244 12.4 DCGAN 247 12.5 小结 252 第13章 有趣的深度学习应用 254 13.1 人脸识别 254 13.2 作诗姬 259 13.3 梵高附体 264 13.3.1 网络结构 265 13.3.2 内容损失 268 13.3.3 风格损失 270 13.3.4 系数比例 271 13.3.5 代码分析 272 13.4 小结 279 附录A VMware Workstation的安装 280 附录B Ubuntu虚拟机的安装 284 附录C Python语言简介 290 附录D 安装Theano 296 附录E 安装Keras 297 附录F 安装CUDA 298 参考文献 303
|