An intro to AI, machine learning and deep learning to no tech.

Source: Deep Learning on Medium

An intro to AI, machine learning and deep learning to no tech.

First of all this post its specially focused to not technical people, in the history of the humanity, the human will be evolve all the days, but the technology permit the human to things that biologically can take many time, in this research of knowledge exist some area called AI that means Artificial Intelligence, that basically want to emulate the behavior of the brain in a computer using Algorithms (ways to solve a problems step by step, like a cookbook), some of this algorithms are classification algorithm that basically is simulate in the device the normal classification of objects for example you with your eyes look and animal and normally you can classify this like a cat if is a cat or dog or any type of animal, in the case of the machine learning, the computer must be able to get an image of an animal and recognize if is a determinate animal, this is called supervised machine learning, that need a previous data set (the memories) and the algorithms classify this using neural networks (like the neurons in the brain but a mathematically abstraction of them) the basic idea here is create a model like in a brain to to the comparing, in some cases you have information new and you need to learn what it’s this, in Artificial Intelligence (AI) is called unsupervised learning, in this type of learning you have for example a big data set (like a bit amount of information without sense but exist some data sets perfectly ordered with labels).

Before of the AI existed the neuron

This technologies boarded in this blog are based in the human brain, remember that many inventions of the human it’s in some ways a mimic or the nature, for example the birds like the planes, or the whales like the submarines.

The human brain it’s wonderful, in the moment that you are reading this in the brains occurs many synapses (process to transmit information between neurons)

This is a biological neuron and some of the parts

Image 1: A simple neuron

And now look the mathematical abstraction used in these type of technologies “the artificial neuron”:

Image 2: A simple perceptron the base of the Artificial Neural Networks

The previous image is the core to this technologies, are called Percepton, its basically and abstraction of the biological neuron, the inputs contains the information that needs for example classify, using method of the statistics are labeled with a number, for example, if you are classifying images of domestic animals, the inputs probably will be the images, but remember that an image in the computers are basically a grid of colors that have some meaning to the spectator that is looking it.

Looks very strange now talk about the algorithm (the step by step problem solution) to create a Perceptron:

It’s possibly obviously to create a Perceptron in a programming language for example in this blog exist an example of a Percepton implementation in Python programming language (a programming language is a way to the machine to something using a formal language, remember that the computer understand in zeros and ones) in 19 lines of code

Ok a simple perceptron is not very usefull remember that we are in the brain billions of neurons, and in this case we create a neural networks like this:

Image 3: A neural network are conformed by many Perceptrons

In the previous example you can see clearly how works, using classification algorithms you can predict in this example if the image given is an specific animal.

Why is useful this neural networks technologies

Some of these concepts are used in technologies like a:

  • Characters recognition (remember the pdf readers)
  • Face recognition for example Facebook show you that you are in some other pictures of friends.
  • Speech recognition for example Siri, Cortana etc.
  • Stock market prediction
  • Recommendation systems like a Netflix that know what type of movies or series do you like.

Deep learning

Ok, it’s interesting know that the neural networks are based in create networks with perceptrons, but when you need to divide the problem more deeply for example if you can to create a technology of environment and adaptive recognition, like a baby trying to understand the world around him. In this case the central part is divided in multiple layers, when you look many layer in the center is used to that the model acquire more complexity, a typical example of this is the autonomous cars, like Tesla that use this type of technology, let me show you graphically how look likes this.

A good way to understand this is creating your own Neural Network and looking what happen, this is a link to an example neural network to understand very well the neurons called Tensorflow (exist many libraries to do this this is)

Tensorflow example

In the previous example you can see an example with many inputs of information, an one neuron and you can see the output directly in this case the objective if this is classify in a good way the information but look that

Basically the idea of use many hidden layers is improve the representation of the inputs, like when you look a video in low quality have some of noise, but if you look in HD you can see clearly the things.

This type of neural networks also are useful if you cant to create game agents like alpha go, basically the player learn how play the game of Super Mario (or whatever game) , but it’s is based in a model, the artificial player learns the mechanics of the game and get the objectives that need.

This is not a real player, it’s an artificial model learning lo play super mario, in this cased by try and failure like the humans the model “learn” the good way to pass the level.

What are the steps to train a model?

First of all you need a dataset, this is the main concept of this technologies because you need some previous information to compare the new information, like the human, you filter the “new” information based in your believes and your references about the thing, for example if you are creating a neural network to recognize numbers written from hand, the data-set will be conformed of many pictures of numbers, hundreds if you want.

Ok suppose that you have the data-set this dataset must be organized with labels this point it’s very important, for example imagine that you have 1000 images of numbers and this numbers and this images are compated in a rectangle of 28 x 28 px (if you look this screen very near are conformed by pixels, that basically are dots that are automatically painting with an specific color)

A number to classify

Maybe you think that this is very easy to a human, it’s only recognize what is the number, yes but if you have hundreds or billions of numbers the process was very complicated for a human, but these technologies can to do that, ok, looking a simple image of the data-set what do you think that is the input to the neural network?

The inputs in this case will be the pixels of each image remember the previous image of 28×28 pixels, of you multiply 28×28 the result will be 784 pixels the input to the neural network will be 784 pixels, and the expected output will be if the number is a number between 0 and 9, if we are talking about the decimal system.

Taking clear the inputs (748 pixels for each image of the data set) remember that the model need “to learn” in the sense to recognize without errors in the possible the percent of probability that the image in an specific number, remember that some numbers are similar when you write them, like the number 1 and the seven 7, later

The deep learning can be used to recognize images and classify them, for example look this images, are examples of a constitutional neural networks (exist many types of neural networks to solve specific problems) to classify numbers and images respectively.

Image 4: Convolution Neural Network to classify characters written by hand

Some of the previous are confused, what is RELU, what is Sygma, if yoy remmeber the Image 2 you cans see some called activation function is like a filter of information that returns a number between 0 to 1.

Image 5: Common activation functions Sigmoid and ReLU

The reason of use of some activation function or not if the time that the model can learn some specific, in determinate cases the learning process of the model take many time but, when is trained the next times this time is reduced, like the human if you practice an sport or some activity when you gain more practice gain more expertise and it’s more easy do the things.

I hope that this article help you to clarify some thinks about the Artificial Intelligence technologies remember that the deep learning is an approach of the machine learning. The application of these are very extensive because are a multidisciplinary area.

Sources:

Images sources:

[Image 1] What are the Functions of Neurons?: Nursing: Neuron structure, Neurons, Nervous system. (n.d.). Retrieved from https://za.pinterest.com/pin/69594756726297195/.

[Image 2] Programming a Deep Neural Network from Scratch using MQL Language. (n.d.). Retrieved from https://www.mql5.com/en/blogs/post/724245.

[Image 3] Redirect Notice. (n.d.). Retrieved from https://www.google.com/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwi4pM-_kbDlAhWlxVkKHXO2ChYQjhx6BAgBEAI&url=https%3A%2F%2Ftowardsdatascience.com%2Feverything-you-need-to-know-about-neural-networks-and-backpropagation-machine-learning-made-easy-e5285bc2be3a&psig=AOvVaw2eQQIqst_Y14om3W_aewkT&ust=1571842966532588

[Image 4] A Comprehensive Guide to Convolutional Neural Networks — the ELI5 way Retrieved from https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53