Python Neural Networks: Introduction and Practice cover

Python Neural Networks: Introduction and Practice

Rating 3.2
Word count
353 words
Chapters
264
ISBN
9787301316290

Tags

Summary

This book begins with the fundamentals of neural networks and progresses step by step into advanced Python practice. Through detailed explanations and hands-on use of various practical third-party libraries, it helps readers not only understand neural networks more deeply but also build their own networks simply and efficiently. Even without prior background knowledge, readers can get started with neural networks with ease. The book is divided into 11 chapters, covering an overview of neural networks, neural network fundamentals, characteristics of computer programs, neural network optimization algorithms, setting up a Python environment, Python basics, basics of the deep learning framework PyTorch, introduction to and use of NumPy, introduction to and use of OpenCV, traversing folders with OS, visualization with Matplotlib in Python, the Lenet-5, AlexNet, and VGG16 network models, regression and classification problems, development of a cat-and-dog recognition program, development of a CAPTCHA recognition program, overfitting problems and solutions, vanishing and exploding gradients, methods for accelerating neural network training, and future trends in artificial intelligence. The content is accessible and easy to understand, with rich examples and strong practicality. It is especially suitable for readers with zero background in neural networks, as well as for Python programmers and PyTorch enthusiasts.

Editor's review

This book is aimed at readers with no prior background. It starts from the basic concepts of neural networks and gradually moves on to setting up a Python environment, the PyTorch framework, using NumPy and OpenCV, and Matplotlib visualization, then proceeds to network models such as Lenet-5, AlexNet, and VGG16 and to regression and classification problems, and finally culminates in two complete program cases: cat-and-dog recognition and CAPTCHA recognition. The organization emphasizes "understand the principles before getting hands-on," and it also discusses common issues such as overfitting, vanishing and exploding gradients, and accelerating training, so that readers do not merely copy code when building networks but also understand the direction of parameter tuning. It is suitable as a systematic introductory reader for neural networks, especially for a learning style of reproducing the cases on one's own computer while reading; if you already have deep experience in deep learning, the foundational parts may seem lengthy, and you can prioritize the practical chapters.

Who it's for

A good fit for

  • Programming beginners with no neural network background who want a systematic introduction from scratch
  • Learners who already know Python but want to build their first neural network with PyTorch
  • Readers who need complete cases such as cat-and-dog recognition and CAPTCHA recognition for classroom or self-study practice

Not a good fit for

  • Senior practitioners with years of deep learning experience who are looking for cutting-edge models and research
  • Pure theory readers who cannot program at all and do not intend to write code

Reading tips

  1. Read in chapter order, and after each third-party library is covered, type out and run the sample code once.
  2. First get the cat-and-dog recognition case running, then go back and understand the structural differences among Lenet-5, AlexNet, and VGG16.
  3. When encountering overfitting or gradient problems, adjust the code according to the corresponding sections in the book and observe how the results change.

About the publisher

Peking University Press China · Founded in 1979

Peking University Press is a comprehensive university press whose publishing areas cover classical literature, popular science, social culture, world history, Western philosophy, and culture. Its catalogue contains 6,031 titles, with representative books including A Dream of Red Mansions, Relativity: The Special and General Theory (15th Edition) (with Einstein's classic papers on unified field theory and other topics), Elements, Conics, The Aristocratic Families of the Eastern Jin, The Philosophy of Mythology (Volume I), The Philosophy of Mythology (Volume II), and The Origin of Continents and Oceans. Representative authors include Cao Xueqin, Zhou Ruchang, Albert Einstein, Euclid, Apollonius, Tian Yuqing, Schelling, and Xian Gang. The press has developed distinctive strengths in classical Chinese literature and in the translation of Western philosophical classics, while also covering scientific classics and social and cultural studies. As public information is limited, this description is based only on the books in the catalogue and offers no further extrapolation.

Contents

  1. 版权信息
  2. 内容简介
  3. 前言
  4. 第1章 神经网络概述
  5. 1.1 神经网络简介
  6. 1.1.1 神经网络的定义
  7. 1.1.2 神经网络可解决的问题
  8. 1.2 神经网络的灵感来源
  9. 1.2.1 对人类认知过程的传统认知
  10. 1.2.2 对人类认知过程的现代认知
  11. 1.2.3 神经元连接的灵感
  12. 1.3 为什么要学习神经网络
  13. 1.3.1 神经网络的发展
  14. 1.3.2 学习神经网络有什么用
  15. 1.4 怎样学习神经网络
  16. 1.4.1 选择一门编程语言
  17. 1.4.2 对算法的理解
  18. 1.4.3 写博客
  19. 1.5 小结
  20. 第2章 神经网络基础知识
  21. 2.1 感知器模型
  22. 2.1.1 神经元细胞的本质
  23. 2.1.2 感知器模型的构建
  24. 2.2 训练感知器
  25. 2.2.1 计算误差
  26. 2.2.2 误差反向传播
  27. 2.2.3 训练示例
  28. 2.3 激活函数
  29. 2.3.1 激活函数的定义
  30. 2.3.2 Sigmoid函数
  31. 2.3.3 Tanh函数
  32. 2.3.4 ReLU函数
  33. 2.4 损失函数
  34. 2.4.1 损失函数的定义及作用
  35. 2.4.2 绝对值损失函数
  36. 2.4.3 均方差损失函数
  37. 2.4.4 交叉熵损失函数
  38. 2.5 单层神经网络
  39. 2.5.1 单层神经网络的结构
  40. 2.5.2 单层神经网络的参数
  41. 2.5.3 单层神经网络的前向传播过程
  42. 2.6 训练单层神经网络
  43. 2.6.1 梯度下降算法
  44. 2.6.2 反向传播算法
  45. 2.6.3 理解反向传播
  46. 2.7 多层神经网络
  47. 2.7.1 多层神经网络的结构
  48. 2.7.2 参数向量化
  49. 2.8 卷积神经网络
  50. 2.8.1 卷积神经网络简介
  51. 2.8.2 卷积核
  52. 2.8.3 卷积操作
  53. 2.8.4 池化操作
  54. 2.8.5 卷积层
  55. 2.8.6 池化层
  56. 2.8.7 全连接层
  57. 2.9 小结
  58. 第3章 实战前的预备知识
  59. 3.1 计算机程序
  60. 3.1.1 计算机程序简介
  61. 3.1.2 计算机程序的执行过程
  62. 3.1.3 计算机程序的开发流程
  63. 3.1.4 计算机程序的特点
  64. 3.2 加速训练
  65. 3.2.1 CPU与GPU
  66. 3.2.2 归一化
  67. 3.2.3 其他学习算法
  68. 3.2.4 Mini-Batch
  69. 3.3 构建样本集
  70. 3.3.1 Tensor类型
  71. 3.3.2 训练集
  72. 3.3.3 测试集
  73. 3.3.4 交叉验证集
  74. 3.4 小结
  75. 第4章 Python入门与实战
  76. 4.1 Python简介
  77. 4.1.1 什么是Python
  78. 4.1.2 Python的特点
  79. 4.1.3 为什么要用Python搭建神经网络
  80. 4.2 搭建Python环境
  81. 4.2.1 安装Python 3.7(Anaconda)
  82. 4.2.2 安装CUDA10.0
  83. 4.2.3 安装PyCharm
  84. 4.2.4 PyCharm新建项目
  85. 4.2.5 PyCharm的一些基本设置
  86. 4.2.6 PyCharm运行程序
  87. 4.3 Python基础
  88. 4.3.1 输入语句与输出语句
  89. 4.3.2 变量的作用与定义
  90. 4.3.3 变量的命名规则和习惯
  91. 4.3.4 运算符
  92. 4.3.5 数据类型
  93. 4.3.6 if语
  94. 4.3.7 循环语句
  95. 4.3.8 函数
  96. 4.3.9 类
  97. 4.3.10 列表和元组
  98. 4.3.11 引入模块
  99. 4.3.12 注释
  100. 4.4 编写第一个感知器程序
  101. 4.4.1 需求分析
  102. 4.4.2 生程序
  103. 4.4.3 感知器前向传播程序
  104. 4.4.4 误差计算程序
  105. 4.4.5 运行结果
  106. 4.5 小结
  107. 第5章 深度学习框架PyTorch入门与实战
  108. 5.1 PyTorch简介
  109. 5.1.1 什么是PyTorch
  110. 5.1.2 PyTorch的特点
  111. 5.1.3 为什么要选择PyTorch搭建神经网络
  112. 5.2 安装PyTorch框架
  113. 5.2.1 conda命令
  114. 5.2.2 选择PyTorch版本进行安装
  115. 5.3 PyTorch基础
  116. 5.3.1 构建输入输出
  117. 5.3.2 构建网络结构
  118. 5.3.3 定义优化器与损失函数
  119. 5.3.4 保存和加载网络
  120. 5.4小实战:用PyTorch搭建一个神经网络以学习异或运算
  121. 5.4.1 需求分析
  122. 5.4.2 训练程序
  123. 5.4.3 测试程序
  124. 5.5 小结
  125. 第6章 Python搭建神经网络进阶
  126. 6.1 NumPy简介
  127. 6.1.1 NumPy的基本功能
  128. 6.1.2 NumPy的数据类型
  129. 6.2 NumPy的使用
  130. 6.2.1 安装NumPy
  131. 6.2.2 创建数组
  132. 6.2.3 存储和读取数组
  133. 6.2.4 素引和切片
  134. 6.2.5 重塑数组
  135. 6.2.6 数组的运算
  136. 6.3 OpenCV简介
  137. 6.3.1 OpenCV概述
  138. 6.3.2 OpenCV的基本功能
  139. 6.4 OpenCV的使用
  140. 6.4.1 安装OpenCV
  141. 6.4.2 图像读取与显示
  142. 6.4.3 图像缩放
  143. 6.4.4 色彩空间转换
  144. 6.4.5 直方图均衡化
  145. 6.4.6 图像保存
  146. 6.5 文件夹中文件的遍历
  147. 6.5.1 OS模块简介
  148. 6.5.2 path模块
  149. 6.5.3 删除文件
  150. 6.5.4 创建文件夹
  151. 6.5.5 文件遍历
  152. 6.6 构建和读取数据集
  153. 6.6.1 构建数据集
  154. 6.6.2 读取数据集
  155. 6.7 PyTorch中卷积神经网络有关的接口
  156. 6.7.1 卷积层接口
  157. 6.7.2 反卷积层接口
  158. 6.8 小结
  159. 第7章 实战1:回归问题和分类问题
  160. 7.1 Python中绘图方法简介
  161. 7.1.1 Matplotlib简介
  162. 7.1.2 安装Matplotlib
  163. 7.1.3 散点图绘制
  164. 7.1.4 绘图显示的小设置
  165. 7.1.5 曲线绘制
  166. 7.1.6 设置坐标轴
  167. 7.1.7 动态绘图
  168. 7.2 回归问题
  169. 7.3 用Python搭建一个解决回归问题的神经网络
  170. 7.3.1 准备工作
  171. 7.3.2 构建网络
  172. 7.3.3 训练网络
  173. 7.3.4 完整程序
  174. 7.4 分类问题
  175. 7.5 用Python搭建一个解决分类问题的神经网络
  176. 7.5.1 准备工作
  177. 7.5.2 构建网络
  178. 7.5.3 训练网络
  179. 7.5.4 可视化
  180. 7.5.5 完整程序
  181. 7.6 小结
  182. 第8章 实战2:猫狗识别问题
  183. 8.1 实战目标
  184. 8.1.1 目标分析
  185. 8.1.2 样本集
  186. 8.2 实现思路
  187. 8.2.1 构建样本集
  188. 8.2.2 测试样本集
  189. 8.2.3 构建网络
  190. 8.2.4 训练网络
  191. 8.2.5 测试网络
  192. 8.3 完整程序及运行结果
  193. 8.3.1 构建样本集程序
  194. 8.3.2 测试样本集程序
  195. 8.3.3 构建网络程序
  196. 8.3.4 训练网络程序
  197. 8.3.5 可视化训练过程
  198. 8.3.6 测试网络程序
  199. 8.3.7 模拟实际运用
  200. 8.4 对结果的思考
  201. 8.4.1 训练集和测试集准确率的对比
  202. 8.4.2 准确率低的原因
  203. 8.4.3 训练过程的启示
  204. 8.5 小结
  205. 第9章 一些经典的网络
  206. 9.1 LeNet-5网络模型
  207. 9.1.1 LeNet-5网络简介
  208. 9.1.2 LeNet-5网络结构
  209. 9.1.3 三维卷积
  210. 9.1.4 多维卷积
  211. 9.1.5 LeNet-5代码实现
  212. 9.2 AlexNet网络模型
  213. 9.2.1 AlexNet网络简介
  214. 9.2.2 AlexNet网络结构
  215. 9.2.3 Same卷积
  216. 9.2.4 Softmax分类器
  217. 9.2.5 AlexNet代码实现
  218. 9.3 VGG16网络模型
  219. 9.3.1 VGG16网络简介
  220. 9.3.2 VGG16网络结构
  221. 9.4 小结
  222. 第10章 实战3:验证码识别问题
  223. 10.1 实战目标
  224. 10.1.1 目标分析
  225. 10.1.2 生成样本集
  226. 10.2 实现思路
  227. 10.2.1 构建样本集
  228. 10.2.2 构建网络
  229. 10.2.3 训练网络
  230. 10.2.4 测试网络
  231. 10.3 完整程序及运行结果
  232. 10.3.1 验证码分割程序
  233. 10.3.2 构建训练集程序
  234. 10.3.3 构建网络程序
  235. 10.3.4 训练网络程序
  236. 10.3.5 测试网络程序
  237. 10.3.6 模拟实际运用
  238. 10.4 对结果的思考
  239. 10.4.1 训练集和测试集准确率的对比
  240. 10.4.2 识别错误的原因
  241. 10.5 小结
  242. 第11章 优化网络
  243. 11.1 神经网络现存的几个问题
  244. 11.1.1 无法真正模拟人脑
  245. 11.1.2 大样本训练缓慢
  246. 11.1.3 深度网络训练困难
  247. 11.1.4 梯度消失和爆炸
  248. 11.1.5 白盒问题
  249. 11.2 过拟合问题
  250. 11.2.1 什么是过拟合
  251. 11.2.2 解决过拟合问题的几种方法
  252. 11.2.3 正则化
  253. 11.3 怎样选择每一层的节点数目
  254. 11.3.1 输入层和输出层的节点数目
  255. 11.3.2 隐含层的节点数目
  256. 11.4 如何加速训练
  257. 11.4.1 采用其他优化算法
  258. 11.4.2 采用GPU训练
  259. 11.4.3 设置合适的学习率
  260. 11.4.4 在合适的时间停止训练
  261. 11.人工智能的未来发展趋势
  262. 11.5.1 人工智能的发展现状
  263. 11.5.2 人工智能的发展趋势
  264. 11.6 小结

FAQ

Can I learn this without any neural network background?
Yes. The book starts with an overview and fundamentals of neural networks and includes Python environment setup and Python basics; it is positioned as a zero-background introduction. However, readers are advised to have at least basic computer skills and a willingness to run code by hand; otherwise, the practical chapters may remain superficial.
What runtime environment do the cases in the book require?
The book involves Python environment setup, the PyTorch deep learning framework, and third-party libraries such as NumPy, OpenCV, and Matplotlib. Readers can configure the environment by following the steps in the book; for specific versions and installation details, refer to the book's explanations.
What level can I reach after finishing this book?
Readers can understand the basic principles and optimization methods of neural networks, learn to build and train models such as Lenet-5, AlexNet, and VGG16 with PyTorch, complete practical programs such as cat-and-dog recognition and CAPTCHA recognition, and also learn approaches to common problems such as overfitting and vanishing gradients.

Comments

Find this book

This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.

About the author

王凯 Author

Wang Kai is a Chinese author whose work spans a remarkably wide range of subjects. Public information about him is very limited, and his nationality, dates of birth and death, and educational background cannot currently be confirmed. The collection includes 13 of his works, which reveal interests across many fields: literary writing that attends to the body and women's experience, as in Collected Breast Stories; youth literature such as All-Metal Youth; and popular historical writing that traces anecdotes about famous figures of the Republican era. On the professional side, he has also written on military strategy, school curriculum design, and BIM modeling for road and bridge engineering, and has contributed to popular health guides on caring for nasopharyngeal cancer patients and on myopia prevention and control for children and adolescents. Overall, his work combines literary expression with the popularization of knowledge, covering categories from classics and military affairs to medicine, education, examinations, and youth literature, reflecting both remarkable energy and a diverse range of source material.

More by the same author

Top rated in the same category