具体描述
《深度学习入门之PyTorch》深度学习如今已经成为科技领域最炙手可热的技术,在《深度学习入门之PyTorch》中,我们将帮助你入门深度学习。《深度学习入门之PyTorch》将从机器学习和深度学习的基础理论入手,从零开始学习 PyTorch,了解 PyTorch 基础,以及如何用 PyTorch 框架搭建模型。通过阅读《深度学习入门之PyTorch》,你将学到机器学习中的线性回归和 Logistic 回归、深度学习的优化方法、多层全连接神经网络、卷积神经网络、循环神经网络,以及生成对抗网络,最后通过实战了解深度学习前沿的研究成果,以及 PyTorch 在实际项目中的应用。《深度学习入门之PyTorch》将理论和代码相结合,帮助读者更好地入门深度学习,适合任何对深度学习感兴趣的人阅读。
作者简介
廖星宇,目前就读于中国科学技术大学应用数学系,获得国家一等奖学金。在个人博客、知乎等平台上发布多篇关于深度学习的文章,具有一定的阅读量和人气。
目录信息
1.1 人工智能 1
1.2 数据挖掘、机器学习与深度学习2
1.2.1 数据挖掘 3
1.2.2 机器学习 3
1.2.3 深度学习 4
1.3 学习资源与建议 8
第 2 章 深度学习框架 11
2.1 深度学习框架介绍 . 11
2.2 PyTorch 介绍. 13
2.2.1 什么是 PyTorch. 13
2.2.2 为何要使用 PyTorch 14
2.3 配置 PyTorch 深度学习环境 15
2.3.1 操作系统的选择. 15
2.3.2 Python 开发环境的安装 16
2.3.3 PyTorch 的安装. 18
第 3 章 多层全连接神经网络 24
3.1 热身:PyTorch 基础 24
3.1.1 Tensor(张量). 24
3.1.2 Variable(变量)26
3.1.3 Dataset(数据集)28
3.1.4 nn.Module(模组) 29
3.1.5 torch.optim(优化) 30
3.1.6 模型的保存和加载 31
3.2 线性模型 32
3.2.1 问题介绍 32
3.2.2 一维线性回归33
3.2.3 多维线性回归34
3.2.4 一维线性回归的代码实现. 35
3.2.5 多项式回归 38
3.3 分类问题 42
3.3.1 问题介绍 42
3.3.2 Logistic 起源 42
3.3.3 Logistic 分布 42
3.3.4 二分类的 Logistic 回归 43
3.3.5 模型的参数估计. 44
3.3.6 Logistic 回归的代码实现45
3.4 简单的多层全连接前向网络 . 49
3.4.1 模拟神经元 49
3.4.2 单层神经网络的分类器 50
3.4.3 激活函数 51
3.4.4 神经网络的结构. 54
3.4.5 模型的表示能力与容量 55
3.5 深度学习的基石:反向传播算法57
3.5.1 链式法则 57
3.5.2 反向传播算法58
3.5.3 Sigmoid 函数举例58
3.6 各种优化算法的变式59
3.6.1 梯度下降法 59
3.6.2 梯度下降法的变式 62
3.7 处理数据和训练模型的技巧 . 64
3.7.1 数据预处理 64
3.7.2 权重初始化 66
3.7.3 防止过拟合 67
3.8 多层全连接神经网络实现 MNIST 手写数字分类 69
3.8.1 简单的三层全连接神经网络70
3.8.2 添加激活函数70
3.8.3 添加批标准化71
3.8.4 训练网络 71
第 4 章 卷积神经网络 76
4.1 主要任务及起源 76
4.2 卷积神经网络的原理和结构 . 77
4.2.1 卷积层80
4.2.2 池化层84
4.2.3 全连接层 85
4.2.4 卷积神经网络的基本形式. 85
4.3 PyTorch 卷积模块 . 87
4.3.1 卷积层87
4.3.2 池化层88
4.3.3 提取层结构 90
4.3.4 如何提取参数及自定义初始化 91
4.4 卷积神经网络案例分析. 92
4.4.1 LeNet. 93
4.4.2 AlexNet94
4.4.3 VGGNet 95
4.4.4 GoogLeNet . 98
4.4.5 ResNet100
4.5 再实现 MNIST 手写数字分类 . 103
4.6 图像增强的方法 105
4.7 实现 cifar10 分类 107
第 5 章 循环神经网络 111
5.1 循环神经网络111
5.1.1 问题介绍 112
5.1.2 循环神经网络的基本结构. 112
5.1.3 存在的问题 115
5.2 循环神经网络的变式:LSTM 与 GRU 116
5.2.1 LSTM. 116
5.2.2 GRU. 119
5.2.3 收敛性问题 120
5.3 循环神经网络的 PyTorch 实现 122
5.3.1 PyTorch 的循环网络模块122
5.3.2 实例介绍 127
5.4 自然语言处理的应用131
5.4.1 词嵌入131
5.4.2 词嵌入的 PyTorch 实现 133
5.4.3 N Gram 模型 133
5.4.4 单词预测的 PyTorch 实现134
5.4.5 词性判断 136
5.4.6 词性判断的 PyTorch 实现137
5.5 循环神经网络的更多应用140
5.5.1 Many to one 140
5.5.2 Many to Many(shorter)141
5.5.3 Seq2seq141
5.5.4 CNN+RNN . 142
第 6 章 生成对抗网络 144
6.1 生成模型 144
6.1.1 自动编码器 145
6.1.2 变分自动编码器. 150
6.2 生成对抗网络153
6.2.1 何为生成对抗网络 153
6.2.2 生成对抗网络的数学原理. 160
6.3 Improving GAN164
6.3.1 Wasserstein GAN. 164
6.3.2 Improving WGAN167
6.4 应用介绍 168
6.4.1 Conditional GAN. 168
6.4.2 Cycle GAN . 170
第 7 章 深度学习实战 173
7.1 实例一——猫狗大战:运用预训练卷积神经网络进行特征提取与预测 . 173
7.1.1 背景介绍 174
7.1.2 原理分析 174
7.1.3 代码实现 177
7.1.4 总结. 183
7.2 实例二——Deep Dream:探索卷积神经网络眼中的世界183
7.2.1 原理介绍 184
7.2.2 预备知识:backward . 185
7.2.3 代码实现 190
7.2.4 总结. 195
7.3 实例三——Neural-Style:使用 PyTorch 进行风格迁移196
7.3.1 背景介绍 196
7.3.2 原理分析 197
7.3.3 代码实现 199
7.3.4 总结. 205
7.4 实例四——Seq2seq:通过 RNN 实现简单的 Neural Machine Translation . 205
7.4.1 背景介绍 206
7.4.2 原理分析 206
7.4.3 代码实现 209
7.4.4 总结. 221
· · · · · · (收起)
读后感
绝对是5星推荐。在买这本书之前,我看了豆瓣的评论也不想买的,后来双十一凑单,就买了,绝对超值。和 《深度学习框架PyTorch:入门与实践 》结合起来看,更好。 这本书注重基本的深度学习知识,虽然没有深入,但是常用的深度学习知识都有涉及,而且作者理解很好,通过作者说出...
绝对是5星推荐。在买这本书之前,我看了豆瓣的评论也不想买的,后来双十一凑单,就买了,绝对超值。和 《深度学习框架PyTorch:入门与实践 》结合起来看,更好。 这本书注重基本的深度学习知识,虽然没有深入,但是常用的深度学习知识都有涉及,而且作者理解很好,通过作者说出...
绝对是5星推荐。在买这本书之前,我看了豆瓣的评论也不想买的,后来双十一凑单,就买了,绝对超值。和 《深度学习框架PyTorch:入门与实践 》结合起来看,更好。 这本书注重基本的深度学习知识,虽然没有深入,但是常用的深度学习知识都有涉及,而且作者理解很好,通过作者说出...
绝对是5星推荐。在买这本书之前,我看了豆瓣的评论也不想买的,后来双十一凑单,就买了,绝对超值。和 《深度学习框架PyTorch:入门与实践 》结合起来看,更好。 这本书注重基本的深度学习知识,虽然没有深入,但是常用的深度学习知识都有涉及,而且作者理解很好,通过作者说出...
绝对是5星推荐。在买这本书之前,我看了豆瓣的评论也不想买的,后来双十一凑单,就买了,绝对超值。和 《深度学习框架PyTorch:入门与实践 》结合起来看,更好。 这本书注重基本的深度学习知识,虽然没有深入,但是常用的深度学习知识都有涉及,而且作者理解很好,通过作者说出...
用户评价
这本书的附录和资源链接部分,简直是为进阶学习者准备的宝藏地图。作者深知深度学习是一个快速迭代的领域,所以他不仅在正文中提供了坚实的基础,还在最后贴心地整理了一系列高质量的扩展阅读材料和社区资源。我发现他推荐的几篇经典论文和博客,每一篇都切中要害,极大地拓宽了我对前沿研究的视野。更让人惊喜的是,书中提到的一些实验和数据集,作者都提供了清晰的获取和运行指南,让我可以轻松地在自己的环境中复现书中的案例,并在此基础上进行修改和扩展。这种开放的态度和对学习社区的重视,让这本书超越了一本单纯的教材,更像是一个活跃的学习社群的入口。对于希望将学习成果转化为实际项目的人来说,这种资源的整合能力是极其宝贵的。
这本书的排版和代码示例的呈现方式,简直是业界良心。很多技术书籍的代码部分,要么是字体太小,要么是行距太挤,看得人眼睛生疼,代码块和文字描述之间也缺乏有效的区分。但这本书在这方面做得非常到位,每一个代码片段都单独用清晰的区块标出,语法高亮做得恰到好处,关键函数和变量名都能一眼识别。更重要的是,作者在每一个代码块的上方或下方,都会用非常精炼的语言解释这段代码的核心作用和它在整个模型中所处的环节。我发现,很多时候我不需要特意去查阅官方文档,光看书中的解释就能明白代码的逻辑。这种“代码即文档”的处理方式,极大地提高了我的学习效率。我还注意到,书中引用的库和工具的版本都非常新,这对于深度学习领域来说至关重要,避免了我们在实践中遇到版本不兼容的尴尬。
作为一名已经有一些编程经验,但对深度学习理论感到头疼的工程师,我最欣赏这本书的实用主义精神。它没有把篇幅浪费在过多的历史回顾或者过时的技术介绍上。重点非常明确,就是如何利用现代工具箱去解决实际问题。书中对模型训练过程中的各种“坑”——比如过拟合、梯度消失、学习率选择——都有非常独到的见解和实用的规避策略。这些经验绝不是书本上能轻易找到的,更像是作者多年一线实战中提炼出来的“内功心法”。特别是关于模型调试的部分,作者提供了一套完整的排查流程,从数据预处理到网络结构调整,逻辑性极强,让我茅塞顿开,原来那些复杂的训练失败情况是可以系统性地解决的。这本书真正做到了“授人以渔”,教会我如何像一个真正的研究人员或工程师那样去思考和解决问题。
这本书在知识广度和深度之间的平衡拿捏得相当巧妙,让人读起来既有满足感,又不会产生“学海无涯”的焦虑。它从最基础的线性回归讲起,逐步过渡到卷积网络和循环网络这些核心模型,每一个模型的引入都伴随着一个实际的应用场景,比如用CNN做图像分类,用RNN处理时间序列数据。这种案例驱动的学习路径,让理论不再是空中楼阁。有趣的是,它在讲解一些高级概念时,比如注意力机制或者Transformer结构的基础思想,并没有直接跳到复杂的公式推导,而是先用一种非常直观的、类比的方式让你建立起对这个概念的“感觉”,然后再引入数学的严谨性。这种先感性认识再理性分析的结构,非常符合人类的学习规律,确保了知识的吸收是牢固而深刻的。
这本书的封面设计非常抓人眼球,那种深邃的蓝色调搭配着醒目的橙色字体,一下子就让人联想到了高深莫测的AI世界,但又不失亲和力。我刚开始接触深度学习时,面对那些复杂的数学公式和晦涩难懂的理论,感到非常迷茫。这本书的开篇并没有直接抛出那些吓人的公式,而是从一个很贴近生活、很容易理解的例子入手,比如图像识别的基础概念,这让我很快就找到了切入点。作者在讲解基础概念时,那种娓娓道来的语气,就像一位经验丰富的导师在身边耐心指导,每一个步骤都拆解得非常清晰,生怕你跟不上。特别是它对神经网络基本结构的介绍,用了很多生动的比喻,比如把神经元比作决策者,把数据流比作信息传递,让原本抽象的概念变得具象化。读完前几章,我感觉自己不再是对深度学习一无所知的小白了,而是有了一个坚实的基础,可以自信地迈入更深层次的学习了。这种循序渐进的引导方式,对于我这种自学成性的人来说,简直是及时雨。
是系统性的博客总结成书。但排版成书的技术文档基本都已落后,眼见 PyTorch 1.0 都发布了。另外,书和 GitHub 上的代码对不上号,学习连贯性不是很好。
说实话写的一般,代码没有github上面写的清楚。
用两个小时翻了翻。说是pytorch,但是还是理论多于pytorch框架本身。几乎涉及了目前常用的深度学习理论,薄薄的一本书当然写的很浅。不过翻了翻本书,感觉pytorch还是挺简洁的,新框架的迁移成本应该不高,有机会试试。
跟官网tutorial区别不大,骗钱性质
跟官网tutorial区别不大,骗钱性质