Artificial neural network
Three machine learning algorithms connected with artificial neural networks are implemented in this project:
- Rosenblatt’s perceptron
- Neural network with fully-connected layers (multilayer perceptron, MLP)
- Convolutional neural network (CNN)
How to build this project
In order to build this project, you need to have cmake and C++ compiler
(project is written for gcc, for successful build with another compiler you may
have to change
CMakeLists.txt) installed. All the following instructions
are written for Linux and the like. You may use Cygwin under Windows to build
this project, but some similar steps may be done for building with VS.
mkdir bin— create directory for building the project.
cmake ..— generate Makefile using
CMakeLists.txtlocated in the root of the project.
make— execute generated Makefile using make utility.
$ cd data $ mkdir mnist $ cd mnist $ wget http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz $ wget http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz $ wget http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz $ wget http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz $ gunzip ./* $ cd ../../
In order to train simple MLP on this data, run
./bin/mnist. To train convolutional neural network, run