WEBVTT 1 00:00:00.080 --> 00:00:03.030 - Even though symbolic reasoning, machine learning, 2 00:00:03.030 --> 00:00:06.040 and artificial neural networks are all very different, 3 00:00:06.040 --> 00:00:08.090 they're still considered part of AI. 4 00:00:08.090 --> 00:00:11.030 That means if you're starting an AI project, 5 00:00:11.030 --> 00:00:12.020 you might have to figure out 6 00:00:12.020 --> 00:00:14.090 which one of these approaches works best. 7 00:00:14.090 --> 00:00:17.010 Symbolic reasoning can perform well 8 00:00:17.010 --> 00:00:19.030 if you have an abstract problem, 9 00:00:19.030 --> 00:00:22.040 but also know the steps to find a solution. 10 00:00:22.040 --> 00:00:24.000 Machine learning is useful 11 00:00:24.000 --> 00:00:26.070 when you have to tinker to get the solution. 12 00:00:26.070 --> 00:00:28.020 You don't really know the steps 13 00:00:28.020 --> 00:00:30.050 and you have to look for larger patterns 14 00:00:30.050 --> 00:00:33.020 to come up with the likeliest answer. 15 00:00:33.020 --> 00:00:36.020 This approach requires several iterations 16 00:00:36.020 --> 00:00:38.000 to arrive at a conclusion. 17 00:00:38.000 --> 00:00:41.010 Some researchers even mix these two approaches. 18 00:00:41.010 --> 00:00:44.040 They use symbolic reasoning to come up with some constraints 19 00:00:44.040 --> 00:00:46.010 and then use machine learning 20 00:00:46.010 --> 00:00:49.010 to experiment with different answers. 21 00:00:49.010 --> 00:00:50.070 When you start your project, 22 00:00:50.070 --> 00:00:54.010 you'll have to decide which approach would work best. 23 00:00:54.010 --> 00:00:56.060 You might even try to balance the two. 24 00:00:56.060 --> 00:00:58.010 Think of it this way. 25 00:00:58.010 --> 00:01:00.060 Let's take something like a ceiling fan. 26 00:01:00.060 --> 00:01:04.030 Kids and adults alike can easily recognize one. 27 00:01:04.030 --> 00:01:06.030 Even though there are many different types, 28 00:01:06.030 --> 00:01:09.000 they usually follow a similar pattern. 29 00:01:09.000 --> 00:01:10.070 There are two or more blades 30 00:01:10.070 --> 00:01:14.050 spinning on the ceiling as a way to increase air flow. 31 00:01:14.050 --> 00:01:16.000 Now let's imagine you want to create 32 00:01:16.000 --> 00:01:18.020 an artificial intelligent program 33 00:01:18.020 --> 00:01:21.030 that could identify a ceiling fan. 34 00:01:21.030 --> 00:01:23.060 You could try to use symbolic reasoning. 35 00:01:23.060 --> 00:01:26.010 This is much closer to how most humans 36 00:01:26.010 --> 00:01:27.090 would perceive the fan. 37 00:01:27.090 --> 00:01:32.080 It relies on human experts to fully describe the fan. 38 00:01:32.080 --> 00:01:35.080 An expert would plug in some of the key attributes. 39 00:01:35.080 --> 00:01:37.010 If it's on the ceiling, 40 00:01:37.010 --> 00:01:39.070 then it's much more likely to be a ceiling fan. 41 00:01:39.070 --> 00:01:40.070 You could also plug in 42 00:01:40.070 --> 00:01:43.050 some of the names of the top manufacturers. 43 00:01:43.050 --> 00:01:45.040 Something like if it's on the ceiling 44 00:01:45.040 --> 00:01:49.010 and it has this symbol on it that says American Fans, 45 00:01:49.010 --> 00:01:52.010 then it's much more likely to be a ceiling fan. 46 00:01:52.010 --> 00:01:55.030 You could go through it this way step by step, 47 00:01:55.030 --> 00:01:58.020 hard coding most of the reasoning. 48 00:01:58.020 --> 00:02:00.000 The second option you could try 49 00:02:00.000 --> 00:02:03.050 is to use a deep learning artificial neural network. 50 00:02:03.050 --> 00:02:04.060 With this approach, 51 00:02:04.060 --> 00:02:08.010 you want to pump as much data as you can through the network. 52 00:02:08.010 --> 00:02:11.070 First, you can train the machine to recognize fans 53 00:02:11.070 --> 00:02:14.050 through images or videos of fans. 54 00:02:14.050 --> 00:02:16.050 Then you could attach a sensor 55 00:02:16.050 --> 00:02:18.070 to detect changes in wind speed. 56 00:02:18.070 --> 00:02:20.050 That way, the machine could detect 57 00:02:20.050 --> 00:02:23.010 the patterns of air moving through the room. 58 00:02:23.010 --> 00:02:24.060 You could also feed in 59 00:02:24.060 --> 00:02:27.040 terabytes of audio data into the network 60 00:02:27.040 --> 00:02:31.000 so the machine could recognize the whooshing of moving air 61 00:02:31.000 --> 00:02:33.020 or the hum of the motor. 62 00:02:33.020 --> 00:02:36.080 You'll have your neural network process all this data. 63 00:02:36.080 --> 00:02:38.080 Then it will create a model you can use 64 00:02:38.080 --> 00:02:40.040 to make an accurate guess 65 00:02:40.040 --> 00:02:44.000 about whether or not you're looking at a ceiling fan. 66 00:02:44.000 --> 00:02:45.040 Each of these approaches 67 00:02:45.040 --> 00:02:48.090 has its own advantages and disadvantages. 68 00:02:48.090 --> 00:02:52.060 Symbolic reasoning might work for most ceiling fans. 69 00:02:52.060 --> 00:02:54.060 Chances are if it's on the ceiling 70 00:02:54.060 --> 00:02:56.010 and it has two or more blades, 71 00:02:56.010 --> 00:02:57.080 then it's a ceiling fan. 72 00:02:57.080 --> 00:03:01.020 But if it's misidentified or strangely designed, 73 00:03:01.020 --> 00:03:04.010 then you won't get any type of answer. 74 00:03:04.010 --> 00:03:06.080 Machine learning also has its advantages. 75 00:03:06.080 --> 00:03:09.060 It could zero in on the perfect pattern. 76 00:03:09.060 --> 00:03:12.040 It will process a mixture of images, 77 00:03:12.040 --> 00:03:14.060 sounds, and wind movements. 78 00:03:14.060 --> 00:03:16.060 Once you fed it enough data, 79 00:03:16.060 --> 00:03:18.040 the artificial neural network 80 00:03:18.040 --> 00:03:22.010 would probably be able to identify ceiling fans 81 00:03:22.010 --> 00:03:24.030 better than most humans. 82 00:03:24.030 --> 00:03:26.080 It also has the advantage of not relying 83 00:03:26.080 --> 00:03:29.000 on the human-friendly data. 84 00:03:29.000 --> 00:03:31.070 If it's using sounds and wind motions, 85 00:03:31.070 --> 00:03:33.070 then it will have extra abilities 86 00:03:33.070 --> 00:03:36.090 beyond what humans can perceive. 87 00:03:36.090 --> 00:03:40.040 For one, you'll be able to identify ceiling fans 88 00:03:40.040 --> 00:03:45.010 24 hours a day and even in complete darkness. 89 00:03:45.010 --> 00:03:48.000 You should also keep in mind that symbolic reasoning 90 00:03:48.000 --> 00:03:49.030 would be the only approach 91 00:03:49.030 --> 00:03:52.000 if you don't have massive amounts of data. 92 00:03:52.000 --> 00:03:53.090 It's the only approach you can take 93 00:03:53.090 --> 00:03:57.070 when you don't have images, sounds, and wind speeds. 94 00:03:57.070 --> 00:04:00.080 Even for this relatively simple AI program, 95 00:04:00.080 --> 00:04:02.050 you can see how you might have 96 00:04:02.050 --> 00:04:05.040 two entirely different challenges. 97 00:04:05.040 --> 00:04:08.070 You might have one program using symbolic reasoning 98 00:04:08.070 --> 00:04:10.070 that took a long time to set up, 99 00:04:10.070 --> 00:04:13.030 but doesn't rely on outside data 100 00:04:13.030 --> 00:04:15.010 or you could have another program 101 00:04:15.010 --> 00:04:17.040 that relies on terabytes of data 102 00:04:17.040 --> 00:04:20.090 and may need to be tweaked and updated. 103 00:04:20.090 --> 00:04:22.080 When you start an AI program, 104 00:04:22.080 --> 00:04:24.040 it's important to understand 105 00:04:24.040 --> 00:04:27.030 the trade-offs of each of these approaches. 106 00:04:27.030 --> 00:04:29.040 Then you could think about the best way 107 00:04:29.040 --> 00:04:33.000 to help your machine think about the challenge.