激活函数

感知器(perceptron)是 人造神经元(artificial neuron)的一种,也是最基本的一种。它接受一些输入,产生一个输出。dom

咱们在神经元里定义一些 权重(weight),通过计算以后,判断结果是否超过一个 阈值(threshold),若是超过,神经元输出 1;反之,则输出 0。函数

咱们将变量用向量表示,并把阈值移到左边,这就获得了咱们熟悉的根据权重和误差计算的表达式:3d

\begin{eqnarray}
  \mbox{output} = \left\{ 
    \begin{array}{ll} 
      0 & \mbox{if } w\cdot x + b \leq 0 \\
      1 & \mbox{if } w\cdot x + b > 0
    \end{array}
  \right.
\end{eqnarray}

不过这种计算方式有些缺点,当调整参数时,节点输出的值在 0 和 1 之间跃迁,也就是说,该输出是一个 阶梯函数(step function),这会对调参形成很大不便。cdn

因此咱们会但愿输出的函数变得平滑一些,这里的函数就是 激活函数(activation functions)。blog

1、Sigmoid 函数

Sigmoid 函数(Sigmoid Function)又称为 Logistic 函数,是一个在生物学中常见的 S 型函数,也称为 S 型生长曲线,它将负无穷到正无穷的区间映射到了 0 到 1 中。ci

Sigmoid 函数的输入越小,输出越接近 0;输入越大输出越接近 1。除了平滑,Sigmoid 函数的另外一个优势是求导很是简单,可使用自身表示:get

\phi'(z) = \phi(z)(1 - \phi(z))

2、Tanh 函数

Tanh 函数(Tanh Function)是由 Sigmoid 函数推广而来,它的值域为 -1 到 1。it

tanh(x) = 2sigmoid(2x) - 1 = \frac{2}{1 + e^{-2x}} - 1

3、线性整流函数

线性整流函数(Rectified Linear Unit, ReLU),又称 修正线性单元。若是 x 为正,则输出 x,不然为 0。它的值域是 [0, inf)。io

R(x) = max(0, x)

4、带泄露线性整流函数

带泄露线性整流函数(Leaky ReLU)是线性整流函数的一个变种,它的出现是为了解决 dying ReLU 问题function

另外,当 a 不为 0.01 时,它又被称为 带泄露随机线性整流(Randomized Leaky ReLU,RReLU)。

总结

各类激活函数以下:

参考

相关文章
相关标签/搜索