激励层(Activating Layer)
神经元向后传递信息需要与阈值(Thresholding)做比较来激活神经元从而向后传递信息,在CNN卷积神经网络中,卷积后同样需要激活过程,把卷积层输出结果做非线性映射就是激励层的作用。
CNN采用非线性函数作为其激活函数(Activation Function)。
1、什么是激活函数呢?激活函数并不是去激活什么,而是指如何把“激活的神经元的特征”通过函数把特征保留并映射出来(保留特征,去除一些数据中的冗余),这是神经网络能解决非线性问题关键。激活函数最终决定了要发射给下一个神经元的内容。
2、为什么要用激活函数呢?激活函数的主要作用是提供网络的非线性建模能力。在卷积层中,主要采用了卷积的方式来处理,也就是对每个像素点赋予一个权值,这个操作显然就是线性的。但是对于我们的样本来说,不一定是线性可分的,为了解决这个问题,我们可以进行线性变化,或者引入非线性因素,解决线性模型所不能解决的问题。如果没有激活函数,那么该网络仅能够表达线性映射,此时即便有再多的隐藏层,其整个网络跟单层神经网络也是等价的。因此也可以认为,只有加入了激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。
3、为什么激活函数要用非线性函数?假如网络中全部是线性部件,那么线性的组合仍然是线性的,与单独一个线性分类器无异。这样就做不到用非线性来逼近任意函数。使用非线性激活函数 ,以便使网络更加强大,增加它的能力,使它可以学习复杂的事物,复杂的表单数据,以及表示输入输出之间非线性的复杂的任意函数映射。使用非线性激活函数,能够从输入输出之间生成非线性映射。
神经网络激活函数
1、ReLU函数(The Rectified Linear Unit)
中文名称是线性整流函数,是非饱和激活函数,用于隐层神经元输出。
ReLU函数表达式:

ReLU图像:

使用ReLU函数能使计算变快,因为无论是函数还是其导数都不包含复杂的数学运算。然而,当输入为负值的时候,ReLU 的学习速度可能会变得很慢,甚至使神经元直接无效,因为此时输入小于零并且梯度为零,从而其权重无法得到更新,在剩下的训练过程中会一直保持静默。
ReLU优点:
相比于Sigmoid和Tanh两个函数,其线性、非饱和的形式在SGD中能够快速收敛。
ReLU解决了梯度消失的问题,至少x在正区间内,神经元不会饱和。
梯度求解公式简单,不会产生梯度消失和梯度爆炸。
ReLU缺点: