
Main objective
Course benefits
Examples and activities
If you have questions
This is a quick lecture that explains how you can get the most out of this course. Take a quick minute to go through it, I'm sure it will come in handy.
If you're a developer or you are already familiar with AI and ML, free free to jump ahead to the Jupter Notebook lectures later in this section.
Questions to think about
What does artificial intelligence mean to you?
What does it mean for a machine or a human to learn?
Do you think machines will ever think like humans?
Let's ask Google home a few questions:
What is artificial intelligence?
What is machine learning?
Smart speakers use many types of machine learning, including sequence to sequence models to convert text to speech.
Smart speakers respond based on human examples and judgement, they don't necessarily figure out everything on their own.
Why has machine learning improved in the recent past?
How do humans learn?
How do machines learn?
Machine learning is used in places that are not obvious
Email spam classification
Recommendations and advertising
Computer vision is an exciting application of machine learning. There are many ways it can be used.
Applications of text analytics and voice recognition.
Machine learning can detect unexpected behavior.
Machines can generate text, music, or other data similar to what they have seen before.
The Internet of Things (IoT) is a great source of data that can used to train machine learning models. Machine learning can improve quality, reduce costs, and improve security.
Machine learning can save time and automate many tasks, no matter what business you are in.
Jupyter Notebook is a popular development environment for machine learning and data science. You can run notebooks locally, or in the cloud on Google Colaboratory, Amazon Web Services, Microsoft Azure, and many others.
Links to several cloud services are listed in the resources section.
Jupyter text cells can contain formatted text, links, images, and more.
Code cells can be executed interactively and produce a variety of content.
Jupyter notebook can render high quality math notation using LaTeX syntax. There are a number magic commands you might see in a notebook. Finally, you will learn how to install Jupyter locally if you like.
Mathematical model in a spreadsheet
Classical machine learning models
An example of a simple model that predicts the price of houses in King County, WA.
Feature engineering
Classical vs. deep learning models
An example of a basic deep learning model capable of recognizing handwritten digits with surprisingly good accuracy.
The ideas behind machine learning are old, but progress has not been smooth at all. There were many failures and disappointments over the past several decades.
Fortunately, there was a landmark achievement in recent past that changed everything!
Single layer perceptron
Multilayer perceptron
Deep neural networks learn using an algorithm known as backpropagation.
This is a bonus lecture describing one of the breakthroughs that allow deep neural networks to be trained efficiently.
Automatically learning abstract features
Ultimate accuracy
Deep learning vs. classical methods
How do you become a great musician, world class athlete, chess grandmaster, or other expert?
Expert performance is not due to innate talent, it's all about correct practice
Naive practice
Principled practice
Deliberate practice
Overcoming barriers
Machine learning models can be trained in several ways, for example:
Supervised learning
Unsupervised learning
Reinforcement learning
Transfer learning
Supervised learning is one of the most effective machine learning styles. Supervised learning requires a labeled data set, which often requires human judgement to prepare. This labeling effort can be a challenge, but the results are highly valuable.
More labeled data samples will result in a more accurate model, but a good model can be trained even with a thousand or fewer labels.
How many training samples are needed to achieve acceptable accuracy with a supervised model? In this demo, we will use Google Collaboratory to train an image recognition model with an increasing number of training samples to estimate how sample size affects accuracy.
The source for the notebook used is available on github: https://github.com/msiddalingaiah
Reinforcement learning is based on a reward, such as winning a game or maximizing profit with a financial trading model.
This describes two reinforcement learning successes: AlphaGoZero and Atari Breakout.
Self-supervised models can learn context from large amounts of unlabeled data.
This is a demo of two self-supervised learning models.
The first one is an example of GPT-2, which generates english text based on the text you enter. The second is Tabnine, which a machine learning based autocompleter for Python, Java, and several other programming languages.
Examples include:
Models
Open source libraries
Cloud services
ML can be applied in many ways
Classification
Entity extraction
Summarization
Generation
Language translation
An example of binary text classification of reviews from Yelp, Amazon, and IMDB.
The following lecture explains how to load data into Google Colab, so you can run the example yourself.
In some cases, you might want to load data into Google Colab. There are several ways to do this. In this lecture you will learn two ways to load data into Google Colab.
The resources section includes links to the GitHub repo with the notebook as well as links to the data set and GloVe vectors. You will need all three for this example.
Cloud based text analytics services are available, which rely on pre-trained models. These services are available at low cost. Some of these services can be improved using your own data for retraining.
Clustering is an unsupervised learning style that can provide some insights into your data.
Deep neural networks are very good at image recognition.
Can identify objects in an image or where the object is
Facial verification and recognition
One shot learning
Pretrained image recognition models are available in libraries such as Keras. Managed cloud services support image recognition features with very little coding or model training.
High quality image models can be used to solve non-image problems.
Recurrent Neural Networks (RNNs) can translate speech to text and text to speech with high quality. They can also translate from one language to another.
A review of Amazon Transcribe, Polly, and Translate.
With conventional software projects, source code is central
In machine learning projects, data is central
Training data sets
Test data sets
Steps to choose the right model
Model tuning
Reducing bias and variance
A review of several popular machine learning frameworks
GPUs can reduce training time for deep learning models.
GPUs instances are available from cloud providers at low cost or no cost in some cases.
What does 3D graphics have to do with machine learning?
The future of hardware acceleration for machine learning.
Improving your model is an ongoing process
Feedback loops can help
Next steps for:
Managers
Business analysts
Software architects and developers
Optimistic and pessimistic view of the future
The economics of machine learning
LinkedIn released it's annual "Emerging Jobs" list, which ranks the fastest growing job categories. The top role is Artificial Intelligence Specialist, which is any role related to machine learning. Hiring for this role has grown 74% in the past few years!
Machine learning is the technology behind self driving cars, smart speakers, recommendations, and sophisticated predictions. Machine learning is an exciting and rapidly growing field full of opportunities. In fact, most organizations can not find enough AI and ML talent today.
If you want to learn what machine learning is and how it works, then this course is for you. This course is targeted at a broad audience at an introductory level. By the end of this course you will understand the benefits of machine learning, how it works, and what you need to do next. If you are a software developer interested in developing machine learning models from the ground up, then my second course, Practical Machine Learning by Example in Python might be a better fit.
There are a number of machine learning examples demonstrated throughout the course. Code examples are available on github. You can run each examples using Google Colab. Colab is a free, cloud-based machine learning and data science platform that includes GPU support to reduce model training time. All you need is a modern web browser, there's no software installation is required!
July 2019 course updates include lectures and examples of self-supervised learning. Self-supervised learning is an exciting technique where machines learn from data without the need for expensive human labels. It works by predicting what happens next or what's missing in a data set. Self-supervised learning is partly inspired by early childhood learning and yields impressive results. You will have an opportunity to experiment with self-supervised learning to fully understand how it works and the problems it can solve.
August 2019 course updates include a step by step demo of how to load data into Google Colab using two different methods. Google Colab is a powerful machine learning environment with free GPU support. You can load your own data into Colab for training and testing.
March 2020 course updates migrate all examples to Google Colab and Tensorflow 2. Tensorflow 2 is one of the most popular machine learning frameworks used today. No software installation is required.
April/May 2020 course updates streamline content, include Jupyter notebook lectures and assignment. Jupyter notebook is the preferred environment for machine learning development.