人工神经网络中的激活函数

写一篇文章介绍下人工神经网络中常用的几种激活函数

1、Sigmoid函数

人工神经网络中的激活函数_第1张图片

维基百科定义:A sigmoid function is a bounded, differentiable, real function that is defined for all real input values and has a non-negative derivative at each point. sigmoid函数是一个有界的、可微的、实函数,它是为所有实输入值定义的,并且在每个点上都有一个非负的导数。它把可能在较大范围内变化的输入值挤压到(0,1)输出值范围内,因此有时也称为“挤压函数”(squashing function).

缺点:

(1)容易出现梯度消失;

(2)幂运算复杂度高,耗时;

(3)输出不0均值(zero-centered),这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入;

2、tanh函数

人工神经网络中的激活函数_第2张图片

Tanh是Sigmoid的变形,但tanh函数是0均值的。实际应用中,tanh 会比 sigmoid 更好。

梯度消失问题和幂运算复杂的问题依然存在。

3、ReLU

ReLU=max(0,x)

人工神经网络中的激活函数_第3张图片

ReLU是目前最常用的激活函数。

优点:

(1)与sigmoid相比,很少有梯度消失问题。

(2)计算过程简单;

缺点:

(1)非零均值;

(2)并不是全区间可导的;

4、ELU (Exponential Linear Units) 函数


人工神经网络中的激活函数_第4张图片

5、Leaky ReLU函数

f(x)=max(0.01x,x)


人工神经网络中的激活函数_第5张图片


本文部分内容参考了知乎专栏:https://zhuanlan.zhihu.com/p/25110450

你可能感兴趣的:(AI)