激活函数总结
一、激活函数的作用
我们知道神经网络是为了模拟人类大脑对要执行的任务进行学习,而人类的神经元产生兴奋是由一定条件的(阈值),激活函数就是为了模拟这个机制,当输入的激励达到一定强度,神经元就会被激活,产生输出信号。
与此同时,激活函数将非线性特征引入到神经网络当中,如果没有激活函数,输出信号就是一些简单的线性关系的堆叠,往往无法对复杂的任务进行学习。所以使用非线性函数作为激活函数的原因在于,我们需要一个可以学习和表示几乎任何东西的神经网络模型,以及可以将输入映射到输出的任意复杂函数,所以神经网络被认为是通用函数近似器(Universal Function Approximators)。这意味着他们可以计算和学习任何函数。几乎我们可以想到的任何过程都可以表示为神经网络中的函数计算。而这一切都归结于这一点,我们需要应用激活函数f(x),以便使网络更加强大,增加它的能力,使它可以学习复杂的事物,复杂的表单数据,以及表示输入输出之间非线性的复杂的任意函数映射。因此,使用非线性激活函数,我们便能够从输入输出之间生成非线性映射。
激活函数的发展经历了Sigmoid -> Tanh -> ReLU -> Leaky ReLU -> Maxout的发展过程,还有一个特殊的激活函数Softmax,它一般作为神经网络的最后一层,用于最后的分类和归一化。接下来对上述几乎函数进行简单介绍。
二、激活函数的介绍
1、softmax函数
softmax函数,又称归一化指数函数。它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。下图展示了softmax的计算方法