在深度学习的任何模型中,非线性的激活函数都是非常常见的,其主要包括sigmoid、tanh、Relu、Leak Relu、softPlus、softmax等。这些激活函数基本都具有非线性、可微性、单调性等特性。那么,神经网络模型中为什么一定需要非线性的激活函数呢?非线性激活函数存在的必要性体现在哪些方面呢?我们进行如下的分析。
首先,我们要认识到非线性激活函数对模型的学习、理解复杂特征等具有重要作用。
其次,不使用非线性激活函数或是采用线性激活函数,输出的信号就是一个简单的线性函数,而线性函数由一级多项式构成,其不能在复杂的数据中学习到复杂的映射关系,因此也不能逼近任意函数,神经网络将无法学习和模拟复杂的数据,这就失去了神经网络的巨大优势。
最后,这并不是说所有的模型都不能使用线性激活函数,比如输出层多数使用的是线性激活函数,隐含层可能也会少量使用。