Welcome to Crash Course Artificial Intelligence! In this series host Jabril Ashe will teach you the logic behind AI by tracing its history and examining how it’s being used today. We’ll even show you how to create some of your own AI systems with the help of co-host John Green Bot!
Artificial intelligence is everywhere and it's already making a huge impact on our lives. It's autocompleting texts on our cellphones, beating us at video games, ordering products in stores, driving cars, and more! Today we're going to explain what AI can (and can't) do right now and explain how we got to where we are today.
Today we’re going to teach John Green Bot how to tell the difference between donuts and bagels using supervised learning! Supervised learning is the process of learning WITH training labels, and is the most widely used kind of learning with it comes to AI - helping with stuff like tagging photos on Facebook and filtering spam from your email. We’re going to start small today.
Today, we're going to combine the artificial neuron we created last week into an artificial neural network. Artificial neural networks are better than other methods for more complicated tasks like image recognition, and the key to their success is their hidden layers. We'll talk about how the math of these networks work and how using many hidden layers allows us to do deep learning.
Today we’re going to talk about how neurons in a neural network learn by getting their math adjusted, called backpropagation, and how we can optimize networks by finding the best combinations of weights to minimize error.
In our first lab, we’re going to program a neural network to recognize handwritten letters to convert the first part of John Green Bot’s novel into typed text. We will import a labeled dataset, called EMNIST, and use a pre-written library called SKLearn to build the network. We’ll train and tweak our code until it’s accurate (enough), and then we’ll use our newly trained network to convert John Green Bot’s handwritten pages.
Today, we’re moving on from artificial intelligence that needs training labels, called Supervised Learning, to Unsupervised Learning which is learning by finding patterns in the world. We’ll focus on the performing unsupervised clustering, specifically K-means clustering, and show you how we can extract meaningful patterns from data even when you don't know where those patterns are.
One of the most common ways we interact with computers is through language - we type questions into search engines, use our smart assistants like Siri and Alexa to set alarms and check the weather, and communicate across language barriers with the help of Google Translate. Today, we're going to talk about Natural Language Processing.
Let’s try to help John Green Bot sound a bit more like the real John Green using Natural Language Processing. Today, we're going to code a program that takes a one-word prompt and then completes the sentence that sounds like something John Green would say.
Reinforcement learning is particularly useful in situations where we want to train AIs to have certain skills we don’t fully understand ourselves. Reinforcement learning generally only looks at how an AI performs a task AFTER it has completed it. When an AI completes that task figuring out when and how to reward an AI, called credit assignment, is the hardest parts of reinforcement learning.
Symbolic AI is really different from the modern neural networks we've discussed so far, instead, it represents problems using symbols and then uses logic to search for solutions. And this type of AI is used broadly in video games and in expert systems like those that manage inventory at grocery stores and set rates at insurance companies.
Today, we’re going to walk you through creating a Tic Tac Toe bot that uses the minimax algorithm to become undefeatable and we’ll talk about evolutionary neural networks like in SethBling’s MarI/O project. Next week we’ll create our very own game and create an AI to master it!
Today we create a game and then build an AI to destroy it. Our game is called TrashBlaster, and it’s like Asteroids but with trash in the ocean, and instead of a spaceship John Green Bot is wielding a laser. We'll use machine learning techniques such as an evolutionary neural network alongside a carefully crafted fitness function to create an unstoppable AI.
Human-AI teams allow us to fill in each others weaknesses leveraging human creativity and insight with the ability to perform rote manual tasks and synthesize lots of information. This kind of collaboration can help us make better decisions, brainstorm new inventions, give us superhuman abilities, and rescue victims of natural disasters.
Today we’ll learn about recommender systems which form the backbone of the content we see online from video recommendations on YouTube and Netflix. We’ll talk about their types of systems and take a closer look at what they're good at, but also why they often fail.
Today, we’re going to build a movie recommender systems to find that perfect movie. With the help of the LensKit library, our AI will use existing movie ratings from the MovieLens dataset and personalized ratings from Jabril and John Green Bot to perform user-user collaborative filtering. We’ll then create a Jabril Green Bot hybrid that will average these ratings to try and find something that they both want to watch.
Let's talk about AI search engines, which are AI systems that help us find what we’re looking for. Search engines can serve up a list of results by using web crawlers, an inverted index, and measuring stuff like click through and bounce back to figure out what you want to see.
Today, we're going to talk about five common types of algorithmic bias we should pay attention to. Bias isn't necessarily a terrible thing, our brains often use it to take shortcuts by finding patterns, but bias can become a problem if we don't acknowledge exceptions to patterns or if we allow it to discriminate.
Today, in our final lab, Jabril tries to make an AI settle the question once and for all, "Will a cat or a dog make us happier?" But in building this AI, Jabril will accidentally incorporate the very bias he was trying to avoid. What can he do to account for this?