深度学习-激活函数总结

激活函数是在人工神经网络中用来加入非线性特性的一种数学函数。它接受神经网络的输入并输出一个非线性信号。常见的激活函数有以下几种:

深度学习-激活函数总结_第1张图片

深度学习-激活函数总结_第2张图片

 

1、sigmoid函数

sigmoid函数:将输入的值转换成0和1之间的值,并且具有良好的可视化性,但是在函数级别变化较大时,梯度会迅速逼近于0,使得训练速度大大降低。

def sigmoid(x): return 1 / (1 + np.exp(-x))

 2、tanh函数

tanh函数:将输入的值映射到-1到1之间,输出是非线性的。相比sigmoid函数有更大的输出范围,但也存在梯度消失的问题。

def tanh(x): return np.tanh(x)

3、relu函数

relu函数:在x小于0时输出0,x大于0时输出x。相比前两种函数,使用relu函数在深度神经网络中训练速度更快,且计算机实现简单,但也存在死亡神经元的问题。

def relu(x): return np.maximum(0, x)

4、softmax函数 

softmax函数:常用于多元分类问题中。它将神经网络的输出转换为概率分布的形式,使得输出值可以直接解释为不同类别的概率。

def softmax(x): return np.exp(x) / np.sum(np.exp(x), axis=0)

5、LeakyReLU

相对于传统的ReLU激活函数,LeakyReLU具有以下优点:

  1. 解决了ReLU中可能出现的死亡神经元问题,即在训练过程中某些神经元的输出永远为0,无法更新。LeakyReLU通过引入一个小的负斜率,使得即使在负值区域也有一定的激活,防止了神经元“死亡”。

  2. 部分保留了负数的信息。在某些场景中,负数的信息可能对模型的性能提升有帮助,LeakyReLU可以在一定程度上保留这些负数信息。

激活函数总结(持续更新) - 知乎 (zhihu.com)

你可能感兴趣的:(机器学习,深度学习,numpy,python,机器学习)