Annex: To Understand the Neural Network, Imagine a Fish

Tags

School of clown fish

In this ElixirConf presentation, Senior Engineer Jason Goldberger explains Annex, a deep learning framework he developed to create neural networks in Elixir. Read Jason’s thoughts on machine learning and what it hopes to accomplish, and watch his full presentation below.

What is Supervised Learning in Computers?

JG: Imagine a world in which fish could share and learn from the success stories of other fish; from the data share by other fish. Success for a fish in this world might be defined as catching and eating shrimp. Through time and interactions with other fish, a single fish would become better and better at making decisions which lead to successful outcomes.

The imaginary fish-world above is a close analogy for a class of machine learning known as supervised learning.

Supervised learning is more simply described as learning by example. One subclassification of supervised learning, deep learning, has become a world changing technology that has a plethora of practical applications such as facial recognition, fraud detection, economic analysis, and self-driving car technologies.

Why is Deep Learning Important Today?

JG: As organizations demand more sophisticated technologies to drive business, deep learning is recognized as a robust way to accomplish increasingly complex tasks.

At its lowest level, training a neural network involves taking input and producing a prediction. To make a prediction, the neural network calculates a navigable path through highly dimensional space such that the path leads to a point that is, hopefully, near the correct answer. The network then calculates how far away the prediction is from the actual expected answer and makes corrections to the navigation parameters thus moving the end of the path closer to the intended target. This is how a neural network learns.

Annex seeks to provide a framework for Elixir developers to use deep learning in their Elixir projects in a meaningful way. In my presentation, I walk through Annex behaviors and how to build a deep neural network that can perform state-of-the-art machine learning classification tasks.

Watch Jason’s full presentation to see how to implement modules that transform data, and join the discussion on how to fine tune Annex’s performance through work on Elixir processes and native code integration.

DockYard is a digital product agency offering custom software, mobile, and web application development consulting. We provide exceptional professional services in strategy, user experience, design, and full stack engineering using Ember.js and Elixir. With a nationwide staff, we’ve got consultants in key markets across the U.S., including Seattle, San Francisco, Denver, Chicago, Dallas, Atlanta, Philadelphia, and New York.