Introduction to clevrML

In this documentation, you will be introduced to the concepts of Deep Learning, Active Memory Learning, and the advantages of clevrML for you and your team.

Table of Contents

 

An Overview of Deep Learning

If you are new to Machine Learning, it can be a tricky concept to understand without getting formal training or enrolling yourself in a University program. This section will attempt to bridge any knowledge gap of Machine Learning regardless of your programming or computer experience and is intended to understand the basic concepts associated with deep learning. Over the course of this section, we will answer three big topics:

1. What is Deep Learning

2. What are Artificial Neural Networks

3. How do Neural Networks work

What is Deep Learning? 

Deep Learning is a subfield in a broader subject called Machine Learning (Artificial Intelligence). An easy analogy to make between the relationship of Machine Learning and Deep Learning is to think of the subject of Math and the subfield of Calculus. Calculus does encompass a large portion of Mathematics as a whole, but it isn't the entire subject

If that didn't make sense, the diagram below encompasses a lot of what was just explained visually:

Machine Learning

Deep Learning

Now that you have a grasp on what Deep Learning is, let's move onto the bigger portion of this introduction. 

 

 

What are Artificial Neural Networks?

An easy way to think of an Artificial Neural Networks is to go back to our Math analogy. In Math, there are subtopics like Calculus and Algebra, and there are techniques involved in those subtopics. For example, Calculus has techniques to compute different problems like derivatives, limits, and much more. A Neural Network is like the derivative of Deep Learning, as it is only one of many techniques, however, it is the best performing by a large margin compared to other techniques. Let's add Neural Networks to our diagram to get a better understanding:

Machine Learning

Deep Learning

Neural Networks

A Neural Network is software, so it is not physical or made out of computer parts. In fact, Neural Networks are made completely through computer code. This can sometimes be very unintuitive to think about. The reason this technique is called a "Neural Network" is because it was originally inspired by the way humans brains are made (with connections of neurons in our brains). 

How Neural Networks work.

Before explaining any concepts, let's look at the diagram below of a typical "feed-forward" Neural Network:

neuralnet.png

Let's break this diagram down. This would be an entry-level architecture to a deep neural network, where the first "input layer" takes the inputs that you want a prediction. For example, these could be images, sentences, video clips, and many other types of data. The second layer is called the "hidden layer"; The hidden layers job is to apply computations to the input that will make a decision, or in other words, a prediction for the "output layer". The output layer in the final layer in the neural network where you get your prediction for whatever you had trained your neural network for.

What do you mean, "train"?

For a neural net to "learn" how to predict an output, it has to "train". This is the process of being shown hundreds, thousands, hundreds of thousands or maybe even millions of input examples so it can make an accurate prediction. The entire training process can take hours, days, or even weeks in rare cases and require lots of computation power.

 

Advantages of Active Memory Learning compared to Neural Networks

In this section, you will learn the basic concepts of Active Memory Learning and the massive advantages of using Active Memory Learning compared to Neural Networks.

A Brief Overview of Active Memory Learning

 

Active Memory Learning (AML) was engineered for one goal in mind: Simplify the process of making state-of-the-art machine learning models. 

AML is a new method of Machine Learning made by clevr that was inspired by an active area of research called "Few Shot Machine Learning" (also called "Few-Shot Learning"), or in other words, Machine Learning with only a few training examples. Few-Shot Learning is still largely unknown to the public and software community as a whole because performance varies significantly, making it not ready for production applications. Traditional Few-Shot Learning methods typically involve Pre-Training a general-purpose Neural Network and then Fine-Tuning for a specific task with limited examples. AML does not use Neural Networks at all, in fact, a big difference is that AML is a pure Mathematical and Statistics implementation from top to bottom, making Machine Learning easier than ever. 

The Disadvantages of Using Neural Networks

What makes Active Memory Learning so special since Neural Networks are responsible for some of the world's most advanced software today? It turns out that while Neural Networks are powerful, they have major setbacks to reach industry-level performance. Why is this? There are a couple of main reasons:

1. Neural Networks are expensive to train 

The biggest problem when creating deep learning models is cost. To train and deploy industry level models can cost anywhere from $100 to $100,000 in cloud computing costs or computing investments. For many people who don't have experience in software engineering and deep pockets, this is a big barrier to entry.

2. Training a Neural Network takes a lot of computing power and time.

An average neural net can take hours to train once started. When running a business or making demos, this is valuable time lost if a model does not return high accuracy in predictions.

3. Neural Networks Need LOTS of Data

Neural Networks don't generalize well until shown tens to hundreds of thousands of data points. To a Fortune 500 company, this is feasible to acquire, however, for the average hobbyist or small business this is very difficult to gather big data.

4. You Cannot Edit a Neural Network (Even if it Doesn't Work)

This is a big drawback to any software creation period, and even more when the software can cost you money. 

The Advantages of Active Memory Learning

1. Active Memory Learning Models Require No Training

The biggest advantage of Active Memory Learning is the ability of a model to learn without having to run hours of training. The reason this is so big is because of the flexibility to create a demo model quick to see if it works the way you want, compared to a neural net which could take hours. This also makes it easy for people who don't have high-end computing resources to get the best of machine learning.

2. Active Memory Learning Models Need as little as 3 examples

To reach a high performance on various Machine Learning tasks, only 3 input "References" (examples) are needed, but not required. This is giant when not needing to build a giant dataset saves time that could be spent making the best model possible.

3. Active Memory Learning is Fast, Lightweight and Low Cost

Creating an Active Memory Learning model only takes seconds to compile and save your model. The entry-level "MNIST" neural network (this is a common starter project for ML developers)  is 40x larger than the entry-level AML model. With a smaller model size and no training, this makes for an overall inexpensive method compared to neural nets.

4. You Can Edit Your Model at Anytime

Unlike Neural Networks, it is simple to update your Active Memory Learning model anytime you want without having to start from the beginning or run a new training cycle for hours on end. You can simply add your new inputs and deploy a model, all in under a minute.

Why You Should Choose clevrML

 

In this section, you learn the reason you should choose clevrML to kickstart your next machine learning project.

Ease of Use, No Matter Who You Are

Making machine learning models is time-consuming, a learning curve and expensive. With clevrML, you can create a machine learning model with a free Developer SDK. 

Build, Deploy and Edit Faster Than Any Platform

Getting a prototype made in a timely fashion is important, but making the final version is equally as important. With clevrML, you can build and deploy a model within seconds. If your machine learning model doesn't perform as well as expected, you can easily edit an existing machine learning model without losing time, thanks to Active Memory Learning. 

Say Goodbye to Variable Cloud Computing Costs

The worst part about making machine learning models in the cloud is the uncertainty of how much it will cost. With clevrML, model creation prices and predictions are fixed instead of variable. In fact, here is how clevrML stacks up compared to the large cloud platforms:

platform comparisons.png