Python Neural Network Programming cover

Python Neural Network Programming

Rating 4.6
Chapters
30
Series
Deep Learning Series
ISBN
9787115474810

Tags

Summary

Originally published as Make Your Own Neural Network, this is an introductory book that explains the principles of neural networks clearly. It starts from the simplest ideas, first explaining how neural networks actually work: beginning with a simple predictor and a classifier, it gradually introduces concepts such as training, error, multiple nodes, backpropagation, and gradient descent, then uses matrix multiplication to connect the computation and error backpropagation of a three-layer neural network, breaking seemingly advanced mathematics into steps that can be followed by hand. Part Two moves into hands-on practice: it introduces the basics of Python and IPython, guides readers line by line in writing their own neural network code, and then trains and tests it on the MNIST handwritten digit dataset to observe how well the network recognizes handwritten digits. Part Three is a playful extension: readers input their own handwritten digits, inspect the internals of the trained network, augment training data by rotating images, and learn how to run the program on a Raspberry Pi. The appendices add a primer on calculus and instructions for setting up a Raspberry Pi environment. The book is short, heavily illustrated, and conversational in tone, making it suitable as a first book on neural networks.

Editor's review

神经网络入门的书不少,但真正能用一两个晚上读完、还能自己写出一个网络的并不多。这本书的好处在于:作者把「为什么这样算」放在「怎样写代码」之前,用预测机、分类器这类日常可感的例子把权重、误差、梯度讲通,再把这些内容对应到 Python 的每一行代码上。全书篇幅约两百页,彩色插图多,公式克制,必要时用的微积分也挪到附录补充,因此对数学基础的要求低到只需会加减乘除。实践部分以识别手写数字为主线,跑通之后能看到真实正确率,成就感很强。第三部分让读者亲手测自己的字迹、旋转图像造数据,把训练过程变得可观察。不少读者把它当成神经网络的第一本书,读完之后再转向框架类读物会顺畅得多。需要提醒的是,它讲的是最基础的网络与原理,不涉及卷积、循环网络和现代框架,定位是打地基而非覆盖全景。

Who it's for

A good fit for

  • 零基础或初学者,想弄清神经网络内部计算流程的人
  • 会一点 Python、准备转向机器学习方向的程序员
  • 需要向学生讲解神经网络原理的教师与培训讲师
  • 想自己动手实现一个小型识别程序、享受跑通乐趣的爱好者

Not a good fit for

  • 希望直接学习 PyTorch 或 TensorFlow 工程实践的读者
  • 寻找卷积网络、Transformer 等前沿模型系统讲解的读者
  • 完全不想碰代码、只想读概念综述的读者

Reading tips

  1. 先读第1章并把书中的数值例子手算一遍,再看第2章代码会顺利很多
  2. 动手前花几小时补齐 Python 基础语法,尤其是列表、函数与循环
  3. 把 MNIST 例子完整跑通后,试着改学习率、隐层节点数,观察准确率变化
  4. 读完本书后衔接一本框架类教材,把同样任务用 PyTorch 重写一遍

About the publisher

Posts & Telecom Press China · Founded in 1953

Posts & Telecom Press is known for its strengths in science and technology, computing, and information and communications titles, and has extended its publishing into photography, art, software learning, and inspirational growth, giving it a fairly diverse range. Its catalog includes computing and communications works such as Refactoring and Patterns (Revised Edition) and Huawei Switch Learning Guide (Second Edition), alongside bilingual collector's editions such as The Little Prince (Chinese-English-French illustrated collector's edition), The Great Gatsby, and Three Days to See. Beijing Ten Years: 1980-1990 and Ghost Blade: WLOP Personal Illustration Collection reflect its presence in photography and art. Its authors include Antoine de Saint-Exupéry, Helen Keller, Joshua Kerievsky, Wang Da, Zhang Zhaozeng, and WLOP.

Contents

  1. Chapter 1 How Neural Networks Work
  2. 1.1 Every Man for Himself
  3. 1.2 A Simple Predictor
  4. 1.3 Classifiers Are Not So Different from Predictors
  5. 1.4 Training a Simple Classifier
  6. 1.5 Sometimes One Classifier Is Not Enough
  7. 1.6 Neurons — Nature's Computing Machines
  8. 1.7 Tracking Signals in a Neural Network
  9. 1.8 Honestly, Matrix Multiplication Is Very Useful
  10. 1.9 An Example of a Three-Layer Neural Network Using Matrix Multiplication
  11. 1.10 Learning Weights from Multiple Nodes
  12. 1.11 Backpropagating Error from Multiple Output Nodes
  13. 1.12 Backpropagating Error Through More Layers
  14. 1.13 Backpropagating Error Using Matrix Multiplication
  15. 1.14 How Do We Actually Update Weights?
  16. 1.15 A Successful Example of Weight Updating
  17. 1.16 Preparing Data
  18. Chapter 2 DIY with Python
  19. 2.1 Python
  20. 2.2 Interactive Python = IPython
  21. 2.3 Starting with Python Elegantly
  22. 2.4 Building a Neural Network with Python
  23. 2.5 The MNIST Handwritten Digit Dataset
  24. Chapter 3 Fun and Games
  25. 3.1 Your Own Handwritten Digits
  26. 3.2 Inside the Neural Network's Brain
  27. 3.3 Creating New Training Data: Rotating Images
  28. 3.4 Conclusion
  29. Appendix A A Brief Introduction to Calculus
  30. Appendix B Working with a Raspberry Pi

FAQ

这本书需要多强的数学和编程基础?
官方定位是只需会加减乘除即可,书中用到的微积分在附录A中专门做了通俗讲解;编程方面也不要求先前经验,但提前花几小时学些 Python 基础语法,读第2章代码会轻松很多。
书里用的 Python 代码需要安装深度学习框架吗?
不需要。本书是从零手写一个简单神经网络的代码,主要依赖 Python 与 IPython 进行交互式实验,不使用 PyTorch、TensorFlow 等框架,因此环境配置负担很小。
这本书和《PyTorch生成对抗网络编程》是同一作者吗?
是同一位作者塔里克·拉希德。后者是他在 2020 年推出的新书,讲 PyTorch 与生成对抗网络,定位更进阶;本书则是入门底层原理的那一本。
200 页左右能讲清楚神经网络吗?
本书目标不是覆盖全面,而是把最基础的前馈网络、反向传播与梯度下降讲透,并用识别手写数字的完整例子串起来。卷积、循环网络等内容需要另找书补充。

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.

More by the same author

Top rated in the same category