<< Chapter < Page Chapter >> Page >


Because of the world’s current affinity towards data-driven industries, machine learning has become an exceedingly popular area of study and research in recent years, especially in regards to image processing and recognition. The most common learning tools in image recognition are neural networks, which consist of a series of connected layers of “neurons”.

In a standard neural network, each layer takes an input vector, every element of which is connected to each neuron in the layer with a specific “weight”. Moreover, each neuron in a layer has a specific “bias” associated with it, designed so that the neuron will only produce a meaningful output if the linear combination of weighted inputs (the neuron’s excitation) is greater than that bias. This output is determined by passing the neuron’s net excitation to an activation function. With the inputs propagating through each layer of the network in this fashion, the neural network produces an output corresponding to both an input and the parameters (weights and biases) of the network. The network then learns through a Stochastic Gradient Descent algorithm, which updates all of the network’s parameters in attempts to minimize a cost function that defines the relationship between a network’s produced output and a desired output. This entire training process is repeated for a specified number of epochs to improve accuracy.

A convolutional neural network (CNN) is similar to a standard neural network except it adds convolutional layers at the beginning. Convolutional layers arrange neurons into grids, and convolve those grids with input images. The parameters of the convolutional layers are the weights of each neuron in each filter’s kernel and the bias applied to each filter. The output of the convolutional layers is then passed to the fully connected layers of a standard neural network.

Our project focused on applying convolutional neural networks to handwritten digits, allowing us to build a system that was able to recognize the digits 0-9 with a great deal of accuracy. Because of the simplicity of this problem, we were better able to understand the structure of the tool used to solve the problem. With this deeper understanding of convolutional neural networks, we are better equipped to solve more complex problems.

Project motivation

Because machine learning has become such a significant area of study and research, we were interested in pursuing a project that would give us an introduction to the concept. This, and because of our collective interest in image recognition, is why we chose to explore convolutional neural networks. We chose handwritten digits as our dataset because it was a set readily available to us, and because it was a simple enough problem where we could focus our efforts on understanding the learning process, network structure, and functionality of each layer rather than having to waste effort delving into the nuances of a complicated dataset, such as facial or animal recognition.

Previous work

Convolutional neural networks are an extremely saturated field, with many papers and studies done on them. Many different methods for improving their performance have been explored by researchers; such as independently training a set of networks and having them vote on the most likely output. We used the results of all of this research to formulate a structure for our network and to postulate new methods for improving performance, such as knowledge transfer between networks.

Questions & Answers

draw and explain state and activity diagram of library management system
Prashant Reply
explain association and generalisation with library system diagram
Prashant Reply
what do you mean by functional and non functional requirements
functional - describes what a software system should do . non functional - place constraints on how the will do so
non functional requirement include: quility . reliability . response time . security . privacy . effectiveness . maintainability . robustness scalability . fault tolerance . extensibility . efficiency . portability . resilience ... .
What does encapsulation mean?
Sravanthi Reply
Encapsulation in Java is a process of wrapping code and data together into a single unit, for example, a capsule which is mixed of several medicines. ... Now we can use setter and getter methods to set and get the data in it. The Java Bean class is the example of a fully encapsulated class.
What is software Engineering
Jakisay Reply
Sofyware engineering is the application of principles used in the field of engineering which usually deals with phsical systems to the design, testing, development, deployment and management of software systems
what is cocomo model
Shrudhi Reply
The Constructive Cost Model is a procedural software cost estimation model developed by Barry W. Boehm. The model parameters are derived from fitting a regression formula using data from historical projects
Please is there any scholarship for African students undergraduate for now
Awal Reply
4 generation technology
Richa, what is your question?
what is the work of software engineer
mercy Reply
steps of developing a software
latest Reply
bamori project
which approach used to reduce number of test cases
Harshdeep Reply
I wish to ask what is the mean of a data model
Ateke Reply
explanation of working of computer
Gulfam Reply
What is software engineering
parfait Reply
explain basic path testing for triangle problem?
Janavi Reply
what does post-translational control refer to?
Teresa Reply
Bioremediation includes
Rachel Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!

Source:ย  OpenStax, Handwritten digit recognition using convolutional neural networks. OpenStax CNX. Dec 15, 2015 Download for free at http://legacy.cnx.org/content/col11922/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Handwritten digit recognition using convolutional neural networks' conversation and receive update notifications?