1. 如果没有激活函数会怎样?

神经网络的每一层其实就是做一次加权求和

z=W⋅x+bz 

如果没有激活函数,那么无论堆叠多少层,这整个网络本质上还是一个线性变换

W3(W2(W1x+b1)+b2)+b3⇒ W′x+b′

这意味着:

  • 多层网络的表达能力退化为一层线性模型

  • 无法拟合数据中的非线性关系(比如异或问题 XOR 就无法用纯线性模型解决)。


 2. 激活函数的作用

加入激活函数之后,网络的每一层都引入了非线性变换

a=f(z)=f(Wx+b)

这样整个网络就变成了多层非线性嵌套,能够拟合复杂的函数关系。

核心作用:

  • 引入非线性 → 能拟合任意复杂的映射(根据通用逼近定理,只要有非线性激活函数,多层网络可以逼近任何函数)。

  • 丰富特征空间 → 每一层都对输入空间做不同的非线性折叠和展开。

  • 保持梯度流动 → 像 ReLU、Sigmoid 还能让梯度在反向传播时顺利传递。


3. 常见激活函数

激活函数 特点
Sigmoid 输出在 (0,1),易产生梯度消失
ReLU 简单高效,解决梯度消失,但有“死亡ReLU”问题
Softmax 输出概率分布(用于分类最后一层)

 4. 直观类比

可以把激活函数看作神经元的“开关”

  • 没有激活函数 → 神经元是“线性电路”,没有复杂行为。

  • 有激活函数 → 神经元是“非线性电路”,能表达复杂的模式。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐