For the past year, I've been living in the Netherlands, doing a masters program in Computer Science. I'm specializing in Advanced Data Analytics. Some of the main topics within this specialization include machine learning, neural networks, reinforcement learning, etc. Together, these subjects describe the underlying technologies behind what most would call AI, Artificial Intelligence.
What is AI?
AI is a huge, broad field composed of smaller parts. In essence, AI is the art of modeling an abstraction of our understanding of the human brain in an analytical, mathematical way. It has broad applications and vast untapped potential. While AI might seem like it's still in it's infancy, it was pioneered over half a century ago, and has steadily evolved parallel to computer science. The development of AI is both an attempt to dive deeper into our understanding of human behaviour, while providing an extension to our collective ability to make use of information. Some well known mainstream applications include video game bots, automated trading systems, self driving cars, and even SpaceX's self landing boosters. Look at the following video, those boosters were trained to land back on earth with reinforcement learning, which I'll (very briefly) explain later in the post.
You may have heard of the term "the fourth industrial revolution". AI is precisely what's fueling this new way for mankind to evolve.
Machine Learning is a broad term. It can refer to the act of training a machine to efficiently gain knowledge from (usually large) sets of information, aka data. Training data is often represented as a long list of examples. Each example often contains a number of features, and one label. The label represents what kind of object we are observing. Our knowledge of these combined examples form a sort of statistical model, which can be used to make assumptions or react to new information. New information also contains features, but in some cases does not contain a label. We can use our statistical model to predict the label.
Neural networks are algorithms, analytical structures that were modeled after our common understanding of the function of brain neurons. They are a simplified abstraction of how the brain works.
One of the simplest forms of artificial neural networks are called perceptrons, and are commonly used for the classification example I mentioned in the machine learning section.
The above image is a perceptron. X represents input features. They are connected to an activation function, which will tell us if this particular input activated the neuron.
This is another simple neural network structure called a multi-layer perceptron. They are composed of multiple artificial neurons, or nodes, grouped into at least 3 layers, one for input, one or more hidden layers and an output layer. Each connection between nodes has weights (w₁ and w₂ in the perceptron example), which are adjusted or "learned" during the training process. When the human brain processes new information, certain regions of the brain will react more than others. Seeing a pizza will trigger my hunger neurons because when I eat pizza, those neurons are trained to activate and give a positive response. Learning the weights between nodes tells the model which neurons should react to which types of inputs. In later posts, I will dive deeper into different types of artificial neural networks and discuss some of their real-world applications.
Reinforcement learning is the act of training a computer to achieve certain tasks, by mimicking a simple model of our brain's reward systems. Your brain uses dopamine, serotonin and other neurotransmitters to train itself and adapt your behaviour to do more of what makes you happy. Reinforcement Learning attempts to give computer algorithms a simple reward system, reinforcing the behaviour that produces desirable outcomes. This has been used in the research and development of robotics, such as the Boston Dynamics dog. If you're into Black Mirror, this might look familiar.
In the next few posts I'll try to dissect each of these topics and other fundamental building blocks of AI in an approachable manner. This is just a prelude.
- Analyzing large sources of information (Big Data™)
- Different types of Neural Networks
- Train a computer to
- Learn a language
- Beat a video game
- Recognize objects with computer vision
- Drive a car
- Decide which movie you should watch on Netflix
Subscribe below if you'd like to be notified of my next posts!