Skip to content

常用求导规则——幂函数、指数与对数

上一章理解了导数的含义,本章掌握实际计算。AI 中最常用的三类函数求导规则,记住就能应对大多数场景。


基本函数导数速查表

函数 f(x)导数 f'(x)AI 中出现的场景
$ c $(常数)$ 0 $偏置项求导时常数消掉
$ x^n $$ nx^{n-1} $MSE 损失中 $ x^2 $
$ e^x $$ e^x $Sigmoid、Softmax
$ \ln x $$ \frac{1}{x} $交叉熵损失

四则运算求导法则

法则公式
和差$ (f \pm g)' = f' \pm g' $
乘积$ (fg)' = f'g + fg' $
数乘$ (cf)' = cf' $

最重要的一个导数:$ (e^x)' = e^x $——指数函数的导数等于它自己。

这让指数函数在微分方程和深度学习中无处不在。


生活例子

学习求导规则就像学做菜的刀法——每个规则是基本功,组合起来能处理任何食谱。

$ (e^x)' = e^x $ 好比一个不变的材料:无论怎么加工,它始终保持原样。


数学定义

幂函数求导:降一次幂,乘原指数

ddxxn=nxn1

这是最基础的求导公式。例如 $ (x^2)' = 2x (x^3)' = 3x^2 $。

MSE 损失中的 $ (y - \hat{y})^2 $ 就是幂函数,对其求导得到 $ 2(y - \hat{y}) $。

指数函数求导:导数是自身

ddxex=ex

这是数学中最独特的函数之一。e^x 的导数还是 e^x——无论求多少次导,它始终保持原样。

这一性质让 e^x 在 Sigmoid 函数 $ \sigma(x) = 1/(1+e^{-x}) $ 和 Softmax 中反复出现。

对数函数求导

ddxlnx=1x

交叉熵损失中的 log 项求导就用到它。对数和指数的导数互为倒数关系——它们互为反函数。

和差法则

(f±g)=f±g

和的导数 = 导数的和。求导操作可以「穿过」加号和减号,分别对每一项求导。

乘积法则

(fg)=fg+fg

乘积的导数 ≠ 导数的乘积。而是「第一个的导数乘第二个 + 第一个乘第二个的导数」。

这个法则在反向传播中经常出现——当计算 $ w \cdot x $ 对 w 的偏导时,就用到乘积法则。

结合这三类函数和三条法则,就能求出 AI 中绝大多数函数的导数。

例如 Sigmoid 的导数 $ \sigma'(x) = \sigma(x)(1-\sigma(x)) $ 就是综合运用了商法则、指数函数求导和链式法则。


Python 动手实践

实例

python

import sympy as sp

x = sp.Symbol('x')

funcs = {'x^3': x**3, 'e^x': sp.exp(x), 'ln(x)': sp.log(x),

         'x^2 + 3x + 5': x**2 + 3*x + 5}

print("=== 符号求导验证 ===")

for name, f in funcs.items():

    print(f"f(x)={name:15s} → f'(x)={sp.diff(f, x)}")

# 乘积法则

f = x**2 * sp.exp(x)

print(f"\n(x^2 · e^x)' = {sp.diff(f, x)}")

# 链式法则:(2x+1)^3 的导数

g = (2*x + 1)**3

print(f"((2x+1)^3)' = {sp.diff(g, x)}")

AI 中的应用场景

反向传播中的梯度计算

神经网络的每一层都涉及这些基本求导规则。线性层 y = Wx + b 对参数 W 求导用到乘积法则,对 b 求导用到常数的导数为 0。

Sigmoid 激活函数的导数推导

$ \sigma(x) = 1/(1+e^{-x}) $,用商法则得到 $ \sigma'(x) = \sigma(x)(1-\sigma(x)) $。这个简洁形式在反向传播中计算极快——只需要前向传播时已经算好的 \sigma(x) 值,不需要重新算指数。

Softmax + 交叉熵的组合梯度

Softmax 包含指数、求和、除法,单独求导很复杂。但与交叉熵损失组合后,梯度奇迹般化简为 $ \hat{y} - y $(预测 - 真实标签)——这是深度学习中最优雅的导数化简之一,也是分类任务标配 Softmax+CE 的根本原因。


AI 思考中...

导数入门 — 瞬时变化率与切线

偏导数 — 多变量函数逐个求导

基于 VitePress 构建,部署于 GitHub Pages