Development and Design Space Exploration of Deep Convolution Neural Network for Image Recognition
Deep Neural Networks are now deployed for many modern artificial Intelligence applications including computer vision, speech recognition, self-driving cars, cancer detection, gaming and robotics. Inspired by the mammalian visual cortex, Convolutional Neural Networks (CNNs) have been shown to achieve impressive results on a number of computer vision challenges, but often with large amounts of processing power and no timing restrictions. Software simulations of CNNs are an efficient way to evaluate and explore the performance of the system. In this thesis, I present a software implementation and study of a Deep CNN for image recognition. The parameterization of our design offers the flexibility to adjust the design in order to balance performance and flexibility, particularly for resource-constrained systems. I also present a design space exploration for obtaining the implementation with the highest performance on a given platform.