LLM 底层原理从零到精通 · Day 2|从函数到神经网络:参数、层与梯度下降
系列总目录:《LLM 底层原理 · 系列学习计划》 · 上一篇:Day 1
若向量、矩阵、偏导读起来吃力,可先读 Day 2 番外 · 小白版(「旋钮、折线、下山」比喻),再回到本篇对照公式。
Day 1 说过:LLM 是一个带参数 的函数 ,训练时用损失推着 动。今天要回答: 长什么样、前向怎么算、损失是什么、梯度下降在干什么 —— 仍用最小数学,但会完成一次 纸笔手推。
本篇目标
- 写出 一层线性变换 ,并指出 参数 是哪些。
- 解释 非线性(激活函数) 为什么必要;知道 ReLU / Sigmoid 的直觉(LLM 里常用 GELU,以后再对齐)。
- 理解 两层网络(MLP) 的数据流:线性 → 非线性 → 线性。
- 用 均方误差(MSE) 这类标量损失,对 极简 2 参数网络 手算 (链式法则热身)。
- 说清楚 梯度下降 一步在做什么:。
1. 神经网络 = 带参数的函数
把输入记成向量 (Day 1 里以后会是 embedding 等,现在先当一串数字)。
目标:用一族由 编号的函数 ,去逼近你想要的映射(例如:下一个 token 的 logits,Day 5 再精确化)。
参数 :所有要学习的权重和偏置,训练时 只改它们,不改网络「接线方式」(结构)。
2. 线性层(全连接层)
一层线性变换:
- :形状约为 , 权重矩阵。
- :长度 的 偏置向量。
- 这一层的 参数个数 (粗算):。
直觉: 的每一行对 做一次加权求和, 再平移一下 —— 和「多元一次函数」是一类东西,只是维度高。
若没有非线性:多层 仍等价于 一层 线性变换(矩阵相乘仍是矩阵)。所以要「折线弯曲」的表达能力,必须在中间加 非线性。
3. 非线性:激活函数
常见写法:, 逐元素作用。
| 名字 | 公式(标量) | 直觉 |
|---|---|---|
| Sigmoid | 把实数压到 ,像概率;深层里容易梯度变小(Day 3 会再提)。 | |
| ReLU | 简单、好算;负半轴为 0,正半轴恒等。 | |
| GELU | (略复杂,有近似式) | Transformer / LLM 里 FFN 常用,Day 10 再点名。 |
Day 2 只需记住:非线性让「多层」 不等于 一层线性,网络才能拟合复杂关系。
4. 两层 MLP 数据流(骨架)
一种典型块(向量版):
最后 可再接损失(例如与目标比大小),或对最后一维做 softmax 得到概率(分类 / 语言模型,Day 5)。
这和 Transformer 里的 FFN(前馈子层) 是同一类「先放大维度再压回去」的思想,只是具体矩阵维度和激活会按论文设定。
5. 损失函数(今天用 MSE 练手)
训练 需要标量 损失 :衡量当前 输出与「正确答案」差多少。
均方误差(回归常用):若输出是标量 ,真值为 ,
系数 只为求导时消掉平方的因子,许多教材这样写。
语言模型 里更常用 交叉熵(对概率分布),Day 5 与 Day 1 的「下一个 token」会接在一起;今天用 MSE 把 链式法则 算清楚即可。
6. 梯度下降(一步在干什么)
把 所有参数 摊平成一个向量 。当前样本上算出的损失 。
梯度 :每个参数对 的偏导数组成的向量,指向 上升最快 的方向。
更新(最简形式):
叫 学习率(步长)。减号表示往 损失下降 的方向走一小步。多条数据时常见做法是 平均 或 随机抽 batch 的梯度(Day 11 量级再谈)。
7. 手推热身:1 个隐藏神经元的玩具网络
结构(标量,方便手算):
- 输入 (标量)
- 隐藏:,。为简单起见, 令 为恒等 (即先省略激活,或想象在 处用 ReLU 且本例中 ),则 。
- 输出:
损失(给定真值 ):
求 (把 当常数看 ):
求 (链式法则):
若中间有 Sigmoid ,多一层:
其中 。这就是 Day 3 的 反向传播 要系统化推广到「任意计算图」的同一种规则。
数值小例:设 ,,则 ,。若目标 ,则 ,,。梯度下降一步(只更新 ) 会减小 ,合理。
自测题
Q1. 只有线性层、没有激活,堆三层和堆一层本质差别是什么?
要点
无本质差别:多个矩阵连乘可合并成一个矩阵,仍是线性映射。
Q2. 线性层 里,参数存在哪里?
要点
主要在矩阵 与向量 的元素里(共 个标量,与具体实现布局无关)。
Q3. 梯度下降里为什么是减梯度,而不是加?
要点
梯度指向损失上升方向;要 下降 损失,沿负梯度走。
Q4. 对上节玩具网络,若 ,, 是多少?
要点
,(注意若 则 )。
Q5. LLM 的 FFN 里更常出现的激活是 ReLU 还是 GELU?
要点
常见是 GELU(或同类平滑激活);Day 10 会对着结构再记一版。
延伸阅读(可选)
- 用任意教程画一张 2 层 MLP 的方框图,标出 与 。
- 思考:Day 1 说的「70B 参数」主要来自 重复的这类矩阵,而不是魔法常数。
下一篇
Day 3 把今天的链式法则推广成 计算图上的反向传播:Day 3|反向传播与计算图。也可查看 系列计划。