激活函数(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]的区间,具有对称性和零中心化的特点。

公式
相关推荐
达柳斯·绍达华·宁3 小时前
CNN中的平移不变性和平移等变性
人工智能·神经网络·cnn
技术无疆4 小时前
【Python】Streamlit:为数据科学与机器学习打造的简易应用框架
开发语言·人工智能·python·深度学习·神经网络·机器学习·数据挖掘
浊酒南街4 小时前
吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)2.7-2.8
人工智能·深度学习·神经网络
xiandong2012 小时前
240929-CGAN条件生成对抗网络
图像处理·人工智能·深度学习·神经网络·生成对抗网络·计算机视觉
橙子小哥的代码世界14 小时前
【深度学习】05-RNN循环神经网络-02- RNN循环神经网络的发展历史与演化趋势/LSTM/GRU/Transformer
人工智能·pytorch·rnn·深度学习·神经网络·lstm·transformer
IFTICing17 小时前
【文献阅读】Attention Bottlenecks for Multimodal Fusion
人工智能·pytorch·python·神经网络·学习·模态融合
sp_fyf_202420 小时前
[大语言模型-论文精读] 更大且更可指导的语言模型变得不那么可靠
人工智能·深度学习·神经网络·搜索引擎·语言模型·自然语言处理
Kuekua-seu1 天前
diffusion vs GAN
人工智能·神经网络·生成对抗网络
工业机器视觉设计和实现1 天前
cnn突破三
人工智能·神经网络·cnn
sp_fyf_20241 天前
[大语言模型-论文精读] 利用多样性进行大型语言模型预训练中重要数据的选择
人工智能·深度学习·神经网络·语言模型·自然语言处理