In addition to the seminar paper, I used a simple two-layer perceptron trained with gradient descent and error backpropagation (see the seminar paper for details) to recognize handwritten digits based on the MNIST dataset. The implementation was done in MatLab. I plan to publish the code on GitHub and give a short introduction in a separate article. The code and some of the results can be found in my seminar paper.

**Update.** The slides of the seminar paper are part of Prof. Schiele's and Dr. Mario Fritz' lecture slides on deep learning.

**Update.** The LaTeX source of the seminar paper can now be found on GitHub.

**Update.** The MatLab code is now available on GitHub. A short introduction can be found in my article "Recognizing Handwritten Digits using a Two-Layer Perceptron and the MNIST Dataset".

### Abstract

In this seminar paper we study artificial neural networks, their training and application to pattern recognition. We start by giving a general definition of artificial neural networks and introduce both the single-layer and the multilayer perceptron. After considering several activation functions we discuss network topology and the expressive power of multilayer perceptrons. The second section introduces supervised network training. Therefore, we discuss gradient descent and Newton's method for parameter optimization. We derive the error backpropagation algorithm for evaluating the gradient of the error function and extend this approach to evaluate its hessian. In addition, the concept of regularization will be introduced. The third section introduces pattern classification. Using maximum likelihood estimation we derive the cross-entropy error function. As application, we train a two-layer perceptron to recognize handwritten digits based on the MNIST dataset.

Seminar PaperPresentation Slides

### References

- [1] David Stutz.
*Introduction to Neural Networks*. Seminar on*Selected Topics in Human Language Technology and Pattern Recognition*, 2014. PDF

What is

your opinionon this article? Did you find it interesting or useful?Let me knowyour thoughts in the comments below or using the following platforms:Pingback: Neural Networks and Convolutional Networks - Reading List - David Stutz()

Pingback: Installing CUDA and Caffe on Ubuntu 14.04 - David Stutz()