Machine learning is the science of getting computers to perform a given task “without being explicitly programmed” (Arthur Samuel in 1959). In the last two decades, machine learning has imposed itself in our every-day life with self-driving cars, speech or face recognition, effective web search, spam detection and product recommendation systems. Machine learning is so ubiquitous today that you probably use it multiple times in a day without realizing it. Some researchers even believe that it will lead us towards human-level artificial intelligence.
To use Machine Learning on a real problem, we need to cast it into one of the class of Machine Learning problem. For instance, “drive that car on the road” would become “given the input images of the different cameras, return the direction of the wheel”. In this special case, we will probably use a reinforcement-learning algorithm. We distinguish between three common classes of problem in Machine Learning.
Deep learning has recently become one of the hottest topics in machine learning. Originally inspired by the brain, the first impressive deep learning algorithm had a multilayer neural network structure. In that case, the learning task consists of inferring the connectivity patterns between the neurons. The problem is written as a big non-convex optimization problem solved mainly using advanced gradient descent techniques. Deep learning has only become popular in the last few years because computers became powerful enough to solve those complex problems (researchers have also elaborated techniques to solve the vanishing gradient issue). Additionally, the apparition of GPU allows us to solve those big problems on a single computer quite efficiently. Although deep learning is not directly my field of research, I was lucky enough to receive a free Tesla GPU by NVIDIA, allowing me to play with deep learning.