Rasheed, Farah (2013-12). Artificial Neural Network Circuit for Spectral Pattern Recognition. Master's Thesis.
Artificial Neural Networks (ANNs) are a massively parallel network of a large number of interconnected neurons similar to the structure of biological neurons in the human brain. ANNs find applications in a large number of fields, from pattern classification problems in Computer Science like handwriting recognition to cancer classification problems in Biomedical Engineering.
The parallelism inherent in neural networks makes hardware a good choice to implement ANNs compared to software implementations. The ANNs implemented in this thesis have feedforward architecture and are trained using backpropagation learning algorithm. Different neural network models are trained offline using software and the prediction algorithms are implemented using Verilog and compared with the software models.
The circuit implementation of feedforward neural networks is found to be much faster than its software counterpart because of the parallel and pipelined structure as well as the presence of a large number of computations that makes the software simulations slower in comparison. The time taken from input to output by the circuit implementing the feedforward prediction algorithm is measured from the waveform diagram, and it is seen that the circuit implementation of the ANNs provides an increase of over 90% in processing speeds obtained via post-synthesis simulation compared to the software implementation.
The ANN models developed in this thesis are plant disease classification, soil clay content classification and handwriting recognition for digits. The accuracy of the ANN model is found to be 75% to 97% for the three different problems. The results obtained from the circuit implementation show a < 1% decrease in accuracy compared with the software simulations because of the use of fixed-point representation for the real numbers. Fixed-point representation of numbers is used instead of floating-point representation for faster computational speed and better resource utilization.