人工神经元的结构可以画出如图
其中左侧的称为输入,称为偏置。神经元中的输入经过加权求和后,还被作用了一个函数,称为激活函数。激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数。神经元的输出为
为了便于梯度下降,希望激活函数是连续可导的
最开始的激活函数是Logistic
,即Sigmoid
这是由熵推出的表征概率的函数,不过在后来的实践中发现只要是个非线性的函数就可以,最简单的非线性函数莫过于ReLU
它的光滑版本是Softplus
此外还可能用双曲正切函数tanh
感知机由两层神经元组成,只有一层功能神经元,可以将其画图如下
由于其激活函数是阈值函数,也被称作阈值逻辑单元。可以使用感知机实现简单的逻辑运算,比如与
和或
不过非常可惜的是,感知机是一种线性分类器(见线性分类与感知机),面对非线性可分的逻辑(如异或XOR),它就无能为力了。不过鉴于在支持向量机与SVM中提到
如果训练数据本身就不是线性可分的,可以考虑将数据映射到更高维的空间,并尝试使用线性分类
可以尝试将数据映射到另一个空间,再尝试将其线性分类。映射的操作也可以通过感知机完成
不过此处的激活函数采取ReLU,由此即可实现异或
两层感知机即可解决异或,更多层不是翻天了?实际上这就是多层前馈神经网络。有万能近似定理
Note
一个网络只要有两层计算单元,且其中第一层是非线性的,第二层是线性的,那么它可以以任意精度逼近任何连续函数
这意味着只有一个隐藏层的多层前馈网络足以逼近任何函数,同时还可以保证很高的精度和令人满意的效果
本文作者:GBwater
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!