ANN中激活函数的类型
生物神经网络以人工神经网络的形式建模 人工神经元模拟生物神经元的函数。人工神经元如下图所示:
![](https://mangodoc.oss-cn-beijing.aliyuncs.com/geek8geeks/Types_Of_Activation_Function_in_ANN_0.jpg)
人工神经元的结构
每个神经元由三个主要部分组成:
- 一组具有权重 w i的“i”突触。信号 x i形成具有权重 w i的第 i 个突触的输入。任何权重的值可以是正值或负值。正权重具有非凡的效果,而负权重对求和结的输出具有抑制作用。
- 输入信号的求和点由各自的突触权重加权。因为它是加权输入信号的线性组合器或加法器,所以求和点的输出可以表示如下:
- 只有当超过特定阈值的输入信号作为输入时,阈值激活函数(或简称激活函数,也称为压缩函数)才会产生输出信号。它的行为类似于生物神经元,仅当总输入信号满足触发阈值时才传输信号。
激活函数类型:
有不同类型的激活函数。下面列出了最常用的激活函数:
A. 标识函数:标识函数用作输入层的激活函数。它是一个具有以下形式的线性函数
很明显,输出与输入相同。
B. Threshold/step 函数:是一种常用的激活函数。如图所示,当输入的输出为 0 或正时,它给出 1 。如果输入为负,则输出为 0 。用数学方式表达,
![](https://mangodoc.oss-cn-beijing.aliyuncs.com/geek8geeks/Types_Of_Activation_Function_in_ANN_4.jpg)
阈值函数几乎就像阶跃函数,唯一的区别是用作阈值而不是 。用数学表达,
![](https://mangodoc.oss-cn-beijing.aliyuncs.com/geek8geeks/Types_Of_Activation_Function_in_ANN_7.jpg)
C. ReLU(整流线性单元)函数:是卷积神经网络和深度学习领域最常用的激活函数。它的形式是:
![](https://mangodoc.oss-cn-beijing.aliyuncs.com/geek8geeks/Types_Of_Activation_Function_in_ANN_9.jpg)
这意味着当 x 小于零时 f(x) 为零,而当 x 大于或等于零时 f(x) 等于 x。这个函数是可微的,除了在一个点 x = 0。从这个意义上说,ReLU 的导数实际上是一个子导数。
D. Sigmoid函数:它是迄今为止神经网络中最常用的激活函数。对 sigmoid函数的需求源于这样一个事实,即许多学习算法要求激活函数是可微的,因此是连续的。有两种类型的 sigmoid函数:
1. 二元 Sigmoid函数
![](https://mangodoc.oss-cn-beijing.aliyuncs.com/geek8geeks/Types_Of_Activation_Function_in_ANN_10.jpg)
二元 sigmoid函数的形式为:
,其中k = 陡度或斜率参数,通过改变k的值,可以获得具有不同斜率的sigmoid函数。它的范围为 (0,1)。原点斜率为k/4。随着 k 的值变得非常大,sigmoid函数就变成了一个阈值函数。
2. 双极 Sigmoid函数
![](https://mangodoc.oss-cn-beijing.aliyuncs.com/geek8geeks/Types_Of_Activation_Function_in_ANN_12.jpg)
双极 sigmoid函数的形式为
sigmoid 函数的取值范围可以根据应用而变化。但是,最常用的范围是 (-1,+1)。
E. 双曲正切函数:本质上是双极的。它是一种被称为反向传播网络的特殊神经网络广泛采用的激活函数。双曲正切函数的形式为
此函数类似于双极 sigmoid函数。