Focus on Machine Learning (by Loick Michard)


Machine Learning
Lately, Machine Learning has become one of the hottest topics for all companies — in any area — . Due to the exponential growth of data, there is a huge economic and strategic interest to be able to extract every ounce of information from it; with the promise of understanding user needs, predicting actions, and proposing the most accurate content. Faster.Deeper.

Deep Learning
Since 2000, neural networks have evolved into something more advanced known as Deep Learning. It is a specific field of Machine Learning, inspired by biological intelligence. It represents data using different layers of interconnected blocks. Each layer is responsible for a new level ofabstraction or new concept.

Big companies like Facebook, Google and Microsoft use Deep Learning to extract information from all types of data (pictures, videos, text, website, …). Recently they all released their frameworks publicly. With the goal to make great progress in this field. See CNTKFAIR andTensorFlow.
Want to learn more about Machine Learning?

Learn by Doing
I’m deeply convinced that we learn strongly by practicing. To really understand Machine Learning, you do not only need to know the main tools and concepts, but you have to fully understand what’s under the hood. From experience, I advise to pick algorithms you find interesting and apply them to a real problem. There is plenty of available data to play with and you will have a concrete objective to achieve.

One big obstacle remains. All the files and tools available are often hard to deal with (configuration, time-consuming installation, weird formatting of files, …). And, as always, there is a dramatic lack of visual representation.
CodinGame and TensorFlow
CodinGame has recently made the TensorFlow framework available for coding and designed a specific problem for it. It smartly enables Machine Learning beginners to practice the TensorFlow tutorial.
The goal is to design an algorithm that, given some pictures, recognises digits from 0 to 9. Each picture is a greyscale image with a resolution of 28x28. This way, coders can test different techniques and algorithms using — or not — the TensorFlow framework. No installation is required and you can instantly get the visual rendering of your program guessing the digits. All without any efforts.

Finally the accuracy of all programs could be compared and ranked on a leaderboard. Who has dreamed of comparing his results as easily?

CodinGame wants to go further by offering different playgrounds / data to practice. Maybe help scientific research by opening some problems to the community. One important incoming feature will be the possibility to train your program on your computer and then upload the resulting model.
What’s Next?
Over time, the focus of Machine Learning shifted from supervised learning to deeper and more generalist intelligence. We are now seeing the first signs of experimental artificial consciousness. Strong AI is coming and it will certainly be one of the most important scientific milestones of all time.
Coders, are you up for the challenge?
(Article by Loick Michard - source: Medium)


  1. I have the windows open since the challenge is out, i'll have a look on it as soon as I'm done with my current problem. However with the coming challenge it might be pushed back yet again :( Oh well, i'll find the time at some point, looks very interesting !

    1. Well I finally completed the tutorial, it was nice for a starter. The only thing is that you can really complete it without even reading a single line of the tutorial...
      But i guess this was aimed at people who have no clue what it is about.

      Regarding the expert version (neural network learning), it seem to run out of time in the training loop, I had to cut so much on the iterations for it to work that I did not even try much further to get the result line working with this second algorithm... I wonder if it is even supposed to work at the moment ?

    2. This comment has been removed by the author.

  2. I expect more Machine Learning games in CodinGame!!

  3. I think the codinggame platform needs to change a bit to adjust with more interesting problems.
    It would be vastly better if you provide an offline black box app which simulates the environment (provides api), so that offline training and better machine learning approach is possible, not only online algorithms. It would also open the door to reinforcement learning.