数学基础

偏导数(partial derivative)

/ PAR-shul duh-RIV-uh-tiv /

大多数有意思的事情,都同时依赖好几个输入。一块蛋糕好不好吃,取决于糖、烘焙时间和烤箱温度三者的合力。偏导数只把其中一个旋钮单拎出来,它问的是:「如果我只改糖,把烘焙时间和温度都纹丝不动地按住,好吃程度会变得多快?」你冻住除一个变量之外的一切,再沿那唯一的方向去量普通的斜率。

它用一个弯弯的符号(∂)来写,提醒你还有别的变量潜伏着、只是被按住不动。因此,一个多输入的函数会有许多个偏导数——每个输入对应一个。把它们全收进一张表里,你就得到梯度,那个指向「上升最陡方向」的向量。所以梯度无非就是把所有偏导数并排码在一起。

这是训练神经网络的家常便饭。一个现代模型有成百万乃至上十亿个内部数字,而学习,就是针对每一个数字分别去问:「如果我只推动这一个数字,总误差会怎么变?」每个答案,都是一个偏导数。反向传播则是一套巧妙的记账法,能在一趟扫描里把它们全部高效算出。一句实话:偏导数是故意无视各变量在真实世界里可能如何联动的;它回答的是一个严格「其它一切不变」的问题——而它之所以强大,恰恰因为它问得这么窄。

对于 f(x, y) = x² + 3y,对 x 的偏导数是 2x(把 y 当作冻住的常数,于是 3y 消失了),对 y 的偏导数则只是 3(把 x 当作冻住的)。把它们摞起来,梯度就是 (2x, 3):在点 (1, 1) 处,它指向 (2, 3) 这个方向,也就是上坡最陡的那条路。

一次只调一个旋钮:把其余变量全冻住,量出这一个的斜率,再把所有答案摞成梯度。

梯度(所有偏导数的集束)指向上升最陡的方向;梯度下降不过是反着走、往山下去。要记住,每个偏导数都把其它每一个变量死死按住不动——这是一种实用而真实存在的「虚构」。

又称
偏导数偏導數偏微分