From the course: Artificial Intelligence Foundations: Thinking Machines

Data vs. reasoning

- Even though symbolic reasoning, machine learning, and artificial neural networks are all very different, they're still considered part of AI. That means if you're starting an AI project, you might have to figure out which one of these approaches works best. Symbolic reasoning can perform well if you have an abstract problem, but also know the steps to find a solution. Machine learning is useful when you have to tinker to get the solution. You don't really know the steps and you have to look for larger patterns to come up with the likeliest answer. This approach requires several iterations to arrive at a conclusion. Some researchers even mix these two approaches. They use symbolic reasoning to come up with some constraints and then use machine learning to experiment with different answers. When you start your project, you'll have to decide which approach would work best. You might even try to balance the two. Think of it this way. Let's take something like a ceiling fan. Kids and adults alike can easily recognize one. Even though there are many different types, they usually follow a similar pattern. There are two or more blades spinning on the ceiling as a way to increase air flow. Now let's imagine you want to create an artificial intelligent program that could identify a ceiling fan. You could try to use symbolic reasoning. This is much closer to how most humans would perceive the fan. It relies on human experts to fully describe the fan. An expert would plug in some of the key attributes. If it's on the ceiling, then it's much more likely to be a ceiling fan. You could also plug in some of the names of the top manufacturers. Something like if it's on the ceiling and it has this symbol on it that says American Fans, then it's much more likely to be a ceiling fan. You could go through it this way step by step, hard coding most of the reasoning. The second option you could try is to use a deep learning artificial neural network. With this approach, you want to pump as much data as you can through the network. First, you can train the machine to recognize fans through images or videos of fans. Then you could attach a sensor to detect changes in wind speed. That way, the machine could detect the patterns of air moving through the room. You could also feed in terabytes of audio data into the network so the machine could recognize the whooshing of moving air or the hum of the motor. You'll have your neural network process all this data. Then it will create a model you can use to make an accurate guess about whether or not you're looking at a ceiling fan. Each of these approaches has its own advantages and disadvantages. Symbolic reasoning might work for most ceiling fans. Chances are if it's on the ceiling and it has two or more blades, then it's a ceiling fan. But if it's misidentified or strangely designed, then you won't get any type of answer. Machine learning also has its advantages. It could zero in on the perfect pattern. It will process a mixture of images, sounds, and wind movements. Once you fed it enough data, the artificial neural network would probably be able to identify ceiling fans better than most humans. It also has the advantage of not relying on the human-friendly data. If it's using sounds and wind motions, then it will have extra abilities beyond what humans can perceive. For one, you'll be able to identify ceiling fans 24 hours a day and even in complete darkness. You should also keep in mind that symbolic reasoning would be the only approach if you don't have massive amounts of data. It's the only approach you can take when you don't have images, sounds, and wind speeds. Even for this relatively simple AI program, you can see how you might have two entirely different challenges. You might have one program using symbolic reasoning that took a long time to set up, but doesn't rely on outside data or you could have another program that relies on terabytes of data and may need to be tweaked and updated. When you start an AI program, it's important to understand the trade-offs of each of these approaches. Then you could think about the best way to help your machine think about the challenge.

Contents