深度学习基本概念|激活函数 Activation Function

欢迎关注”生信修炼手册”!人工神经网络由多层神经元构成,对于单个神经元而言,首先对接收到的输入信号进行线性组合,示意如下但是在输出信号时,会使用一个称之为激活函数的函数对线性组合的信号进一...
摘要由CSDN通过智能技术生成

欢迎关注”生信修炼手册”!

人工神经网络由多层神经元构成,对于单个神经元而言,首先对接收到的输入信号进行线性组合,示意如下

但是在输出信号时,会使用一个称之为激活函数的函数对线性组合的信号进一步处理。激活函数是一种非线性函数,由多种具体的函数表达式。

为何一定需要激活函数呢?如果没有激活函数的话,神经元的信号处理本质上就是一个线性组合,即使叠加再多层的神经元,整个神经网络也还是线性组合,这样就不能解决非线性的问题,所以激活函数的作用,是为神经网络引入非线性组合的能力,使其可以适用于复杂的应用场景。

激活函数由多种,下面介绍几种常用的激活函数

1. Sigmod

就是逻辑回归中的sigmod函数,函数图像如下

取值范围为0到1,sigmod是最常用的激活函数之一,作为最早使用的激活函数,在神经网络发展的早期最为常用,但是该函数存在着以下两个缺点。

神经网络通过基于梯度下降的反向传播算法来训练参数,在反向的过程中,需要借助链式法则来计算梯度

对于sigmod函数而言,其导函数的取值都很小,导函数的图像如下

最大值0.25,这样在链式法则的连乘过程中,会使得梯度很快趋近于0,这种现象称之为梯度消失kill gradients。研究表明,对于5层以上的神经网络,特别容易出现梯度消失,所以sigmod函数对于层数很多的深度神经网络效果不太好。

其次,sigmod函数的输出值恒大于0,即not zero-centered, 这样在梯度下降的过程中只能按照下图所示的路径来收敛

收敛速度较慢,神经网络参数非常多,收敛速度慢会大大增加模型的训练时长。

2. Tanh

Tanh函数的图像如下

相比sigmod函数,tanh函数输出范围为-1到1,是zero-centered, 所以收敛速度有所提高。

但是本质上该函数其实是sigmod的变体

所以与sigmod函数一样,该函数也会出现梯度消失的问题。

3. ReLU

ReLU是Rectified  Linear Unit的缩写,简称修正线性单元,函数表达式如下

函数图像如下

ReLU函数的求导很简单

而且在x>0的区间,不会梯度消失的现象,使得其性能比sigmod和tanh好很多,收敛速度更快,但是ReLU函数也有一个缺点。

ReLU函数对于负数,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值