神经网络中的激活函数

所谓激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端,也叫激励函数。

作用:因为线性模型的表达能力不够,引入激活函数是为了添加非线性因素。

在神经网络中,每一层输出的都是上一层输入的线性函数,所以无论网络结构怎么搭,输出都是输入的线性组合。

在我们面对线性可分的数据集的时候,简单的用线性分类器即可解决分类问题。但是现实生活中的数据往往不是线性可分的,面对这样的数据,一般有两个方法:引入非线性函数、线性变换。

线性变换:就是把当前特征空间通过一定的线性映射转换到另一个空间,让数据能够更好的被分类。

引入非线性函数(激活函数):激活函数是如何引入非线性因素的呢?在神经网络中,为了避免单纯的线性组合,我们在每一层的输出后面都添加一个激活函数(sigmoid、tanh、ReLu等等)。

sigmoid 是常用的非线性的激活函数,它的数学形式如下:

它能够把输入的连续实值“压缩”到0和1之间。 特别的,如果是非常大的负数,那么输出就是0;如果是非常大的正数,输出就是1. 

缺点:

(1)梯度消失。sigmoid 有一个非常致命的缺点,当输入非常大或者非常小的时候,这些神经元的梯度是接近于0的。在神经网络反向传播的过程中,我们都是通过微分的链式法则来计算各个权重w的微分的。当反向传播经过了sigmod函数,这个链条上的微分就很小很小了,况且还可能经过很多个sigmod函数,最后会导致权重w对损失函数几乎没影响,这样不利于权重的优化,这个问题叫做梯度饱和。所以,你需要尤其注意参数的初始值来尽量避免saturation的情况。如果你的初始值很大的话,大部分神经元可能都会处在saturation的状态而把gradient kill掉,这会导致网络变的很难学习。

       

(2)sigmoid 的 output 不是0均值,这样会使权重更新效率降低。这是不可取的,因为这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。 产生的一个结果就是:如果数据进入神经元的时候是正的,那么 w 计算出的梯度也会始终都是正的。 

(3)sigmod函数要进行指数运算,这个对于计算机来说是比较慢的。

tanh 是sigmoid的变形: 

tanh(x)=2sigmoid(2x)−1

tanh同样存在在输入很大或是很小的时候,输出都几乎平滑,梯度很小,不利于权重更新的问题。与 sigmoid 不同的是,tanh 是0均值的。因此,实际应用中,tanh 会比 sigmoid 更好。

一般二分类问题中,隐藏层用tanh函数,输出层用sigmod函数。不过这些也都不是一成不变的,具体使用什么激活函数,还是要根据具体的问题来具体分析,还是要靠调试的。

ReLU,Rectified Linear Unit,称为修正线性单元。

ReLU(Rectified Linear Unit)函数是目前比较火的一个激活函数,相比于sigmoid函数和tanh函数,它有以下几个优点:

(1)相比于sigmoid和tanh,克服了梯度消失的问题

(2)计算速度要快很多。ReLU函数只有线性关系,不管是前向传播还是反向传播,都比sigmod和tanh要快很多。(sigmoid和tanh要计算指数,计算速度会比较慢)

当然,缺点也是有的:

(1)训练的时候很”脆弱”,很容易就”die”了. 什么意思呢?

举个例子:一个非常大的梯度流过一个 ReLU 神经元,更新过参数之后,这个神经元再也不会对任何数据有激活现象了。 如果这个情况发生了,那么这个神经元的梯度就永远都会是0。实际操作中,如果你的learning rate 很大,那么很有可能你网络中的40%的神经元都”dead”了。 当然,如果你设置了一个合适的较小的learning rate,这个问题发生的情况其实也不会太频繁。

(2)我们发现ReLU函数的输出要么是0,要么是正数,这也就是说,ReLU函数也不是以0为中心的函数。

笔记:激励函数需要可微分;神经层不是很多时,可以对隐藏层使用任意的激励函数,卷积神经网络的卷积层中推荐使用relu,循环神经网络中推荐使用tanh或者relu;神经层比较多时,需要慎重选择激励函数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值