深度学习之激活函数

激活函数

线性函数

即使有多层神经元首尾相接,依旧是线性组合,模型的表达能力不够
在这里插入图片描述

y = x 1 ∗ w 1 + x 2 ∗ w 2 + x 3 ∗ w 3 + x 4 ∗ w 4 + b y=x1*w1+x2*w2+x3*w3+x4*w4+b y=x1w1+x2w2+x3w3+x4w4+b

非线性函数

也叫作激活函数,它的加入大大提升了模型的表达力,激活函数是映射 h:R→R,且几乎处处可导。
在这里插入图片描述

y = f ( x 1 ∗ w 1 + x 2 ∗ w 2 + x 3 ∗ w 3 + x 4 ∗ w 4 + b ) y=f(x1*w1+x2*w2+x3*w3+x4*w4+b) y=f(x1w1+x2w2+x3w3+x4w4+b)

优秀的激活函数

非线性:激活函数非线性时,多层神经网络可逼近所有函数
可微性 :优化器大多用梯度下降更新参数
单调性:当激活函数是单调的,能保证单层网络的损失函数是凸函数
近似恒等性:f(x)≈x当参数初始化为随机小值时,神经网络更稳定

激活函数输出值的范围

激活函数输出值为有限值时,基于梯度的优化方法更稳定
激活函数输出为无限值时,建议调小学习率
几个常用的激活函数

Sigmoid函数

调用:tf.nn.sigmoid
f ( x ) = 1 1 + e − x f(x)=\dfrac{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))
导数求解过程:
在这里插入图片描述

导数图像
在这里插入图片描述
特点·:
(1)易造成梯度消失(导数小于1,进行梯度下降时多个导数连续相乘会趋近于0)
(2)输出非0均值,收敛慢
(3)幂运算复杂,训练时间长

Tanh激活函数

调用:tf.math.tanh(x)
f ( x ) = e x − e − x e x + e − x f(x)=\dfrac{e^x-e^{-x}}{e^x+e^{-x}} f(x)=ex+exexex
在这里插入图片描述
导数函数:
f ( x ) = 1 − f 2 ( x ) f(x)=1-f^2(x) f(x)=1f2(x)
求导过程:
在这里插入图片描述
导函数图像

在这里插入图片描述
Tanh函数特点:
(1)输出是0均值
(2)易造成梯度消失
(3)幂运算复杂,训练时间长

Relu函数

调用:tf.nn.relu(x)
f ( x ) = m a x ( x , 0 ) = { 0 x < 0 x x > = 0 } f(x)=max(x,0) =\begin{Bmatrix} 0& x<0 \\ x & x>=0 \end{Bmatrix} f(x)=max(x,0)={0xx<0x>=0}
函数图像
在这里插入图片描述

导数图像
在这里插入图片描述
Relu函数优点:
(1)解决了梯度消失问题(在正区间)
(2)只需判断输入是否大于0,计算速度快
(3)收敛速度远快于sigmoid和tanh
缺点:
(1)输出非0均值,收敛慢
(2)Deed RelU问题:某些神经元可能永远不会被激活,导致相应的参数永远不能被更新。(送入激活函数的输入特征是负数时,导数是0,反向传播无法梯度下降,神经元死亡)
可通过设置更小的学习率,减少参数分布的巨大变化,避免产生过多的负数特征进入relu函数。

Leaky Relu函数

调用:tf.nn.leaky_relu(x)
f ( x ) = m a x ( a x , x ) f(x)=max(ax,x) f(x)=max(ax,x)
函数图像
在这里插入图片描述
导数图像
在这里插入图片描述
特点
(1)解决了Relu进入负区间后,神经元梯度为0,不能更新参数的问题
(2)Leaky ReLU函数比ReLU函数效果好,但实际中Leaky ReLU并没有ReLU用的多。

softmax激活函数

把输入的值映射到[0,1]区间内,相当于概率,从而进行多分类
假设有n个参数进入神经元,第i个参数通过softmax函数映射后得到 y i = e i ∑ i = 1 n e i y_i=\dfrac{e^i}{\displaystyle\sum_{i=1}^ne^i} yi=i=1neiei进入映射的规则如下:
在这里插入图片描述
特点:
(1)能取出预测概率最大的数
(2)一般放在最后,作为预测分类函数
(3)求导复杂

建议

1.首选ReLu激活函数
2.设置学习率较小值(避免无法收敛,发生梯度爆炸)
3.输入特征标准化,即让输入特征满足以0为均值,1为标准差的正太分布
4.初试参数中心化,即让随机生成的参数满足以0为均值, 2 当 前 层 特 征 数 \sqrt{\dfrac{2}{当前层特征数}} 2 为标准差的正太分布

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值