Defrag This has covered machine learning and AI at a higher level—but never before have we had the chance to dive into how autonomous applications work by design.
Today is our lucky day, because our guest is AI designer Jeff Smith, data scientist, developer, and author of Reactive Machine Learning Systems, available in Fall 2017.
Those of you following Defrag This know we’ve covered machine learning and AI at a higher level—but never before have we had the chance to dive into how autonomous applications work by design. Today is our lucky day, because our guest is AI designer Jeff Smith.
Machine learning is a way for applications to understand which data is important and how to use that data to make decisions on their own without the need to be reprogrammed. But this also means that these applications will need to be designed in a way that makes sense to the end user.
The pro at balancing this is Jeff Smith, data scientist, developer, and author of Reactive Machine Learning Systems, available in Fall 2017. After a couple of years as an AI architect over at x.ai, Smith recently launched a new startup called John Done, an AI that makes telephone calls for you.
Smith has been building data science applications for about a decade. After working in bioinformatics—building software systems to reason about genomic data—Smith changed direction toward more general work within data science and machine learning.
“When I was debating leaving working exclusively on biological problems into more general problems, I came across Ben Goertzel, who’s the father of artificial general intelligence,” Smith said. Once Smith jumped on Goertzel’s project to use AI to predict the Hong Kong stock market, he was sold on AI.
“That opened my eyes to all of the sophisticated things that we were really going to be able to do within the next 10 years within artificial intelligence,” Smith said. “Since then, I’ve just tried to find ever more exciting, unique opportunities where people want to bring the team and the money and the resources to bear on some new way of deploying artificial intelligence technology on some exciting problem that just now has become tractable.”
Cue your concern that someday Smith is going to solve a problem that will put you out of work.
Will AI steal our jobs?
Nah, quit worrying.
“Pretty much everything I’ve ever built is a tool that augments someone else’s intelligence,” Smith said.
Take scheduling meetings over email. It’s something most of us have wished we didn’t have to waste our time doing. Which is why x.ai built an AI that does it for you.
But that doesn’t mean the end of personal assistants, because scheduling meetings is not the only thing humans do at work. “When you’re able to some chores off someone’s plate, all you’ve done is amplify their ability,” Smith said.
Instead, the result is that someone spent a small amount of money to get back a huge chunk of time, plus clarity and focus. This is what Smith says cognitive technologies should do: “We’re going to see ways that we make people more effective at doing the things that they already wanted to do by carving out those things that are more properly the role of technology—to free up people to do the things that people do best.”
What does machine learning have to do with AI?
Machine learning just means learning from data. And learning, for machines, basically just means getting better at some performance statistic.
Because a lot of domains that weren’t data-rich suddenly are now, machine learning has gotten more press. Like how everybody walks around carrying supercomputers in our pockets, ambiently generating a ton of data. “This creates a unique opportunity to define things you would like a machine to get better at,” Smith said.
Such as if you really want to listen to the next 20 best songs that are closest to the song you’re listening to right now. “It’s a classic recommender systems problem.”
But beyond that, machine learning can also help us use machines for things we don’t usually use a machine for, like converse in natural language to have a purposeful conversation or negotiate a transaction.
“Machine learning is the whole process of framing a question with some data and a metric that we can measure ourselves against, and then building a system that loops over that continuously in some fashion,” Smith said.
If this is clear as mud, just think about a system that gets better at doing what you’ve asked it to do the more data you give it. Bam, machine learning.
But what do you do about bad data?
Or more specifically, how do you teach a machine to know what good or bad data is?
“People have looked at the problem of bad data from all sorts of different perspectives,” Smith said. In the context of ad tech, he’s built real-time systems to collect user data to segment users and target ads specifically towards them—getting an AI to profile shoppers.
“The particular problem with bad data that I encountered there was an error in a partner integration that resulted in massive floods of data that we could not ingest because it caused problems with our backend services through an integration with an infrastructure provider. We literally couldn’t save the data.” Heartbreaking, but it motivated Smith to explore how to teach a system what is normal behavior and how to self-heal.
And sometimes you get a “torrent of utterly garbage data,” like how no human being can load a page 1,000 times a second. In that case, you just equip a system with something like circuit breakers, where the system can recognize something is broken and compartmentalizes the problem without disturbing or disrupting the core mission of the system, Smith said.
This complexity is only a couple of years old in machine learning, but it’s one of the most powerful techniques in AI—its ability to deal with real-world complications, like bad data. Smith says this is a very real problem that should be dealt with at the system design level. And one approach is reactive machine learning.
Uh, exactly what is reactive design?
“A bunch of different things overlap in the space of being named reactive. One of them is actually reactive design, which is a user interface paradigm,” Smith explained.
Another one is reactive systems design, which refers to the idea that users have pretty high expectations of our systems. “It’s all these implicit expectations of the contract we have made between ourselves as technology developers and those customers that we serve.”
So, real reactive design has to do with the properties that a good system has to fulfill those expectations. The ability to compartmentalize errors. Or intrinsic supervision hierarchies within your system—so that one part is in charge of knowing if the other part if broken so you can react accordingly.
Or replication. “In the modern web, everyone is building a distributed system of some sort,” Smith said. A phone up to your backend server quickly becomes many backend servers, and now you need a pipeline to learn from all that data.
“We’re all living within the world of distributed systems, and so you need to organize ways of communicating and structuring the way that you pass messages.” Not to mention the fact that your data lives in more than one place and always will. You need reactive design to turn that into an advantage, to have some kind of fault tolerance to recover from failure.
“Reactive design does not try to oversimplify the problem, but rather it embraces the complexity of sophisticated modern technology,” Smith said.
How will machine learning change the near future?
Smith has John Done do his laundry. For real. It calls and asks the laundromat to pick up his laundry every week, then it calls and asks them to deliver it to him when it’s done.
“The biggest change that not a lot of people have seen yet is having an intelligent agent on your team, a software that has a whole identity and a personality and a responsibility,” Smith said. “That’s something we built at x.ai and this is something I’m trying to build right now at John Done.”
If you can express a task in terms of “this needs to be done” or “I want to follow up on that,” then Smith aims to model intelligent agents to take on some of those tasks.
But seriously, the laundry is totally taken care of.
It’s incredibly complex, getting an AI to solve problems for you on the telephone. You need a speaking intelligent agent that make phone calls, coordinate complex issues within your personal and professional life, converse with a human to track down pieces of information, and then reach a conclusion about 1) whether you got an answer and 2) if you got the right answer.
“This sort of technology will become commonplace,” Smith said. Soon, when you see people with headphones in their ears, you can stop assuming they’re listening to music or on a call. What they’ll be doing is coordinating with verbal computing technologies that are backed by powerful artificial intelligence. “They’ll be able to just assign pieces of work and hear back how they came out.”
People are going to wake up and realize—they can hand off responsibility for chores and other basic tasks. And autonomous intelligent agents will get it all done for them because the AIs really understand what they’re supposed to accomplish.
“It is a very exciting future to imagine taking those nasty to-do list items off of your plate and focusing on the things you want to do, where you provide value as a person,” Smith said. “Let the bots sweep the floors, do the laundry, things like that.”
Any second, these massive advances within linguistic technology and machine learning are going to turn the future into now. Sold.
Jeff Smith’s book, Reactive Machine Learning Systems, is available for preorder on Amazon or as an early access eBook now on manning.com. Follow him on Twitter @jeffksmithjr, or check out his blog at Medium.com.