Softmax激活函数
Softmax 模块经常出现在各种模型中,例如 Transformer 模型、CNN(卷积神经网络)
下面深入剖析一下 Softmax 模块
一、激活函数
- 类似于我们的神经元,激活函数控制着数据是否传递以及传递的值
- 作用:引入了非线性元素,能够处理更复杂的问题
二、Softmax 激活函数
- 本质:Softmax 模块是一种激活函数
- 作用:将数值向量归一化为一个概率分布向量,且各个概率之和为1
- 数学公式:
每个向量的指数 / 所有向量的指数之和

三、Softmax 激活函数的应用
CNN
- 输出图像类型的概率分布

Transformer
- 将注意力分数转化为概率分布

四、常见的激活函数
Softmax
-
使用场景:多分类问题(自然语言处理、图像分类、语音识别)
-
缺点: 梯度消失、梯度爆炸
-
解决方法:
- 使用其他激活函数,如 ReLU
- 利用深度学习优化技巧,如归一化、权重衰减
Sigmoid
-
公式

-
图像

-
使用场景:回归、二分类
-
数据范围:0 ~ 1
-
缺点:输入值很大时,输出值会很小,导致梯度消失
-
解决方法:
- 使用其他激活函数,如 ReLU
- 利用深度学习优化技巧,如梯度剪裁、学习率调整
Tanh
-
公式

-
图像

-
使用场景:数据范围为 -1 ~ 1 的情况
-
数据范围:-1 ~ 1
-
缺点:导数在 -1 和 1 时接近于 0,导致梯度消失
-
解决方法:
- 使用其他激活函数,如 ReLU
- 利用残差连接
ReLU
-
公式

-
图像

-
使用场景:在深度学习模型中很常用(CNN),能够缓解梯度消失,加速模型训练
-
缺点:
- 死亡神经元:小于 0 时
- 不对称性:图像在 0 处不对称
-
解决方法:
- Leaky ReLU:输入小于或等于0时,输出一个较小的斜率
- Parametric ReLU(PReLU):斜率不固定,可以根据数据进行学习优化
参考资料:
神经网络算法 - 一文搞懂 Softmax 函数
秒懂AI-深度学习四种常用激活函数:Sigmoid、Tanh、ReLU和Softmax
个人学习用,侵权删

浙公网安备 33010602011771号