神经网络之激活函数 (Activation Function)
激活函数,比如:sigmoid、ReLU 等等。
1. 为什么需要激活函数?
2. 激活函数都有哪些?都长什么样?有哪些优缺点?
3. 怎么选用激活函数?
Why use activation functions?
激活函数通常有如下一些性质:
非线性: 当激活函数是线性的时候,一个两层的神经网络就可以逼近基本上所有的函数了。但是,
如果激活函数是恒等激活函数的时候(即 f(x)=x),就不满足这个性质了,而且如果 MLP 使用的是
恒等激活函数,那么其实整个网络跟单层神经网络是等价的。
可微性: 当优化方法是基于梯度的时候,这个性质是必须的。
单调性: 当激活函数是单调的时候,单层网络能够保证是凸函数。
f(x)≈x: 当激活函数满足这个性质的时候,如果参数的初始化是 random 的很小的值,那么神经网
络的训练将会很高效;如果不满足这个性质,那么就需要很用心的去设置初始值。
输出值的范围: 当激活函数输出值是 有限 的时候,基于梯度的优化方法会更加 稳定,因为特征的表
示受有限权值的影响更显著;当激活函数的输出是 无限 的时候,模型的训练会更加高效,不过在这
种情况小,一般需要更小的 learning rate.
这些性质,也正是我们使用激活函数的原因!
Activation Functions.
Sigmoid