Arganzheng's Blog

stay hungry, stay foolish

深度学习基础(02):反向传播——手推一个两层网络

Backpropagation by Hand: Shapes, the 2x Rule and Why Activations Must Be Saved

loss.backward() 是训练代码里最短的一行,也是被理解得最少的一行。它做的事在 1986 年就已经写清楚了:沿着计算图反向应用链式法则。但只有自己推过一遍、写过一遍、用有限差分验证过一遍,才会真的知道三件后面每一篇都要用的事——梯度的形状与被求导的量相同、反向的计算量是前向的两倍、前向的中间结果必须保留到反向。第一件决定了怎么读任何一个梯度公式,第二件是训练 FLOPs 等于 \(6ND\) 的来源,第三件是激活显存与激活重算的全部原因。 上一篇《深度学习基础(01):深度模型演进史——从感知机到 Transformer》解释了多层网络为何成为研究问题;这里转向它的梯度怎样计算。 本篇用一个两层 MLP(Linear → ReLU → Linear ...

深度学习基础(01):深度模型演进史——从感知机到 Transformer

A History of Deep Models: From the Perceptron to the Transformer

Transformer 不是突然出现的。它接过了感知机、反向传播、卷积、Embedding、循环网络与 attention 留下的问题。本篇沿时间线看这些结构为什么出现;公式推导和可复现实验放在后续文章。 为什么单层感知机会遇到 XOR?多层网络何时变得可训练?Transformer 又从哪些旧结构中继承了组件? 一、总览:三起两落 神经网络的发展不是平滑上升。感知机带来第一次热潮,能力边界、资金收缩与英国的研究评估共同构成第一次寒冬;反向传播带来第二次兴起,但算力、数据与训练稳定性仍有限;2006 年逐层预训练重燃深层网络研究,随后 GPU、ImageNet 与更可靠的训练方法让深度学习进入第三次兴起。 本文讲历史与动机;感知机、ADALINE...

深度学习基础:从反向传播到残差(总纲)

Deep Learning Foundations: From Backpropagation to Residual Connections

内容简介 《深度学习基础:从反向传播到残差》是一组九篇正文加一篇总结的系列文章,对应《AI 算法工程师学习地图》的第 L3 层。它面向已经有 L0 数学、L1 工具、L2 经典机器学习基础、准备进入 Transformer 与 LLM 的读者,讲的是训练一个深度神经网络时会发生什么、为什么、以及怎么算出来。 它回答的问题是: 一个几十层甚至上百层的网络,为什么能训、什么时候不能训、训不动的时候该看哪个数字?1 深度学习教材通常按”模型”组织:感知机、MLP、CNN、RNN、Transformer。这个系列先用第一篇沿着感知机到 Transformer 回看深度模型的演进与动机,再用五篇讲训练动力学——梯度、激活、深层稳定性、优化与泛化,最后用三篇回看...

LLM 时代的经典机器学习(11):系列总结与通关自测

Classical Machine Learning in the LLM Era: Series Recap and Final Self-Test

十篇正文回答了一个问题:LLM 工作里的哪些问题其实是经典机器学习的老问题,它们的经典解法在 LLM 上还成立吗。第一篇讲什么是学习与泛化;第二、三篇讲线性回归与逻辑回归并指出奖励模型就是后者;第四到六篇从三个基础分类器到 SVM 到树的集成,并算清数据过滤为什么用小模型;第七、八篇讲聚类与降维;第九篇把 MinHash 与 LSH 的概率算清楚;第十篇讲评估——一切结论是否成立的最后一道关。十篇合起来对应《AI 算法工程师学习地图》的 L2 层,也是总纲那张”重现表”的逐行展开。 本文不讲新内容,做三件事:把十篇压成一张表与十段回顾,把贯穿十篇的几条线拎出来,然后给一套三段式的通关自测——判断与计算、跨篇综合、面试题。各篇末尾的自测检验的是”这一篇读懂了没有”,...

LLM 时代的经典机器学习(10):评估——从混淆矩阵到 judge 的一致性

Evaluation: Confusion Matrices, Thresholds, Calibration, Paired Tests, and Every LLM Pitfall They Predict

前九篇训了很多模型,每次都报一个”准确率”。这一篇专门讲怎么评估——准确率什么时候会骗人,一个分类器的”好”怎么拆成几个能各自回答问题的数,一个概率输出可不可信,两个模型差 3 个点算不算真的差。每个概念都用几行 NumPy 手写一遍、与 scikit-learn 对数,然后对到 LLM 评测里那些反复出现的坑:过滤器的漏放与误杀、奖励模型准确率的上限是什么、judge 的一致性与位置偏差、benchmark 分数的置信区间、”20 个 benchmark 里领先 12 个”。 全篇的核心问题是: 一个安全分类器准确率 95%,能上线吗?1 LLM-as-judge 与人的一致率 80%,够不够?2 两个模型在 20 个 benchmark 上比,领先 1...

LLM 时代的经典机器学习(09):去重——MinHash 与 LSH 的概率

Deduplication: Jaccard, MinHash as an Unbiased Estimator, and the LSH S-Curve

预训练语料里有大量重复:同一篇文章的几十个转载、改了几个词的模板页、复制粘贴的代码。重复的数据让模型记忆而不是学习,去重是数据工程里收益最确定的一步。精确去重(对整段文本取 hash)只能抓完全一样的副本;近似去重要处理”大部分一样”的文本,标准做法是 MinHash + LSH。它是无监督学习里”相似度估计”的一个漂亮应用——三个经典元素(集合相似度、随机化估计、用概率分桶换掉两两比较)没有一个是深度学习,但在 15T token 上做去重,没有它寸步难行。这一篇把它的概率算清楚,每一步都有一个能手算的例子和几十行能跑的代码。 全篇的核心问题是: 两段文本”相似”到什么程度算重复?1 MinHash 的阈值怎么定?2 为什么不用两两比较?3 一、总览...

LLM 时代的经典机器学习(08):降维——PCA、SVD、t-SNE / UMAP 与 embedding 的各向异性

Dimensionality Reduction: PCA, SVD, t-SNE / UMAP, and the Anisotropy of Embedding Spaces

上一篇的句向量有 896 维,一个 LLM 的 hidden state 有 4096 维。人看不了 896 维的东西,但可以问两个问题:这些维度里真正有信息的有几个?能不能把它们画在纸上?降维回答这两个问题。主角是 PCA(主成分分析)——找数据方差最大的几个方向,把数据投影上去。它简单到四行代码,但连着三件后面反复出现的事:它就是 L0 第三篇的 SVD;它给出的”有效维度”是 LoRA 低秩假设的直觉来源;用它看一眼 embedding,会发现一个让”余弦相似度 0.8”失去含义的陷阱。 全篇的核心问题是: PCA 的”方差最大的方向”到底在找什么,为什么它等于 SVD?1 4096 维的 embedding 怎么”看”,二维图上的距离能信吗?2 为...

LLM 时代的经典机器学习(07):聚类——K-Means、DBSCAN 与「这批语料里有什么」

Clustering: K-Means, DBSCAN, Hierarchical Clustering, and What a Corpus Looks Like in Embedding Space

前六篇的模型都需要标签。无监督学习没有标签,只有 \(x\),要回答的问题是”这批数据里有什么结构”。聚类是其中最常用的一种:把相似的样本归成一堆。在 LLM 的数据工程里它回答一个具体问题——这个几十 T 的语料里有哪些主题、各占多少、哪些是垃圾。这一篇讲三个聚类算法(K-Means、DBSCAN、层次聚类)各自怎么工作、假设什么、什么时候失效,手写 K-Means 并看它一步步收敛,最后用一个真实的小语料(78 句话过一个 0.5B 的语言模型得到句向量)把”每簇抽几条看看”跑一遍。 全篇的核心问题是: K-Means 那两步为什么一定收敛,收敛到的一定是最好的吗?1 怎么知道一个语料里有什么主题、\(k\) 该取多少?2 一、总览 1. 三个算...

LLM 时代的经典机器学习(06):集成——随机森林、梯度提升与数据质量分类器的算力账

Ensembles: Random Forests, Gradient Boosting, and Why Data Filters Use Small Models

第四篇结尾留下一个问题:决策树方差极大、天生过拟合,怎么办?答案是很多棵树。两种组织方式:随机森林并行地训几百棵各不相同的树再投票——第一篇”集成只降方差”的直接应用;梯度提升则一棵接一棵地训,每棵树专门修正前面所有树加起来还没解释的部分(残差)。后者是至今表格数据上最强的模型(XGBoost、LightGBM、CatBoost 都是它),也是预训练数据工程里质量分类器的常用工具之一。最后算一笔账:给 15T token 打质量分,为什么用这些小模型而不是 LLM 自己。 全篇的核心问题是: 很多棵都过拟合的树平均起来为什么反而不过拟合?1 梯度提升”逐棵拟合残差”到底在做什么,为什么叫”梯度”?2 预训练数据过滤为什么用 fastText 与 GBDT ...

LLM 时代的经典机器学习(05):SVM 与核方法——最大间隔、核技巧与 attention 的远亲

Support Vector Machines and Kernels: Maximum Margin, the Kernel Trick, and Why Attention Is a Kernel Smoother

逻辑回归画一条直线把两类分开,但能分开的直线有无数条,它选的是让交叉熵最小的那条。支持向量机(SVM,support vector machine)换了一个标准:选离两类都最远的那条——间隔最大。这个标准只由离边界最近的几个点决定,其余点删掉也不影响结果。然后是它最漂亮的部分——核技巧:不改变算法,只把”两个点的内积”换成一个相似度函数,直线就变成了任意形状的曲线。核方法在深度学习时代退出了主流,但它的两个思想活得很好:间隔(对比学习的 margin loss)与”相似度加权”(attention 就是一个核平滑器,本文会把两个公式对到一位小数不差)。 全篇的核心问题是: 能分开两类的直线有无数条,SVM 凭什么选”间隔最大”的那条?1 核技巧为什么能不增...

×