用 C++ 从零写懂深度学习

从神经元到大模型

一本写给「完全没接触过」的你的循循善诱小书。我们从一个神经元讲起, 一路把它搭成能写字的语言模型,再聊聊大模型背后的道理。 每个概念都配图、配可以动手玩的小实验,并对照一份不依赖任何大框架、从零写成的 C++ 实现。

阅读提示:每章按「直觉故事 → 图解/动手实验 → 适度数学 → 逐行代码 → 小结自测」推进, 看不懂公式没关系,先抓住直觉,再回头看细节。

在线版: deeplearning.011203.xyz · 源码: GitHub

全书目录

第 0–25 章走完正文主线与代码实战,第 26–29 章补上四篇番外:机器学习全景、无监督与自监督、经典树模型,以及从沙子到 CPU/GPU 的硬件链路。

第一部分 · 打地基

第 0 章 导论:这本书到底在讲什么 不用任何数学,先用大白话搞懂「模型 / 参数 / 训练 / 数据」到底在干嘛。 第 1 章 数学预备:看懂公式的一点点数学 向量、点积、矩阵、导数、链式法则、概率——后面所有公式的最小地基。可跳读、随用随查。 核心 第 2 章 一个神经元 加权求和 + 偏置 + 激活函数。深度学习里最小的那块积木。配可拖动的实验台。 第 3 章 搭成网络:前向传播 把神经元堆成层、层叠成网络,看数据怎么一层层向前流动算出预测。

第二部分 · 学习是怎么发生的

第 4 章 怎么衡量「错」:损失函数 用一个数字衡量「模型错得多离谱」。MSE 与交叉熵,以及 softmax。 第 5 章 怎么变「好」:梯度下降 像在雾里下山一样,顺着最陡的方向一步步把损失降下去。学习率是步长。 核心 第 6 章 反向传播 链式法则,把「错误」从输出层一路反着传回每一个参数。配前向/反向动画。 第 7 章 激活函数全家福 Sigmoid/ReLU/GELU 等曲线与导数,怎么选激活函数,配互动实验。 第 8 章 优化器:从 SGD 到 Adam 从 SGD 到 AdamW:动量、自适应步长,以及 weight decay 怎么耦合。 第 9 章 让它真的训得动 初始化、学习率调度、梯度裁剪——让训练真的收敛而不是发散。 第 10 章 正则化与泛化 过拟合是什么、怎么治:L2/weight decay、Dropout、early stopping、数据增强。 第 11 章 评估与数据 train/val/test 划分、准确率/F1/混淆矩阵,以及数据预处理要点。 第 12 章 强化学习:试错里学策略 另一种学习范式:没有标准答案,靠奖励试错学策略。MDP、Q-learning/DQN、策略梯度与 PPO,也是后面 RLHF 对齐的底座。

第三部分 · 经典网络结构

第 13 章 CNN 卷积神经网络 为什么图像要用卷积:局部感受野、权重共享、池化、通道,配卷积滑窗动画。 第 14 章 RNN 与 LSTM 注意力之前处理序列的主力:隐藏状态、按时间展开、梯度消失,以及 LSTM 的门控。 第 15 章 词嵌入与 word2vec 让词有「语义坐标」:one-hot 的毛病、分布式表示、CBOW/skip-gram、king−man+woman≈queen。

第四部分 · 序列与 Transformer

第 16 章 为什么需要注意力 处理一句话这种「序列」,普通网络卡在哪?注意力到底要解决什么问题。 核心 第 17 章 注意力机制 用三个词、几个小数字手把手算一遍:Q/K/V、打分、softmax、加权平均、causal mask、多头。配可玩的实验台。 核心 第 18 章 Transformer 的完整结构 残差连接、LayerNorm、前馈网络、位置编码,拼成一块完整的 Transformer 积木,并读懂那张经典全图。

第五部分 · 通往大模型

第 19 章 字符级语言模型 tokenizer、embedding、预测下一个字、温度/top-k/top-p 采样、困惑度。配真实权重回放。 核心 第 20 章 通往大模型:原理与训练 分词/BPE、词嵌入与向量语义、规模定律与涌现、预训练/微调/RLHF/蒸馏,以及幻觉等局限。 第 21 章 大模型的工程与基础设施 GPU/显存为何是瓶颈、数据/张量/流水线并行、AllReduce/NCCL/NVLink、KV cache、MoE 与稀疏注意力。 第 22 章 用好大模型:提示、RAG 与 Agent 提示词/few-shot/思维链、RAG 外挂知识库、工具调用、Agent、MCP/A2A,以及安全底线。

第六部分 · 代码实战

第 23 章 MNIST 实战:把第一、二部分跑起来 逐行精读 src/demo/mnist:数据→建网→训练→评估→保存,把前面的概念在代码里对上号。 第 24 章 mini-LM 实战:把第四、五部分跑起来 逐行精读 src/demo/transformer_char:分词→建模→训练→生成,看注意力/Transformer/采样如何落到代码。 第 25 章 井字棋 Q-learning 实战:把强化学习跑起来 逐行精读 src/demo/rl_tictactoe:环境→Q 表→ε-greedy→TD 更新→多回合训练,把第 12 章落到代码。

第七部分 · 番外

第 26 章 机器学习全景图 视野篇:AI、机器学习、深度学习、大模型的关系,各分支地图、关键时间线,以及判断 AI 项目和新名词的实用检查表。 第 27 章 无监督与自监督学习 主线外的加餐:先讲聚类、降维、自编码器到底能用来干什么,再看 K-means、PCA、t-SNE、对比学习和自监督。 第 28 章 决策树与随机森林 深度学习之外的经典路线:决策树怎么学、随机森林与 GBDT 怎么用很多棵树取胜,以及 kNN/SVM 等,和什么时候该用树而非神经网络。 第 29 章 从沙子到 CPU/GPU 硬件番外:从硅、半导体、晶体管、逻辑门、加法器和时钟一路讲到 CPU/GPU,看一堆开关如何变成算力。 附录 术语表 70 个名词一句话讲清,每个都链到对应章节。读到不认识的词,随时翻。 版权 关于作者与版权 作者、原始地址、内容许可与转载要求。欢迎非商业分享,请保留署名和链接。

配套代码:本书所有「逐行讲解」都对照仓库 src/deeplearning/ 下的真实实现。想跑起来可参考各章末尾的运行提示。

© chenxuan · 《从神经元到大模型》内容采用 CC BY-NC-SA 4.0 授权。