Sunday, April 9, 2017

SXSW Day 6 session 4: AI in America: preparing our kids

Andrew Moore, Dean of school of computer science, Carnegie Mellon

How does AI work?  Lets take an example of a question asked from a voice assistant on your phone: what happens when you ask Google's voice assistant a question, say, “show me a picture of a celebrity in an orange dress”.  Google wants to provide a response to be returned in 0.3 seconds – so how does it do it?  Here's a step by step breakdown:

  1. The phone's microphone generates the wave forms of the question and digitizes them.
  2. The digitized wave forms are encrypted and uploaded to Google's nearest data center.
  3. The wave form is analyzed, and converted into a number of guesses as to what was asked, each with a rank of how likely the guess is correct.
  4. Each of the guesses is sent to thousands of servers, who race each other to find answers for the question.
  5. Each server checks its cache of frequently asked questions to see if the question it receives matches; if it does it sends the results back.
  6. If not, it does a search on the words inside the search, looking for results that provide the best match to the most number of words.
  7. Eventually each server returns the result it found to an evaluation server, that provides a score as to high likely the result is the right answer to the question asked, and identifies the top scores.
  8. The answers with the highest scores are send back to the phone.  This is done before the evaluation server even gets all the answers back.  Servers that go beyond the SLA provided will "give up" to not waste time on an answer that is known will not be returned.
  9. The phone displays the top results.

All of this happens in under a second.  There's no magic in what Google does, therefore, just a lot of work broken down to lots and lots of servers.

He then broke down the different components of AI as per the following diagram:

Nowadays, there are ready-made solutions for the individual pieces of AI, such as perceiving (software that identifies something in a picture or video) or software APIs that can be used to build projects.  Using these individual and ready-made solutions, even a person (or kid) who is not tech savvy, can aggregate them together into a meaningful AI application.  He gave a number of examples from camps the university held with children and teenagers, where after very quick training they were able to create their own applications using these building blocks.
He does recommend an educational foundation for all kids, in preparation to a world where AI is prevalent.  He says computer science doesn't have to be taught too early - 9th grade is probably optimal for most kids.  Before that, there are other basic skills that can be taught that will prepare kids for computer science.  He suggests the following curriculum: 




No comments:

Post a Comment