深度神经网络常见激活函数及导数

常用激活函数及导数

一、激活函数简介

激活函数是深度神经网络的重要组成部分,其作用是对模型引入非线性表达与特性。神经网络通常由多层神经元组成,后一层的单个神经元可以表达为前层神经元的线性组合。显然,如果不引入非线性因素,深层神经网络也仅仅是输入的线性组合。激活函数将非线性的表达引入模型,对每个神经元,根据前层输出线性计算得到的数值进行非线性的映射,从而增大模型的表达性能。

二、常见激活函数及导数

1.Sigmiod

f ( x ) = 1 1 + e − x f(x) = \frac{1}{1+e^{-x}} f(x)=1+ex1
其导数为:
f ′ ( x ) = e − x ( 1 + e − x ) 2 f^{'}(x) = \frac{e^{-x}}{(1+e^{-x})^{2}} f(x)=(1+ex)2ex
则有:
f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) f^{'}(x)=f(x)(1-f(x)) f(x)=f(x)(1f(x))

2.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 ) = 4 e 2 x ( e 2 x + 1 ) 2 f^{'}(x) = \frac{4e^{2x}}{(e^{2x}+1)^{2}} f(x)=(e2x+1)24e2x
对比Tanh与Sigmoid,二者存在如下关系:
t a n h ( x ) = 2 ( s i g m o i d ( 2 x ) ) − 1 tanh(x) = 2(sigmoid(2x))-1 tanh(x)=2(sigmoid(2x))1
Sigmoid与Tanh在x较大或较小时,都会出现饱和的现象,也即导数趋近于0,易造成梯度弥散(或称梯度消失)现象

3.ReLu

f ( x ) = m a x ( 0 , x ) f(x) = max(0,x) f(x)=max(0,x)
其导数为:
f ′ ( x ) = { 0 , i f ( x < 0 ) 1 , i f ( x ≥ 0 ) f^{'}(x) = \begin{cases} 0, if (x<0)\\ 1, if(x\ge0) \end{cases} f(x)={0,if(x<0)1,if(x0)
ReLu在x<0时导数为0,该神经元在这次反向传播中不会有更新,具有一定程度上保持参数稀疏性特点。

4.Leaky ReLu

f ( x ) = { α x , i f ( x < 0 ) x , i f ( x ≥ 0 ) f(x) = \begin{cases} \alpha x, if (x<0)\\ x, if(x\ge0) \end{cases} f(x)={αx,if(x<0)x,if(x0)
其导数为:
f ′ ( x ) = { α , i f ( x < 0 ) 1 , i f ( x ≥ 0 ) f^{'}(x) = \begin{cases} \alpha, if (x<0)\\ 1, if(x\ge0) \end{cases} f(x)={α,if(x<0)1,if(x0)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深度神经网络中常用的激活函数包括sigmoid函数、ReLU函数、tanh函数、Leaky ReLU函数、ELU函数等。以下是它们的具体介绍: 1. Sigmoid函数:sigmoid函数常用于二分类问题,它将输入值映射到(0,1)之间,具有S形曲线,可以用来输出概率值。但是sigmoid函数在输入较大或较小的情况下,导数接近于0,容易出现梯度消失的问题,影响神经网络训练效果。 2. ReLU函数:ReLU函数常用于卷积神经网络中,它将输入值进行截断,大于0的部分不变,小于等于0的部分变为0。ReLU函数计算简单,能够有效地缓解梯度消失的问题,但是可能会出现神经元死亡的问题,即某些神经元永远不会被激活,导致输出为0。 3. Tanh函数:tanh函数与sigmoid函数类似,但是将输入值映射到(-1,1)之间,具有S形曲线。tanh函数比sigmoid函数更加对称,能够更好地处理负数的输入值,但是也存在梯度消失的问题。 4. Leaky ReLU函数:Leaky ReLU函数是对ReLU函数的改进,它在小于0的部分不再是严格等于0,而是乘以一个小的斜率。这样可以避免ReLU函数中出现的神经元死亡问题,同时也能够缓解梯度消失的问题。 5. ELU函数:ELU函数是对Leaky ReLU函数的改进,它在小于0的部分不再是线性函数,而是指数函数。这样可以更好地处理负数的输入值,同时也能够缓解梯度消失的问题。 除了以上常见激活函数,还有一些其他的激活函数,如Maxout函数、Swish函数等。在选择激活函数时,需要根据具体的场景和问题进行选择,以达到更好的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值