标签
内容简介
本书原名为 Make Your Own Neural Network,是一本把神经网络原理讲清楚的入门读物。全书从最简单的思路讲起,先说明神经网络究竟怎样工作:从一台简单的预测机、一个分类器出发,逐步引出训练、误差、多节点、反向传播与梯度下降等概念,并用矩阵乘法把三层神经网络的计算与误差回传串起来,把看似高深的数学拆成可以手算跟进的步骤。第二部分进入动手实践:介绍 Python 与 IPython 的基本用法,带着读者一行行写出自己的神经网络代码,再用 MNIST 手写数字数据集训练和测试,观察网络识别手写数字的效果。第三部分属于趣味延伸,让读者输入自己写的数字、检查训练好的网络内部、用旋转图像扩充训练数据,并说明如何把程序搬到树莓派上运行。附录补充了微积分入门与树莓派环境安装。全书篇幅不长、图多、语言口语化,适合作为接触神经网络的第一本书。
编辑推荐
神经网络入门的书不少,但真正能用一两个晚上读完、还能自己写出一个网络的并不多。这本书的好处在于:作者把「为什么这样算」放在「怎样写代码」之前,用预测机、分类器这类日常可感的例子把权重、误差、梯度讲通,再把这些内容对应到 Python 的每一行代码上。全书篇幅约两百页,彩色插图多,公式克制,必要时用的微积分也挪到附录补充,因此对数学基础的要求低到只需会加减乘除。实践部分以识别手写数字为主线,跑通之后能看到真实正确率,成就感很强。第三部分让读者亲手测自己的字迹、旋转图像造数据,把训练过程变得可观察。不少读者把它当成神经网络的第一本书,读完之后再转向框架类读物会顺畅得多。需要提醒的是,它讲的是最基础的网络与原理,不涉及卷积、循环网络和现代框架,定位是打地基而非覆盖全景。
适合谁读
适合
- 零基础或初学者,想弄清神经网络内部计算流程的人
- 会一点 Python、准备转向机器学习方向的程序员
- 需要向学生讲解神经网络原理的教师与培训讲师
- 想自己动手实现一个小型识别程序、享受跑通乐趣的爱好者
不适合
- 希望直接学习 PyTorch 或 TensorFlow 工程实践的读者
- 寻找卷积网络、Transformer 等前沿模型系统讲解的读者
- 完全不想碰代码、只想读概念综述的读者
阅读建议
- 先读第1章并把书中的数值例子手算一遍,再看第2章代码会顺利很多
- 动手前花几小时补齐 Python 基础语法,尤其是列表、函数与循环
- 把 MNIST 例子完整跑通后,试着改学习率、隐层节点数,观察准确率变化
- 读完本书后衔接一本框架类教材,把同样任务用 PyTorch 重写一遍
出版社简介
人民邮电出版社
中国 · 成立于 1953 年
人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。
目录
- 第1章 神经网络如何工作
- 1.1 尺有所短,寸有所长
- 1.2 一台简单的预测机
- 1.3 分类器与预测器并无太大差别
- 1.4 训练简单的分类器
- 1.5 有时候一个分类器不足以求解问题
- 1.6 神经元——大自然的计算机器
- 1.7 在神经网络中追踪信号
- 1.8 凭心而论,矩阵乘法大有用途
- 1.9 使用矩阵乘法的三层神经网络示例
- 1.10 学习来自多个节点的权重
- 1.11 多个输出节点反向传播误差
- 1.12 反向传播误差到更多层中
- 1.13 使用矩阵乘法进行反向传播误差
- 1.14 我们实际上如何更新权重
- 1.15 权重更新成功范例
- 1.16 准备数据
- 第2章 使用Python进行DIY
- 2.1 Python
- 2.2 交互式Python = IPython
- 2.3 优雅地开始使用Python
- 2.4 使用Python制作神经网络
- 2.5 手写数字的数据集MNIST
- 第3章 趣味盎然
- 3.1 自己的手写数字
- 3.2 神经网络大脑内部
- 3.3 创建新的训练数据:旋转图像
- 3.4 结语
- 附录A 微积分简介
- 附录B 使用树莓派来工作
常见问题
这本书需要多强的数学和编程基础?
官方定位是只需会加减乘除即可,书中用到的微积分在附录A中专门做了通俗讲解;编程方面也不要求先前经验,但提前花几小时学些 Python 基础语法,读第2章代码会轻松很多。
书里用的 Python 代码需要安装深度学习框架吗?
不需要。本书是从零手写一个简单神经网络的代码,主要依赖 Python 与 IPython 进行交互式实验,不使用 PyTorch、TensorFlow 等框架,因此环境配置负担很小。
这本书和《PyTorch生成对抗网络编程》是同一作者吗?
是同一位作者塔里克·拉希德。后者是他在 2020 年推出的新书,讲 PyTorch 与生成对抗网络,定位更进阶;本书则是入门底层原理的那一本。
200 页左右能讲清楚神经网络吗?
本书目标不是覆盖全面,而是把最基础的前馈网络、反向传播与梯度下降讲透,并用识别手写数字的完整例子串起来。卷积、循环网络等内容需要另找书补充。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。