主要的 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 有:
- Sigmoid : 值域为(0,1),存在梯度消失
- tanh : 值域为(-1,1),同样存在梯度消失
- ReLU : 解决梯度消失,存在死神神经元
- LeakyReLU :解决死神神经元
- Softmax : 多分类问题常用
它们的优缺点:
- Sigmoid ,tanh存在梯度消失
- ReLU , LeakyReLU 解决梯度问题
- Softmax 方便表示概率