The topic of my thesis was to become familiar with the artificial intelligence, neural networks and the implementation of a convolutional neural network on an FPGA.
Neural networks have been used for image and video recognition for a long time because their implementation depends only on the complexity of the task. They can be taught for the desired function which means that if the task does not require architectural changes the alteration of the network can be done easily and automated. However these networks are slower than the task specified ones their flexibility and fast plannability makes up for it.
In the last few decades the improvement of the FPGAs became significant so the number of the companies using them for different tasks is increasing. I will implement my network on an FPGA using the Verilog language because their outstanding execution speed of RTL based hardware designs makes them capable of realizing such a network.
My aim is to design a convolutional neural network based on the LeNet architecture that will be introduced later in my thesis. After this I will implement and test my design. In the last part I am going to discuss the possibilities of the improvement and accelerating of the network and I will show some ideas about the environment that can be built to supplement the ConvNet.