内容简介 · · · · · ·
本书是深度学习真正意义上的入门书,深入浅出地剖析了深度学习的原理和相关技术。书中使用Python3,尽量不依赖外部库或工具,从基本的数学知识出发,带领读者从零创建一个经典的深度学习网络,使读者在此过程中逐步理解深度学习。书中不仅介绍了深度学习和神经网络的概念、特征等基础知识,对误差反向传播法、卷积神经网络等也有深入讲解,此外还介绍了深度学习相关的实用技巧,自动驾驶、图像生成、强化学习等方面的应用,以及为什么加深层可以提高识别精度等“为什么”的问题。
作者简介 · · · · · ·
作者简介:
斋藤康毅
东京工业大学毕业,并完成东京大学研究生院课程。现从事计算机视觉与机器学习相关的研究和开发工作。是Introducing Python、Python in Practice、The Elements of Computing Systems、Building Machine Learning Systems with Python的日文版译者。
译者简介:
陆宇杰
众安科技NLP算法工程师。主要研究方向为自然语言处理及其应用,对图像识别、机器学习、深度学习等领域有密切关注。Python爱好者。
目录 · · · · · ·
第1章 Python入门
1.1 Python是什么
1.2 Python的安装
1.2.1 Python版本
1.2.2 使用的外部库
1.2.3 Anaconda发行版
1.3 Python解释器
1.3.1 算术计算
1.3.2 数据类型
1.3.3 变量
1.3.4 列表
1.3.5 字典
1.3.6 布尔型
1.3.7 if 语句
1.3.8 for 语句
1.3.9 函数
1.4 Python脚本文件
1.4.1 保存为文件
1.4.2 类
1.5 NumPy
1.5.1 导入 NumPy
1.5.2 生成 NumPy 数组
1.5.3 NumPy 的算术运算
1.5.4 NumPy 的 N 维数组
1.5.5 广播
1.5.6 访问元素
1.6 Matplotlib
1.6.1 绘制简单图形
1.6.2 pyplot 的功能
1.6.3 显示图像
1.7 小结
第2章 感知机
2.1 感知机是什么
2.2 简单逻辑电路
2.2.1 与门
2.2.2 与非门和或门
2.3 感知机的实现
2.3.1 简单的实现
2.3.2 导入权重和偏置
2.3.3 使用权重和偏置的实现
2.4 感知机的局限性
2.4.1 异或门
2.4.2 线性和非线性
2.5 多层感知机
2.5.1 已有门电路的组合
2.5.2 异或门的实现
2.6 从与非门到计算机
2.7 小结
第3章 神经网络
3.1 从感知机到神经网络
3.1.1 神经网络的例子
3.1.2 复习感知机
3.1.3 激活函数登场
3.2 激活函数
3.2.1 sigmoid 函数
3.2.2 阶跃函数的实现
3.2.3 阶跃函数的图形
3.2.4 sigmoid 函数的实现
3.2.5 sigmoid 函数和阶跃函数的比较
3.2.6 非线性函数
3.2.7 ReLU函数
3.3 多维数组的运算
3.3.1 多维数组
3.3.2 矩阵乘法
3.3.3 神经网络的内积
3.4 3 层神经网络的实现
3.4.1 符号确认
3.4.2 各层间信号传递的实现
3.4.3 代码实现小结
3.5 输出层的设计
3.5.1 恒等函数和 softmax 函数
3.5.2 实现 softmax 函数时的注意事项
3.5.3 softmax 函数的特征
3.5.4 输出层的神经元数量
3.6 手写数字识别
3.6.1 MNIST 数据集
3.6.2 神经网络的推理处理
3.6.3 批处理
3.7 小结
第4章 神经网络的学习
4.1 从数据中学习
4.1.1 数据驱动
4.1.2 训练数据和测试数据
4.2 损失函数
4.2.1 均方误差
4.2.2 交叉熵误差
4.2.3 mini-batch 学习
4.2.4 mini-batch 版交叉熵误差的实现
4.2.5 为何要设定损失函数
4.3 数值微分
4.3.1 导数
4.3.2 数值微分的例子
4.3.3 偏导数
4.4 梯度
4.4.1 梯度法
4.4.2 神经网络的梯度
4.5 学习算法的实现
4.5.1 2 层神经网络的类
4.5.2 mini-batch 的实现
4.5.3 基于测试数据的评价
4.6 小结
第5章 误差反向传播法
5.1 计算图
5.1.1 用计算图求解
5.1.2 局部计算
5.1.3 为何用计算图解题
5.2 链式法则
5.2.1 计算图的反向传播
5.2.2 什么是链式法则
5.2.3 链式法则和计算图
5.3 反向传播
5.3.1 加法节点的反向传播
5.3.2 乘法节点的反向传播
5.3.3 苹果的例子
5.4 简单层的实现
5.4.1 乘法层的实现
5.4.2 加法层的实现
5.5 激活函数层的实现
5.5.1 ReLU层
5.5.2 Sigmoid 层
5.6 Affine/Softmax 层的实现
5.6.1 Affine 层
5.6.2 批版本的 Affine 层
5.6.3 Softmax-with-Loss 层
5.7 误差反向传播法的实现
5.7.1 神经网络学习的全貌图
5.7.2 对应误差反向传播法的神经网络的实现
5.7.3 误差反向传播法的梯度确认
5.7.4 使用误差反向传播法的学习
5.8 小结
第6章 与学习相关的技巧
6.1 参数的更新
6.1.1 探险家的故事
6.1.2 SGD
6.1.3 SGD 的缺点
6.1.4 Momentum
6.1.5 AdaGrad
6.1.6 Adam
6.1.7 使用哪种更新方法呢
6.1.8 基于 MNIST 数据集的更新方法的比较
6.2 权重的初始值
6.2.1 可以将权重初始值设为 0 吗
6.2.2 隐藏层的激活值的分布
6.2.3 ReLU的权重初始值
6.2.4 基于 MNIST 数据集的权重初始值的比较
6.3 Batch Normalization
6.3.1 Batch Normalization 的算法
6.3.2 Batch Normalization的评估
6.4 正则化
6.4.1 过拟合
6.4.2 权值衰减
6.4.3 Dropout
6.5 超参数的验证
6.5.1 验证数据
6.5.2 超参数的最优化
6.5.3 超参数最优化的实现
6.6 小结
第7章 卷积神经网络
7.1 整体结构
7.2 卷积层
7.2.1 全连接层存在的问题
7.2.2 卷积运算
7.2.3 填充
7.2.4 步幅
7.2.5 3 维数据的卷积运算
7.2.6 结合方块思考
7.2.7 批处理
7.3 池化层
7.4 卷积层和池化层的实现
7.4.1 4 维数组
7.4.2 基于 im2col 的展开
7.4.3 卷积层的实现
7.4.4 池化层的实现
7.5 CNN的实现
7.6 CNN的可视化
7.6.1 第 1 层权重的可视化
7.6.2 基于分层结构的信息提取
7.7 具有代表性的 CNN
7.7.1 LeNet
7.7.2 AlexNet
7.8 小结
第8章 深度学习
8.1 加深网络
8.1.1 向更深的网络出发
8.1.2 进一步提高识别精度
8.1.3 加深层的动机
8.2 深度学习的小历史
8.2.1 ImageNet
8.2.2 VGG
8.2.3 GoogLeNet
8.2.4 ResNet
8.3 深度学习的高速化
8.3.1 需要努力解决的问题
8.3.2 基于 GPU 的高速化
8.3.3 分布式学习
8.3.4 运算精度的位数缩减
8.4 深度学习的应用案例
8.4.1 物体检测
8.4.2 图像分割
8.4.3 图像标题的生成
8.5 深度学习的未来
8.5.1 图像风格变换
8.5.2 图像的生成
8.5.3 自动驾驶
8.5.4 Deep Q-Network(强化学习)
8.6 小结
附录A Softmax-with-Loss 层的计算图
A.1 正向传播
A.2 反向传播
A.3 小结
参考文献
· · · · · · (收起)
"深度学习入门"试读 · · · · · ·
深度学习的浪潮已经汹涌澎湃了一段时间了,市面上相关的图书也已经出版了很多。其中,既有知名学者伊恩•古德费洛(Ian Goodfellow)等人撰写的系统介绍深度学习基本理论的《深度学习》,也有各种介绍深度学习框架的使用方法的入门书。你可能会问,现在再出一本关于深度学习的书,是不是“为时已晚”?其实并非如此,因为本书考察深度学习的角度非常独特,它的出版可以说是“千呼万唤始...
原文摘录 · · · · · · ( 全部 )
-
最近出现了很多深度学习相关的库,任何人都可以方便地使用。实际上,使用这些库的话,可以轻松地运行深度学习的程序。那么,为什么我们还要特意花时间从零开始实现深度学习呢?一个理由就是,在制作东西的过程中可以学到很多。 在制作东西的过程中,会进行各种各样的实验,有时也会卡住,抱着脑袋想为什么会这样。这种费时的工作对深刻理解技术而言是宝贵的财富。像这样认真花费时间获得的知识在使用现有的库、阅读最新的文章、创建原创的系统时都大有用处。而且最重要的是,制作本身就是一件快乐的事情。(还需要快乐以外的其他什么理由吗?) (查看原文) —— 引自章节:前言 xv -
def AND(x1, x2): x = np.array([x1, x2]) w = np.array([0.5, 0.5]) b = -0.7 tmp = np.sum(w*x) + b if tmp <= 0: return 0 else: return 1 这里把−θ命名为偏置b,但是请注意,偏置和权重w1、 w2的作用是不 一样的。具体地说, w1和w2是控制输入信号的重要性的参数,而偏置是调 整神经元被激活的容易程度(输出信号为1的程度)的参数。比如,若b为 −0.1,则只要输入信号的加权总和超过0.1,神经元就会被激活。但是如果b 为−20.0,则输入信号的加权总和必须超过20.0,神经元才会被激活。像这样, 偏置的值决定了神经元被激活的容易程度。另外,这里我们将w1和w2称为权重, 将b称为偏置,但是根据上下文,有时也会将b、 w1、 w2这些参数统称为权重。 (查看原文) —— 引自第27页
> 全部原文摘录
丛书信息
· · · · · ·
喜欢读"深度学习入门"的人也喜欢的电子书 · · · · · ·
喜欢读"深度学习入门"的人也喜欢 · · · · · ·
-
- Python深度学习 9.5
-
- 动手学深度学习 9.3
-
- 机器学习实战 (原书第2版) 9.5
-
- 神经网络与深度学习 9.3
-
- PyTorch生成对抗网络编程 8.9
-
- 零基础学机器学习 9.0
-
- 流畅的Python 9.4
-
- 深入浅出神经网络与深度学习 9.0
-
- 操作系统导论 9.3
深度学习入门的书评 · · · · · · ( 全部 9 条 )
整个暑期收获最多的一本书
这篇书评可能有关键情节透露
鱼书是《深度学习入门与进阶》,这本书算是第一个让我理解了什么是训练,具体的代码是什么,虽然书里没有具体带你训练,但是教给了你搭轮子的技术。 下面是从这本书能学到的东西。 1.感知机的基本概念 2.感知机与神经网络 3.神经网络推理 4.神经网络的训练——数值法求梯度以及... (展开)虽然很基础,但是经典,深度学习宝藏级入门教程。
深度学习不应停留于表面
力荐这本轻巧便携的深度学习口袋书!
使用深度学习进行图像分类
> 更多书评 9篇
论坛 · · · · · ·
| img2col的介绍是本书唯一感觉不足的地方 | 来自Henry JI | 2 回应 | 2025-01-26 00:49:57 |
| 没有编程基础的人适合阅读和入门吗? | 来自禹惜 | 2024-03-01 12:01:49 | |
| 有电子版吗? | 来自多情客 | 1 回应 | 2022-11-28 12:25:13 |
| 误差的反向传递 | 来自喜欢雨夜 | 12 回应 | 2022-10-25 20:57:57 |
| mini—batch求教 | 来自刘辉 | 2 回应 | 2021-02-18 18:34:00 |
这本书的其他版本 · · · · · · ( 全部4 )
-
歐萊禮 (2017)暂无评分 4人读过
-
O'Reilly Japan, Inc. (2016)暂无评分 6人读过
-
未知出版社 (2021)暂无评分
以下书单推荐 · · · · · · ( 全部 )
- 【书】所谓知识的另一种 (自娱者小五)
- 豆瓣读书评分9分以上榜单 (无人的冬夜)
- 书单 | 千评9分书(一) (Sheryl)
- 豆瓣9分以上计算机图书 (晚安,本杰明)
- 计算语言学 NLP (汤圆先生)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有9238人想读,手里有一本闲着?
订阅关于深度学习入门的评论:
feed: rss 2.0

5 有用 Japhelin 2018-08-11 12:18:45
这本书写得通俗易懂很好,算是入门有个大概方向了!
1 有用 细逐空香瑶月麓 2020-02-26 08:31:04
现在再回来翻看,这本书应该是非框架书里最强的了,日本人还是有一套的,pytorch里许多地方都是从日本人的chainer里学来的。书里面对计算图反传和im2col的讲解都非常好。
3 有用 没老实 2019-05-17 14:53:47
确实是超入门了,深度学习只讲了几页而已…但是讲解和代码很清晰,相当于温故知新,文科生读应该也没什么压力(其实最大的优点是文库本size
1 有用 无骨柠檬鸡爪爪 2024-05-12 01:34:13 江苏
不愧为经典。 学完一遍之后才有些许心得。每行代码不必都敲,只需要看懂就行。 这个适合有一些基础的人。 还需要再读几遍吧。
4 有用 刘旸 2018-12-02 16:13:57
对于深度学习入门而言,这是我推荐的第一本书,随便翻过不下10本类似书籍,应该说这本从各方面而言都是最佳的。 虽然这本书没有任何现有框架的介绍,比如sklearn,tensorflow,keras等,但是对于像从头了解深度学习(特别是神经网络)而言,非常好。 在这本书的基础上,再去找个比如sklearn的框架按照例子跑跑,就差不多了。