了解神经网络中的激活函数

发布于:2024-11-02 ⋅ 阅读:(2) ⋅ 点赞:(0)

一、激活函数的特征

  1. 非线性,激活函数必须是非线性函数。
  2. 可微性,训练网络模型时,基于梯度的模型最优化方法要求激活函数必须是可导的。
  3. 单调性,单调递增或单调递减,单调函数保证模型的简单。
  4. 隐藏层一般需要使用激活函数已引入非线性,输入层不需要。输出层如果是回归问题也是不需要的,如果是多分类问题,使用softmax函数将输出转化为概率分布,如果是二分类问题,可以使用sigmoid函数。

二、常见的激活函数

  1. sigmoid函数

    sigmoid激活函数: f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^{-x}} f(x)=1+ex1,其导数为: f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) f'(x)=f(x)(1-f(x)) f(x)=f(x)(1f(x)),导数的取值范围[0, 1/4],sigmoid在使用反向传播来训练神经网络时,会产生梯度消失的问题,另外sigmoid处理后的输出数据是一个非负值,在反向传播过程中会增加梯度的不稳定性。

  2. tanh函数

    tanh激活函数: f ( x ) = e x − e − x e x + e − x f(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}} f(x)=ex+exexex,其导数为: f ′ ( x ) = 1 − f ( x ) 2 f'(x)=1-f(x)^2 f(x)=1f(x)2,导数的取值范围为[0, 1],反向传播过程中衰减速度比sigmoid要慢,经过tanh激活函数处理后的输出均值约为0(这相当于做了归一化),所以tanh比sigmoid具有更稳定的梯度,但是依然无法避免梯度消失的问题。

  3. 近似生物神经元的激活函数

    如ReLU,softplus等,还有Leaky ReLU,ELU,Softmax等。

三、常见的神经网络模型

神经网络类型 主要特点 典型应用场景
前馈神经网络 信息单向流动,无反馈循环;层级结构清晰;常用于分类和回归问题 图像分类、文本分类、回归预测
反馈神经网络(RNN) 信息可以在网络中循环传播,具有记忆能力;适用于序列数据 自然语言处理(机器翻译、情感分析)、语音识别、时间序列预测
卷积神经网络(CNN) 利用卷积核提取局部特征,适用于图像、视频等数据 图像分类、目标检测、图像分割
循环神经网络变种(LSTM、GRU) 改进RNN,解决了长期依赖问题,更好地处理长序列数据 自然语言处理、语音识别
生成对抗网络(GAN) 由生成器和判别器组成,通过对抗学习生成新的数据 图像生成、数据增强
图神经网络(GNN) 处理图结构数据,适用于社交网络、分子结构等 社交网络分析、药物发现