WTF is Deep Learning Anyway

Following on my previous WTF post on Machine Learning, it just make sense to continue in this line of thought to address another of many popular and trendy concepts. We are talking about: Deep Learning.

So without further due, lets explain WTF is deep learning shall we?

Simply put, and as inferred from the previous post mentioned, deep learning is one of  now many approaches to machine learning we can find out there, along the lines of other approaches like decision tree learning, association rule learning, or Bayesian networks.

While deep learning is not new, was introduced by Dr. Rina Dechter in 1986, its until recent years that this approach have gained fame and popularity among users and particularly among software companies adopting it within their analytics arsenals.

Deep learning enables to train the computer to perform tasks including recognizing speech, identifying images or making predictions by, instead of organizing data to run through predefined equations, sets up basic parameters about the data and train the computer so it can “learn” by recognizing patterns and by executing many layers of processing.

So, What Has Made Deep Learning so Popular?

Many factors have played out to enable the popularity of machine learning in general as well as deep learning in articular.

Today, modern deep learning can provide a powerful framework for supervised learning and for addressing increasingly complex problems, consequently it has gained huge popularity in many fields of computing, including computer vision, speech and audio recognition, natural language processing (NLP), bioinformatics, drug design and many others but, why?

This popularity have to do on one hand, of course, with the fast evolution of deep learning algorithms but also, due to the converged evolution of core computer processing related technologies including big data, cloud computing or in-memory processing which has enabled deep learning algorithms which require intensive computer resources to be deployed in increasingly faster and more efficient computing infrastructures.

On the other, due to the evolution and consumerization of peripheral technologies like mobile and smart devices  which have made it possible to providers to embed deep learning functionality within increasing systems and for increasing use cases and reach more audiences that can use and develop deep learning in a more “natural” way.

How Does Deep Learning Works?

In general, most deep learning architectures are constructed from a type of computing system called artificial neural networks (ANN) —I know, we will get to its own WTF soon— yet they can also include other computing structures and techniques so, Inspired by the structure and the functions of the brain, deep learning usage of ANN’s recreates the interconnection of neurons by developing algorithms that mimic the biological structure of the brain.

Within an ANN, units (neurons) are organized in discrete layers and connected to other units so that each layer choses a specific feature to learn (shapes, patterns, etc.). Each layer creates a depth of “learning” or “feature to learn” so that, by adding more layers and more units within a layer, a deep network can represent functions of increasing complexity or depth. Is this layering or depth that gives the deep learning its name (Figure 1).

Figure 1.  A 3-layer neural network with three inputs, two hidden layers of 4 neurons each and one output layer. (Source: CS231n Convolutional Neural Networks for Visual Recognition)

Until now most, if not all, deep learning applications deal with tasks or problems that, as the previous figure shows, consist on mapping an input vector to an output vector, allowing the solving of problems that require large enough models and large enough datasets.

These problems are  commonly those that humans would solve relatively easy and without a need to reflect on them (identify forms and shapes, for example), and yet due to the increasing computing power available and the continuous evolution of deep learning, are now allowing computers to perform even faster than humans.

It's clear then that both machine learning in general, and deep learning in particular change the common paradigm for analytics by, instead of developing an algorithm or algorithms to instruct a computer system on how to specifically solve a problem, a model is developed and trained so that the system can “learn” and solve the problem by itself (Figure 2).

Figure 2.  Traditional programming vs Machine learning approaches. (Source: CS231n Convolutional Neural Networks for Visual Recognition)

A key advantage of deep learning is that while a traditional approach will start by using the available data to perform feature engineering and then select a model to estimate parameters within an often repetitive and complex cycle to finally get to an effective model, deep learning replaces it with layer approach in which each layer can recognize key features from patterns or regularities from the data.

Hence, deep learning replaces the formulation of a model using instead characterizations (or layers) organized hierarchically  that can “learn” to recognize features from the available data (Figure 3), which result in the construction of "systems of prediction" that can:

  • Avoid use of hard parameters and business rules
  • Make better generalizations
  • Improve continuously

Figure 3.  Machine learning vs Deep learning. (Source: Xenonstack)

On the downside side, one common challenge when deploying and application of deep learning is it requires intensive computational power due to:

  1. The iterative nature of deep learning algorithms
  2. The increasing complexity as amount of layers increases
  3. The need for large volumes of data to train the neural networks

Still, deep learning’s continuous improvement feature sets an ideal stage for any organization to implement dynamic behavior features within their analytics platforms.

Applications of Deep Learning?

Today, deep learning has already applied in many industries and lines of businesses and, it keeps increasing at a constant pace. Some areas where deep learning has been successfully applied include:

Recommendation Systems

This is perhaps the flagship use case for machine learning and deep learning, companies including Amazon and Netflix have worked on using these systems to develop systems that can, with good chances of assertion, know what a viewer might be interested in watching or purchasing next, after his/her past behavior.

Deep learning enhances their recommendations in complex environments by increasingly learning users interests across multiple platforms.

Image and Speech Recognition

Another common applications of deep learning in the software industry is speech and image recognition, on the speech recognition aspect, companies like Google, Apple and Microsoft have applied deep learning to products like Google Now, Siri and Cortana to recognize voice patterns and human speech.

One the image recognition side, regardless of how challenging can be, it’s possible to find projects already applying deep learning with different levels of success, companies like DeepGlint are using deep learning to recognize and acquire real-time insights from the behavior of cars, people and practically any object.

Applications like this have huge potential in sectors including law enforcement or self-driving cars.

Natural Language Processing

Neural networks and deep learning had been key for the development of natural language processing (NLP), an area of artificial intelligence that develops techniques and solutions that allow “natural” interaction between computers and human languages, especially to enable the processing of large amounts of natural language data.

Companies like MindMeld use deep learning and other techniques to develop intelligent conversational interfaces.

We could go on describing more use cases for deep learning but perhaps its is fair to say the number and types of applications for deep learning keep growing.

What is Out There in the Market?

Currently there are varied options for using or deploying deep learning, both to start experimenting and developing or, to deploy enterprise ready solutions that apply deep learning.

For those organizations with the will for development and innovation, open source based deep learning frameworks and analytics like Tensorflow, Caffe or Pytorch represent a great opportunity to get them up and running.

Other great solutions for developing and applying deep learning solutions include data science platforms like Dataiku, Datarobot or, just recently acquired by Oracle.

Also, users and organizations can take a practical approach and use niche vertical solutions like cloud-native endpoint protection platform CrowdStrike, healthcare software provider Flatiron Health, or security intelligence & analytics (SIA) company Endgame among many others.

Today deep learning and machine learning solutions are increasingly available for small, medium and large companies while, promoting a continuous and fast evolution of these techniques within the market landscape, no surprisingly, expectations are high from users to address and solve increasingly complex problems.

It also hints that perhaps, with new advances and techniques seeing the light of day so frequently, we are just at the beginning of a new era in the analytics marketplace.

It seems deep learning is no joke, or is it?

WTF is Deep Learning Anyway WTF is Deep Learning Anyway Reviewed by Jorge Garcia on June 05, 2018 Rating: 5
Powered by Blogger.