Convolutional Neural Network (CNN)

Convolutional neural network introduction and tutorial

Introduction

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.

Notation

f^l : filter size.
p^l : padding.
s^l : stride.
n^{l-1}_H \times n^{l-1}_W \times n^{l-1}_C: input.
n^{l}_H \times n^{l}_W \times n^{l}_C: output.
n^l = \floor{\frac{n^{l-1}+2p^l-f^l}{s^l}+1}.
f^l \times f^l \times n_c^l : filter.
a^l : activation function.
n_c^l : bias.

Continue reading “Convolutional Neural Network (CNN)”

Self Driving Car in Unreal Engine 4

Autonomous car: learning and testing process.

Description

Pages: 25

Author: Daniel López Montero

Abstract

AI is a new field that appeared a few decades ago and has seen unprecedented growth. The AI approach has been used in numerous fields, such as finance, 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 field, the secretism characterizes this scientific field and thus the information we can get is very restrictive. In this work, we introduce a model of an autonomous car and then examine different algorithms capable of driving the car in a simulated. We also discuss the difficulties we need to deal with such as local minimums, losing diversity, fitness functions, localization, performance, and future applications.

Keywords

Artificial intelligence, neural network, genetic algorithm, backpropagation, self-driving car.

Continue reading “Self Driving Car in Unreal Engine 4”

Computer Vision – Deep Learning

C++ number recognition program using ANN

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.

Autonomous Driving Car Simulator

Evolutionary algorithm learning process of cars in UE4 C++

Artificial Intelligence

AI is a new field that appeared a few decades ago and has seen an unprecedented growth. The AI approach has been used in numerous fields, such as finance, 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 field, the secretism characterizes this scientific field and thus the information we can get is very restrictive. 

In this work, we introduce a model of an autonomous car and then examine different algorithms capable of driving the car in a simulated. We also discuss the difficulties we need to deal with such as local minimums, losing diversity, fitness functions, localization, performance, and future applications.

Continue reading “Autonomous Driving Car Simulator”

Neural Network Tutorial

C++ Neural Network Backpropagation tutorial from scratch.

In this playlist, I teach the neural network architecture and the learning processes to make the ANN able to learn from a dataset.

The Tutorials are divided in each part of the neural network and we start coding it in C++ in Visual Studio 2017. Once you have completed the tutorial you will be able to design your own neural network and optimize it.

  1. Introduction
  2. Neuron & Layer
  3. Input & Output Layer
  4. Hidden Layer
  5. Neural network
  6. Training
  7. FeedForward & Backpropagation

Continue reading “Neural Network Tutorial”