pytorch激活函数介绍

时间:2024-10-19 11:42:12

在 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] 范围内。
    • 容易出现梯度消失问题࿰