一、激活函数简介
首先,我们先通过三个问题掌握神经网络激活函数的概念及意义:
1. 为什么需要激活函数?
神经网络可以看成是一个多层复合函数,早期引入激活函数就是为了使其具有非线性,因为引入之前为线性函数相互复合,但这样得到的最终结果仍旧是线性的。假如需要将一个 n 维向量,变成 m 维的向量(即:\(R^n \rightarrow R^m\)),则需要利用激活函数的非线性来达到目的。
2. 什么函数可用作激活函数?
激活函数必为非线性函数,另外激活函数在神经元数足够的情况下,应尽可能使神经网络可以实现对任何一个输入向量到输出向量的连续映射函数逼近,即:万能逼近定理(universal approximation theorrm)。
万能逼近定理:
优点:用一个简单到不能再简单的函数的线性组合和叠合可以逼近任何连续函数。
缺点:天下没有免费的午餐。
举例:
- 一维阶梯函数的线性组合能逼近任何连续一维连续函数。
- Sigmoidal 函数可以逼近阶梯函数。因此,一维Sigmoidal函数的线性组合能逼近任何连续函数。
3. 如何评价激活函数的好坏?