单层神经网络、多层感知机、深度学习的总结

关于神经网络的几点思考:单层——多层——深度

神经网络本质上是一个逼近器,一个重要的基本属性就是通用逼近属性。

通用逼近属性:

1989年,George Cybenko发表文章“Approximation by Superpositions of a Sigmoidal Function”,文章证明在只有单个隐层的情况下,对于任何的连续的,非线性的sigmoidal函数,只要在隐藏层个数足够多的情况下,就能够很好的拟合任意的连续函数。

原文链接:http://www.dartmouth.edu/~gvc/Cybenko_MCSS.pdf

文章所阐述的通用逼近属性(UniversalApproximation Properties)是神经网络中非常重要的一个性质:一个单隐藏层的神经网络,如果神经元个数足够多,通过非线性的激活函数则可以拟合任意函数。这使得我们在思考神经网络的问题的时候,不需要考虑函数是否能够用神经网络拟合,只需要考虑如何用神经网络做到更好的拟合。

1991年Kurt Hornik提出:通用逼近属性并不是激活函数的具体选择,而是多层前馈结构本身,该结构使神经网络具有通用逼近器的性质。

原文链接:http://www.sciencedirect.com/science/article/pii/0893608089900208

单层神经网络的缺点:

1、我们的优化方法不一定能够找到我们所希望的优化参数,也就找不到我们需要的拟合函数,虽然这个拟合的函数是存在的;

2、训练结果好,但是泛化能力差,即很容易产生过拟合

深层神经网络(多层感知机):

使用更深层的神经网络,可以得到更好的表达效果,这可以直观地理解为:在每一个网络层中,函数特点被一步步的抽象出来;下一层网络直接使用上一层抽象的特征进行进一步的线性组合。但是深层神经网络的缺点在于:

1、在面对大数据时需要人为提取原始数据的特征作为输入,这个尺度很难掌握,多层神经网络会把蹲在屋顶的Kitty和骑在猫奴头上的Kitty识别为不同的猫咪,又会把二哈和狼归类为同一种动物。前者是对不相关变量过于敏感,后者则因无法提取有实际意义的特征。

2、想要更精确的近似复杂的函数,必须增加隐藏层的层数,这就产生了梯度扩散问题。

3、无法处理时间序列数据(比如音频),因为多层神经网络不含时间参数。

深度学习模型:

2006年,文章“Reducing the Dimensionality with Neural Networks”在Nature上发表,掀起了深度学习在学术界和工业界的研究热潮。作者阐述了两个重要观点:一、多隐层的神经网络可以学习到能刻画数据本质属性的特征,对数据可视化和分类等任务有很大帮助;二、可以借助于无监督的“逐层初始化”策略来有效克服深层神经网络在训练上存在的难度。不断发展。

对于更为复杂的问题,多层神经网络是解决不了这些问题的,而深度模型是如何解决以上的缺陷的呢?

1、深度学习自动选择原始数据的特征,如卷积神经网络模型等,能有效提取特征值。

2、深度网络的学习算法不同于深层神经网络:一是改变网络的组织结构,比如用卷积神经网络代替全连接(full connectivity)网络,训练算法仍依据Backpropagatinggradients的基本原理。另一种则是彻底改变训练算法,比如Hessian-freeoptimization,recursive least-squares(RLS)算法等。

3、使用带反馈和时间参数的RNN网络处理时间序列数据。

参考:

1、http://deeplearning.cs.cmu.edu/pdfs/Cybenko.pdf

2、知乎https://www.zhihu.com/question/26017374

3、 CSDNhttp://blog.csdn.net/zpcxh95/article/details/69952020?winzoom=1#21-通用逼近性质理论universal-approximation-propertiestheorem神经网络可以逼近任意函数

原文地址:https://www.cnblogs.com/lhuser/p/9030319.html