原文地址:
http://blog.163.com/lipse_huang/blog/static/19165754520133954138888/
卷积神经网络简介(Convolutional Neural Networks,简称CNN)
卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(Convolutional Neural Networks-简称CNN)。现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。 K.Fukushima在1980年提出的新识别机是卷积神经网络的第一个实现网络。随后,更多的科研工作者对该网络进行了改进。其中,具有代表性的研究成果是Alexander和Taylor提出的“改进认知机”,该方法综合了各种改进方法的优点并避免了耗时的误差反向传播。
一般地,CNN的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。
CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于CNN的特征检测层通过训练数据进行学习,所以在使用CNN时,避免了显示的特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。
以下来源 : http://gmd20.blog.163.com/blog/static/168439232012995313176/
对字符识别比较感兴趣,说是这个“卷积神经网络”用于字符识别很不错。手写数字识别,看这个论文里面数据可以可以达到百分之99点几。
太复杂的论文看不懂,在网上找了些简单的
Neural Network for Recognition of Handwritten Digits
http://www.codeproject.com/Articles/16650/Neural-Network-for-Recognition-of-Handwritten-Digit
一个律师写的,比我厉害多了啊!这个文章写的很不错,原理介绍,参考文献等等都列举出来了。比较有参考价值。
后续又有人继续在他的基础上做了些改进,修复了某些错误了。
A Neural Network on GPU
http://www.codeproject.com/Articles/24361/A-Neural-Network-on-GPU
Convolutional Neural Network Workbench
http://www.codeproject.com/Articles/140631/Convolutional-Neural-Network-MNIST-Workbench
第一篇文章提到的论文,介绍了卷积神经网络怎么用于字符识别。
Gradient-Based Learning Applied to Document Recognition
http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf
Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis
http://research.microsoft.com/en-us/um/people/jplatt/ICDAR03.pdf
论文作者 Yann LeCun 的主页 上列出他自己的 卷积神经方面发表的论文,很多都比较有参考价值吧。
http://yann.lecun.com/exdb/lenet/index.html
FANN
Fast Artificial Neural Network Library
一个c语言的开源 神经网络开发库。能不能用来做 卷积神经网络啊? 有时间学习一下