In this blog post, we’re going to explore (or at least attempt to) the intuition behind Convolutional Neural Networks, one of the most important deep learning techniques in machine vision and image recognition. We’re also going to work through an example in recognizing different shapes using Convolutional Neural Networks.

Some Background

As AI breakthroughs continue to captivate the general public, terms such as “artificial intelligence”, “machine learning” and “deep learning” have been used interchangeably. It is definitely worthwhile to understand the difference between each term in order to have a better picture of where the AI landscape is heading within the next few years.

The concentric circles of Artificial Intelligence

We can think of these three terms as concentric circles with artificial intelligence encompassing machine learning, and machine learning encompassing deep learning. We can delve deeper into the history of artificial intelligence and how this progress came about — but much has already been discussed on the topic.

In short — artificial intelligence is the development of computer systems that perform tasks usually reserved for human cognition. For example, despite being a hard coded system, a calculator is a form of artificial intelligence. The techniques used to develop such systems are at the crux of these concentric circles.

Machine learning revolves around creating systems that can learn useful patterns from large data sets, and provide useful insights as a consequence. Machine learning in itself is divided into three main categories — the first being supervised learning, which entails creating systems that understand for a set of data points (context) and labels (outcome) the relationships between them, and thus provide outcomes on unlabeled data points. Examples of such systems include systems which classify whether loan applications would result in a default or not, systems which predict future stock prices etc … Alternatively, unsupervised learning is constructing systems that can identify meaningful patterns from a data set simply based on similar features or characteristics. An example of this would be clustering customers based on similar shopping behaviors. Finally, reinforcement learning is a branch of machine learning that tries to pit an intelligent agent in a well defined environment, with a set of possible actions and an objective function (reward) to be maximized.We can think of self driving cars (the agent) driving on a highway (environment) whose sole objective is not committing accidents (reward) for example.

Finally, deep learning is a technique used within machine learning which utilizes vast amounts of data and neural networks with multiple layers (an excellent walk through of neural networks can be found here) in order to understand patterns within a data set. The recent explosion in AI breakthroughs in computer vision and speech recognition among other vertices almost all lead back to deep learning research, and more importantly the commoditization of computing power (an interesting blog post on the use of computing power in AI research throughout the years can be found here).