具体描述
本书是深度学习真正意义上的入门书,深入浅出地剖析了深度学习的原理和相关技术。书中使用Python3,尽量不依赖外部库或工具,从基本的数学知识出发,带领读者从零创建一个经典的深度学习网络,使读者在此过程中逐步理解深度学习。书中不仅介绍了深度学习和神经网络的概念、特征等基础知识,对误差反向传播法、卷积神经网络等也有深入讲解,此外还介绍了深度学习相关的实用技巧,自动驾驶、图像生成、强化学习等方面的应用,以及为什么加深层可以提高识别精度等“为什么”的问题。
作者简介
作者简介:
斋藤康毅
东京工业大学毕业,并完成东京大学研究生院课程。现从事计算机视觉与机器学习相关的研究和开发工作。是Introducing Python、Python in Practice、The Elements of Computing Systems、Building Machine Learning Systems with Python的日文版译者。
译者简介:
陆宇杰
众安科技NLP算法工程师。主要研究方向为自然语言处理及其应用,对图像识别、机器学习、深度学习等领域有密切关注。Python爱好者。
目录信息
前言 xv
第1章 Python入门 1
1.1 Python是什么 1
1.2 Python的安装 2
1.2.1 Python版本 2
1.2.2 使用的外部库 2
1.2.3 Anaconda发行版 3
1.3 Python解释器 4
1.3.1 算术计算 4
1.3.2 数据类型 5
1.3.3 变量 5
1.3.4 列表 6
1.3.5 字典 7
1.3.6 布尔型 7
1.3.7 if 语句 8
1.3.8 for 语句 8
1.3.9 函数 9
1.4 Python脚本文件 9
1.4.1 保存为文件 9
1.4.2 类 10
1.5 NumPy 11
1.5.1 导入NumPy 11
1.5.2 生成NumPy数组 12
1.5.3 NumPy 的算术运算 12
1.5.4 NumPy的N维数组 13
1.5.5 广播 14
1.5.6 访问元素 15
1.6 Matplotlib 16
1.6.1 绘制简单图形 16
1.6.2 pyplot 的功能 17
1.6.3 显示图像 18
1.7 小结 19
第2章 感知机 21
2.1 感知机是什么 21
2.2 简单逻辑电路 23
2.2.1 与门 23
2.2.2 与非门和或门 23
2.3 感知机的实现 25
2.3.1 简单的实现 25
2.3.2 导入权重和偏置 26
2.3.3 使用权重和偏置的实现 26
2.4 感知机的局限性 28
2.4.1 异或门 28
2.4.2 线性和非线性 30
2.5 多层感知机 31
2.5.1 已有门电路的组合 31
2.5.2 异或门的实现 33
2.6 从与非门到计算机 35
2.7 小结 36
第3章 神经网络 37
3.1 从感知机到神经网络 37
3.1.1 神经网络的例子 37
3.1.2 复习感知机 38
3.1.3 激活函数登场 40
3.2 激活函数 42
3.2.1 sigmoid 函数 42
3.2.2 阶跃函数的实现 43
3.2.3 阶跃函数的图形 44
3.2.4 sigmoid 函数的实现 45
3.2.5 sigmoid 函数和阶跃函数的比较 46
3.2.6 非线性函数 48
3.2.7 ReLU函数 49
3.3 多维数组的运算 50
3.3.1 多维数组 50
3.3.2 矩阵乘法 51
3.3.3 神经网络的内积 55
3.4 3 层神经网络的实现 56
3.4.1 符号确认 57
3.4.2 各层间信号传递的实现 58
3.4.3 代码实现小结 62
3.5 输出层的设计 63
3.5.1 恒等函数和softmax 函数 64
3.5.2 实现softmax 函数时的注意事项 66
3.5.3 softmax 函数的特征 67
3.5.4 输出层的神经元数量 68
3.6 手写数字识别 69
3.6.1 MNIST数据集 70
3.6.2 神经网络的推理处理 73
3.6.3 批处理 75
3.7 小结 79
第4章 神经网络的学习 81
4.1 从数据中学习 81
4.1.1 数据驱动 82
4.1.2 训练数据和测试数据 84
4.2 损失函数 85
4.2.1 均方误差 85
4.2.2 交叉熵误差 87
4.2.3 mini-batch 学习 88
4.2.4 mini-batch 版交叉熵误差的实现 91
4.2.5 为何要设定损失函数 92
4.3 数值微分 94
4.3.1 导数 94
4.3.2 数值微分的例子 96
4.3.3 偏导数 98
4.4 梯度 100
4.4.1 梯度法 102
4.4.2 神经网络的梯度 106
4.5 学习算法的实现 109
4.5.1 2 层神经网络的类 110
4.5.2 mini-batch 的实现 114
4.5.3 基于测试数据的评价 116
4.6 小结 118
第5章 误差反向传播法 121
5.1 计算图 121
5.1.1 用计算图求解 122
5.1.2 局部计算 124
5.1.3 为何用计算图解题 125
5.2 链式法则 126
5.2.1 计算图的反向传播 127
5.2.2 什么是链式法则 127
5.2.3 链式法则和计算图 129
5.3 反向传播 130
5.3.1 加法节点的反向传播 130
5.3.2 乘法节点的反向传播 132
5.3.3 苹果的例子 133
5.4 简单层的实现 135
5.4.1 乘法层的实现 135
5.4.2 加法层的实现 137
5.5 激活函数层的实现 139
5.5.1 ReLU层 139
5.5.2 Sigmoid 层 141
5.6 AffineSoftmax层的实现 144
5.6.1 Affine层 144
5.6.2 批版本的Affine层 148
5.6.3 Softmax-with-Loss 层 150
5.7 误差反向传播法的实现 154
5.7.1 神经网络学习的全貌图 154
5.7.2 对应误差反向传播法的神经网络的实现 155
5.7.3 误差反向传播法的梯度确认 158
5.7.4 使用误差反向传播法的学习 159
5.8 小结 161
第6章 与学习相关的技巧 163
6.1 参数的更新 163
6.1.1 探险家的故事 164
6.1.2 SGD 164
6.1.3 SGD的缺点 166
6.1.4 Momentum 168
6.1.5 AdaGrad 170
6.1.6 Adam 172
6.1.7 使用哪种更新方法呢 174
6.1.8 基于MNIST数据集的更新方法的比较 175
6.2 权重的初始值 176
6.2.1 可以将权重初始值设为0 吗 176
6.2.2 隐藏层的激活值的分布 177
6.2.3 ReLU的权重初始值 181
6.2.4 基于MNIST数据集的权重初始值的比较 183
6.3 Batch Normalization 184
6.3.1 Batch Normalization 的算法 184
6.3.2 Batch Normalization 的评估 186
6.4 正则化 188
6.4.1 过拟合 189
6.4.2 权值衰减 191
6.4.3 Dropout 192
6.5 超参数的验证 195
6.5.1 验证数据 195
6.5.2 超参数的最优化 196
6.5.3 超参数最优化的实现 198
6.6 小结 200
第7章 卷积神经网络 201
7.1 整体结构 201
7.2 卷积层 202
7.2.1 全连接层存在的问题 203
7.2.2 卷积运算 203
7.2.3 填充 206
7.2.4 步幅 207
7.2.5 3 维数据的卷积运算 209
7.2.6 结合方块思考 211
7.2.7 批处理 213
7.3 池化层 214
7.4 卷积层和池化层的实现 216
7.4.1 4 维数组 216
7.4.2 基于im2col 的展开 217
7.4.3 卷积层的实现 219
7.4.4 池化层的实现 222
7.5 CNN的实现 224
7.6 CNN的可视化 228
7.6.1 第1 层权重的可视化 228
7.6.2 基于分层结构的信息提取 230
7.7 具有代表性的CNN 231
7.7.1 LeNet 231
7.7.2 AlexNet 232
7.8 小结 233
第8章 深度学习 235
8.1 加深网络 235
8.1.1 向更深的网络出发 235
8.1.2 进一步提高识别精度 238
8.1.3 加深层的动机 240
8.2 深度学习的小历史 242
8.2.1 ImageNet 243
8.2.2 VGG 244
8.2.3 GoogLeNet 245
8.2.4 ResNet 246
8.3 深度学习的高速化 248
8.3.1 需要努力解决的问题 248
8.3.2 基于GPU的高速化 249
8.3.3 分布式学习 250
8.3.4 运算精度的位数缩减 252
8.4 深度学习的应用案例 253
8.4.1 物体检测 253
8.4.2 图像分割 255
8.4.3 图像标题的生成 256
8.5 深度学习的未来 258
8.5.1 图像风格变换 258
8.5.2 图像的生成 259
8.5.3 自动驾驶 261
8.5.4 Deep Q-Network(强化学习) 262
8.6 小结 264
附录A Softmax-with-Loss 层的计算图 267
A.1 正向传播 268
A.2 反向传播 270
A.3 小结 277
参考文献 279
· · · · · · (收起)
读后感
扫码关注公众号 「图灵的猫」,点击“学习资料”菜单,可以获得海量python、机器学习、深度学习书籍、课程资源,以及书中对应习题答案和代码。后台回复SSR更有机场节点相送~ 入门避坑指南 自学三年,基本无人带路,转专业的我自然是难上加难,踩过无数坑,走过很多弯路。这里我...
扫码关注公众号 「图灵的猫」,点击“学习资料”菜单,可以获得海量python、机器学习、深度学习书籍、课程资源,以及书中对应习题答案和代码。后台回复SSR更有机场节点相送~ 入门避坑指南 自学三年,基本无人带路,转专业的我自然是难上加难,踩过无数坑,走过很多弯路。这里我...
扫码关注公众号 「图灵的猫」,点击“学习资料”菜单,可以获得海量python、机器学习、深度学习书籍、课程资源,以及书中对应习题答案和代码。后台回复SSR更有机场节点相送~ 入门避坑指南 自学三年,基本无人带路,转专业的我自然是难上加难,踩过无数坑,走过很多弯路。这里我...
扫码关注公众号 「图灵的猫」,点击“学习资料”菜单,可以获得海量python、机器学习、深度学习书籍、课程资源,以及书中对应习题答案和代码。后台回复SSR更有机场节点相送~ 入门避坑指南 自学三年,基本无人带路,转专业的我自然是难上加难,踩过无数坑,走过很多弯路。这里我...
扫码关注公众号 「图灵的猫」,点击“学习资料”菜单,可以获得海量python、机器学习、深度学习书籍、课程资源,以及书中对应习题答案和代码。后台回复SSR更有机场节点相送~ 入门避坑指南 自学三年,基本无人带路,转专业的我自然是难上加难,踩过无数坑,走过很多弯路。这里我...
用户评价
我是一名在校学生,对人工智能的未来发展方向非常感兴趣,所以一直在寻找一本能够系统学习深度学习的教材。《深度学习入门》这本书给我留下了深刻的印象。它结构严谨,内容翔实,从神经网络的基本构成到各种经典模型的设计理念,都进行了深入浅出的讲解。让我印象深刻的是,书中不仅讲解了理论知识,还提供了大量的实践指导,包括如何使用现有的深度学习框架(比如 TensorFlow 和 PyTorch)来实现和训练模型。这些实践内容对我来说非常有价值,因为我知道,理论学习最终还是要落实到实践中去。我尤其赞赏书中对一些前沿技术如生成对抗网络(GAN)的介绍,虽然讲解得比较基础,但足以让我对这些先进技术有一个初步的了解。这本书为我后续深入研究更复杂的深度学习算法打下了坚实的基础。
我之前尝试过阅读一些关于机器学习的资料,但总是感觉云里雾里,好像抓不住重点。《深度学习入门》这本书则完全颠覆了我的认知。作者在书中非常注重建立读者的整体概念框架,而不是一上来就钻牛角尖。他循序渐进地介绍了深度学习的核心思想,从最基础的前馈神经网络开始,一点点地构建起更复杂的模型,比如卷积神经网络(CNN)和循环神经网络(RNN)。我特别欣赏书中对不同网络结构优缺点的对比分析,以及在什么场景下应该选择哪种网络,这让我对各种模型有了更清晰的认识。更令我惊喜的是,书中不仅仅是介绍理论,还花了很大篇幅讲解了训练过程中遇到的常见问题,比如过拟合、欠拟合、梯度消失等等,并给出了非常实用的解决方法。这些经验性的总结对于实际应用来说至关重要,很多时候,理论学得再好,也抵不过实践中的坑。读完这本书,我感觉自己不再是那个对深度学习一知半解的门外汉,而是真正有了一些可以动手实践的基础。
我一直以来都对人工智能的发展保持着高度关注,也曾尝试阅读过一些相关的书籍,但总觉得它们要么过于理论化,要么就过于浅显。《深度学习入门》这本书则恰好找到了一个很好的平衡点。作者在书中非常注重培养读者的直觉理解,他通过大量精美的图示和形象的比喻,将抽象的数学概念和复杂的算法过程变得易于理解。我尤其喜欢书中对损失函数和优化算法的讲解,这部分内容对于理解模型如何“学习”至关重要。作者并没有回避数学,但他将数学公式与实际应用紧密结合,让我明白为什么需要这些公式,以及它们在模型训练中的作用。此外,书中还对数据预处理、特征工程等深度学习项目中不可或缺的环节进行了详细的阐述,这对于初学者来说是至关重要的入门知识。读完这本书,我感觉自己对于如何构建、训练和评估一个深度学习模型有了更清晰的认识。
这本书真的给我打开了新世界的大门!我一直对人工智能这个领域充满好奇,但总觉得它离我太遥远,特别是那些复杂的数学公式和算法,让人望而却步。这本《深度学习入门》的标题吸引了我,我心想着,既然是“入门”,或许能找到一个不那么吓人的切入点。拿到书后,我迫不及待地翻开,发现作者的语言风格非常亲切,就像一位经验丰富的老师在耐心地讲解。他没有一开始就堆砌晦涩的理论,而是从一些直观的例子入手,比如图像识别、语音识别,这些都是我们日常生活中经常接触到的技术。通过这些例子,我开始慢慢理解深度学习到底能做什么,以及它为什么如此强大。书中对基本概念的解释也很到位,比如什么是神经网络、什么是层、什么是激活函数,都用了很多比喻和类比,让我这个初学者能迅速抓住要点。而且,它不像有些书那样只讲理论,还提供了很多代码示例,虽然我还没完全弄懂所有代码,但看到那些代码能真正运行起来,实现一些有趣的功能,真的非常有成就感!感觉自己离掌握这项“黑科技”又近了一步。
说实话,我一开始抱着试试看的心态买了这本书,因为我一直对用计算机模拟人类的学习过程非常着迷,但又不知道从何下手。《深度学习入门》这本书恰恰满足了我这个需求。作者的叙述方式非常清晰,他用非常易于理解的语言解释了深度学习背后的核心原理,例如反向传播算法,这一点我以前一直觉得很神秘,但读了这本书之后,我终于明白了它的工作机制。书中还详细介绍了深度学习在计算机视觉、自然语言处理等领域的应用案例,这些案例都非常生动有趣,让我看到了深度学习的巨大潜力和无限可能。我尤其喜欢书中对模型评估指标的讲解,比如准确率、召回率、F1分数等,让我明白如何客观地衡量一个深度学习模型的性能。虽然这本书的篇幅不小,但我读起来一点都不觉得枯燥,因为作者总是能将复杂的概念与实际问题相结合,让我始终保持着学习的兴趣。
写得很简明啊。简明是优点。入门来说应该是好的。可惜我已经不是入门级了
写得很简明啊。简明是优点。入门来说应该是好的。可惜我已经不是入门级了
确实是超入门了,深度学习只讲了几页而已…但是讲解和代码很清晰,相当于温故知新,文科生读应该也没什么压力(其实最大的优点是文库本size
#好书传阅#helen100,其实这次算是乱评吧,好多内容我没看懂,第一次读深度学习技术层的内容。不过本书给了我两个启发:1、之前看过python的基础,代码会多写几句了。2、对机器学习、深度学习有了一点模糊概念,重拾了大学学计算机与非门的基础知识,有点意思。
#好书传阅#helen100,其实这次算是乱评吧,好多内容我没看懂,第一次读深度学习技术层的内容。不过本书给了我两个启发:1、之前看过python的基础,代码会多写几句了。2、对机器学习、深度学习有了一点模糊概念,重拾了大学学计算机与非门的基础知识,有点意思。