Convolutional neural network introduction and tutorial
Convolutional neural network (CNN or ConvNet) is a type of neural network used in artificial intelligence that is commonly applied to analyzing images.
They can be considered a pre-processing compared to image classification algorithms. They have applications in image and video recognition, recommender systems, image classification, natural language processing, etc.
AI is a new ﬁeld that appeared a few decades ago and has seen unprecedented growth. The AI approach has been used in numerous ﬁelds, such as ﬁnance, medicine, music, customer service, and transportation. Some of the big challenges we have to cope with are the computing power and lack of documentation. Big companies such as Google and Apple do not share advances in this ﬁeld, the secretism characterizes this scientiﬁc ﬁeld and thus the information we can get is very restrictive. In this work, we introduce a model of an autonomous car and then examine diﬀerent algorithms capable of driving the car in a simulated. We also discuss the diﬃculties we need to deal with such as local minimums, losing diversity, ﬁtness functions, localization, performance, and future applications.
Our neural network implementation in Unreal Engine 4 can have different purposes, educational or as a tool for data scientist developers.
This tool is really easy to be used: you can change the number of layers and the neurons per layer. In the example showed I have used the MNIST dataset for number recognition, furthermore, I can use different datasets.
If you want to use this tool for educational purposes, you can debug and see how the neural networks work. It is really practical and I recommend whoever wants to start AI. This application is progress, although you would be able to see the advances.
Computer vision has recently experienced a boom in the AI field. It has many applications and it could be very useful to provide a machine the sense. It is used in words and number recognition, to classify objects in clusters and it also gives us the possibility to make autonomous cars. We have seen posts about autonomous cars and computer vision is the next step to achieve this.
We have used a simple backpropagation neural network to recognize the numbers that implement mini-batch learning, momentum, Xavier initialization, and normalization. It is really an advanced ANN that classifies numbers in 10 cluster that represents each one a number between 0 and 9.