P2-4.3 微分(derivative)与梯度(gradient)¶
Section ID:
P2-4.3Version:v2026.07.20
在 P2-4.2 中,我们看了变化率(rate of change)与斜率(slope)。在直线里,斜率是固定的;但在曲线里,变化率会随着区间或位置不同而改变。
现在,我们把这条流程接到微分(derivative)与梯度(gradient)。这里不会先去背很多微分计算公式,而是把重点放在:当 AI 文档里出现 derivative、gradient、partial derivative 时,它们到底在指什么。
本节重新整理 微分(derivative)、导函数(derivative function)、偏微分(partial derivative)、梯度(gradient)、nabla。如果说 4.2 处理的是变化率与斜率,那么这里就是在整理:一个变量的瞬时变化率,如何扩展成多个变量的变化信息。
这里关注的不是做很多微分计算题,而是去读懂:一个变量的瞬时变化率,怎样扩展成多个变量的梯度。只要抓住微分、偏微分、梯度之间的关系,后面再看损失(loss)、参数(parameter)、优化(optimization)时,数学语言与学习语言就会接成一条流程。
- 相对于一个输入的变化率,读成微分(derivative)。
- 相对于多个输入各自的变化率集合,读成梯度(gradient)。
核心判断标准:微分(derivative)与梯度(gradient)¶
- 你可以把微分(derivative)说明成相对于一个输入的瞬时变化率。
- 你可以把偏微分(partial derivative)说明成在多个输入中只改变一个时的变化率。
- 你可以把梯度(gradient)说明成把多个偏微分收集起来的向量。
- 你可以用入门层级说明:梯度和函数值增长最快的方向有关。
- 你可以说明:在 AI 学习里,为了观察损失(loss)相对于多个参数(parameter)如何变化,需要梯度。
三个判断标准¶
| 标准 | 为什么重要 | 本节需要达到的理解程度 |
|---|---|---|
| 微分是一个输入的瞬时变化率 | 因为这是在单变量问题里读取斜率与瞬时变化率的起点。 | 理解成当一个输入稍微变化时,输出会变化多少。 |
| 偏微分是把多个输入一个一个拆开来看 | 因为在多变量函数里,必须分别看每个输入会怎样改变结果。 | 理解成暂时固定其他输入,只看其中一个输入的变化。 |
| 梯度是把多个偏微分收集起来的向量 | 因为在学习里,我们要一次性读取多个参数方向上的变化。 | 理解成按顺序收集每个方向变化率的向量。 |
为什么梯度会让人觉得陌生¶
梯度(gradient)在韩国常见的数学学习路径里,可能属于比较晚才会遇到的表达。在高中或基础通识数学里,通常先出现的是下面这条流程。
- 先放一个输入
x。 - 看函数
y = f(x)。 - 读取切线的斜率。
- 继续接到微分系数与导函数。
在这条流程里,图像是画在纸上的,斜率也被理解成一条线的斜率。但梯度经常出现的语境,通常是输入有很多个的问题。
- 有多个输入
x_1, x_2, x_3, ...。 - 看结果
f(x_1, x_2, x_3, ...)。 - 看每个输入稍微变化时,结果会怎样变化。
- 把这些变化率收成一组。
- 这组就是梯度。
所以,梯度与其说是“新的微分”,不如说更接近:当输入有很多个时,微分式思考扩展成了向量(vector)形式。只有一个调节旋钮时,看一个斜率就够了;有很多个调节旋钮时,就必须一起记录每个旋钮该朝哪个方向看、敏感度是多少。
微分是相对于一个输入的瞬时变化率¶
假设一个函数(function)只接收一个输入。
这时,微分(derivative)表示的是:当 \(x\) 很小地变化时,\(y\) 会变化多少。换成 P2-4.2 的语言,就是某一个特定点上的瞬时变化率(instantaneous rate of change)。
例如,看下面这个函数。
这个函数的导函数(derivative function)如下。
这个式子会告诉我们每个位置上的斜率。
| \(x\) | \(f(x) = x^2\) | \(f'(x) = 2x\) |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 1 | 2 |
| 2 | 4 | 4 |
| 3 | 9 | 6 |
当 \(x = 1\) 时,斜率是 2;当 \(x = 3\) 时,斜率是 6。即使是同一个函数,变化率也会随着位置不同而不同。
这里重要的不是公式本身,而是解释。
微分系数与导函数要分开来读¶
用韩语学习微分时,我们会遇到 微分系数 和 导函数 这两个表达。
| 表达 | 入门含义 |
|---|---|
| 微分系数 | 某个特定点上的瞬时变化率 |
| 导函数 | 告诉每个点瞬时变化率的函数 |
例如,在 \(f(x) = x^2\) 中,\(x = 2\) 时的微分系数如下。
而导函数则是下面这个完整函数。
- 微分系数是某一点上的值。
- 导函数是告诉各点微分系数的函数。
这个区分在后面看模型学习时也很重要。看某个参数值下损失变了多少,与计算多个位置上的变化方向,彼此有关,但并不是同一个表达。
当输入有多个时,就需要偏微分¶
在 AI 模型里,输入或参数只有一个的情况很少。通常会有多个值同时存在。
例如,假设一个损失函数(loss function)会随着两个参数 \(w_1\)、\(w_2\) 改变。
这时问题就不只一个。
- 如果把
w_1稍微改一点,损失L会怎样变化? - 如果把
w_2稍微改一点,损失L会怎样变化?
分别看每个输入,再计算变化率,这就是偏微分(partial derivative)。
这里的 \(\partial\) 符号,可以先理解成:我们是在多个变量里,只看其中一个对应的变化率。即使以后再讲严格的计算规则,现在先抓住下面这两个基准就够了。
- 普通微分是在输入只有一个时的变化率。
- 偏微分是在输入有多个时,一个一个分开看的变化率。
梯度是把偏微分收集起来的向量¶
梯度(gradient)就是把多个偏微分收集起来的向量(vector)。
如果损失函数会随着 \(w_1\)、\(w_2\) 改变,那么梯度可以写成下面这样。
\(\nabla\) 这个符号读作 nabla。这里比起符号本身,更重要的是它的含义。
- 先看每个参数稍微变化时,损失会怎样变化。
- 把这些变化率收成一组。
- 这组就是梯度。
在 P2-3 中,我们把向量看成“按顺序收集起来的一组数字”。梯度也是向量。但它不是随便把数字凑在一起的向量,而是把每个方向上的变化率收集起来的向量。
如果换成更贴近现场的话,可以这样说。
- 如果只有一个调节值会影响结果,一个变化率就够了。
- 如果有多个调节值会影响结果,就必须一起看每个调节值的变化率。
- 这组东西就是梯度。
梯度带有方向信息¶
梯度之所以重要,是因为它不仅仅是一组数字。在由多个变量组成的函数里,梯度会连接到“函数值增长最快的方向”。
入门时可以先记住下面这两点。
- 梯度方向是函数值增长最快的方向。
- 梯度反方向是函数值减小的方向。
在 AI 学习里,我们通常想让损失(loss)减小。所以很多时候,比起梯度本身,梯度的反方向更重要。
但这里先只处理到:梯度与增长方向有关。到底要移动多远、学习率(learning rate)怎么选、反复更新怎么做,这些会在梯度下降(gradient descent)里处理。
用一个小例子来读¶
来看下面这个损失函数。
这个函数会随着 \(w_1\)、\(w_2\) 远离 0 而增大。
对每个参数的偏微分如下。
所以梯度会变成:
如果当前值是 \(w_1 = 3\)、\(w_2 = 4\),那么梯度就是:
这表示:在当前位置,损失会沿着 \(w_1\) 方向增加,也会沿着 \(w_2\) 方向增加。如果想减小损失,我们自然会想到反方向。
这个例子比真实的深度学习模型简单得多。但它有助于抓住一种感觉:梯度是把多个参数的变化率收集起来之后形成的方向信息。
现场里会遇到的梯度例子¶
梯度在现场文档里,往往比在数学课堂里出现得更突然。现场里,它通常会接到这样的问题:如果改动某个东西,结果会朝哪个方向变化?
| 现场场景 | 多个输入 | 想看的结果 | 梯度式问题 |
|---|---|---|---|
| 商品运营 | 价格、折扣率、广告费 | 销售额或利润 | 把哪个值稍微改一点,结果会最敏感地变化? |
| 推荐系统 | 新鲜度、人气、个人偏好分数 | 推荐分数 | 改动哪个权重,会让推荐排序发生更大变化? |
| 搜索排序 | 关键词匹配、文档质量、点击信号 | 排名分数 | 哪个信号对分数变化作用更大? |
| 模型学习 | 很多参数 | 损失(loss) | 应该朝哪个参数方向调整,才能减小损失? |
这张表只是把真实服务里的优化过程做了简化。现实中还要同时看数据质量、实验设计、用户行为、策略限制、成本等因素。这里先把第一次读梯度时的核心问题整理成下面一句话。
当有多个调节值一起产生结果时,就必须一起问:把每个调节值稍微改一点,结果会怎样变化?
在 AI 学习里,这个问题会变成损失(loss)与参数(parameter)的关系。损失是我们想减小的结果,参数是模型内部会被调整的值。梯度就是用来告诉我们 损失会沿着每个参数方向怎样变化 的信息。
例子 1:同时调节广告费与折扣率的情况¶
假设我们在运营一个线上商品。销售额会受到多个数值的影响。
- 销售额会受到价格的影响。
- 销售额也会受到折扣率的影响。
- 销售额也会受到广告费的影响。
- 销售额也会受到曝光位置的影响。
这时,现场的问题并不只是 把销售额提上去。
- 如果广告费稍微增加一点,销售额会变化多少?
- 如果折扣率稍微提高一点,销售额会变化多少?
- 如果价格稍微降低一点,利润会变化多少?
这些问题全都是一种微分式问题:把调节值稍微改一点,结果会变化多少? 如果调节值有多个,就必须一起看每个调节值对应的变化率。这种感觉就和梯度接上了。
但在实际运营里,不能只看销售额。广告费增加了,销售额可能上升,但利润也可能下降;折扣扩大后,销量可能增加,但品牌策略或库存策略也会受到影响。梯度是一种读取方向的语言,不是代替完整决策的工具。
例子 2:构造推荐分数的情况¶
推荐系统不会只凭一个理由产生结果。比如,我们可以想象某个内容的推荐分数会受到下面这些因素影响。
- 推荐分数会受到与用户兴趣相似度的影响。
- 推荐分数也会受到内容新鲜度的影响。
- 推荐分数也会受到内容人气的影响。
- 推荐分数也会受到与用户已看内容重复程度的影响。
现场里会出现这样的问题。
- 如果把新鲜度看得更重要,推荐结果会怎么变化?
- 如果把人气看得更重要,会不会只反复推荐热门内容?
- 如果把相似度看得更重要,会不会让新的发现变少?
观察每个因素的权重(weight)稍微变化时,推荐分数会怎样变化,这件事就和梯度式思考连接起来了。真实推荐系统还会同时看用户满意度、多样性、公平性、安全性等标准,但多个输入会共同生成结果这一点,本身就是理解梯度的很好现场感觉。
例子 3:在模型学习里减小损失的情况¶
在 AI 模型学习里,调节值不是人直接去动的价格或广告费,而是模型内部的参数(parameter)。
- 损失(loss)会受到参数
w_1的影响。 - 损失也会受到参数
w_2的影响。 - 损失也会受到参数
w_3的影响。 - 同样地,它还会受到更多参数的影响。
学习过程中会不断重复下面这些问题。
- 如果把
w_1稍微改一点,损失是减小还是增大? - 如果把
w_2稍微改一点,损失变化有多敏感? - 这么多参数应该朝哪个方向一起调整?
这些问题所需要的信息,就是梯度。所以在深度学习文档里,梯度不是抽象数学词,而是决定学习下一步该朝哪个方向移动的核心信号。
现场里经常一起出现的表达¶
如果理解了梯度,那么遇到下面这些表达时,就不会那么陌生。
| 表达 | 入门含义 | 之后会再次看到的位置 |
|---|---|---|
| 梯度(gradient) | 把多个输入方向变化率收集起来的向量 | 本节 |
| 梯度下降(gradient descent) | 沿梯度反方向去减小损失的方法 | P2-6 之后 |
| 学习率(learning rate) | 决定一次要移动多少的值 | 梯度下降说明 |
| 优化器(optimizer) | 决定怎样调整参数的方法 | 机器学习、深度学习部分 |
| 反向传播(backpropagation) | 在神经网络里计算并传递梯度的过程 | 深度学习部分 |
这里不会把上面所有表达都详细展开。我们只保留中心:梯度是把多个变化率收在一起的方向信息。
为什么梯度会在 AI 学习里反复出现¶
AI 模型可能有很多参数(parameter)。在深度学习模型里,这个数量会非常大。学习可以看成是不断调整这些参数,以减小损失(loss)的过程。
这时需要的问题如下。
- 每个参数稍微变化时,损失会怎样变化?
- 有没有某些参数会让损失变化得特别大?
- 朝哪个方向移动,损失会下降?
梯度就是回答这些问题的核心语言。所以在机器学习与深度学习文档里,gradient、gradient descent、backpropagation 这些词会反复出现。
这里不要只把梯度记成“计算的结果”。把它记成 把多个方向变化率收集起来的向量。
用案例来看¶
案例 1. 当推荐分数不是由一个旋钮决定时¶
假设我们在运营一个内容推荐页面。推荐分数是由 与用户兴趣的相似度、新鲜度、人气 等多个因素一起计算出来的。人在手动调整规则时,通常会一个旋钮一个旋钮地去拨,比如 把新鲜度稍微调高一点、把人气权重稍微调低一点。
问题在于,只靠这种方式,很难同时看清整个分数到底会朝哪个方向敏感地变化。新鲜度调高以后,新内容的曝光可能会增加,但和个人口味的匹配度可能下降;人气调低以后,多样性可能提高,但点击率也可能下降。
这时就需要偏微分与梯度这套语言。如果把每个因素稍微改一点,分别看分数变化了多少,那就是偏微分;把这些变化率收成一组,就是梯度。也就是说,它是一种能一次性读懂 哪个旋钮会把结果朝哪个方向摇得更厉害 的方式。
可以验证的结果,是比较当前推荐分数下,各个权重稍微调整一点时分数变化了多少。例如,新鲜度权重提高 0.05 时,前 20 个推荐结果会变化多少;人气权重降低 0.05 时,点击预测分数会下降多少。这样看,就会更清楚为什么需要一组 变化率的集合。
检查清单¶
- 你可以把微分(derivative)解释成相对于一个输入的瞬时变化率。
- 你可以区分微分系数与导函数。
- 你可以把偏微分(partial derivative)解释成在多个输入中,只单独看一个输入时的变化率。
- 你可以把梯度(gradient)解释成把多个偏微分收集起来的向量。
- 你可以说明为什么梯度会比普通单变量微分更让人觉得陌生。
- 你可以说明梯度与函数值快速增加的方向有关。
- 你可以把梯度解释成现场里的
用来观察多个调节值中,应该朝哪个方向改的信息。 - 你可以区分商品运营、推荐系统、模型学习例子里的梯度式问题。
- 你可以说明在 AI 学习里,梯度会接到“寻找让损失下降的方向”这条大流程。
- 你可以区分
derivative、partial derivative、gradient各自指的是什么。
来源与参考资料¶
- OpenStax, Calculus Volume 1, 3.1 Defining the Derivative。可以确认导数与瞬时变化率之间的关系。确认日期: 2026-07-20.
- OpenStax, Calculus Volume 3, 4.6 Directional Derivatives and the Gradient。可以确认偏导数、梯度向量、nabla 记号,以及梯度与最大增加方向之间的关系。确认日期: 2026-07-20.