Reinforcement learning (RL) is a subset of AI research that deals with training agents to maximize a reward function. RL systems are generally used in tasks where it is difficult to judge single actions but easy to score an overall performance. These systems have two core components: agents and environments.

An agent is a function that takes in a given state and returns an action. These systems can be built on anything — neural networks and lookup tables being two common examples. …

Photo by Ed Leszczynskl on Unsplash

Frame interpolation is the process of increasing the framerate of a video after it’s been recorded by guessing what intermediary frames would have looked like. This, if done correctly, produces a smoother video with few to no artifacts.

How does it work?

While there are many different methods for frame interpolation I’ll be focusing on just three of them. I’ve chosen to look at frame averaging, motion estimation, and AI-powered interpolation.

Frame averaging is probably what you’d first think of when trying to design a frame interpolation algorithm. It works by taking two neighbouring frames and overlaying one on top of the other. …

Photo by Ales Krivec on Unsplash


If there’s one great fault with reality, it’s that there is not enough of it. Our solar system and the surrounding galaxy are full of incredible things, but eventually we will run out of things to explore. The universal constants imprison us within a bubble that we won’t ever leave. That being true, it’s all the more incredible that the computer you’re reading this on is able to generate an infinite amount of worlds at a moments notice. How? Using a concept called Perlin noise.

What is Perlin Noise?

Perlin noise is a method of generating sets of random structured numbers. While a normal…

Photo by Mitya Ivanov on Unsplash

An Introduction to Neuroevolution

Recently I’ve been really interested in getting my computer to play games by itself. Call me lazy, but with so much to do every day it’s nice to automate some of the less productive tasks. I did some reading and came across a technique called neuroevolution — a method for using natural evolution to create a structure for a neural network.

During my scouring of the internet, I found a paper called Evolving Neural Networks through Augmenting Topologies that discusses an algorithm commonly known as NEAT. …

Photo by Nathan Dumlao on Unsplash

Maybe you’re a data scientist trying to visualize some newfangled, complex dataset. Maybe you’re an artist that wants to try out some new kind of image-warping technique. Maybe you’re an aspiring AI enthusiast who just wants to get into image generation. Well, meet autoencoders — a feed-forward neural network whose primary focus is distilling larger concepts into their primary features.

What is an Autoencoder?

An autoencoder is an hourglass-shaped feed-forward neural network where the input and output are the same. What’s the point of that? …

Photo by Goh Rhy Yan on Unsplash

It’s the year 2050. Flying cars are a thing, we’ve figured out nuclear fusion, and swarms of drones are flying about in the sky. One morning, while you’re out for your daily walk, you stop and look up at those drones. The computer that controls them must be extremely powerful, able to plot all of their courses in real-time. Nope! They’re doing it all by themselves thanks to emergent properties.

Emergent properties are, in general, properties held by a system that is not defined by any of its individual components. What do I mean by that? …

Robert MacWha

Innovator at TKS Ottawa, AI enthusiast, Game developer, and lover of all the spacy nonsense I can find!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store