Artificial intelligence has shifted a long way past the murderous robot networks from science fiction. Actually, AI control a range of aspects of our lives, both online and offline. In its current state, it takes the shape of neural networks, systems that have grown through special training so they can ‘learn’ based on the information they are given. Because of this amazing technology and the impact, it has on our lives, I am going to fill you in on what this technology does and is capable of doing.


What is a Neural Network?

Neural networks are a way of carrying out machine learning, this is when a computer learns to perform a task by assessing examples that it has been given. For example, a neural network that is being taught to recognise dog breeds will be shown thousands of images of a range of dog breeds that have been pre-assessed by an analyst or whomever is feeding the neural network. Whether this is a product of synthetic data generation or manual assessment is dependent on what the end goal of such a task is.


The neural network will use what it is given to attempt to find patterns in the images, so when it is shown an unlabelled image it can try to guess the breed based on the trained patterns it has previously processed. The reason they are called neural networks is due to the fact that they are generally modelled after the human brain. Basically, the neural network will consist of millions of simple nodes that are connected to each other. These connections act as digital neurons.


Each time a neural network is given a new input, these millions of nodes will be trying to make decisions to come to the right outcome. And to get a more accurate neural network, it should be given as much training material as possible. This is what causes such a strain on the hardware processing all this information. The more training that is done often results in a better outcome, with the regular supervision of experts, making appropriate adjustments as they go.


How much Computing Power is needed to make a Neural Network?

Starting to develop a neural network is a huge learning curve in itself, for most, there’s a barrier that comes even before that step: having the right hardware that is capable of running a deep learning program. Overall, the resources you will need depends on the scale of your deep learning efforts. But to be effective, the resource requirements can get expensive even if you have only just begun. Neural networks require processing power in in order to carry out their ‘learning’, and the more power they have, the faster they can finish each task. This is the difference between the training process taking a few minutes to long days.


On physical hardware, much of the strain is put on the GPU (graphics processing unit). If you only want a computer for hobbyist purposes, a dual-GPU setup is ideal to get good results. Video cards are not cheap either. As they need to contain a large amount of video RAM (VRAM) to be the most efficient for processing this kind of process.


Processing power is another large part of the process when trying to create an effective neural network. Maximising the amount of CPU cores running next to as strong GPU will net you the best results for these complicated calculations. Having the right amount of RAM (Random Access Memory) also impacts the results you will get as well. I would recommend no less than 16GB of RAM for a hobbyist, but the more the better. Be aware, that the more powerful components you have will use more electric to run them and the other components need to be at a similar power level to reduce bottlenecking.


To conclude, delving into the fascinating the neural networks can be a lot of fun for hobbyists but also has wide enterprise applications. With the ability to train a computer to be able to recognise patterns can be incredibly useful for those that have the imagination to utilise this amazing technology that is growing all the time.