激活函数 Activation Function

激活函数定义

激活函数是在神经网络的神经元上运行的函数,负责将神经元的输入映射到输出。

它使得神经网络模型具有非线性区分能力,可以任意逼近任何非线性函数。这使得神经网络模型可以被应用到众多的非线性模型 中。

它的存在让神经网络模型具有区分非线性函数的能力,这也让神经网络模型可以被应用于众多非线性模型中。

激活函数性质

非线性: 对于线性激活函数而言,两层的神经网络可以满足几乎所有的函数;但这个条件在恒等激活函数中不成立。若 MLP 使用恒等激活函数,那么整个神经网络便等价于单层神经网络。

可微性:在基于梯度的优化方法中,它起到重要作用。 (可微是指函数的各个方向可导,可微大于等于可导)

单调性: 激活函数为单调函数时,单层网络呈现为凸函数。

f(x)≈x:激活函数满足这条公式时,初始化参数是很小的随机值,那么神经网络的训练效率会提升;但不满足这条公式时,就需要专门设置初始值。

输出值的范围:激活函数的输出值为有限的情况下,基于梯度的优化方法会更为稳定;激活函数的输出值为无限的情况下,模型的训练会更高效。

常用激活函数

  • Sigmoid
  • tanh
  • ReLU
  • Maxout
  • ELU

衡量方法

通常,衡量采用哪种激活函数有以下实验方式:

  1. 是否能够有效地传播 Gradient
  2. 是否均值为 0
  3. 计算消耗是否很大

激活函数在神经网络中,可以决定某个神经元是否被激活、信息是否具有价值、是否应当被弃用。