Machine Learning projects

2016 ML tutorials

Here are some tutorials I wrote to understand ML. You can find them on github.

How to create an RRN in pure python, to generate random English sentences, char by char?

RNN stands for "Recurrent Neural Network".To understand why RNN are so hot you must read this!

This notebook explains the Minimal character-level Vanilla RNN model written by Andrej Karpathy, this code creates an RNN to generate a text, char after char, by learning char after char from a textfile.

I love this character-level Vanilla RNN code because it doesn't use any library except NumPy. All the NN magic in 112 lines of code, no need to understand any dependency. Everything is there! I'll try to explain in detail every line of it. Disclaimer: I still need to use some external links for reference.

This notebook is for real beginners who want to understand the RNN concepts by reading code.

What does temperature mean in the context of machine learning?

Temperature is a concept that is used when you need to generate a random number from a probability vector but wants to overemphasize samples that have the highest probability.

This notebook shows the effects in practice.

Fizz Buzz with TensorFlow.

This notebook explains the code from Fizz Buzz in TensorFlow blog post written by Joel GrusYou should read his post first!

His code tries to play the Fizz Buzz game by using machine learning.

2017 🔥 Learning a model of the world by predicting the future

This video is 100% generated by an algorithm in one shot. No edit or post-processing. I used videos recorded from trains windows, with landscapes that move from right to left and trained a Machine Learning (ML) algorithm with it. First, it learns how to predict the next frame of the videos, by analyzing examples. Then it produces a frame from the first picture, then another frame from the one just generated, etc. The output becomes the input of the next calculation step. So, except the first one that I chose, all the other frames were generated by the algorithm. The results are low resolution, blurry, and not realistic most of the time. But it resonates with the feeling I have when I travel on a train. It means that the algorithm learned the patterns needed to create this feeling. Unlike classical computer-generated content, these patterns are not chosen or written by a software engineer. In this video, nobody made explicit that the foreground should move faster than the background: thanks to Machine Learning, the algorithm figured that itself. The algorithm can find patterns that a software engineer may haven’t noticed and is able to reproduce them in a way that would be difficult or impossible to code. What you see at the beginning is what the algorithm produces after very little learning. It learns more and more during the video, that's why there are more and more realistic details. Learnings are updated every 20s.

This video was made as side project, but was also documented later there as part as the magenta google project.

It was featured in the press manywhere, for instance here.

2018 Playing with CycleGan

Entrée d’un train en gare de la Ciotat” is the first movie ever recorded.

I train CycleGan to predict what it should look like today.

Here is the fun result:

2019 🔥 6M+ answers to "Le Grand Débat National" organized by similarity in one DataViz.

I downloaded then analyzed 6M answers to a french public debate to create a data visualization where you can see all of them by zooming into a latent space.

Try it here: 👉🏻 https://dh7.github.io/lgdn/ 👈🏻