Python神经网络编程 封面

Python神经网络编程

评分 4.6
章节数
30
丛书
深度学习系列
ISBN
9787115474810

标签

内容简介

本书原名为 Make Your Own Neural Network,是一本把神经网络原理讲清楚的入门读物。全书从最简单的思路讲起,先说明神经网络究竟怎样工作:从一台简单的预测机、一个分类器出发,逐步引出训练、误差、多节点、反向传播与梯度下降等概念,并用矩阵乘法把三层神经网络的计算与误差回传串起来,把看似高深的数学拆成可以手算跟进的步骤。第二部分进入动手实践:介绍 Python 与 IPython 的基本用法,带着读者一行行写出自己的神经网络代码,再用 MNIST 手写数字数据集训练和测试,观察网络识别手写数字的效果。第三部分属于趣味延伸,让读者输入自己写的数字、检查训练好的网络内部、用旋转图像扩充训练数据,并说明如何把程序搬到树莓派上运行。附录补充了微积分入门与树莓派环境安装。全书篇幅不长、图多、语言口语化,适合作为接触神经网络的第一本书。

编辑推荐

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

适合谁读

适合

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

不适合

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

阅读建议

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

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  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. 1.15 权重更新成功范例
  17. 1.16 准备数据
  18. 第2章 使用Python进行DIY
  19. 2.1 Python
  20. 2.2 交互式Python = IPython
  21. 2.3 优雅地开始使用Python
  22. 2.4 使用Python制作神经网络
  23. 2.5 手写数字的数据集MNIST
  24. 第3章 趣味盎然
  25. 3.1 自己的手写数字
  26. 3.2 神经网络大脑内部
  27. 3.3 创建新的训练数据:旋转图像
  28. 3.4 结语
  29. 附录A 微积分简介
  30. 附录B 使用树莓派来工作

常见问题

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

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同一作者

同类高分