By: Hannah Arnson
These days, we frequently hear about “artificial intelligence” (AI), “neural networks,” and “deep learning.” The media presents these techniques as black boxes that can revolutionize, or destroy, society. At Pandata, we use AI (and neural networks & deep learning) as a data science tool to gain insight into large, complex data sets, not to dismantle society. And while these are powerful and complicated techniques, we will attempt to demystify these terms and shine some light into the black box.
Deep learning, neural networks, and AI all refer to the same group of machine learning techniques. Despite the term “neural networks”, this approach has little to do with how the brain works. However, the idea of hierarchical layers that detect more and more complex features is roughly consistent with the structure of the nervous system. These mathematical algorithms are diverse – as this is a very general overview, the ones we will discuss here involve classification using supervised learning – where a computer is trained to detect features in a dataset based on feedback. A set of “labeled” data, for example a bunch of animal pictures marked “panda” or “not panda,” are fed into a series of equations with multiple parameters that need to be “tuned” or learned. The equations are structured in layers, where each layer computes non-linear equations, the results of which feed into non-linear equations in the next layer, and so on. At the end, there is a final layer that does a classification – panda or not panda. Or panda, lion, tiger, dog, and so on. At first, the parameters governing these are guesses. After running the pictures through all the equations, the final output is compared to the labels – cat or not cat. Then, the difference between the algorithm output and truth is computed and that information is used to refine the parameters. This happens many times until the algorithm output and the truth are close enough. At this point, the model is ready to run and is used to classify information that does not have labels.
Images are input into the neural network where several layers of processing occurs to output a classification. Circles represent nodes of computation. Arrows indicate the direction of information flow.
The example above of building a classifier that detects if a panda is in a picture may sound simple, but it is actually a challenging task. Let’s say your cell phone camera takes 8-megapixel pictures. A picture can then be represented as pixel intensity across all 8 million pixels. The human brain can easily determine if a picture contains a panda. But, if you were presented with a list of 8 million numbers and asked to determine if there was a panda in there, it becomes much less obvious. Now imagine that you need to be able to detect not only a photograph of a single panda sitting face-on in the zoo, but the back of a panda, one far away, and a panda on a black and white rug. You need to be able to say there is not a panda there, not only when the picture is of an elephant or a car, but also a person in a panda costume, a large racoon, or a black and white geometric print. This ability to detect complex features across varying inputs requires the layered networks of non-linearities characteristic of neural networks.
Deep learning has many uses beyond panda classifiers. It is well suited for applications that involve complex feature extraction and pattern recognition such as object recognition, self-driving cars, natural language processing, cybersecurity, bioinformatics and robotics. As training a deep learning model requires many thousands of examples, it quickly falls into the “big data” regime requiring extensive computing power. At Pandata, we use neural networks to gain actionable insights into client’s data across a wide array of applications. While this blog post is a very shallow dive into deep learning, we hope it provides some insight into this technique.
Hannah Arnson is Data Scientist at Pandata.