激活函数(Activation Function)

什么是激活函数?

激活函数是一种用于神经网络和机器学习模型中的非线性函数。它被应用于神经元的输出,以引入非线性性质和复杂性。激活函数可以帮助模型学习非线性关系,并提高模型的表达能力。在神经网络的每一层都使用激活函数,将输入信号转换为输出信号。

为什么要引入激活函数?

神经元引入激活函数是为了给神经网络模型引入非线性的能力。激活函数在神经网络中起到对输入信号进行非线性变换的作用,使得神经网络能够学习并表示复杂的非线性关系。

如果神经网络的激活函数是线性的,那么无论有多少层的神经网络,其整体仍然是一个线性变换,无法表达复杂的非线性模式。通过引入非线性的激活函数,例如ReLU、sigmoid、tanh等,神经网络可以将输入信号进行非线性映射,从而能够更好地拟合不同类型的数据。

此外,激活函数还具有一些其他重要的性质,如梯度的可求性、保证输出值在一定范围内等,这些性质对于优化神经网络的训练过程和模型的稳定性也非常重要。

有哪些激活函数?

常见的激活函数包括Sigmoid函数、ReLU函数、Leaky ReLU函数、Tanh函数等。每种激活函数都有其特定的数学形式和性质,以及适用的场景。选择合适的激活函数可以影响到模型的性能和学习能力。

激活函数特性详解:

sigmoid函数

特征:

sigmoid函数的特征是将输入值映射到一个在0和1之间的输出值的非线性函数。它具有以下特点:

  • 可将输入值映射到0和1之间的概率值,适用于二分类问题。
  • 输出值在输入接近正负无穷时,分别趋近于1和0,具有边界效应。
  • 可用于神经网络中作为激活函数,将线性变换后的输出转换成非线性表示。
  • 平滑连续的曲线,梯度在0附近最大,方便梯度下降算法进行优化。
  • 这些特征使得sigmoid函数在机器学习中得到了广泛应用。
公式:
导数公式:

ReLU函数

ReLU函数是一种常用的激活函数,它的全称是Rectified Linear Unit。ReLU函数的特征包括以下几点:

  • 简单非线性:ReLU函数是一种非线性的激活函数,它没有复杂的数学运算,只需比较输入值并取最大值即可。
  • 去线性化能力:ReLU函数能够将线性输入映射为非线性输出,这对于神经网络的表达能力非常重要。
  • 解决梯度消失问题:ReLU函数一定程度上缓解了传统的Sigmoid和Tanh激活函数在反向传播时的梯度消失问题,使得深层神经网络的训练更加稳定。
  • 稀疏激活性:由于ReLU函数在负值区域输出为零,因此它能够激活相对较少的神经元,从而增强网络的稀疏性,减少参数数量,降低过拟合的风险。

需要注意的是,ReLU函数在负值区域的导数为零,这可能导致梯度消失。因此,在实际应用中,可以采用Leaky ReLU、PReLU等变种来解决这个问题。

公式

Tanh函数

Tanh函数是一种双曲正切函数,它具有以下特征:

  • 取值范围:tanh函数的取值范围在[-1, 1]之间。当输入极限趋近于负无穷大时,函数值趋近于-1;当输入为0时,函数值为0;当输入极限趋近于正无穷大时,函数值趋近于1。
  • 零中心化:tanh函数以0为中心,即当输入为0时,函数值为0。这使得tanh函数在一些机器学习算法中更受欢迎,因为零中心化可以简化计算和优化模型。
  • S型曲线:tanh函数的图像呈现出S形曲线,类似于sigmoid函数。这种曲线的特点是在接近两个极值时,函数值变化较快,而在接近中间值时,变化较慢。
  • 饱和性:在取值范围的两个极值处(-1和1),tanh函数的导数接近于0。这意味着当输入较大或较小时,函数的梯度会变得非常小,可能导致梯度消失问题。

总的来说,tanh函数在深度学习和神经网络中经常用作激活函数,它可以将输入的数据映射到一个[-1, 1]的区间,具有对称性和零中心化的特点。

公式
相关推荐
一年春又来1 小时前
AI-02a5a6.神经网络-与学习相关的技巧-批量归一化
人工智能·神经网络·学习
蹦蹦跳跳真可爱5895 小时前
Python----神经网络(《Inverted Residuals and Linear Bottlenecks》论文概括和MobileNetV2网络)
网络·人工智能·python·深度学习·神经网络
Mory_Herbert5 小时前
5.2 参数管理
人工智能·pytorch·深度学习·神经网络·机器学习
郜太素7 小时前
PyTorch 中神经网络相关要点(损失函数,学习率)及优化方法总结
人工智能·pytorch·python·深度学习·神经网络·学习
侃山10 小时前
NNLM神经网络语言模型总结
人工智能·神经网络·语言模型
Rachelhi10 小时前
C++.神经网络与深度学习(赶工版)(会二次修改)
c++·深度学习·神经网络
Mr.Winter`13 小时前
深度强化学习 | 图文详细推导软性演员-评论家SAC算法原理
人工智能·深度学习·神经网络·机器学习·数据挖掘·机器人·强化学习
IT猿手17 小时前
基于强化学习 Q-learning 算法求解城市场景下无人机三维路径规划研究,提供完整MATLAB代码
神经网络·算法·matlab·人机交互·无人机·强化学习·无人机三维路径规划
沅_Yuan20 小时前
基于小波神经网络(WNN)的回归预测模型【MATLAB】
深度学习·神经网络·matlab·回归·小波神经网络·wnn
Hi-Dison20 小时前
神经网络极简入门技术分享
人工智能·深度学习·神经网络