1、激活函数的作用:
是为了增加神经网络模型的非线性。否则你想想,没有激活函数的每层都相当于矩阵相乘。就算你叠加了若干层之后,无非还是个矩阵相乘罢了。所以你没有非线性结构的话,根本就算不上什么神经网络。
激活函数通常有如下一些性质:
非线性: 当激活函数是线性的时候,一个两层的神经网络就可以逼近基本上所有的函数了。但是,如果激活函数是恒等激活函数的时候(即f(x)=x),就不满足这个性质了,而且如果MLP使用的是恒等激活函数,那么其实整个网络跟单层神经网络是等价的。
可微性: 当优化方法是基于梯度的时候,这个性质是必须的。
单调性: 当激活函数是单调的时候,单层网络能够保证是凸函数。
f(x)≈x: 当激活函数满足这个性质的时候,如果参数的初始化是random的很小的值,那么神经网络的训练将会很高效;如果不满足这个性质,那么就需要很用心的去设置初始值。
输出值的范围: 当激活函数输出值是 有限 的时候,基于梯度的优化方法会更加 稳定,因为特征的表示受有限权值的影响更显著;当激活函数的输出是 无限 的时候,模型的训练会更加高效,不过在这种情况小,一般需要更小的learning rate.
2、激活函数列表
3、 ReLU和sigmoid对比
Sigmoid 的数学形式如下:
f

激活函数在神经网络中起到引入非线性的重要作用,避免了多层线性变换的局限性。ReLU和Sigmoid是常用的激活函数,ReLU因其分段线性性质在训练中更易优化,但可能导致神经元死亡;Sigmoid虽然平滑,但在两端饱和时可能丢失信息。在选择激活函数时,考虑学习率调整和避免“dead”神经元,Leaky ReLU、PReLU和Maxout是ReLU的改进替代方案,而tanh的效果通常次于ReLU和Maxout。单一激活函数在整个网络中应用更为常见。
最低0.47元/天 解锁文章
574

被折叠的 条评论
为什么被折叠?



