激活函数作用
在神经网络结构中,通过激活函数将非线性的特性引入到神经网络中,从而让神经网络可以理解、处理复杂的数据及问题。
什么是激活函数
通常激活函数的形式可以写成:
y=f(x)
。这里的
x
是激活函数
通常在神经网络结构中常用的激活函数有:
1.sigmoid函数:
f(x)=1e(−x)+1.
2.tanh函数:
f(x)=1−e(−2x)1+e(−2x)
3.ReLU函数:
f(x)=max(0,x)
4.Leaky ReLU, RReLU等等
为什么在神经网络结构中加入激活函数
在神经网络结构中,通常网络结构是一种这样的结构:神经元-激活函数-神经元-激活函数…。也即在每个神经元计算得到一个输出后,再将输出输入到一个激活函数 f(.) ,对神经元的输出做一个非线性变换得到当前网络层的最终输出结果。这样设计的一种多层次神经网络通常可以拟合任何目标函数。而如果将神经元后面的激活函数移除,则整个神经网络模型就变成一个简单线性函数,而此时的神经网络只能解决简单的线性可分或者回归问题,对于复杂的问题,比如:图像分类、语音识别、以及机器翻译等等,简单的线性函数则不能很好的处理上述这些复杂的问题。在神经网络的每个网络层后面都添加一个激活函数,则可以对每个网络层的输出做一个非线性变换,整个神经网络就变成了一个十分复杂的非线性函数。此时的神经网络就变得十分强大,可以处理上述很多复杂的问题。使它可以学习复杂的事物,复杂的表单数据,以及表示输入输出之间非线性的复杂的任意函数映射。
参考文章
[1].http://imgtec.eetrend.com/blog/9815
[2].https://www.zhihu.com/question/22334626/answer/21036590