⌁ An Intro to Neural Networks ⌁

What is a neural network and why should I care?

Neural networks are basically computer programs that work similarly to the human brain. They are adaptable and self-sustainable computer programs.

Whereas a normal computer program requires many lines of code with exact instructions to do its job, a neural network learns to do whatever its supposed to do by itself in (quite often) less lines of code than a normal program.

Neural networks can be used for a lot of cool stuff, for example:

  • Identifying exoplanets
  • Writing books
  • Making pictures that look like real people but are not
  • Making music
  • Weather and climate change forecasting
  • Cancer prediction
  • Antivirus and DDoS attack detection

Unfortunately, they can also be used for a lot of not so cool stuff, for example:

  • Targeted ads
  • Facial recognition
  • Surveillance
  • Warfare
  • Stock market prediction and cryptocurrency

You should care about neural networks because 1. They're cool and 2. Being informed is the first step to being able to stop negative developments and potential harm from neural networks

How they work

If you've stuck around this far then wow, I must be very convincing. Or they're actually as interesting as I think they are. Anyways, the goal of this page/these pages will be to get you from a total layperson to someone who ehhhhhh at least has a rudimentary understanding of neural networks, regardless of how well you understand technology. They are complicated but I believe anyone can understand them. That being said, I'm not sure if I'm capable of helping anyone understand them, but I will try.

Basics
So, what exactly do neural networks do? At their core, most networks accomplish one (or more) of 3 tasks:

  • Prediction - Networks are used to predict outcomes based on given data, similar to how we guess what will happen based on our experience
  • Classification - Networks organize and sort data into groups or sections
  • Associating- neural networks analyze or recognize data based on the most similar thing from collected data
For this guide, we're mostly going to focus on prediction because it's the most commonly used (and coolest) task that neural networks do.

How do they do this? Well, all neural networks (as far as I know) work by the same principle (using an example of a network that predicts the weather):

  1. Take in data (for example a record of the weather)
  2. Process the data, recognizing patterns and analyzing the data (for example, at this step a weather-forecast network will start to recognize how temperatures and humidity affect rainfall)
  3. Output something based on the information collected (in this case, a prediction of the weather for the next week)
  4. Correct their mistakes (so, depending on how accurate the network was it will recognize its shortcomings and try to fix whatever caused them. E.g. if it got the temperature very wrong it'll analyze what caused that mishappen prediction and change something to try to be more accurate next time)
  5. Repeat
Through these steps (input - processing - error correction), neural networks essentially learn how to complete tasks and improve themselves. Here have a crudely drawn comic in ms paint illustrating this:

Parts of a neural network
While it may seem like neural networks are just huge complicated blobs of robot brain goop, they actually boil down to 4 parts and 2 main functions. In the next sections we'll go over these parts and the main functions.