5个经典激活函数

您所在的位置:网站首页 常用激活函数有哪些类型的 5个经典激活函数

5个经典激活函数

2024-07-13 23:25| 来源: 网络整理| 查看: 265

激活函数

1.sigmoid函数

σ ( x ) = 1 1 + e − x   \sigma(x) = \frac{1}{1+e^{-x}}\, σ(x)=1+e−x1​

在这里插入图片描述

过去反向传播很流行使用,但随着神经网络层数增加,反向传播过程中会出现梯度消失。

sigmoid函数导数

梯度消失:反向传播利用的是梯度下降法,反向传播时,每经过一个sigmoid层,就需要乘以一个小于0.25的梯度(也就是sigmoid函数的导数),随着神经网络层数增加,梯度会越来越小,最后梯度衰减到接近0,即梯度消失。

在这里插入图片描述

2.tanh函数 tanh ⁡ ( x ) = sinh ⁡ ( x ) cosh ⁡ ( x ) = e x − e − x e x + e − x \tanh(x) = \frac{\sinh(x)}{\cosh(x)} = \frac{e^x-e^{-x}}{e^x+e^{-x}} tanh(x)=cosh(x)sinh(x)​=ex+e−xex−e−x​ 在这里插入图片描述

tanh函数的输出区间是在(-1,1)之间,整个函数是以0为中心的(一般二分类问题中,隐藏层用tanh函数)

3.relu函数

单侧抑制功能

解决梯度消失的原则就是靠梯度等于或接近1。

f ( x ) = max ⁡ ( 0 , x ) f(x) = \max(0, x) f(x)=max(0,x)

在这里插入图片描述

优点: ①只在大于0的区域进行传播,带来一个优点稀疏性。稀疏性不仅对网络性能提高有帮助,而且从神经科学角度,神经元的激活率非常低,这是一种仿生的模拟。 ②由于relu函数只有线性关系,所以不管是前向传播还是反向传播,计算速度都比sigmod和tanh要快很多(sigmod和tanh是计算指数)。

缺点: ③在输入小于0区域,如果有很大梯度传播过来,ReLU就会死掉(Dying ReLU)。

4.ELU函数 f ( x ) = { x , x > 0 α ( e x − 1 ) , x ≤ 0 f(x) = \left\{ \begin{array}{rcl} x, & x>0 \\ \alpha(e^x-1), & x\leq0 \end{array}\right. f(x)={x,α(ex−1),​x>0x≤0​

在这里插入图片描述

可以消除ReLU死掉的问题,不过还是有梯度爆炸和指数运算的问题。 梯度爆炸:如果反向传播的梯度是大于1的,随着神经网络层数增加,梯度越来越大。

5.PReLU函数 f ( x ) = max ⁡ ( a x , x ) f(x) = \max(ax, x) f(x)=max(ax,x) 在这里插入图片描述

优点: ①避免ReLU死掉的问题。 ②相比于ELU,PReLU在负数区域内是线性运算,计算速度快。 ③当α=0.01时,算是特殊情况,我们叫PReLU为Leaky ReLU(用非常小的系数让信息和梯度的传播不至于中断)

总体来说,这些激活函数都有优点和缺点,应该看具体情况具体分析。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3