常用的激活函数
Posted duoba
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用的激活函数相关的知识,希望对你有一定的参考价值。
什么是激活函数?
激活函数(Activation functions)对于人工神经网络 [1] 模型去学习、理解非常复杂和非线性的函数来说具有十分重要的作用。它们将非线性特性引入到我们的网络中。如图1,在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数。引入激活函数是为了增加神经网络模型的非线性。没有激活函数的每层都相当于矩阵相乘。就算你叠加了若干层之后,无非还是个矩阵相乘罢了。
为什么要用激活函数?
如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机(Perceptron)。
如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。
常用的激活函数:
Sigmoid函数
Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间 [2] 。公式如下
函数图像如下:
Tanh函数
Tanh是双曲函数中的一个,Tanh()为双曲正切。在数学中,双曲正切“Tanh”是由基本双曲函数双曲正弦和双曲余弦推导而来。公式如下
函数图像如下
ReLU函数
Relu激活函数(The Rectified Linear Unit),用于隐层神经元输出。公式如下
函数图像如下
以上是关于常用的激活函数的主要内容,如果未能解决你的问题,请参考以下文章
Keras深度学习实战——深度学习中常用激活函数和损失函数详解