资源详情

Python深度学习入门 从零构建CNN和RNN(图灵出品)

Python深度学习入门 从零构建CNN和RNN(图灵出品)-电子书下载


作者: 塞思·韦德曼(Seth Weidman)
出版社: 人民邮电出版社
原作名: Deep Learning from Scratch: Building with Python from First Principles
译者: 郑天民
出版年: 2021-2
页数: 212
定价: 79
装帧: 平装
丛书: O'Reilly动物系列(中译本)
ISBN: 9787115555649

下载次数:16


本站推荐

书籍资料

  • 内容简介
  • 作者介绍
  • 书籍目录

本书全面介绍了深度学习知识,借助数学公式、示意图和代码,旨在帮助读者从数学层面、概念层面和应用层面理解神经网络。读者可以跟随本书构建和训练神经网络模型,从而解决实际问题。另外,本书着重介绍卷积神经网络和循环神经网络,并提供PyTorch开源神经网络库的使用方法,有助于学习构建更高级的神经网络架构。

塞思·韦德曼(Seth Weidman),SentiLink公司数据科学家。他曾在Facebook公司从事数据科学工作,并为多家企业开发了深度学习培训课程。塞思善于通过简单明了的方式解释复杂的概念。除了讲授课程,他还热衷于技术写作,并撰写了大量PyTorch教程。

第1章 基本概念1
1.1 函数2
1.2 导数6
1.3 嵌套函数8
1.4 链式法则9
1.5 示例介绍12
1.6 多输入函数15
1.7 多输入函数的导数16
1.8 多向量输入函数17
1.9 基于已有特征创建新特征18
1.10 多向量输入函数的导数20
1.11 向量函数及其导数:再进一步22
1.12 包含两个二维矩阵输入的计算图25
1.13 有趣的部分:后向传递28
1.14 小结34
第2章 基本原理35
2.1 监督学习概述36
2.2 监督学习模型38
2.3 线性回归38
2.3.1 线性回归:示意图39
2.3.2 线性回归:更有用的示意图和数学41
2.3.3 加入截距项41
2.3.4 线性回归:代码42
2.4 训练模型42
2.4.1 计算梯度:示意图43
2.4.2 计算梯度:数学和一些代码43
2.4.3 计算梯度:完整的代码44
2.4.4 使

梯度训练模型45
2.5 评估模型:训练集与测试集46
2.6 评估模型:代码46
2.7 从零开始构建神经网络49
2.7.1 步骤1:一系列线性回归49
2.7.2 步骤2:一个非线性函数50
2.7.3 步骤3:另一个线性回归50
2.7.4 示意图51
2.7.5 代码52
2.7.6 神经网络:后向传递53
2.8 训练和评估第一个神经网络55
2.9 小结57
第3章 从零开始深度学习58
3.1 定义深度学习58
3.2 神经网络的构成要素:运算59
3.2.1 示意图60
3.2.2 代码61
3.3神经网络的构成要素:层62
3.4 在构成要素之上构建新的要素64
3.4.1 层的蓝图66
3.4.2 稠密层68
3.5 NeuralNetwork类和其他类69
3.5.1 示意图70
3.5.2 代码70
3.5.3 Loss类71
3.6 从零开始构建深度学习模型72
3.6.1 实现批量训练73
3.6.2 NeuralNetwork:代码73
3.7 优化器和训练器75
3.7.1 优化器76
3.7.2 训练器77
3.8 整合79
3.9 小结与展望80
第4章 扩展81
4.1 关于神经网络的一些直觉82
4.2 softmax交叉熵损失函数84
4.2.1 组件1:softmax函数84
4.2.2 组件2:交叉熵损失85
4.2.3 关于激活函数的注意事项87
4.3 实验90
4.3.1 数据预处理90
4.3.2 模型91
4.3.3 实验:softmax交叉熵损失函数92
4.4 动量92
4.4.1 理解动量93
4.4.2 在Optimizer类中实现动量93
4.4.3 实验:带有动量的随机梯度下降94
4.5 学习率衰减95
4.5.1 学习率衰减的类型95
4.5.2 实验:学习率衰减97
4.6 权重初始化97
4.6.1 数学和代码99
4.6.2 实验:权重初始化100
4.7 dropout100
4.7.1 定义100
4.7.2 实现101
4.7.3 实验:dropout102
4.8 小结104
第5章 CNN105
5.1 神经网络与表征学习105
5.1.1 针对图像数据的不同架构106
5.1.2 卷积运算107
5.1.3 多通道卷积运算108
5.2 卷积层109
5.2.1 实现意义110
5.2.2 卷积层与全连接层的区别111
5.2.3 利用卷积层进行预测:Flatten层111
5.2.4 池化层112
5.3 实现多通道卷积运算114
5.3.1 前向传递114
5.3.2 后向传递117
5.3.3 批处理120
5.3.4 二维卷积121
5.3.5 最后一个元素:通道123
5.4 使用多通道卷积运算训练CNN126
5.4.1 Flatten运算126
5.4.2 完整的Conv2D层127
5.4.3 实验128
5.5 小结129
第6章 RNN130
6.1 关键限制:处理分支131
6.2 自动微分132
6.3 RNN的动机137
6.4 RNN简介138
6.4.1 RNN的第一个类:RNNLayer139
6.4.2 RNN的第二个类:RNNNode140
6.4.3 整合RNNNode类和RNNLayer类140
6.4.4 后向传递142
6.5 RNN:代码143
6.5.1 RNNLayer类144
6.5.2 RNNNode类的基本元素147
6.5.3 vanillaRNNNode类148
6.5.4 vanillaRNNNode类的局限性150
6.5.5 GRUNode类151
6.5.6 LSTMNode类154
6.5.7 基于字符级RNN语言模型的数据表示156
6.5.8 其他语言建模任务157
6.5.9 组合RNNLayer类的变体158
6.5.10 将全部内容整合在一起158
6.6 小结159
第7章 PyTorch160
7.1 PyTorchTensor160
7.2 使用PyTorch进行深度学习161
7.2.1 PyTorch元素:Model类及其Layer类162
7.2.2 使用PyTorch实现神经网络基本要素:DenseLayer类163
7.2.3 示例:基于PyTorch的波士顿房价模型164
7.2.4 PyTorch元素:Optimizer类和Loss类165
7.2.5 PyTorch元素:Trainer类165
7.2.6 PyTorch优化学习技术168
7.3 PyTorch中的CNN168
7.4 PyTorch中的LSTM173
7.5 后记:通过自编码器进行无监督学习175
7.5.1 表征学习175
7.5.2 应对无标签场景的方法176
7.5.3 在PyTorch中实现自编码器176
7.5.4 更强大的无监督学习测试及解决方案181
7.6 小结182
附录 深入探讨183
关于作者192
关于封面192