从神经元到神经网络:激活函数为什么是灵魂
从一个人工神经元出发,理解线性加权—偏置—激活的结构,讲清为什么没有激活函数多层网络会退化成一层线性模型,以及多层感知机如何靠「线性变换 + 非线性」层层堆叠获得强大表达力
- 理解单个神经元的计算:加权求和、偏置与激活
- 说清为什么非线性激活是多层网络有意义的前提
- 掌握常见激活函数(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₂),等价于只有一层。也就是说,没有非线性,再深的网络也只是「换了件衣服的线性回归」,学不了曲线边界。激活函数引入非线性后,每层都能把数据「掰弯」一点,层层叠加就能逼近极其复杂的函数。
理论上,只要隐藏层足够宽,带非线性激活的前馈网络可以以任意精度逼近连续函数。注意它只保证「存在这样的网络」,不保证梯度下降一定学得出来,也不保证样本和算力够用——这正是后面要研究训练方法的原因。
常见激活函数与取舍
Sigmoid
压到(0,1),易解释为概率;两端梯度趋近0,易梯度消失,输出非零中心
Tanh
压到(−1,1),零中心优于Sigmoid;深层仍会梯度消失
ReLU
正区间恒等、负区间为0;计算快、缓解梯度消失,是隐藏层默认选择
Leaky/GELU/Swish
给负区间留微小斜率或平滑化,训练更稳,现代大模型常用 GELU/SwiGLU
ReLU 之所以成为默认,是因为正区间梯度恒为 1,不会像 Sigmoid 那样在深处把梯度一层层乘没;但它在负区间梯度为 0,可能出现「神经元死亡」。GELU、Swish 等平滑变体在大模型里更常见,它们处处可导、训练更稳定,细节属于工程选型,记住「隐藏层默认 ReLU 系、输出层按任务选」即可。
多层感知机 MLP 的结构
信息前向传播,误差反向传播(下一课细讲)
层与层之间是全连接的:每个神经元都和上一层所有神经元相连。浅层学到的是边缘、组合这类基础特征,越往深越抽象。参数量随「输入维度 × 神经元数」累加,这也是为什么处理图像时全连接会爆炸、需要 CNN 的局部连接。
如果把一个五层 MLP 的所有激活函数都换成恒等函数 f(z)=z,结果会怎样?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
从线性回归到神经网络,本质都一样:定义一个带参数的函数 fθ(x),用损失函数衡量它和真实答案的差距,再沿梯度方向更新参数。监督、无监督、强化学习的区别,只在「训练信号从哪里来」。先把这套统一视角立住,后面遇到的任何模型都是它的具体实例,就不会被层出不穷的名词淹没。