









Overview
Neural networks have been applied to a wide variety of areas including
speech synthesis, diagnostic problems, medicine, business and finance, robotics
control, and signal processing. Neural networks have been shown to be particularly
useful in solving problems where traditional artificial intelligence techniques
involving symbolic methods have failed or proved inefficient. Such networks have
shown promise in problems involving lowlevel tasks that are computationally intensive,
including vision, character recognition, speech recognition, and many other problems
that fall under the category of pattern recognition.
For some application areas including pattern recognition, neural models show promise
in achieving humanlike performance over more traditional artificial intelligence
techniques.
This project introduces students to the basic neural network concepts and to neural
models and learning. Students will implement basic types of neural networks as well
as some important approaches to learning in order to solve a number of typical pattern
recognition problems.













The aim of this project is to provide students with knowledge and skills to understand
implement and use basic neural network models. This will allow students to understand
the role that neural networks play in the more general context of AI techniques
and tools. In particular, the learning objectives of the project are the following:
 Learning the basics of singlelayer neural networks and perceptron type models and
their use as pattern associators.
 Understanding the limitations of singlelayer networks and introducing the basic
types of multilayer networks as well as the backpropagation training algorithm.
 Learning the mathematical foundations of the neural network computation.
 Better understanding of the nature of problems that neural networks can solve.
 Gaining experience in implementing neural network algorithms for solving basic pattern
recognition problems.
 Better understanding of the differences between the neural network approach to solving
AI problems and those based on classical symbolic knowledge representation, Search
and Learning.













Students should have basic knowledge of algebra and discrete mathematics. Another prerequisite is the data structures course which will help in the design of the
neural network programs. Experience with a programming language such as Java or
C++ is
required so that the students can implement and test the neural network models
and successfully complete the project deliverables. 












For an introduction to neural networks, students
can read the corresponding chapter in any good AI book. For example, one might assign Section 20.5 of:
More in depth readings are the following:
 McClelland, J., D. Rumelhart, and the PDP Research Group. 1986. Parallel Distributed
Processing: Explorations in the Microstructure of Cognition. Vol. 1: Foundations.
Cambridge, MA: MIT Press.
 Russell, I., Neural Networks, The Journal of Undergraduate Mathematics and its Applications,
Vol. 14, No.1.
 McClelland, J., and D. Rumelhart. 1988. Explorations in Parallel Distributed Processing.
Cambridge, MA: MIT Press.
 Minsky, M., and S. Papert. 1969. Perceptrons. Cambridge, MA: MIT Press.
 Rumelhart, D., G. Hinton, and R. Williams. 1988. Learning internal representations
by error propagation. In Neurocornputing, edited by J. Anderson and E. Rosenfeld,
75695. Cambridge, MA: MIT Press.
Some useful resources can be found on the web too. We recommend the following:













The detailed project description is available in the PDF file CharacterRecognition.pdf. You will need the free Adobe Acrobat Reader to view this file.


This project is customizable to accommodate different approaches to teaching and different implementations. Additional exercises are also included for students seeking more extended challenges.













