目录
1. Sigmoid 激活函数
2. Tanh 激活函数
3. ReLU 激活函数
4. LeakyReLU 激活函数
5. ELU 激活函数
6. SELU 激活函数
7. GELU 激活函数
8. SoftPlus 激活函数
9. Swish 激活函数
10. Mish 激活函数
激活函数(activation function)的作用是对网络提取到的特征信息进行非线性映射,提供网络非线性建模的能力。常见的激活函数有 Sigmoid、Tanh、ReLU、LeakyReLU 和 ELU 等。
1. Sigmoid 激活函数
Sigmoid 是一种常见的非线性激活函数,输入实数值并将其压缩到 (0,1) 范围内,适用于二元分类任务。其缺点是当输入值较大和较小时,梯度会接近于0从而导致梯度消失问题,函数的输出也不是以0为中心,指数计算复杂度高也更加耗时。其计算公式如下所示:
Sigmoid 激活函数 Pytorch 示例:
import torch
# 定义输入张量
x = torch.tensor([0.5, -0.1, 2.0])
# 使用Sigmoid激活函数
output = torch.sigmoid(x)
print(output)
Sigmoid 激活函数示意图:
2. Tanh 激活函数
双曲正切激活函数(hyperbolic tangent activation function, Tanh)也属于非线性激活函数,它可以将输入实数值映射到 [-1,1] 范围之间,适用于多元分类任务。输出是以零为中心,但是和sigmoid激活函数一样存在饱和问题,并仍未解决梯度消失问题。其计算公式如下所示: