激活函数简述

特性

SVM(支持向量机)这样的算法只能进行线性划分,要想拟合更复杂问题,必须加入非线性部分,这就是激活函数的作用。

sigmoid函数和tanh函数

传统的思想是使用sigmoid函数或者tanh函数:
函数:取值(0,1)
σ = 1 1 + e − x \sigma = \frac{1}{1+e^{-x}} σ=1+ex1
导数:
f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) f^{'}(x)=f(x)(1-f(x)) f(x)=f(x)(1f(x))

在这里插入图片描述
函数:取值(-1,1)
tanh ⁡ = e x − e − x e x + e − x \tanh = \frac{e^{x}-e^{-x}}{e^{x}+e^{-x}} tanh=ex+exexex
导数:
f ′ ( x ) = 1 − f ( x ) 2 f^{'}(x)=1-f(x)^{2} f(x)=1f(x)2

在这里插入图片描述

这两个激活函数缺点如下:
1.计算复杂,消耗计算量
2.损失较小时导数大,损失大时导数小(函数两侧导数大,中间导数小),导致损失较大的参数无法传递回权重
3.梯度爆炸或消失,较深层的网络要多次乘以激活函数导数,如果导数持续大于或小于1会导致梯度爆炸或消失

Relu函数

在Alexnet种使用的Relu函数是现在最常用的激活函数
R e l u = m a x ( 0 , x ) Relu=max(0,x) Relu=max(0,x)
在这里插入图片描述

Relu在整体上是非线性的,小于0时不存在,大于等于0时为x,梯度为1,解决了上述缺点,但由于小于0时直接不存在,存在“死神经元”问题,可以通过降低学习率来缓解。
为了解决这一点创造了Leaky ReLU函数,
在这里插入图片描述

softmax函数

多分类问题中,我们通常回使用softmax函数作为网络输出层的激活函数,softmax函数可以对输出值进行归一化操作,把所有输出值都转化为概率,所有概率值加起来等于1
s o f t m a x = e x ∑ e x softmax=\frac{e^{x}}{\sum e^{x}} softmax=exex
在这里插入图片描述

激活函数要什么条件?

激活函数肯定要满足非线性要求,还有单调可微,应当计算简单,输出范围有限,接近恒等变换(导数接近1)
非饱和性(saturation):饱和指的是在某些区间梯度接近于零(即梯度消失),使得参数无法继续更新的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值