Basics of Artificial Neural Networks

ANN, I am sure that many have seen or heard this before. ANN is a type of machine learning algorithm, which emulates how neurons function in a brain. The acronym means ‘artificial neural network’. It is probably one of the more popular, well known types of ML algorithms. Just what is it?

The basic overview of ANN
ANN is a very basic computer model based on neurology. The idea is to create neurons in computer code that only fire when a certain threshold is triggered. How does that work. Lets first look at the basic design of ANN. Here is a diagram of a conceptual drawing:

The primary construction is that there is one input layer, this is where the data gets fed into. Depending on the complexity of the ANN setup, there may be one or more hidden layers. These interconnected neurons have an effect on the results that are passed to the output layer. The output layer is the general result of the algorithm. More in-depth information is shown in this diagram:

This diagram demonstrates inputs, weights, transfer function and activation function. Essentially, here are the steps taken:
Each input is multiplied by a weight
All the weighted inputs are added with the bias
Finally, the sum is passed through the activation function, which is often a sigmoid function, however there are others that can be used

One method that gives ANN algorithms their power is back-propagation. This is a method where weights can be adjusted automatically based on training data and is commonly used in supervised learning. One thing to note, especially when training ANN, is the danger of overfitting. This is when the model is too targeted to a specific set of data and loses its ability to dynamically work through diverse data sets.

What is it good for?
Machine learning and especially ANN, is very useful for a wide array of tasks, for example, image recognition and identifying random data. Some other uses are in health care. One such example is https://www.atomwise.com , where they use deep learning networks to quickly identify new drugs that can be used against infectious diseases. Another example is https://www.descarteslabs.com, where they use it to generate real time data using satellite imagery of the planet.

In future articles, we will be providing various code projects that we have been working on to demonstrate the abilities of ML.