描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787519887742
本书的主要内容有:了解机器学习术语背后的数学知识。探究机器学习和神经网络的基础。管理网络加深过程出现的问题。搭建神经网络,分析复杂图像。用自编码器高效降维。深入序列分析,用其研究语言。探讨复杂机器学习模型的解释方法。收获生成建模的理论和实用知识。理解强化学习的基础。
目录
前言 1
第1 章 深度学习线性代数入门 7
1.1 数据结构和运算 7
1.1.1 矩阵运算 9
1.1.2 向量运算 .12
1.1.3 矩阵—向量乘法 13
1.2 基本空间14
1.2.1 列空间 14
1.2.2 零空间 16
1.3 特征向量和特征值 19
1.4 小结 .22
第2 章 概率论基础 23
2.1 事件和概率 23
2.2 条件概率26
2.3 随机变量28
2.4 期望 .30
2.5 方差 .32
2.6 贝叶斯定理 34
2.7 熵、交叉熵和KL 散度 35
2.8 连续概率分布 .39
2.9 小结 .43
第3 章 神经网络 45
3.1 构建智能体 45
3.2 传统计算机程序的局限 .46
3.3 机器学习原理 .47
3.4 神经元 51
3.5 用神经元表示线性感知器 53
3.6 前馈神经网络 .54
3.7 线性神经元及其限制 57
3.8 sigmoid、Tanh 和ReLU 神经元 58
3.9 softmax 输出层 60
3.10 小结 60
第4 章 训练前馈神经网络 .63
4.1 快餐问题63
4.2 梯度下降65
4.3 Delta 法则和学习率 .66
4.4 sigmoid 神经元的梯度下降 .68
4.5 反向传播算法 .69
4.6 随机和小批量梯度下降 .71
4.7 测试集、验证集和过拟合 73
4.8 深度神经网络防过拟合 .79
4.9 小结 .84
第5 章 用PyTorch 实现神经网络 85
5.1 PyTorch 简介 85
5.2 安装PyTorch 85
5.3 PyTorch 张量 86
5.3.1 张量初始化 87
5.3.2 张量的属性 87
5.3.3 张量运算 .89
5.4 PyTorch 中的梯度 .92
5.5 PyTorch nn 模块 93
5.6 PyTorch 数据集和数据加载器 97
5.7 用PyTorch 构建MNIST 分类器 99
5.8 小结 103
第6 章 超越梯度下降 105
6.1 梯度下降的挑战 .105
6.2 深度网络误差曲面的局部最小值 106
6.3 模型的可识别性 .107
6.4 深度网络虚假局部最小值有多讨厌? .108
6.5 误差曲面的平缓区域 111
6.6 当梯度指错方向 . 114
6.7 基于动量的优化 . 117
6.8 二阶方法简述 120
6.9 学习率自适应 121
6.9.1 AdaGrad 算法——累积历史梯度 .121
6.9.2 RMSProp 算法——梯度的指数加权移动平均 123
6.9.3 Adam 算法——整合动量和RMSProp 算法 124
6.10 关于优化器选择的思考 126
6.11 小结 126
第7 章 卷积神经网络 127
7.1 人类视觉神经元 .127
7.2 特征选择的不足 .128
7.3 原始深度神经网络无法扩展 .130
7.4 滤波器和特征图 .131
7.5 卷积层的完整描述 .136
7.6 最大汇聚.140
7.7 卷积网络全架构 .141
7.8 用卷积网络完成MNIST 示例 .142
7.9 图像预处理流水线让模型更健壮 145
7.10 用批量归一化加速训练 146
7.11 组归一化适用于内存受限的学习任务 148
7.12 为CIFAR-10 构建卷积网络 150
7.13 可视化卷积网络中的学习152
7.14 极深网络的残差学习和跳跃连接 156
7.15 构造具有超人视觉的残差网络 .158
7.16 利用卷积滤波器复制艺术风格 .162
7.17 用卷积滤波器解决其他领域的问题 163
7.18 小结 164
第8 章 嵌入和表示学习 165
8.1 学习低维表示 165
8.2 主成分分析 166
8.3 自编码器架构的动机 168
8.4 用PyTorch 实现自编码器 169
8.5 去噪让表示更健壮 .178
8.6 自编码器中的稀疏性问题 .181
8.7 上下文比输入向量包含更多信息 184
8.8 Word2Vec 框架 186
8.9 实现Skip-Gram 架构 189
8.10 小结 196
第9 章 序列分析模型 197
9.1 分析不定长输入 .197
9.2 用神经N-Grams 处理seq2seq 问题 .198
9.3 实现词性标注器 .199
9.4 依存分析和SyntaxNet 框架 .205
9.5 束搜索和全局标准化 211
9.6 有状态深度学习模型示例 .215
9.7 循环神经网络 216
9.8 梯度消失难题 218
9.9 长短期记忆单元 .221
9.10 PyTorch 库的RNN 模型基础版 226
9.11 实现情感分析模型 227
9.12 用循环神经网络解决seq2seq 任务 .233
9.13 用注意力增强循环网络 236
9.14 神经翻译网络剖析 238
9.15 自注意力机制和transformer 模型 249
9.16 小结 251
第10 章 生成模型 253
10.1 生成对抗网络 253
10.2 变分自编码器 259
10.3 实现VAE .269
10.4 基于分值的生成模型 .274
10.5 去噪自编码器和分值匹配279
10.6 小结 284
第11 章 模型解释方法 . 285
11.1 概览 285
11.2 决策树和基于树的算法 286
11.3 线性回归 289
11.4 评估特征重要性的方法 290
11.4.1 特征重要性排列 .290
11.4.2 部分依赖图 291
11.5 根由萃取 293
11.6 LIME 方法 298
11.7 SHAP 方法 302
11.8 小结 307
第12 章 记忆增强神经网络 309
12.1 神经图灵机 .309
12.2 基于注意力的存储访问 311
12.3 NTM 存储寻址机制 313
12.4 可微分神经计算机 317
12.5 DNC 免冲突写入机制 319
12.6 DNC 存储重用 320
12.7 DNC 写入的临时连接 321
12.8 理解DNC 读取头 322
12.9 DNC 控制器网络 .323
12.10 DNC 可视化实践 325
12.11 用PyTorch 实现DNC .327
12.12 教DNC 阅读和理解 331
12.13 小结 .334
第13 章 深度强化学习 . 335
13.1 深度强化学习掌握Atari 游戏玩法 .335
13.2 强化学习是什么? 336
13.3 马尔科夫决策过程 338
13.3.1 策略 340
13.3.2 未来奖赏 340
13.3.3 折扣未来奖赏 341
13.4 探讨还是利用 342
13.4.1 贪婪 .343
13.5 策略和价值学习 344
13.6 用策略梯度解决倒立摆平衡问题 345
13.6.1 OpenAI Gym 工具集 345
13.6.2 创建智能体345
13.6.3 构建模型和优化器 347
13.6.4 采样行动 348
13.6.5 跟踪历史 348
13.6.6 策略梯度主函数 .349
13.6.7 PGAgent 解决倒立摆平衡任务的性能 351
13.7 信赖域策略优化 352
13.8 近端策略优化 357
13.9 Q- 学习和深度Q 网络 358
13.9.1 Bellman 等式 358
13.9.2 价值迭代问题 359
13.9.3 近似Q 函数 360
13.9.4 Deep Q-Network .360
13.9.5 训练DQN 360
13.9.6 学习稳定性361
13.9.7 目标Q 网络 361
13.9.8 经验回放 361
13.9.9 从Q 函数到策略 362
13.9.10 DQN 和马尔科夫假设 362
13.9.11 马尔科夫假设的DQN 解决方案 .362
13.9.12 用DQN 玩Breakout 游戏 363
13.9.13 构建架构 .366
13.9.14 堆叠帧 366
13.9.15 搭建训练操作流水线 .366
13.9.16 更新目标Q 网络 .367
13.9.17 实现经验回放 367
13.9.18 DQN 主循环 368
13.9.19 用DQNAgent 玩Breakout 游戏的结果分析370
13.10 改进并超越DQN 371
13.10.1 深度循环Q 网络 .371
13.10.2 异步优势演员—评论员智能体 .372
13.10.3 无监督强化学习和辅助学习373
13.11 小结 .374
前言21 世纪初,神经网络重放异彩,深度学习研究领域极其活跃,为现代机器学习开山辟路。本书力求通过详细的阐述和示例,帮你理解这一复杂领域的主要概念。谷歌、微软和脸谱等大公司密切关注该领域的发展变化,积极在公司内部培育深度学习团队。但对我们其他人来讲,深度学习很复杂、难掌握。加之研究论文满篇行话,在线教程又零碎不堪。它们无法帮助深度学习实操者就解决问题的原因和方法形成强烈的直观认识。为此,我们决心搭起两者之间的桥梁。本书作为第二版,我们提供更严谨的背景章节,用数学语言阐释问题,为你学习本书后续材料打下坚实基础。此外,我们还更新序列分析、计算机视觉和强化学习章节,带你深入探讨这些领域的最新进展。最后,我们新增生成建模和可解释性领域的章节,为你拓宽深度学习领域视野。我们希望这些更新能激励你实践深度学习技术,并用其解决真实、有意义的问题。预备知识和学习目标本书的目标读者应掌握基本的微积分运算和Python 编程知识。本书最新版,我们加入数学背景介绍章节,全面介绍线性代数和概率论知识,为学习后续材料备齐数学工具。学完本书,希望你对如何利用深度学习解决问题和现代深度学习方法的历史脉络有直观认识,并能熟练使用PyTorch 开源库实现深度学习算法。内容编排本书前两章带你潜心钻研线性代数和概率论,使你熟悉这两块数学内容,因为它们深嵌于深度学习领域。接下来几章讨论前馈神经网络的架构,如何用代码实现,又如何用真实数据集训练和评估它们。本书剩余章节聚焦深度学习的具体应用,使你理解专为这些应用开发的学习技术和神经网络架构背后的原理。本书后面章节介绍前沿研究,我们带你拆解这些技术,从其首倡者原论文的原理讲起,使其易于消化。排版约定本书排版遵循以下约定:斜体(Italic)表示新术语、URL、邮件地址、文件名和文件扩展名。等宽字体(constant width)表示程序片段和段落中出现的编程元素,如变量、函数名、数据库、数据类型、环境变量、语句和关键字。使用代码示例本书配套材料(代码示例和练习)请从https://github.com/darksigma/Fundamentalsof-Deep-Learning-Book 下载。对本书的技术性问题或代码使用问题,请发电子邮件至:[email protected]。本书旨在帮你完成工作。一般来讲,书中示例代码,你用于自己项目和文档,无需联系我们征得许可,但大量复制代码另议。例如,你写程序使用书中多处代码,无需我们授权,但出售或分发 O’Reilly 图书示例代码,则需我们授权。引用本书内容或示例代码回答问题,无需授权。但在你的产品文档中大量使用本书示例代码,则需经我们授权。所用之处,如能添加内容出处,我们将非常感激,当然这并非必须。出处通常要标明书名、作者、出版社和 ISBN 号。例如:“Fundamentals of Deep Learning by Nithin Buduma, Nikhil Buduma, and Joe Papa (O’Reilly). Copyright 2022 Nithin Buduma and Mobile Insights Technology Group, LLC, 978-1-492-08218-7”。如果你觉得示例代码的使用方式可能不当或超出上述许可范围,请联系我们,邮箱是 [email protected]。O’Reilly 在线学习平台(O’Reilly Online Learning)近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/。联系我们任何有关本书的意见或疑问,请按照以下地址联系出版社。美国:O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中国:北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)奥莱利技术咨询(北京)有限公司我们为本书做了一个网页,将勘误信息、示例代码和其他附加信息列在上面。地址是https://oreil.ly/fundamentals-of-deep-learning-2e。对本书的评论或技术性问题,请发电子邮件至:[email protected]。如欲了解更多O’Reilly 图书和课程的新闻和信息,请访问以下网站:http://www.oreilly.com。我们的Facebook:http://facebook.com/oreilly。我们的Twitter:http://twitter.com/oreillymedia。我们的YouTube:http://www.youtube.com/oreillymedia。致谢本书付梓离不开众人努力,我们在此向他们表示诚挚的谢意。我们首先要感谢的是Mostafa Samir 和Surya Bhupatiraju,他们为第7、8 章内容做出巨大贡献。其次,我们还想感谢Mohamed (Hassan) Kane 和Anish Athalye 的贡献,他们完成本书GitHub 仓库代码示例的最初几版。Nithin 和Nikhil 的特别致谢假使没有我们的编辑Shannon Cutt 那永无止境的帮助和专业指导,本书就不可能问世。我们还非常感激审稿人对本书的评论意见,他们是Isaac Hodes、David Andrzejewski、Aaron Schumacher、Vishwesh Ravi Shrimali、Manjeet Dahiya、Ankur Patel 和 Suneeta Mall。他们从技术角度就本书最初几稿给出了颇有见地和深度的评论意见。最后,我们还想把感谢送给朋友和家人,他们是Jeff Dean、Venkat Buduma、William 和Jack。感谢他们在本书最终成书阶段所提供的见解。Joe 的特别致谢更新本书配套PyTorch 代码,既有趣又令人兴奋。对于这样一项艰巨的任务,一个人是无法胜任的。我想感谢PyTorch 社区及其2100 多名贡献者持续开发和改进PyTorch 及其深度学习功能。正是有你们的努力,我们才能在本书阐述各种概念。我得以加入该项目多亏Rebecca Novack,她坚信我是当作者的料,为此我永远感激她。感谢Melissa Potter 和 O’Reilly 的排版印制人员为本书新版上市所付出的努力。感谢Matt Kirk 的鼓励和支持。他是我勇往直前的垫脚石。感谢你在我们无数次聊天中提供的诸多想法和资源。我向我的孩子Savannah、Caroline、George 和Forrest 致以特别的谢意,感谢你们在爸爸不得不工作时表现出的耐心和理解。最后,我要特别感谢我的妻子Emily,她坚定不移支持我的梦想。我忙于敲代码时,她既要照顾刚出生的孩子,又要确保“大”孩子的需求得到满足,为此常常睡不安稳。没有她的帮助,我根本无暇顾及该项目。
评论
还没有评论。