deep neural network可以认为是特征的多层表达,这过程activation function的作用是提供非线性变换。如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。线性变换模型capacity是很有限的,连最简单的异或问题都没法解决。没有激活函数的每层都相当于矩阵相乘。就算你叠加了若干层之后,无非还是个矩阵相乘罢了。
在PRML 中有这样一段话 :如果网络中的所有隐含单元的激活函数都取线性函数,那么对于任何这种网络,我们总可以
找到一个等价的无隐含单元的网络。这是由于连续的线性变换的组合本身是一个线性变换。然而,如果隐含单元的数量小于输入单元的数量或者小于输出单元的数量,那么网络能够产生的变换不是最一般的从输入到输出的线性变换,因为在隐含单元出的维度降低造成了信息丢失。
参考 https://www.zhihu.com/question/29021768