5.0

5.0 | 1 rating Rate this file 206 downloads (last 30 days) File Size: 542.48 KB File ID: #24291

CNN - Convolutional neural network class

by Mihail Sirotenko

 

28 May 2009 (Updated 05 Jun 2009)

Code covered by BSD License  

This project provides matlab class for implementation of convolutional neural networks.

Download Now | Watch this File

File Information
Description

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 handwritten 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 works almost independently from NN toolbox (coming soon full independence).

This release includes sample of handwritten 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 digit either painted in painting area or downloaded from MNIST database. I should note that currently recognition have about 4% error, which is higher than in Yann LeCun's classifier comparison table (http://yann.lecun.com/exdb/mnist/index.html). This is because my implementation have another activation and error functions (tansig and MSE). Soon will be release with radbas and MLE functions, as stated in [2].

See readme.txt for more details.

Acknowledgements
This submission has inspired the following:
myCNN
Required Products Neural Network Toolbox
MATLAB release MATLAB 7.4 (R2007a)
Zip File Content  
Other Files
@cnn/adapt_dw.m,
@cnn/calchx.m,
@cnn/calcje.m,
@cnn/check_finit_dif.m,
@cnn/cnn.m,
@cnn/cnn_size.m,
@cnn/init.m,
@cnn/sim.m,
@cnn/subsasgn.m,
@cnn/subsref.m,
@cnn/train.m,
back_conv2.m,
back_subsample.m,
cnet.mat,
cnet_tool.m,
eraser.gif,
fastFilter2.m,
license.txt,
preproc_data.m,
preproc_image.m,
rand_std.m,
readme.txt,
readMNIST.m,
readMNIST_image.m,
rot180.m,
subsample.m,
tansig_mod.m,
test_dgt.m,
train_cnn.m
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (2)
28 May 2009 Mihail Sirotenko

New version coming soon. It will include:
1. Trained network for experements.
2. Simple GUI, visualising digits recognition.
3. Improoved performance.
4. Independence from NN Toolbox.

30 Sep 2009 Nikolay Chumerin

Well done! Good job. I think this is the first publicly available implementation of CNN training in Matlab. The source code is written in a pretty good style with extensive comments, which are really useful for such complex classes. This submission is an asset for computer vision Matlab community.

Please login to add a comment or rating.
Updates
28 May 2009

First bug fix. Fixed error after first epoch of training.

31 May 2009

Sample GUI added, demonstrating use of convolutional network for handwritten digits recognition.
Training runs 20% faster.

05 Jun 2009

Description corrected, new tags added

Tag Activity for this File
Tag Applied By Date/Time
convolutional neural network Mihail Sirotenko 28 May 2009 13:33:42
ocr Mihail Sirotenko 28 May 2009 13:33:42
optical character recognition Mihail Sirotenko 08 Jun 2009 09:07:05
feature extraction Mihail Sirotenko 08 Jun 2009 09:07:05
weights sharing Mihail Sirotenko 08 Jun 2009 09:07:05
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com