在 PyTorch 中,激活函数(Activation Functions)是神经网络中重要的非线性组件,用于引入非线性,使网络能够学习复杂的函数关系。以下是 PyTorch 中常见的激活函数及其特点:
1. ReLU (Rectified Linear Unit)
-
函数:
torch.nn.ReLU()
- 公式: ReLU(x)=max(0,x)
-
特点:
- 常用于隐藏层的激活函数。
- 简单高效,能很好地缓解梯度消失问题。
- 可能会导致一些神经元在训练过程中“死亡”,即参数更新时梯度为0。
- 用法:
activation = torch.nn.ReLU()
output = activation(input)
2. Leaky ReLU
-
函数:
torch.nn.LeakyReLU(negative_slope=0.01)
- 公式:
-
特点:
- ReLU 的变种,允许负数输入有一个很小的负斜率(默认 0.01),从而避免神经元“死亡”。
- 用法:
activation = torch.nn.LeakyReLU(0.1)
output = activation(input)
3. Sigmoid
-
函数:
torch.nn.Sigmoid()
- 公式:
-
特点:
- 常用于二分类问题的输出层。
- 输出值在 [0, 1] 范围内。
- 容易出现梯度消失问题