Saturday , 4 April 2020
roen

Recognizing handwritten digits using a convolutional neural network and TensorFlow library

Paul TEODORESCU
National Institute for Research and Development in Informatics – ICI Bucharest
paul.teodorescu@ici.ro

Abstract: In this paper it is proposed to solve a visual problem of recognizing a handwritten figure. A machine learning technique will be used in which a result is produced based on previous experience. It will be seen how, starting with input values and output values (called labels), the computer begins to correctly recognize the output value (in this case a figure), through the model built in the technique called supervised learning. So the goal is to guess/predict the output value for a new input value (in other words to map each input image to the correct numeric digit), once the model is known. The key in choosing a correct algorithm for solving a problem through supervised learning technology is the correct identification of the methodology to be used, i.e. the answer to the question: „is it a regression or is it a classification problem?”. In the case presented here, it is desired to guess the category or class (which has a fixed number of possible values, also called discrete values) of which those input data (practically handwritten figures) are part of. In order for the computer to resolve the classification of manually written numbers (it has been established that it will work with 10 classes, which represent the numbers from 0 to 9), a 4-layer convolutional neural network will be used together with the instrument called TensorFlow which brings with it a whole artificial intelligence library. Since the understanding of TensorFlow technology requires an extra effort (because its strange logic), this article will attempt to explain it using an already classic example. At the base of this example is a database called MNIST (Modified National Institute of Standards and Technology) that contains a lot of pictures representing the numbers from 0 to 9 manually written in a very wide palette. By feeding the neural network with these tens of thousands of images, the model built by TensorFlow will learn to guess the number represented in that image.

Keywords: library, vector, tensor, variables, matrix, optimizer, backpropagation, forward propagation.

View full text

CITE THIS PAPER AS:
Paul TEODORESCU, Recognizing handwritten digits using a convolutional neural network and TensorFlow library, Romanian Journal of Information Technology and Automatic Control, ISSN 1220-1758, vol. 29(4), pp. 47-62, 2019. https://doi.org/10.33436/v29i4y201904