从神经元到神经网络:激活函数为什么是灵魂
从一个人工神经元出发,理解线性加权—偏置—激活的结构,讲清为什么没有激活函数多层网络会退化成一层线性模型,以及多层感知机如何靠「线性变换 + 非线性」层层堆叠获得强大表达力
- 理解单个神经元的计算:加权求和、偏置与激活
- 说清为什么非线性激活是多层网络有意义的前提
- 掌握常见激活函数(Sigmoid/Tanh/ReLU 及其变体)的特点与取舍
- 理解多层感知机的层结构(输入层/隐藏层/输出层)与万能近似直觉
一个神经元在算什么
人工神经元是对生物神经元的极简抽象:它接收若干输入 x,每个输入乘一个权重 w,求和再加偏置 b,得到线性结果 z;然后过一个激活函数 f,输出 a = f(z)。权重表示「这个输入有多重要」,偏置表示「默认的触发倾向」,激活决定「以多大强度向下一层输出」。
输入 x₁…xₙ
加权求和 z = w·x + b
激活函数 a = f(z)
输出给下一层
关键一问:为什么必须有激活函数
假设没有激活函数,无论叠多少层,每层都是线性变换 z=w·x+b。两层线性变换复合后仍是线性变换:W₂(W₁x+b₁)+b₂ = (W₂W₁)x + (W₂b₁+b₂),等价于只有一层。也就是说,没有非线性,再深的网络也只是「换了件衣服的线性回归」,学不了曲线边界。激活函数引入非线性后,每层都能把数据「掰弯」一点,层层叠加就能逼近极其复杂的函数。
打个比方:线性变换像用直尺不断平移旋转,无论做多少次,画出来的还是一条直线;激活函数就是那把能把直线掰成折线、曲线的钳子。没有它,你把同一把直尺叠一千次,结果仍然是直线。正是每层「掰弯」一点点,几十层之后就能在高维空间里捏出任意复杂的决策边界——这就是为什么深度有意义、而深度又必须配非线性。这条逻辑后面会反复出现:卷积、注意力、FFN,再复杂的结构,如果中间没有非线性穿插,整体也会塌缩回一个线性模型。
理论上,只要隐藏层足够宽,带非线性激活的前馈网络可以以任意精度逼近连续函数。注意它只保证「存在这样的网络」,不保证梯度下降一定学得出来,也不保证样本和算力够用——这正是后面要研究训练方法的原因。
常见激活函数与取舍
Sigmoid
压到(0,1),易解释为概率;两端梯度趋近0,易梯度消失,输出非零中心
Tanh
压到(−1,1),零中心优于Sigmoid;深层仍会梯度消失
ReLU
正区间恒等、负区间为0;计算快、缓解梯度消失,是隐藏层默认选择
Leaky/GELU/Swish
给负区间留微小斜率或平滑化,训练更稳,现代大模型常用 GELU/SwiGLU
ReLU 之所以成为默认,是因为正区间梯度恒为 1,不会像 Sigmoid 那样在深处把梯度一层层乘没;但它在负区间梯度为 0,可能出现「神经元死亡」。GELU、Swish 等平滑变体在大模型里更常见,它们处处可导、训练更稳定,细节属于工程选型,记住「隐藏层默认 ReLU 系、输出层按任务选」即可。
为什么 Sigmoid 在深网里特别糟?看它两端的形状就知道:当输入很大或很小时,曲线几乎拉平,导数趋近于 0。反向传播时梯度要从输出一路连乘回输入,每经过一个 Sigmoid 就乘上一个小于 1、甚至接近 0 的因子,叠几十层后,靠近输入的层拿到的梯度几乎为零——参数像被冻住一样学不动,这就是梯度消失的经典来源。ReLU 正面解决了这点:正区间导数恒等于 1,连乘不会衰减,梯度能顺畅地传到深层。它的代价是负区间直接输出 0、梯度也为 0,一旦某个神经元长期落在负区就再也醒不过来(神经元死亡),于是又演化出 Leaky ReLU(给负区留一条极小斜率)、GELU(平滑过渡)等修补方案。输出层为什么另选:做二分类就用 Sigmoid 压成概率,做多分类用 Softmax 把多类压成和为 1 的概率分布,做回归则直接线性输出,不加激活。
多层感知机 MLP 的结构
信息前向传播,误差反向传播(下一课细讲)
层与层之间是全连接的:每个神经元都和上一层所有神经元相连。浅层学到的是边缘、组合这类基础特征,越往深越抽象。参数量随「输入维度 × 神经元数」累加,这也是为什么处理图像时全连接会爆炸、需要 CNN 的局部连接。
全连接的「全」既是优点也是诅咒:它不假设数据有任何结构,理论上最自由,但自由度太高也意味着把大量参数花在无关连接上。一张中等尺寸的图片拉直成向量就是上万维,再接一层几千个神经元,光是这一层的权重矩阵就有上千万参数,既慢又极易过拟合。更糟的是它完全无视「相邻像素才相关」这件天然事实——把图片左右翻转、平移一下,全连接层的输入向量就全乱了,它却得从零重新学。这种「我先验一无所知」的状态,正是下一课 CNN 要用局部连接和权值共享来打破的:与其让每个神经元自由地连,不如把图像特有的结构先验写进网络里。
如果把一个五层 MLP 的所有激活函数都换成恒等函数 f(z)=z,结果会怎样?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
从线性回归到神经网络,本质都一样:定义一个带参数的函数 fθ(x),用损失函数衡量它和真实答案的差距,再沿梯度方向更新参数。监督、无监督、强化学习的区别,只在「训练信号从哪里来」。先把这套统一视角立住,后面遇到的任何模型都是它的具体实例,就不会被层出不穷的名词淹没。