Neural networks, machine learning algorithm based on human brain

In the brain, a neural network is a circuit of neurons connected by chemical and/or electrical impulses. Neurons use these signals to communicate with each other in order to perform some function or action, for example, to perform a cognitive task such as thinking, remembering and learning.

The neuron sends an electrical signal through its axon or nerve fiber. The end of the axon has many branches, called dendrites. When the signal reaches the dendrites, chemicals called neurotransmitters are released into the space between the cells. The cells on the other side of the space contain receptors where neurotransmitters bind to trigger changes in the cells.

Sometimes neurotransmitters cause an electrical signal to be transmitted to the receiving cell. Others can block signal tracking, preventing the message from being passed on to other nerve cells.

In this way, a large number of neurons can communicate with each other, forming large-scale brain networks.

This is how biological neural networks work. If we talk about them, it is because it is important to understand the basic functioning of biological neural networks in order to explain the origin and operation of artificial neural networks – a computer system based on nodes which somewhat mimics human brain neurons to help Machines to learn.

If you programmed a computer to do something, the computer would always do the same thing. He would react to certain situations the way you “told” him. That’s what an algorithm is: a set of instructions for solving a certain type of problem.

But there are limits to the instructions humans can write in code. We cannot use simple code to teach a computer how to interpret natural language or how to make predictions, in fact how to “think” for itself. This is because one code cannot be large enough to cover all possible situations, such as all the decisions we make while driving – such as predicting what other drivers will do and deciding what we will do accordingly.

However, a computer is not able to react differently or correctly to these particular conditions because it simply does not (or can not) have specific preconfigured responses. What if he could figure them out for himself? That’s what machine learning is for – to “train” computers to learn from data and develop predictive and decision-making capabilities.

Neural networks, also known as artificial neural networks (ANN) or simulated neural networks (SNN), are a type of machine learning. Their design is inspired by the way biological neurons signal to each other.

In artificial neural networks, counterparts of biological neurons are layers of interconnected nodes that transmit signals to other nodes, using information from data analysis to give an output.

Artificial neural networks have three types of layers:

  • Input layers, where input data is placed;
  • Hidden layers, where processing is done through weighted connections;
  • The output layers, where the response to “stimuli” is delivered.
    Source: LearnDataSci/Wikimedia Commons

Each individual node takes data and assigns it a weight, giving it more or less importance. Data that is weighted more heavily contributes more to the output relative to other data. If the output data exceeds a given threshold, it “triggers” the node, passing the data to the next layer of the network.

When neural networks have more than one hidden layer to process input data, they can learn more complex tasks because they have more “neurons” to process that data through all of the hidden layers combined. These multi-layered neural networks are called deep neural networks and what they do is called deep learning.

We can compare it to what a 3-year-old child’s brain knows versus what a 30-year-old adult brain knows. The toddler may be as intelligent as the adult but is not as experienced as the adult (he does not have as much data), therefore he does not have as much information or ability to information processing than the adult when trying to solve problems. .

This is precisely why neural networks need to be trained. They need to be fed with large data sets so that the network can find the appropriate weighting to use to better map inputs to outputs. To do this, neural networks apply optimization algorithms, such as gradient backpropagation.

In this way, deep learning can even surpass human-level precision, as it can sift through and sort huge amounts of data.

Just as we have organized our schools into different classes based on the level of knowledge of the student at each stage, deep neural networks build different levels of hierarchical knowledge in their layers. For example, they can store information about basic shapes in their initial layer and end up completely recognizing an object and its characteristics in the output layer.

Deep neural networks and deep learning are both subsets of machine learning.

Convolutional Neural Networks (CNN) are a class of artificial neural networks that use connectivity patterns to process pixel data. In fact, convolutional neural networks are mainly used for image recognition and classification tasks, as they are designed to be particularly efficient in this area.

They normally use matrix multiplication to recognize patterns in images, for which they require a lot of computing power and training. They have three types of layers:

  • Convolutional layer, which performs the convolution —searching for specific features in the input image using feature detectors called filters.
  • Aggregation layer, where the dimensions of feature maps are reduced, while their important characteristics are preserved. This reduces the number of parameters and calculations to be performed, thus improving efficiency.
  • Fully connected layer, where all nodes and inputs of all layers are connected, weighted and enabled and where classification takes place. This can also be preceded or comprise a rectified linear unitary layer. This replaces all negative values ​​received as input with zeros and acts as an enable function.
    convolutional neural networks
    Source: Aphex34/Wikimedia Commons

Recurrent Neural Networks (RNNs) are a kind of artificial neural network that specializes in processing sequential time series data. Their deep learning algorithm is designed to solve temporal problems such as those present in speech recognition, sales forecasting and automatic image captioning.

Recurrent neural networks take information from previous inputs and apply it to current inputs and outputs. While traditional neural networks have inputs and outputs that are independent of each other, the output of recurrent neural networks depends on the other elements in the sequence.

This approach is used in speech recognition because human languages ​​work with sequences of words, not individual words. Thus, to interpret speech, recurrent neural networks must “understand” whole sentences and not just individual words.

For example, for the idiomatic expression, “to give someone the cold shoulder”, to have any meaning, each word must be expressed in a specific order. For a recurrent network to accurately interpret this idiom, it must consider the position of each word and then use this information to predict the next word in sequence.

Why are neural networks important?

All types of neural networks can, in their own way, take artificial intelligence performance to the next level. In general, they are important because they have applications in many fields. For example, in the aerospace industry, they are used to improve fault diagnosis and autopilot of aircraft and spacecraft. In medicine, convolutional neural networks can help in medical diagnosis through the processing and comparison of medical imaging data (such as X-rays, CT scans or ultrasound).

Neural networks also have applications in security systems, for example, facial recognition systems (which compare a detected face with those present in the database to identify the individual), signature verification (mainly used to avoid falsifications in banks and other financial institutions), etc. They allow self-driving cars to navigate roads, detect pedestrians and other vehicles, and make decisions.

Due to their predictive capabilities, neural networks are also used in weather forecasting and stock market forecasting.

But neural networks can also be found in the most basic everyday technology available to us today. For example, Google Translate uses a neural machine translation system to process and be able to translate entire sentences with increasing accuracy. Apple’s Siri uses a deep neural network to recognize the voice command that activates it (Hey Siri), as well as the speech that follows.

Neural networks are useful because of their efficiency. Moreover, they show great technological potential as they grow in size and in their problem-solving abilities.

Sherry J. Basler