现代 AI 基础学习路线
涵盖线性模型、多层感知机、卷积神经网络、文本表示与词向量、Transformer 与大语言模型。
包含的课程
- 文本数字化难题 — 图像天然是数字,文字却是离散符号,它该如何变成神经网络能接受的输入?
- 损失函数 — 模型的预测有好有坏,我们需要一个数字来衡量预测有多准
- 分词与词表 — 想让计算机读懂句子,第一步是把它拆成最小单元,再给每个单元发个编号
- 梯度下降 — 损失函数已经能告诉我们模型哪里不好,这一课让计算机自动找到最好的参数
- 卷积层 — 把卷积运算包装为可训练的神经网络层,理解多通道、多卷积核与权重张量形状。
- 分词器实战 — 真实模型怎么分词?亲手用 GPT 的分词器,看中文和英文谁更「费 token」
- 位置编码 — 做个实验:把句子打乱,注意力的输出竟然不变,顺序信息去哪了?
- MLP 实战 — 用 PyTorch 走完一次端到端 MLP 训练流程,并在同心圆数据集上与线性分类器正面对照。
- 从编号到向量 — 编号只是区分不同词的标签,数字大小不携带语义。怎么让向量本身携带词的语义?
- 残差连接与 ResNet — 介绍残差连接的两种解释、残差块结构与 ResNet 的整体设计。
- 从续写到对话助手 — 预训练只教会模型续写;要让它听懂指令、像 ChatGPT 那样对话,还要经过指令微调和人类反馈对齐。
- Softmax 回归 — 从回归到分类:用 Softmax 把任意实数分数转换成概率分布,并用交叉熵作为损失函数完成多类别分类建模。
- 采样与解码策略 — 模型每一步都给出一整个词的概率分布;怎么从中选词,决定了生成文本是呆板还是灵动。
- 缩放点积注意力 — 给注意力装上可学习的参数,让模型自己决定「该关注谁」。
- 训练与推理通路 — 训练时一步并行算完整句,推理时却要一词一词生成,本课讲清这两条通路。
- 训练验证测试集 — 训练 loss 很低不代表模型学会了,真正的检验是它在没见过的数据上的表现。
- 从线性到非线性 — Softmax 分类器表现出色,碰到 XOR 却彻底失效,为什么?
- BERT 微调实战 — 预训练好的 BERT 已经读懂了语言,只要在它上面接一个小尾巴、再用少量数据训一会儿,就能解决真实任务。
- 残差与层归一化 — 想把注意力层堆得更深,要先解决训练不稳定的问题:复用残差连接,再加上新引入的 LayerNorm。
- 权重衰退 — 给损失函数加入惩罚项,限制权重不能过大,避免模型过度拟合训练数据中的噪声。
- 批量规范化 — 介绍 BatchNorm 的原理、训练与推理两种行为,以及在卷积层与全连接层的差异。
- 分类模型训练 — 把分类理论付诸实践,训练一个 Softmax 分类模型,在 Playground 中调节参数观察训练过程
- 反向传播 — 误差从输出逐层传回各参数,链式法则在神经网络中的具体应用。
- 注意力的直觉 — 同一个词在不同句子里该有不同向量,让它关注周围的词,意思就清楚了。
- 欠拟合与过拟合 — 模型容量太小会欠拟合,容量太大又容易记住训练数据里的噪声导致泛化变差,这节课讲清楚如何找到两者的平衡点。
- 编码器 — 注意力负责交流,前馈网络负责加工,二者组装成完整的编码器。
- 池化层 — 介绍最大池化与平均池化,在不增加参数的前提下减少特征图尺寸。
- 掩码注意力 — 要逐词生成句子,就不能让模型偷看答案,一张掩码矩阵解决因果性。
- 深度学习引言 — 深度学习能做什么?它由哪些核心部分组成?先建立一个全局认识
- 计算图与自动微分 — 揭开 .backward() 的内部机制,一切都是图上的拓扑遍历。
- KV 缓存与分组查询注意力 — 自回归生成时每多写一个词就把前文重算一遍太浪费——缓存历史 K/V,再给它瘦身,让推理又快又省。
- 卷积运算 — 用小尺寸卷积核在图像上滑动并提取特定特征。
- 分类指标进阶 — 在准确率之外引入混淆矩阵、精确率、召回率与 F1,理解它们的适用场景。
- GPT 与生成式预训练 — 把上一章的解码器单独拎出来,它本身就是一个语言模型——而且任意一段文本都能直接拿来训练它。
- 经典 CNN 演进 — 介绍 AlexNet 与 VGG,理解其历史地位与块结构的设计思想。
- 多头注意力 — 一次注意力只能捕捉一种关系,多个头并行,让模型同时从多个角度看句子。
- 组装 LLaMA3 — 把前面造的新零件拼成完整的 LLaMA3 解码器,堆叠、加载真实权重,让它说出第一句话。
- 交叉注意力与解码器 — 解码器一边回顾自己写过的词,一边盯着原文,拼出 Transformer 全图。
- Dropout — 训练时随机'屏蔽'一些神经元,反而能让网络更鲁棒,一种反直觉的正则手段。
- 旋转位置编码 RoPE — 与其把位置信息加进词向量,不如把它旋转进注意力。相对位置由此直接进入注意力分数,也为扩展上下文长度留下空间。
- 词向量的性质与局限 — 「国王−男人+女人≈女王」为何成立?又为什么一个词只能有一个向量?
- BERT 与预训练范式 — 上一章的 Transformer 要为每个任务从零训练、还得喂大量配对数据;能不能先让模型读懂人话,再去做具体任务?
- 词嵌入 — 给每个词配一个可学习的稠密向量,让意思相近的词在空间里自然靠拢
- RMSNorm 与 SwiGLU — 现代大模型把解码器的 LayerNorm 换成 RMSNorm、ReLU 前馈换成 SwiGLU,本课讲清这两处为什么…
- 线性模型 — 以房价预测为例引入线性模型 y = w·x + b,理解权重、偏置与单层感知机,并使用 NumPy 与 PyTorch…
- 认识图像数据 — 了解图像在计算机中的表示方式:像素、矩阵、通道与张量形状,并加载 MNIST。
- 卷积神经网络的结构 — 把卷积层、池化层、全连接层组合为完整的 CNN,并理解感受野与特征层次。
- Transformer 实战 — 把整章写过的模块组装起来,亲手训练一个 Transformer 并看它学会翻译。
- MLP 处理图像的局限 — 用 MLP 直接处理 MNIST,分析其在参数规模和位置敏感性上的问题。
- 批量训练 — 数据量大了,每次喂全量太慢,把数据切成小块,让训练又快又稳。
- 梯度消失与梯度爆炸 — 分析深层网络反向传播中梯度衰减或发散的现象与缓解方法。
- 多层感知机 — 为什么直接堆线性层不行?激活函数如何打破线性,配合全连接层堆叠出能拟合 XOR、同心圆、月牙的多层感知机(MLP)。
- BPE 子词分词 — 按词分太多、按字又没意义,能不能找个不大不小的中间粒度?
- CNN 实战:MNIST — 用 PyTorch 实现 SimpleCNN 并在 MNIST 上训练,与 MLP 对比参数量与精度。
- word2vec — 不靠人工标注,仅凭「上下文」就能让词义从大量文本中自己浮现出来