Teaching AI to play Snake with Reinforcement Learning

It is well known that two of the most fascinating fields of computer science are gaming and artificial intelligence. The gaming field saw its origins back in the 1970s when gaming consoles such as Atari 2600, along with graphics on computer screens and home computer games were introduced to the general public giving birth to different kinds of arcade games like Pong and Pacman. In … Continue reading Teaching AI to play Snake with Reinforcement Learning

Introduction to Deep Reinforcement Learning

Deep Reinforcement Learning is the result of the combination of two well-known machine learning approaches: Deep Learning and Reinforcement Learning. Its main goal is the one to create a single agent able to handle any human-level task but achieving super-human results on it. A famous AI implementing this technique is AlphaGo that, in March 2016, defeated for the first time in the history a 9-dan … Continue reading Introduction to Deep Reinforcement Learning

Donut: unsupervised anomaly detection using VAE

In this post, we are going to use Donut, an unsupervised anomaly detection algorithm based on Variational Autoencoder which can work when the data is unlabeled but can also take advantage of the occasional labels when available. In particular, we are going to focus on detecting anomalies on time series KPIs (key performance indicators) which are time-series data, measuring metrics such as the number of … Continue reading Donut: unsupervised anomaly detection using VAE

Balancing a cart pole with policy gradients algorithm

In this post we are going to analyze a type of reinforcement learning algorithm called policy gradients. In the field of reinforcement learning, we have an agent making observations and taking actions within an environment in order to receive some rewards and its main objective is to learn a policy such that its actions will maximize its expected long-term rewards. In this case, our agent … Continue reading Balancing a cart pole with policy gradients algorithm

GAN: Generative Adversarial Networks

Imagine a scenario where a forger attempts to produce fake currencies and the policeman has to try to distinguish those fake currencies from the real ones. At the beginning, both don’t have much experience, the forger will just come with a piece of paper with a dollar bill scribbled on it. Obviously, is that is a fake currency, but the unexperienced policeman still will struggle … Continue reading GAN: Generative Adversarial Networks

Predicting players’ departure in MMORPGs

MMORPG’s business model Nowadays, MMORPGs are so popular that their market is worth over a billion dollars in 2019 and it is expected to keep growing during the following years. They can count over 10 million active monthly players, and, as expected, their huge base of players is one the keys to their success. In fact, these kinds of games belong to the (FTP) Free-To-Play … Continue reading Predicting players’ departure in MMORPGs

Predicting players’ behaviors in MMORPGs

Have you ever heard the word “MMORPG“? Probably yes, but you don’t know its meaning, isn’t it? Well, then I’m going to tell you, it means Massive Multiplayer Online Role Play Games. They are that kind of videogames where each user controls a digital avatar and interacts with other online users in a digital world. You probably have already heard of many of them such … Continue reading Predicting players’ behaviors in MMORPGs

CNN: Convolutional Neural Networks

If we want machines to think, we need to teach them to see Fei-Fei Li Computer vision is one of the most challenging and fascinating field of machine learning. We can say it acquired popularity back in 2010 since the ILSVRC (Large Scale Visual Recognition Challenge) competition was introduced by Alex Berg from Stony Brook, Jia Deng from Princeton & Stanford, and Fei-Fei Li from … Continue reading CNN: Convolutional Neural Networks

Generating handwritten digits with VAE and Zhusuan

In the last post we talked about Variational Auteoncoders (VAE), powerful generative machine learning model able to generate new data based on previously seen samples. In this post we are going to implement one and use it to generate handritten digits. Will you recognize which digits have been written by a human and which ones have been written by a machine? We are going to … Continue reading Generating handwritten digits with VAE and Zhusuan

VAE: Variational Autoencoder

Here are some digits, first of all, I ask you “Can you recognize them?” Maybe not all of them, some digits are actually blurred while others are quite ambiguous. Now let me show you another set of digits. It sounds like someone wrote many “6”s, all of the are very similar, but not the same. The second question I want to propose now is “Have … Continue reading VAE: Variational Autoencoder