📜  ANN中激活函数的类型

📅  最后修改于: 2022-05-13 01:57:06.181000             🧑  作者: Mango

ANN中激活函数的类型

生物神经网络以人工神经网络的形式建模 人工神经元模拟生物神经元的函数。人工神经元如下图所示:

人工神经元的结构

每个神经元由三个主要部分组成:

  1. 一组具有权重 w i的“i”突触。信号 x i形成具有权重 w i的第 i 个突触的输入。任何权重的值可以是正值或负值。正权重具有非凡的效果,而负权重对求和结的输出具有抑制作用。
  2. 输入信号的求和点由各自的突触权重加权。因为它是加权输入信号的线性组合器或加法器,所以求和点的输出可以表示如下: y_{sum}=\sum_{i=1}^{n}w_ix_i
  3. 只有当超过特定阈值的输入信号作为输入时,阈值激活函数(或简称激活函数,也称为压缩函数)才会产生输出信号。它的行为类似于生物神经元,仅当总输入信号满足触发阈值时才传输信号。

激活函数类型:

有不同类型的激活函数。下面列出了最常用的激活函数:

A. 标识函数:标识函数用作输入层的激活函数。它是一个具有以下形式的线性函数

y_{out}=f(x)=x, \forall x

很明显,输出与输入相同。

B. Threshold/step 函数:是一种常用的激活函数。如图所示,当输入的输出为 0 或正时,它给出 1 。如果输入为负,则输出为 0 。用数学方式表达,

y_{out}=f(y_{sum})=\bigg\{\begin{matrix} 1, x \geq 0 \\ 0, x < 0 \end{matrix}


阈值函数几乎就像阶跃函数,唯一的区别是\theta   用作阈值而不是 。用数学表达,

y_{out}=f(y_{sum})=\bigg\{\begin{matrix} 1, x \geq \theta \\ 0, x < \theta \end{matrix}


C. ReLU(整流线性单元)函数:是卷积神经网络和深度学习领域最常用的激活函数。它的形式是:

f(x)=\bigg\{\begin{matrix} x, x \geq 0\\ 0, x < 0 \end{matrix}


这意味着当 x 小于零时 f(x) 为零,而当 x 大于或等于零时 f(x) 等于 x。这个函数是可微的,除了在一个点 x = 0。从这个意义上说,ReLU 的导数实际上是一个子导数。

D. Sigmoid函数:它是迄今为止神经网络中最常用的激活函数。对 sigmoid函数的需求源于这样一个事实,即许多学习算法要求激活函数是可微的,因此是连续的。有两种类型的 sigmoid函数:

1. 二元 Sigmoid函数


二元 sigmoid函数的形式为: y_{out}=f(x)=\frac{1}{1+e^{-kx}}

,其中k = 陡度或斜率参数,通过改变k的值,可以获得具有不同斜率的sigmoid函数。它的范围为 (0,1)。原点斜率为k/4。随着 k 的值变得非常大,sigmoid函数就变成了一个阈值函数。

2. 双极 Sigmoid函数


双极 sigmoid函数的形式为y_{out}=f(x)=\frac{1-e^{-kx}}{1+e^{-kx}}

sigmoid 函数的取值范围可以根据应用而变化。但是,最常用的范围是 (-1,+1)。

E. 双曲正切函数:本质上是双极的。它是一种被称为反向传播网络的特殊神经网络广泛采用的激活函数双曲正切函数的形式为

y_{out}=f(x)\frac{e^x-e^-x}{e^x+e^-x}

此函数类似于双极 sigmoid函数。