人工神经网络有哪些常见的激活函数?

激活函数(Activation Function)是人工神经网络中每个神经元的输出函数。它决定了神经元输出值的范围和形状。常见的激活函数有:

  1. Sigmoid:S形函数,输出范围在(0,1)。常用于二分类任务。
sigmoid(x) = 1 / (1 + exp(-x))
  1. Tanh:双曲正切函数,输出范围在(-1,1)。同属于Logistic激活函数。
tanh(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x)) 
  1. ReLU:线性整流函数,输出范围在(0,+∞)。常用于隐藏层,可以解决梯度消失问题。
relu(x) = max(0, x)
  1. LeakyReLU:修正线性整流函数,输出范围在(-∞,+∞)。可以缓解Relu在某些情况下梯度消失的问题。
leaky_relu(x) = max(0.01x, x)  
  1. Softmax:多分类激活函数,输出值在(0,1)且归一化为1。常用于多分类任务的输出层。
softmax(x) = exp(x) / sum(exp(x))

举例:

  1. Sigmoid用于二分类任务:
layer1 = sigmoid(inputs * weights1 + bias1)
  1. ReLU用于隐藏层:
layer2 = relu(layer1 * weights2 + bias2)  
  1. Softmax用于多分类输出:
outputs = softmax(layer2 * weights3 + bias3)