Python深度学习入门:从零构建CNN和RNN
Seth Weidman
郑天民 译
出版时间:2021年03月
页数:212
“无论你是否有经验,都可以借助这本书,从零开始理解和编码神经网络。”
——Pin-YuChen
IBM Research AI团队研究人员

深度学习技术的发展如火如荼,这些知识正迅速成为机器学习从业者甚至许多软件开发工程师的“加分项”。深度学习是一个立体的领域,仅从数学层面或代码层面学习,难免以偏概全,无法融会贯通。
本书作者认为,理解深度学习和神经网络需要多种思维模型。因此,本书从数学、示意图、Python代码三个维度帮助你立体地理解每一个概念,带你领略深度学习领域的全貌,从内到外地理解构建神经网络的每一步。你将学到以下内容。
● 为理解深度学习的概念和原理构建多种思维模型。
● 掌握嵌套函数、链式法则等数学概念。
● 掌握学习率衰减、权重初始化、dropout等优化技巧。
● 从零构建CNN和RNN等常见的神经网络架构。
● 使用PyTorch实现神经网络。
  1. 第1章 基本概念
  2. 1.1 函数
  3. 1.2 导数
  4. 1.3 嵌套函数
  5. 1.4 链式法则
  6. 1.5 示例介绍
  7. 1.6 多输入函数
  8. 1.7 多输入函数的导数
  9. 1.8 多向量输入函数
  10. 1.9 基于已有特征创建新特征
  11. 1.10 多向量输入函数的导数
  12. 1.11 向量函数及其导数:再进一步
  13. 1.12 包含两个二维矩阵输入的计算图
  14. 1.13 有趣的部分:后向传递
  15. 1.14 小结
  16. 第2章 基本原理
  17. 2.1 监督学习概述
  18. 2.2 监督学习模型
  19. 2.3 线性回归
  20. 2.3.1 线性回归:示意图
  21. 2.3.2 线性回归:更有用的示意图和数学
  22. 2.3.3 加入截距项
  23. 2.3.4 线性回归:代码
  24. 2.4 训练模型
  25. 2.4.1 计算梯度:示意图
  26. 2.4.2 计算梯度:数学和一些代码
  27. 2.4.3 计算梯度:完整的代码
  28. 2.4.4 使用梯度训练模型
  29. 2.5 评估模型:训练集与测试集
  30. 2.6 评估模型:代码
  31. 2.7 从零开始构建神经网络
  32. 2.7.1 步骤1:一系列线性回归
  33. 2.7.2 步骤2:一个非线性函数
  34. 2.7.3 步骤3:另一个线性回归
  35. 2.7.4 示意图
  36. 2.7.5 代码
  37. 2.7.6 神经网络:后向传递
  38. 2.8 训练和评估第 一个神经网络
  39. 2.9 小结
  40. 第3章 从零开始深度学习
  41. 3.1 定义深度学习
  42. 3.2 神经网络的构成要素:运算
  43. 3.2.1 示意图
  44. 3.2.2 代码
  45. 3.3 神经网络的构成要素:层
  46. 3.4 在构成要素之上构建新的要素
  47. 3.4.1 层的蓝图
  48. 3.4.2 稠密层
  49. 3.5 NeuralNetwork类和其他类
  50. 3.5.1 示意图
  51. 3.5.2 代码
  52. 3.5.3 Loss类
  53. 3.6 从零开始构建深度学习模型
  54. 3.6.1 实现批量训练
  55. 3.6.2 NeuralNetwork:代码
  56. 3.7 优化器和训练器
  57. 3.7.1 优化器
  58. 3.7.2 训练器
  59. 3.8 整合
  60. 3.9 小结与展望
  61. 第4章 扩展
  62. 4.1 关于神经网络的一些直觉
  63. 4.2 softmax交叉熵损失函数
  64. 4.2.1 组件1:softmax函数
  65. 4.2.2 组件2:交叉熵损失
  66. 4.2.3 关于激活函数的注意事项
  67. 4.3 实验
  68. 4.3.1 数据预处理
  69. 4.3.2 模型
  70. 4.3.3 实验:softmax交叉熵损失函数
  71. 4.4 动量
  72. 4.4.1 理解动量
  73. 4.4.2 在Optimizer类中实现动量
  74. 4.4.3 实验:带有动量的随机梯度下降
  75. 4.5 学习率衰减
  76. 4.5.1 学习率衰减的类型
  77. 4.5.2 实验:学习率衰减
  78. 4.6 权重初始化
  79. 4.6.1 数学和代码
  80. 4.6.2 实验:权重初始化
  81. 4.7 dropout
  82. 4.7.1 定义
  83. 4.7.2 实现
  84. 4.7.3 实验:dropout
  85. 4.8 小结
  86. 第5章 CNN
  87. 5.1 神经网络与表征学习
  88. 5.1.1 针对图像数据的不同架构
  89. 5.1.2 卷积运算
  90. 5.1.3 多通道卷积运算
  91. 5.2 卷积层
  92. 5.2.1 实现意义
  93. 5.2.2 卷积层与全连接层的区别
  94. 5.2.3 利用卷积层进行预测:Flatten层
  95. 5.2.4 池化层
  96. 5.3 实现多通道卷积运算
  97. 5.3.1 前向传递
  98. 5.3.2 后向传递
  99. 5.3.3 批处理
  100. 5.3.4 二维卷积
  101. 5.3.5 最后一个元素:通道
  102. 5.4 使用多通道卷积运算训练CNN
  103. 5.4.1 Flatten运算
  104. 5.4.2 完整的Conv2D层
  105. 5.4.3 实验
  106. 5.5 小结
  107. 第6章 RNN
  108. 6.1 关键限制:处理分支
  109. 6.2 自动微分
  110. 6.3 RNN的动机
  111. 6.4 RNN简介
  112. 6.4.1 RNN的第 一个类:RNNLayer
  113. 6.4.2 RNN的第二个类:RNNNode
  114. 6.4.3 整合RNNNode类和RNNLayer类
  115. 6.4.4 后向传递
  116. 6.5 RNN:代码
  117. 6.5.1 RNNLayer类
  118. 6.5.2 RNNNode类的基本元素
  119. 6.5.3 vanilla RNNNode类
  120. 6.5.4 vanilla RNNNode类的局限性
  121. 6.5.5 GRUNode类
  122. 6.5.6 LSTMNode类
  123. 6.5.7 基于字符级RNN语言模型的数据表示
  124. 6.5.8 其他语言建模任务
  125. 6.5.9 组合RNNLayer类的变体
  126. 6.5.10 将全部内容整合在一起
  127. 6.6 小结
  128. 第7章 PyTorch
  129. 7.1 PyTorch Tensor
  130. 7.2 使用PyTorch进行深度学习
  131. 7.2.1 PyTorch元素:Model类及其Layer类
  132. 7.2.2 使用PyTorch实现神经网络基本要素:DenseLayer类
  133. 7.2.3 示例:基于PyTorch的波士顿房价模型
  134. 7.2.4 PyTorch元素:Optimizer类和Loss类
  135. 7.2.5 PyTorch元素:Trainer类
  136. 7.2.6 PyTorch优化学习技术
  137. 7.3 PyTorch中的CNN
  138. 7.4 PyTorch中的LSTM
  139. 7.5 后记:通过自编码器进行无监督学习
  140. 7.5.1 表征学习
  141. 7.5.2 应对无标签场景的方法
  142. 7.5.3 在PyTorch中实现自编码器
  143. 7.5.4 更强大的无监督学习测试及解决方案
  144. 7.6 小结
  145. 附录 深入探讨
  146. 关于作者
  147. 关于封面
书名:Python深度学习入门:从零构建CNN和RNN
作者:Seth Weidman
译者:郑天民 译
国内出版社:人民邮电出版社
出版时间:2021年03月
页数:212
书号:978-7-115-55564-9
原版书书名:Deep Learning from Scratch
原版书出版商:O'Reilly Media
Seth Weidman
 
塞思·韦德曼(Seth Weidman),SentiLink公司数据科学家。他曾在Facebook公司从事数据科学工作,并为多家企业开发了深度学习培训课程。塞思善于通过简单明了的方式解释复杂的概念。除了讲授课程,他还热衷于技术写作,并撰写了大量PyTorch教程。
 
 
本书封面上的动物是北非石鸡(Alectoris barbara)。它是一种鸟,分布在非洲北部及欧洲部分地区,如加那利群岛和直布罗陀等地,生活在森林、灌木丛和干旱环境中。现在,也可以在葡萄牙、意大利和西班牙找到其踪迹。
北非石鸡体形圆胖,重达约0.45千克,翼展约45.72厘米。相比飞行,它们更喜欢步行。它们的脖颈呈红褐色,带有白色斑点,腹部呈浅黄色,侧翼有白棕相间的条纹状羽毛,腿、喙和眼睛呈红色,其他部位呈浅灰色。
北非石鸡以种子、各种植物和昆虫为食。在春天,雌鸟在地上的巢里产10 ~ 16枚卵。它们的领地意识很强,经常叽叽喳喳地发出刺耳的叫声,宣告它们的“所有权”,这是它们的一个显著特征。目前,北非石鸡并未受到全球性的生存威胁。