Tag: Needing ML

Intelligent systems connect users to artificial intelligence (machine learning) to achieve meaningful objectives. An intelligent system is one in which the intelligence evolves and improves over time, particularly when the intelligence improves by watching how users interact with the system.

How do you know an intelligent system is right for you?

One key factor in knowing whether you’ll need an intelligent system is how often you think you’ll need to update the system before you have it right. If the number is small—for example, five or ten times—then an intelligent system is probably not right. But if the number is large—for example, every hour for as long as the system exists—then you might need an intelligent system.

There are four situations that clearly require this level of iteration:

Big problems, that require a lot of work to solve.

Open-ended problems, which continue to grow over time.

Time-changing problems, where the right answer changes over time.

Intrinsically hard problems, which push the boundaries of what we think is possible.

Big Problems

Some problems are big. They have so many variables and conditions that need to be addressed that they can’t really be completed in a single shot. For example, there are more web pages than a single person could read in their lifetime—more than a hundred people could read. There are so many books, television programs, songs, video games, live event streams, tweets, news stories, and e-commerce products that it would take thousands of person-years just to experience them all.

These problems and others like them require massive scale. If you wanted to build a system to reason about one of these, and wanted to completely finish it before deploying a first version… well, you’d probably go broke trying. When you have a big problem that you don’t think you can finish in one go, an Intelligent System might be a great way to get started, and an efficient way to make progress on achieving your vision, by giving users something they find valuable and something they are willing to help you improve.

Open-Ended Problems

Some problems are more than big. Some problems are open-ended. That is, they don’t have a single fixed solution at all. They go on and on, requiring more work, without end. Web pages, books, television programs, songs, video games, live event streams—more and more of them are being created every day.

Trying to build a system to reason about and organize things that haven’t even been created yet is hard. In these cases, a static solution—one where you build it, deploy it, and walk away—is unlikely to work. Instead, these situations require services that live over long periods of time and grow throughout their lifetimes. If your problem has a bounded solution, an Intelligent System might not be right. But if your problem is big and on-going, an Intelligent System might be the right solution.

Time-Changing Problems

Things change. Sometimes the right answer today is wrong tomorrow. For example:

Imagine a system for identifying human faces—and then facial tattoos become super popular.

Imagine a system for moving spam email to a junk folder—and then a new genius-savant decides to get in the spam business and changes the game.

Or Imagine a UX that users struggle to use—and then they begin to learn how to work with it.

One thing’s for certain—things are going to change. Change means that the intelligence you implemented yesterday—which was totally right for what was happening, which was making a lot of users happy, maybe even making your business a lot of money—might be totally wrong for what is going to happen tomorrow. Addressing problems that change over time requires the ability to detect that something has changed and to adapt quickly enough to be meaningful. If your domain changes slowly or in predictable ways, an Intelligent System might not be needed. On the other hand, if change in your domain is unpredictable, drastic, or frequent, an Intelligent System might be the right solution for you.

Intrinsically Hard Problems

Some problems are just hard. So hard that humans can’t quite figure out how to solve them. At least not all at once, not perfectly. Here are some examples of hard problems:

Understanding human speech.

Identifying objects in pictures.

Predicting the weather more than a few minutes in the future (apparently).

Competing with humans in complex, open-ended games.

Understanding human expressions of emotion in text and video.

In these situations, machine learning has had great success, but this success has come on the back of years (or decades) of effort, gathering training data, understanding the problems, and developing intelligence. These types of systems are still improving and will continue to improve for the foreseeable future. There are many ways to make progress on such hard problems. One way is to close the loop between users and intelligence creation in a meaningful application using an Intelligent System.