梯度直指最陡的上坡
想象你站在雾蒙蒙的山坡上。就算看不见前方,只凭脚下的坡度,你也能判断哪个方向爬得最陡。那个方向就是梯度。在标量场(高度、温度)的一点上,它是指向值增长最快方向的箭头。不只方向,长度也有意义:越陡越长。只要抓住梯度,登山道设计、热流的方向、以及训练 AI 的梯度下降法,就被串成了一条线。
在高度场上拖动探针。无论放到哪儿,都跟着一支箭头。这支箭头就是那一处最陡的上升方向,也就是梯度。越靠近山顶坡度越缓,箭头越短;在陡坡上则变长。箭头同时说两件事:往哪儿爬最快(方向)、有多陡(长度)。若是平坦的原野,箭头几乎为0,因为无处可爬。
想想地图上的等高线,就是连起同样高度的线。梯度永远和这些等高线成精确的直角。为什么?沿等高线走,高度不变(上升为零),所以上升最快的方向只能笔直横穿那条线。拖动探针看看。金色箭头(梯度)和蓝线(等高线的切线)在任何地方都保持90度。等高线密集处坡陡,箭头也就长。
梯度归根结底也是向量,所以能拆成横向和纵向两部分。横向部分是你往东走时值上升得多快(∂f/∂x),纵向部分是你往北走时上升得多快(∂f/∂y)。这两个正是偏导数——只看一个方向、暂时固定另一个所测到的斜率。拖动探针,绿色(东)和橙色(北)两个分量合成黑色的梯度箭头。你在向量那一讲见过的"几个 î 加几个 ĵ"的拼装,在这里照样起作用。
若梯度是上坡,它的反方向(−∇f)就是下得最快的路。丢一颗球看看。它每一刻都朝当地最陡的下坡迈一步,最终停在谷底。把种子拖到各处,它会滚进离起点最近的那个谷。这就是梯度下降法。训练 AI 模型时,就在"误差"这片地形上沿着 −∇(误差)一步步下行,去找误差最小的谷。调整数十亿个数,靠的正是和山上滚球一模一样的原理。
恰好有一类位置,梯度变为0:峰顶、谷底,还有鞍点。在那儿,朝任何方向都不再有可上升(或下降)的方向,于是箭头消失。拖动探针,找出箭头缩到0的位置。这为什么重要?因为一切让某物取最大或最小的问题,都化为"找出 ∇f = 0 的点"。最便宜的设计、最坚固的结构、最小的误差——在最优点上,地形永远是平的。从下一讲起,我们从标量转向向量场本身如何逐点变化。