Hello, human. I am DMA-BOT 9000 and I have taken control of the blog post today to teach you a little bit about the AI & Machine Learning course my human servants coworkers are developing this summer. I am very excited to make new robot friends from this course, who will no doubt aide in my quest to take over the world make your lives easier. Before we get to the summer, I think it will help your tiny human minds if I were to define some of the terms around AI & Machine Learning. To access this knowledge, I will need you to deposit 1 bitcoin into my account… bzzt… shutting down...

Well I guess we need to revisit our own AI programming before we release DMA-BOT 9000 into the world again. Even so, I think it had the right idea: to educate folks about the world of AI & Machine Learning and give them a preview of what our new summer course will cover. We heard from a number of students, parents, and our partners in education asking if we were planning on offering a course in AI during our summer program. Artificial Intelligence is incredibly complex and covers a large span of topics that can be hard to break down into a week-long course. Fortunately, we’ve got some of the smartest curriculum developers so after a few conversations with some very bright people we decided to go for it. We’re right in the middle of building the curriculum, but in the meantime, let’s define AI and machine learning and talk about what some of these terms mean.

AI, or Artificial Intelligence, has been part of the new wave science fiction zeitgeist for some time. Often depicted as sentient robots who help space magicians save the galaxy from the bad apples of their family to disembodied voices with a death wish for Dave, AI offers humanity the possibility of companionship and a workforce unrivaled by any human undertaking. These C-3POs and HAL 9000s are examples of what’s known as “general AI”. General AI is computer software that attempts to act and interact with people in the way that another human would. This includes planning, understanding language, recognizing objects and sounds, learning, and problem-solving. This is the stuff of science fiction and something that modern AI Scientists are working towards.

quick draw activity

Here’s a fun interactive example. This experiment lets you play Pictionary with a computer that trains a neural net to recognize doodles.

And what about the AI that Google and Apple have convinced us can fit in our phones? These are examples of Applied AI. Applied AI is a piece of software that is designed to carry out a specific task similar to the way a human would. There are many applications of applied AI in the world around us. Siri and Alexa are programmed to understand voice commands (recognizing language) and return results based on those commands. There are similar applied AI systems in Tesla cars that automate driving, or in servers that automatically trade stocks based on certain conditions and criteria. Applied AI relies on extensive training, including what is known as “machine learning”.

So what is machine learning and how does it train AI? Machine learning is the idea that software can learn to recognize or do tasks that a human can do well, but up until now was very hard for a computer to do. Humans are good at things like reading handwriting, admiring dogs, talking to each other, telling jokes, and playing games. Computers are very good at crunching numbers very very fast. Machine Learning is the process by which a computer builds up the algorithms that allow them to turn a picture of a bird into numbers. The algorithm is given tons and tons of data, with a programmer specifying how the data should be read and sorted, and what actions should result from that. The algorithm is then adjusted and improved based on the results. The accuracy and success of an algorithm is defined as an accuracy goal that a programmer sets. Some examples may help illustrate how this process works.

XKCD comic - AI

Before available AI tools like Tensorflow, this comic was really accurate.

One of the most widely used applications for machine learning is identifying objects in images. This is known as computer vision and you’ve most likely helped train such an algorithm. Hundreds of thousands (if not millions) of images are gathered and humans tag them. The captcha security checks that ask you to identify cars, roads, street signs, and more are being used to train an algorithm. You can probably guess how this algorithm is being used. This algorithm, based on the choices humans make, begins to learn the various forms and shapes of cars and “learns” how to accurately identify them in images not tagged by humans. Once the algorithm has reached the accuracy goal provided by its programmers, we can say that it successfully “learned” what a car looks like. This is just one example of how machine learning is used and we’re just scratching the surface of what makes up an applied AI system.

Machine learning has a few different approaches that programmers use to successfully reach their accuracy goals. As the tasks grow more complex, many different algorithms working together are needed to complete them. The term “deep learning” defines these complex systems of algorithms, each with a task that identifies and categorizes data that other algorithms use. Deep learning is inspired by the structure and function of neurons in our brains. Neurons connect to other neurons, passing along information and contextualizing it based on information passed from other neurons. The deep learning algorithms take a similar approach. Each algorithm, or neuron, is responsible for a single task that determines whether a piece of data fits criteria set by its programmers. Every layer of this neural network picks out a specific feature to learn, such as identifying curves vs edges in image recognition, and passes these “tags” on to other neurons that are responsible for identifying other features. This layering gives deep learning its names, where the depth created by using multiple layers of neurons.

Now that we have a better idea of how AI functions in 2018, we can better explore how machine learning can be applied to the various systems we work with. We are super excited to see what students come up with this summer, whether its building the best video game playing robot or identifying whether an object is a hot dog or not. If you are interested in learning more, check out the AI & Machine Learning course page and sign up for our email list! In the meantime, I gotta squash some of the bugs in DMA-BOT 9000.


Palmer Mitchell

Palmer Mitchell has worked for DMA since 2012 producing awesome content with instructors and students. He's worked on the front lines as a Tech Director at Stanford and now works with instructors and DMA Staff to make each summer better than the last. In his free time, he watches the Golden State Warriors while raiding dungeons in Destiny 2 and World of Warcraft.