CNNmatlab

所属分类:人工智能/神经网络/深度学习
开发工具:matlab
文件大小:11018KB
下载次数:512
上传日期:2014-03-21 08:30:06
上 传 者miscromountain
说明:  这里是cnn卷积神经网络手写识别的一个MATLAB代码,其中的cnet_tool.m是一个demo,识别正确率大约为0.5.
(cnn convolution neural network for handwriting recognition, cnet_tool is a demo)

文件列表:
CNN_matlab代码备份\license.txt (1337, 2012-10-25)
CNN_matlab代码备份\ver 0.83\@cnn\adapt_dw.m (3853, 2009-04-25)
CNN_matlab代码备份\ver 0.83\@cnn\calchx.m (5111, 2009-05-29)
CNN_matlab代码备份\ver 0.83\@cnn\calcje.m (5946, 2012-09-19)
CNN_matlab代码备份\ver 0.83\@cnn\calcMCR.m (710, 2009-12-31)
CNN_matlab代码备份\ver 0.83\@cnn\check_finit_dif.m (2250, 2009-05-06)
CNN_matlab代码备份\ver 0.83\@cnn\cnn.m (7186, 2010-02-08)
CNN_matlab代码备份\ver 0.83\@cnn\cnn_size.m (973, 2009-03-28)
CNN_matlab代码备份\ver 0.83\@cnn\cutrain.m (7409, 2010-02-09)
CNN_matlab代码备份\ver 0.83\@cnn\init.m (3873, 2009-05-29)
CNN_matlab代码备份\ver 0.83\@cnn\sim.m (2967, 2009-05-29)
CNN_matlab代码备份\ver 0.83\@cnn\subsasgn.m (8998, 2009-12-31)
CNN_matlab代码备份\ver 0.83\@cnn\subsref.m (1708, 2009-03-28)
CNN_matlab代码备份\ver 0.83\@cnn\train.m (6770, 2010-02-08)
CNN_matlab代码备份\ver 0.83\back_conv2.m (716, 2009-05-29)
CNN_matlab代码备份\ver 0.83\back_subsample.m (1054, 2010-01-20)
CNN_matlab代码备份\ver 0.83\changelog.txt (1123, 2012-10-23)
CNN_matlab代码备份\ver 0.83\changelog.txt~ (1005, 2012-09-19)
CNN_matlab代码备份\ver 0.83\cnet.mat (570755, 2010-02-08)
CNN_matlab代码备份\ver 0.83\cnet_tool.m (23102, 2012-09-19)
CNN_matlab代码备份\ver 0.83\cnn2singlestruct.m (1005, 2009-11-05)
CNN_matlab代码备份\ver 0.83\cnn_gui.fig (9952, 2010-01-05)
CNN_matlab代码备份\ver 0.83\cnn_gui.m (12131, 2010-01-05)
CNN_matlab代码备份\ver 0.83\cucalcMCR.m (712, 2010-01-20)
CNN_matlab代码备份\ver 0.83\cutrain_cnn.m (5471, 2010-02-03)
CNN_matlab代码备份\ver 0.83\fastFilter2.m (128, 2009-05-28)
CNN_matlab代码备份\ver 0.83\license.txt (1337, 2012-10-23)
CNN_matlab代码备份\ver 0.83\license.txt~ (1337, 2011-04-11)
CNN_matlab代码备份\ver 0.83\MNIST\t10k-images.idx3-ubyte (7840016, 1998-01-26)
CNN_matlab代码备份\ver 0.83\MNIST\t10k-labels.idx1-ubyte (10008, 1998-01-26)
CNN_matlab代码备份\ver 0.83\MNIST\train-images.idx3-ubyte (47040016, 1996-11-18)
CNN_matlab代码备份\ver 0.83\MNIST\train-labels.idx1-ubyte (60008, 1996-11-18)
CNN_matlab代码备份\ver 0.83\mse.m (819, 2012-09-19)
CNN_matlab代码备份\ver 0.83\preproc_data.m (1112, 2012-09-19)
CNN_matlab代码备份\ver 0.83\preproc_image.m (412, 2009-06-01)
CNN_matlab代码备份\ver 0.83\purelin.m (774, 2012-09-19)
CNN_matlab代码备份\ver 0.83\rand_std.m (972, 2009-05-28)
CNN_matlab代码备份\ver 0.83\readMNIST.m (3226, 2012-10-23)
CNN_matlab代码备份\ver 0.83\readMNIST_image.m (935, 2009-05-29)
... ...

CNN Class, ver 0.8. This project provides matlab class for implementation of convolutional neural networks. This networks was created by Yann LeCun and have sucessfully used in many practical applications, such as handwriten digits recognition, face detection, robot navigation and others (see references for more info). Because of some architectural features of convolutional networks, such as weight sharing it is imposible to implement it using Matlab Neural Network Toolbox without it's source modifications. That's why this class wokrs almost independently from NN toolbox (coming soon full independence). The significant improovement in this version is a presence of cudacnn mex-file, which speeds up the training up to 44 times using NVidia's CUDA technology.You'll need a CUDA-capable graphic card and CUDA SDK (especially cudart.dll and cublas.dll). The source of cudacnn.mex is not included by now, but I plan to do It in future. Currently only stochastic gradient is supported by CUDA-training, but Hessian approximation is going to be soon also. This release includes sample of handwriten digits recognition using CNN. If you just want to try it run cnet_tool. You'll see a simple GUI. It loads pretrained convolutional neural net from cnet.mat and recognizes image of gigit either pained in painitg area or downloaded from MNIST database. If you interested in training you should open train_cnn.m, set all parameters following to comments and start learning by runing it. The action sequence for creation of arbitrary convolutional neural network is following: 1. Create cnn object. 2. Set archtecture (number of layers, weights, training parameters, etc). 3. Call init method. 4. Define connection matrices for layers if necessary. 5. Load training data. 6. Preprocess training data. 7. Start training. 8. Test neural net. There're several limitations in current version: 1. Network can have only one input for image (e.g. no stereo images simulateously). 2. You have to set connection matrix after the initialization. 3. MNIST database of handwriten digits not included in this distribution, you can download it from http://yann.lecun.com/exdb/mnist/index.html Next version expectations: 1. Ability to work with several images simulateously. 2. Image Aquision toolbox integration. 3. Face detection sample. References: 1. Y. LeCun, L. Bottou, G. Orr and K. Muller: Efficient BackProp, in Orr, G. and Muller K. (Eds), Neural Networks: Tricks of the trade, Springer, 19*** URL:http://yann.lecun.com/exdb/publis/index.html 2. Y. LeCun, L. Bottou, Y. Bengio and P. Haffner: Gradient-Based Learning Applied to Document Recognition, Proceedings of the IEEE, 86(11):2278-2324, November 19*** URL:http://yann.lecun.com/exdb/publis/index.html 3. Patrice Y. Simard, Dave Steinkraus, John C. Platt: Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis URL:http://research.microsoft.com/apps/pubs/?id=68920 4. Thanks to Mike O'Neill for his great article, wich is summarize and generalize all the information in 1-3 for better understandig for programming: URL: http://www.codeproject.com/KB/library/NeuralNetRecognition.aspx 5. Also thanks to Jake Bouvrie for his "Notes on Convolutional Neural Networks", particulary for the idea to debug the neural network using finite differences URL: http://web.mit.edu/jvb/www/cv.html ========== (c) Mikhail Sitotenko. This software distributing under BSD licence.

近期下载者

相关文件


收藏者