📜  ANN中激活函数的类型(1)

📅  最后修改于: 2023-12-03 14:39:15.033000             🧑  作者: Mango

ANN中激活函数的类型

在人工神经网络(Artificial Neural Networks,ANN)中,激活函数(Activation Function)是非常重要的一部分。激活函数的作用是通过对输入信号的处理,产生新的输出信号。激活函数在神经网络的训练过程中起到了至关重要的作用。本文将介绍ANN中常用的激活函数及其特点。

1. Sigmoid函数

Sigmoid函数是一种常用的连续、光滑的非线性激活函数。其数学表达式为:

$$f(x)=\frac{1}{1+e^{-x}}$$

Sigmoid函数的输出值位于0和1之间,可以把任意实数映射到一个不规则的S型曲线上。在ANN中,Sigmoid函数主要用于二分类(Binary Classification)任务,因为其输出属于概率值,便于判断样本属于哪一类。

2. ReLU函数

ReLU(Rectified Linear Unit)函数是一个简单的非线性激活函数,其数学表达式为:

$$f(x)=max(0,x)$$

ReLU函数对于正的输入值返回输入,对于负的输入值输出0。ReLU函数的优点是可以加速神经网络的训练速度,因为其非线性部分的导数常常是常数值1,可以避免一些梯度消失(Gradient Vanishing)问题。

3. Tanh函数

Tanh函数(双曲正切函数)是一种常用的连续、光滑的非线性激活函数。其数学表达式为:

$$f(x)=tanh(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}$$

Tanh函数与Sigmoid函数类似,但输出值的范围在-1和1之间,可以把任意实数映射到一个光滑的S型曲线上。Tanh函数在ANN中的应用主要是多分类(Multi-Class Classification)和回归(Regression)问题。

4. Softmax函数

Softmax函数是针对多分类问题的一种激活函数。其数学表达式为:

$$f(x_{i})=\frac{e^{x_{i}}}{\sum_{j=1}^{C}e^{x_{j}}}$$

其中,$x_{i}$表示输入节点的值,$C$表示分类的总数,$j$表示分类标签。

Softmax函数将输入值转换为概率分布,输出值是一个向量,每个元素的值表示样本属于相应类别的概率值。在ANN中,Softmax函数通常用于多分类问题。

5. Leaky ReLU

Leaky ReLU函数是ReLU函数的改进版本,其数学表达式为:

$$f(x)=max(ax,x)$$

其中,$a$是一个小于1的正数,通常设置为0.01。

与ReLU函数不同的是,Leaky ReLU函数对于负的输入值返回一个很小的非零值,而不是0。这样做可以一定程度上避免神经元“死亡”的情况,同时保留一定的非线性特性。Leaky ReLU函数在一些图像领域的任务中效果不错。

以上就是ANN中常用的激活函数类型。在实际应用中,更加复杂的激活函数也会用到,如ELU、GELU等,但它们都是基于以上激活函数的一种改进版本。