Chapter 1, Introduction to Artificial Intelligence on Amazon Web Services, introduces the umbrella term "AI," which includes machine learning and deep learning. We will cover some of the hottest topics in AI, including image recognition, natural language processing, and speech recognition. We will provide a high-level overview of AWS' AI and machine learning services and platforms. AWS offers both managed services for ready-to-use AI/machine learning capabilities and managed infrastructures to train your own custom machine learning models. We will provide guidance on when to leverage managed services and when to train custom machine learning models. You will learn how to install and configure your development environment. We will guide you through the process of setting up for Python, the AWS SDK, and web development tools you will need for the hands-on projects in later chapters. We will also help you to verify your environment setup with working code that interacts with AWS platforms programmatically.
Chapter 2, Anatomy of a Modern AI Application, dives into the architecture and components of a modern AI application. We start to introduce patterns and concepts of a well-architected application; these will help you to design production-grade intelligent solutions. Not only will these concepts help you to rapidly experiment with and prototype solutions, but they will also help you to develop solutions that are flexible, extensible, and maintainable throughout the application life cycle. You will build the skeleton of a target architecture, which you will fill out in later chapters.
Chapter 3, Detecting and Translating Text with Amazon Rekognition and Translate, demonstrates how to build your first AI application that can translate foreign texts appearing in pictures into their native language. You will get hands-on experience with Amazon Rekognition and Amazon Translate. You will first build a reusable framework with AI and machine learning capabilities from AWS, and then build the application on top of that framework. We will demonstrate how separation between the capabilities and application logic can lead to flexibility and reusability; a concept that will become increasingly clear as the hands-on projects continue in later chapters.
Chapter 4, Performing Speech-to-Text and Vice Versa with Amazon Transcribe and Polly, shows you how to build an application that can translate voice conversations to and from different languages. You will get hands-on experience with Amazon Transcribe and Amazon Polly. Not only will you continue to build out the reusable framework of AI capabilities, but you will also reuse the translation capability of the framework that you built in the previous chapter. This will reinforce the concepts and benefits of well-architected production-ready AI solutions to increase experimentation and speed to market.
Chapter 5, Extracting Information from Text with Amazon Comprehend, demonstrates how you can build an application that can extract and organize information from photos of business cards. You will gain hands-on experience of Amazon Comprehend and reuse the text detection capability from previous chapters. In addition to this, we will introduce the concept of human-in-the-loop. You will build a human-in-the-loop graphical user interface that can allow users to verify and even correct information extracted by Amazon Comprehend.
Chapter 6, Building a Voice Chatbot with AWS Lex, enables you to continue the hands-on project by building a voice chatbot to look up business card contact information that was extracted and stored in the previous project. You will get hands-on experience of building a chatbot with Amazon Lex and integrating the chatbot interface into the application as a digital assistant.
Chapter 7, Working with Amazon SageMaker, explores the key capabilities of Amazon SageMaker – from wrangling big data to training and deploying a built-in model (Object2Vec), to identifying the best performing model to bring your own model and container to the SageMaker ecosystem. We illustrate each of the components through the book ratings dataset. First, we predict the rating of a book for a given user; that is, a book that the user has never rated. Second, we automate hyperparameter optimization with SageMaker's HPO capability, while also discovering the best performing model and its corresponding train and test sets through SageMaker search. Third, we illustrate how seamless it is to bring your model and container to SageMaker, avoiding the effort required to rebuild the same model in SageMaker. By the end of this chapter, you will know how to leverage all the key features of Amazon SageMaker.
Chapter 8, Creating Machine Learning Inference Pipelines, walks you through how SageMaker and other AWS services can be employed to create machine learning pipelines that can process big data, train algorithms, deploy trained models, and run inferences—all while using the same logic for data processing during model training and inference.
Chapter 9, Discovering Topics in Text Collection, introduces a new topic. In all the preceding NLP chapters, you learned how to use several NLP services offered by Amazon. In order to have fine-grained control over the model training and deployment, and to build models for scale, we'll use algorithms in Amazon SageMaker.
Chapter 10, Classifying Images Using Amazon SageMaker, follows on from what you have learned about Amazon Rekognition. Here, you'll learn how to classify your own images beyond the predetermined images classified by the Rekognition API. In particular, we will focus on labeling our own image dataset and using SageMaker's image classification algorithm to detect custom images. We will learn how to conduct transfer learning from ResNet50, a pretrained deep residual learning model trained on ImageNet (an image database organized by nouns and supported by Stanford University and Princeton University).
Chapter 11, Sales Forecasting with Deep Learning and Autoregression, explains how deep learning and autoregression (DeepAR) can be used for sales forecasting. In particular, a thorough understanding will be gained of Long Short Term Memory (LSTM), a form of Recurrent Neural Networks (RNNs). RNNs are networks with loops, allowing information to persist, connecting previous information to the present task. Autoregression uses observations from previous time steps as input to the regression equation to predict the value at the next time step. By the end of this chapter, you will have built a robust sales forecasting model with Amazon SageMaker.
Chapter 12, Model Accuracy Degradation and Feedback Loops, explains why models degrade in production. To illustrate this, we discuss how to predict ad-click conversion for mobile apps. As new data becomes available, it is important to retrain models to achieve optimal production performance.
Chapter 13, What Is Next?, summarizes the concepts that we have learned so far. Additionally, we will briefly discuss the AI frameworks and infrastructures that AWS offers.