Appearance
激活函数
激活函数(activation function)通过计算加权和并加上偏置来确定神经元是否应该被激活, 它们将输入信号转换为输出的可微运算。 大多数激活函数都是非线性的。
由于激活函数是深度学习的基础,下面简要介绍一些常见的激活函数。 没有最好的激活函数,只有最合适的激活函数。
1. ReLU函数
最受欢迎的激活函数是修正线性单元(Rectified linear unit,ReLU), 因为它实现简单,同时在各种预测任务中表现良好。 [ReLU提供了一种非常简单的非线性变换]。 给定元素,ReLU函数被定义为该元素与的最大值:
通俗地说,ReLU函数通过将相应的活性值设为0,仅保留正元素并丢弃所有负元素。
- 值范围: 0 ~ max(x)
- 特点:简单、容易训练、减轻了梯度消失问题
- 函数图像:

ReLU函数
整流线性单元(“ReLU”)函数因其高效性,在隐藏层中非常受欢迎。如果节点输入为正,则激活;否则输出为零。这种简单性降低了计算成本并缓解了梯度消失的问题,但也可能导致神经元死亡,有些神经元从未激活。
2. sigmoid函数
[对于一个定义域在中的输入, sigmoid函数将输入变换为区间(0, 1)上的输出]。 因此,sigmoid通常称为挤压函数(squashing function): 它将范围(-inf, inf)中的任意输入压缩到区间(0, 1)中的某个值:
- 值范围: 0 ~ 1
- 特点:二分类问题,用在输出层,容易导致梯度消失
- 函数图像:

sigmoid函数
S 形(或逻辑)函数范围为 0 到 1,在二元分类模型的输出层中尤为有用,表示二元事件的概率。然而,在反向传播过程中,它可能会出现梯度消失的问题。
3. tanh函数
tanh
[ tanh ]
双曲正切函数
与sigmoid函数的加强版或改进版, [tanh(双曲正切)函数也能将其输入压缩转换到区间(-1, 1)上]。 tanh函数的公式如下:
- 值范围: -1 ~ 1
- 特点:与sigmoid函数类似
- 函数图像:

tanh函数
双曲切线(或称“tanh”)函数范围为-1 到 1,提供了一个零中心输出,旨在简化下一层的学习。然而,和sigmoid函数一样,它也面临梯度消失的问题。
4. step函数
阶梯函数(感知器)
- 值范围:回弹仅为-1或1(神经元放电或不放电)。