目录
激活函数(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激活函数一样存在饱和问题,并仍未解决梯度消失问题。其计算公式如下所示: