自动驾驶:感知原理与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.2 激活函数

所谓激活函数(Activation Function),就是指在人工神经网络的神经元上运行的函数,负责将神经元的输入端映射到输出端。

激活函数对于学习神经网络模型、理解非常复杂的和非线性的函数具有十分重要的作用,它们将非线性特性引入神经网络中。如图1.5所示,在神经元中,输入通过加权求和后作用在一个函数f上,这个函数就是激活函数。

图1.5 激活函数示意图

为什么要使用激活函数呢?如果不使用激活函数,那么每层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机模型。如果使用非线性激活函数,那么它将给神经元引入非线性特性,使得神经网络理论上可以任意逼近非线性函数。这样,神经网络就可以应用到众多的非线性任务中了。

常用的激活函数包括Sigmoid、tanh、ReLU、LeakyReLU、PReLU、ELU、Maxout和SeLU等。这里仅讨论最常用的激活函数ReLU,其他激活函数在之后使用时进行讲解。

ReLU激活函数也常被称为整流线性单元(Rectified Linear Unit),是大多数卷积神经网络默认使用的非线性激活函数。

ReLU激活函数的定义如式(1.5)所示:

ReLU激活函数的优点包括:使用ReLU激活函数的SGD算法的收敛速度比使用Sigmoid和tanh激活函数快;在x>0区域,不会出现梯度饱和、梯度消失问题;计算复杂度低,不需要进行指数运算,只需一个阈值就可以得到激活值。