上一篇:异或问题,多层网络的引出
什么是激活函数?
激活函数是神经网络中的重要一环,也是神经网络之所以能叫“神经网络”的原因。
初中应该就学过关于神经元的知识了。神经系统的结构和功能的基本单位是神经元,
神经元的基本结构包括细胞体和突起两部分神经元的功能是神经元接受刺激并能产生兴奋(神经冲动),并能把兴奋传导到其它的神经元。也就是说其作用主要有三个:接受刺激、产生兴奋、传导兴奋。关于兴奋的产生,有一个重要的概念叫做兴奋阈值。
兴奋阈值又称神经元阈限(threshold of a neuron),表示产生神经冲动所需的最小刺激强度。并不是任何作用于神经元的刺激都能激活神经元产生神经冲动,如果作用于神经元轴突上的最初刺激量太小,便不能改变细胞膜的通透性,不会引起冲动。
也就是说,只有刺激(输入的信号)足够大时,神经元才会产生兴奋并将其传导下去。前边我们介绍的感知机模型以及所谓的计算节点其实只是对输入信号的一个加权组合,只是一种线性的变换,这也就决定了这种办法解决不了线性不可分问题,不论模型有多么复杂。
以ReLU函数为例,其公式和图像如下
可以看到,虽然Relu有一些缺点,但是它能从一定程度上模拟神经元的工作方式,当输入信号较小时不产生“兴奋”,只有当接受到的信号大于0时才产生兴奋给下一层
激活函数都是非线性函数,经过激活函数处理后,就可以将其非线性话,以此来得到更复杂的分类超平面。(可以在PC端利用这个可视化工具自己领悟一下http://playground.tensorflow.org/
)
常见的激活函数
Sigmod函数
tanh函数
Relu函数
Relu = max( 0 , x )
ELU (Exponential Linear Units) 函数
至于在网络中如何使用激活函数,以及网络如何搭建,将在下一篇中给出