Deep machine learning can help clean the mess of big data

Turning a wave of information into something meaningful can be challenging. But that's where deep machine learning can help. Here, expert George Lawton explains how.

The rise of mobile, IoT and Web applications are driving the growth of big data. One of the challenges many businesses and developers now face lies in identifying algorithms to make sense of this torrent of new information. On top of cloud platforms like Google Cloud Machine, a new generation of deep learning services is being implemented to help overcome this challenge.

At the Structure Data conference, Jeremy Howard, CEO of Enlitic, said, "Deep learning is unique in that it can create features automatically." Enlitic has used deep machine learning to develop an application that can detect lung cancer earlier and more accurately than radiologists. A second application can identify fine grained fractures more accurately than human radiologists.

The rise of deep learning

Recently, Google's AlphaGo project defeated a Go master in Korea, showing that deep machine learning has come a long way over the last couple of years. Jeff Dean, senior fellow at Google, said one of the main challenges is how to deal with unstructured data. The goal is to develop tools that make it easy to find patterns in data that could be used to improve business analytics, develop better robots and improve speech recognition.

Deep learning techniques promise better models for many types of data including pictures, speech and videos. Traditionally, the use of neural networks has required supervised training, in which an operator presents the system with a collection of labeled data. However, most of the data, such as images on the Internet, are not labeled, which makes it difficult to develop systems that can identify pictures in the wild.

Deep machine learning has been around for some time, but did not work well because of limited computing power and immature algorithms. The difference between deep learning and regular machine learning is that with machine learning, most of the work is on the features extractor that massages the data. With deep machine learning, developers can make the extractor trainable as well.

Build a deep learning pipelines

Dean said one of the emerging paradigms lies in building a chain of data processing algorithms. These essentially mine the data from robots, Internet of Things (IoT) applications and images to optimize the algorithms uses for a specific kind of analysis. This mining process works best in the cloud servers using high performance processors and fast networks. These better algorithms can then be sent back to mobile devices, IoT gateways or Web applications running on lower cost servers.

An early example of Google's work on this was the development of better algorithms for distributing neural network pipelines across standard servers for detecting cats in unlabeled images. Google developed a software library called Tensor Flow that manages the communication between machines, so that when a neuron has input, it makes sure things are handled in the proper order, and it parallelizes it across the cores in the same machine.

Scaling has traditionally been a significant challenge in the development of larger neural networks suited for deep machine learning. Prior research could create training models with one to ten million parameters. Google's work with this pipeline opened the door for models that could run across thousands of CPU cores automatically to train billions of parameters. The infrastructure makes it easy to set up a neural network onto a cluster of cloud servers and then automatically retrieve the results in a few days.

The company has been using these algorithms to improve speech recognition accuracy and image search within Google's core services. "Over time, other teams would see success to solving other similar problems, which has had a nice snowballing effect," Dean said.

Choosing the right tools

Google's Tensor Flow library has become one of the most popular neural network implementations on GitHub. Dean said one of the design principles was to be able to scale across smaller implementations all the way up to large cloud clusters. Creating applications on top of Tensor Flow is pretty low level and gives developers a lot of flexibility in implementing different sorts of applications.

Developers that don't want to spend a lot of time tweaking the algorithm might benefit from playing with existing implementations that other developers have implemented. This makes it easier to put machine learning principles into practice without having to be a machine learning expert.

A third class of developers just wants to solve a particular kind of problem like cloud-based image analysis or speech recognition services. These developers can take advantage of services like Google Cloud Vision API or Google Cloud Speech API. As developers get acquainted with these capabilities, Dean expects they will want to spend more time developing their own models.

How has your enterprise benefited from other types of machine learning? Let us know.

Next Steps

Big data ecosystem gives machine learning a boost

Make smarter IT choices with Machine learning algorithms

Mitigating the risks of machine learning applications

Dig Deeper on Core Java APIs and programming techniques

App Architecture
Software Quality
Cloud Computing