Rundown on Machine Learning Services in AWS

With machine learning and AI being very popular and hyped, it's not surprising that cloud providers such as Azure, Google Cloud, and AWS offer services for doing machine learning.  These services often don't require the user to delve into mathematically complex topics such as convolutional neural networks and back propagation.

Currently, I'm doing training on AWS for the Associate Developer Certification as part of company training.  While the likelihood of hitting machine learning services on the exam is low, I find it to be a good idea to cover an overview in general.  I won't go over every services, but hopefully you would be able to distinguish the major ones.

Amazon SageMaker

Building and training machine learning projects as a toy project is reasonable.  Sure, it might take a few minutes depending on the amount of data or the complexity of your model, but it isn't much to pull your hair about.  Once you try to apply machine learning to real products that will be used by millions, now you have a problem.  Using your computer specs probably won't be sufficient to train on hundreds of thousands to millions of data points.  Buying more computing power will help, but it won't be cheap.  How do you cope?

This is where Amazon SageMaker comes in.  SageMaker allows users to create Jupyter Notebooks as well as import their existing models.  SageMaker also handles workflow such as labeling, training, and deploying.  The service supports frameworks, including but not limited to, Tensorflow, Caffe, and Keras.

Visual Services

While SageMaker is nice for customized models, maybe you don't want the hassle of creating your own models.  Maybe, you want something that you can just plug-in and use immediately.  Fortunately, AWS provides numerous services that can be used for common functionality.

Rekognition

If you wanted to work with computer vision, you used OpenCV.  OpenCV allows users to manipulate images and act on it accordingly.  However, working with images isn't easy.  There are lighting effects, spatial, mirroring, etc. that can make recognition difficult.  Enter Rekognition.

Rekognition allows users to use recognize faces, text, and labels.  It can also be used to recognize entities within videos.  All you have to do is upload your images and videos and Rekognition will handle the rest.

DeepLens

Maybe your data doesn't involve text, but instead video.  Additionally, you might not have a camera dedicated for computer vision.  This is where AWS DeepLens come in.

DeepLens isn't really a service but more of a physical product.  In this case, AWS provides camera for developers to build and test their deep learning models against.  The camera is also compatible with Amazon SageMaker.  The camera currently costs $250.

DeepRacer

With the recent developments of reinforcement learning, many people are getting onto the AI train.  However, the underlying understanding of reinforcement learning is difficult.  That's why Amazon created AWS DeepRacer.

DeepRacer is a fully autonomous race car for learning visual machine learning and reinforcement learning.  The device will cost $400 and will be release on April 15, 2019.

Natural Language Processing Services

Like images and video, AWS also provide services that focus more on text and speech.

Comprehend

Suppose you are dealing with natural language and you need to understand relationships within the data.

Luckily for you, Amazon Comprehend was designed for this case.  In fact, you don't even need to know machine learning to use it.  Just provide your data and Comprehend will label it accordingly.  Alternatively, you can choose to topic model your data to provide a better visual on your data.

The first 50k words are free per month with an additional word $0.0001.  Running a job is free for the first five and additional ones are $1.

Amazon Lex

One of Amazon's most popular products is Alexa.  What if you, the developer, could also leverage the same technology as Alexa?  Luckily for you, this is where Amazon Lex comes in.

Amazon Lex provides you the ability to build conversational interfaces using voice or text.  Lex is integrated seamlessly with AWS and allows users to add sophisticated chatbots to your applications.

Amazon Polly

I remembered in the mid-2000 of Apple's VoiceOver feature.  VoiceOver allowed people to highlight a piece of text and have the computer speak the words.  At the time, pronunciation wasn't the greatest, but it was pretty cool.  About a decade later, we dramatically improved speech to the point that we can't even readily distinguish whether a voce is human or AI.

With Amazon Polly, developers now have the ability to implement text-to-speech into their applications.  The services provides 24 languages with more voices for the future.  According to Amazon, they won't be retiring any voices within Polly.

Other Services

There are additional services, such as Transcribe and Translate, that enable for speech recognition and language translation.  Amazon is also adding additional services, such Personalize, Forecast, and Textract, but at time of writing, they are limited in availability.

In recent years, machine learning and AI have gone mainstream.  However, most companies don't have access to resources for creating their own solutions.  That's why the major tech companies, such as Google, Facebook, Microsoft, and Amazon are providing ML solutions for businesses.  In the future, I won't be surprised to see more powerful services being offered from Amazon and others.