w、b 和激活函数,在图上长什么样

一个神经元算的是 σ(w·x + b)。这一页把三样东西拆开看:激活函数 σ 是一个写死的形状;w 决定这个形状多陡、朝哪边;b 决定它在哪里“开关”。

相关页面:《神经网络如何逼近任何函数》《多层神经网络是怎么来的》

先打个比方:一个感应灯

激活函数 σ 是灯的类型:有的是渐亮的调光灯(sigmoid),有的是只在有人时才亮、越靠近越亮的灯(ReLU)。类型出厂就定了,用的时候不能改。

b 是门槛:人走到哪里灯开始亮。w 是灵敏度:一靠近就全亮(w 大),还是慢慢亮起来(w 小);w 为负,就变成“越靠近越暗”。

激活函数图鉴:四种写死的形状

横轴是神经元算出来的 z(也就是 w·x + b),纵轴是输出。小圆点在曲线上来回走,演示“输入 z,吐出多少”。

注意看公式:里面只有 z,以及 e、π、0.044715 这样写死的常数,没有任何要训练的数。所以激活函数不算模型参数;训练调的只有每个神经元的 w 和 b。

w 和 b 对曲线做了什么

同一个 sigmoid,看 w、b 分别动起来时曲线怎么变。横轴现在是神经元的输入 x。

自己试试

选一个激活函数,拖动 w、b,看曲线和“开关点”怎么动;拖动 x,看一个具体的输入是怎么一步步算出输出的。可以试着做到:开关点落在 x = 1,而且切换得很急。

彩色实线:输出 = 激活函数(z)灰色虚线:z = w·x + b橙色竖线:开关点 / 拐点 x = −b/w

常见误区

✗ b 决定曲线有多高

放在 σ 里面的 b 只会把曲线左右挪,决定开关点在哪。曲线的高度由激活函数本身(sigmoid 最高 1)和下一层的权重决定。

✗ w 只管陡峭程度

w 还管方向(负数会把曲线左右翻转),也会影响开关点:开关点在 x = −b/w,b 不变时改 w,开关点也会跟着动(除非 b = 0)。

✗ 激活函数也有要学的参数

sigmoid、tanh、ReLU、GELU 都是写死的公式,训练时不变。要学的只有 w 和 b。(少数变体如 PReLU 例外,主流大模型基本不用。)

一句话:激活函数是一个写死的形状;w 把它拉陡、压缓或翻转,b 把它左右挪,开关点在 x = −b/w。训练调的只有 w 和 b。

练习

每题作答后马上看到解析;点「重做练习」清空重来。