A simple convolutional neural network with linear neurons.
Structure: input->convolution->max pooling->convolution->max pooling->fully connected.
Compile the max pooling function in C++ first by
mex MaxPooling.cpp
The data can be downloaded in http://ai.stanford.edu/~amaas/data/data.zip
The data loading functions can be downloaded in http://ufldl.stanford.edu/wiki/index.php/Using_the_MNIST_Dataset
About 98% classification accuracy for 50 epochs of all training data.