单层神经网络、多层感知机、深度学习的总结
2017-12-01 18:59
555 查看
关于神经网络的几点思考:单层——多层——深度
神经网络本质上是一个逼近器,一个重要的基本属性就是通用逼近属性。
通用逼近属性:
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神经网络可以逼近任意函数
建议资料:
深度学习、神经网络原理、机器学习等
神经网络本质上是一个逼近器,一个重要的基本属性就是通用逼近属性。
通用逼近属性:
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神经网络可以逼近任意函数
建议资料:
深度学习、神经网络原理、机器学习等
相关文章推荐
- 深度学习DeepLearning.ai系列课程学习总结:8. 多层神经网络代码实战
- 深度学习笔记二:多层感知机(MLP)与神经网络结构
- 神经网络与深度学习 笔记1 感知机 S型神经元
- (转)神经网络和深度学习简史(第一部分):从感知机到BP算法
- 深度学习-基于spark的多层神经网络
- 神经网络和深度学习简史(第一部分):从感知机到BP算法
- 【神经网络与深度学习】转-caffe安装吐血总结
- 神经网络学习笔记(一) 单层感知机
- 深度学习DeepLearning.ai系列课程学习总结:3. Python矢量化实现神经网络
- 深度学习—传统神经网络总结
- 机器学习/深度学习测试题(二)—— 单层线性神经网络求解异或问题
- 神经网络和深度学习-学习总结
- UFLDL Tutorial深度学习基础——学习总结:稀疏自编码器(一)神经网络(neural networks)
- 深度学习与多层神经网络的区别
- 深度|神经网络和深度学习简史(第一部分):从感知机到BP算法
- 神经网络学习笔记(九):多层感知机(上)
- 深度学习/神经神经网络常用激活函数总结
- 机器学习——神经网络、深度学习 知识点总结 及 面试题汇总
- 机器学习——神经网络、深度学习 知识点总结 及 面试题汇总
- UFLDL深度学习编程练习1: 多层神经网络