【机器学习】neural network的activation function有哪些?

主要的 activation function有:
一、Sigmoid 函数
Sigmoid 函数的表达式为:

σ(x) = 1/(1+e^(-x))

值域为(0,1)。
当输入为正时σ’ > 0 ,当输入为负时σ’ < 0,具有非线性。
但存在梯度消失问题。

ii、 tanh 函数
tanh 函数的表达式为:

tanh(x) = (e^x - e^(-x))/(e^x + e^(-x))

值域为(-1,1)。
与Sigmoid函数类似,同样存在梯度消失问题。

iii、ReLU 函数
ReLU 函数的表达式为:

ReLU(x) = max(0, x)

值域为[0,+∞)。
解决了梯度消失问题。
但存在死神神经元问题。

iv、LeakyReLU 函数
解决死神神经元问题。
表达式为:

LeakyReLU(x) = {
         x, if x >= 0
         ax, otherwise
}

v、Softmax 函数
多分类问题常用Softmax 函数:

softmax(x) = e^x/Σe^x

其和为1,方便表示概率。

总的来说,常用的 activation function 有:

  1. Sigmoid : 值域为(0,1),存在梯度消失
  2. tanh : 值域为(-1,1),同样存在梯度消失
  3. ReLU : 解决梯度消失,存在死神神经元
  4. LeakyReLU :解决死神神经元
  5. Softmax : 多分类问题常用

它们的优缺点:

  • Sigmoid ,tanh存在梯度消失
  • ReLU , LeakyReLU 解决梯度问题
  • Softmax 方便表示概率