返回首页

激活函数(Activation Function)入门:神经网络为什么离不开"非线性开关"

2026年10月6日 13:31来源: 润百AI0 条留言技术教程

如果只有矩阵乘法,再深的神经网络也只是一个大号线性变换,压根学不会复杂模式。让神经网络真正"活"起来的,是每一层里那个看似不起眼的部件——激活函数(Activation Function)。它给网络注入了非线性,是深度学习能够拟合复杂函数的关键。

一、为什么需要激活函数

线性运算有一个致命局限:多层线性叠加,结果依然等价于一层线性变换。也就是说,没有激活函数,堆再多层也白搭。激活函数在中间插入非线性,才让网络具备拟合任意复杂映射的能力。

二、常见的激活函数

1. Sigmoid:把输出压到 0~1,早期常用。缺点是两端梯度接近 0,容易出现"梯度消失",深层网络难以训练。

2. Tanh:压到 -1~1,比 Sigmoid 对称,但同样存在饱和区梯度消失的问题。

3. ReLU(整流线性单元):f(x)=max(0,x),正半轴线性、负半轴归零。计算极快、缓解梯度消失,是深度网络的重要转折点。缺点是负区"死亡 ReLU"——一旦输入长期为负,梯度为 0,该神经元可能再也不更新。

4. Leaky ReLU / PReLU:给负半轴留一个很小的斜率,缓解死亡 ReLU 问题。

5. GELU 与 SiLU(Swish):曲线更平滑,在零点附近光滑过渡,是 Transformer 和大模型里的主流选择,GELU 被 BERT、GPT 系列广泛采用。

三、Softmax 是另一类

严格说 Softmax 常用于输出层,把一组分数变成总和为 1 的概率分布,分类任务里判断"属于哪一类"就靠它。

四、怎么选

传统 CNN 用 ReLU 及其变体(Leaky ReLU)最省事;Transformer 与大模型多用 GELU、SiLU,并配合归一化一起使用;输出层分类用 Softmax,回归任务一般不用。

五、一句话总结

激活函数是神经网络里"开关"一样的存在:它把线性堆叠变成真正的非线性模型,让深度网络拥有了表达复杂世界的能力。从 Sigmoid 到 ReLU 再到 GELU,这条演进史,也正是一部深度学习"越做越深、越训越稳"的历史。

【参考来源】综合整理自公开发布的行业信息(如相关公开论文与主流深度学习框架的官方文档)。

深度学习大模型
留言讨论

留言 (0)

暂无留言,来写第一条吧

发表留言