1 00:00:00,300 --> 00:00:02,966 Hello and welcome back to the course on Deep Learning. 2 00:00:02,966 --> 00:00:05,933 So we've learned quite a lot in this section of the course. 3 00:00:05,933 --> 00:00:08,433 Let's summarize what we've talked about. 4 00:00:08,433 --> 00:00:09,933 All right so here we go. 5 00:00:09,933 --> 00:00:13,833 We started with an input image to which we applied multiple different 6 00:00:13,833 --> 00:00:18,800 feature detectors or also called filters to create these feature maps. 7 00:00:18,933 --> 00:00:21,466 And this comprises our convolutional layer. 8 00:00:21,466 --> 00:00:25,666 Then on top of that crucial layer we applied the ReLU or rectified 9 00:00:25,733 --> 00:00:28,900 linear unit to remove any linearity 10 00:00:28,900 --> 00:00:31,900 or increased non-linearity in our images. 11 00:00:31,900 --> 00:00:36,833 Then we applied a pooling layer to our convolutional layer. 12 00:00:36,866 --> 00:00:42,766 So from every single, feature map we created a pooled feature map. 13 00:00:42,766 --> 00:00:45,766 And basically the pooling layer has lots of advantages. 14 00:00:45,766 --> 00:00:50,433 The main purpose of the pooling layer is to make sure that we have, 15 00:00:51,066 --> 00:00:54,600 especially spatial invariance in our images. 16 00:00:54,600 --> 00:00:58,733 So basically if something tilts or twists or is a bit 17 00:00:58,866 --> 00:01:02,733 different to the ideal scenario, then we can still pick up that feature. 18 00:01:02,900 --> 00:01:06,733 Plus pooling significantly reduces the size of our images. 19 00:01:06,900 --> 00:01:10,366 also, pooling helps, with avoiding 20 00:01:10,833 --> 00:01:15,033 any kind of overfitting of our data or of our model to the data, 21 00:01:15,033 --> 00:01:18,033 because it just simply gets rid of a lot of that data. 22 00:01:18,300 --> 00:01:22,933 But at the same time, pooling preserves, the main features that we after, 23 00:01:22,933 --> 00:01:26,366 just because the way it's structured and the pooling we used was max pooling, 24 00:01:26,833 --> 00:01:29,433 then we flattened all of the pooled images 25 00:01:29,433 --> 00:01:33,233 into one along a vector or, column 26 00:01:33,233 --> 00:01:37,900 of all of these values, and we input that into an artificial neural network. 27 00:01:38,200 --> 00:01:40,033 And that was step three flattening. 28 00:01:40,033 --> 00:01:44,400 And step four is the fully connected, artificial neural network where, 29 00:01:44,933 --> 00:01:47,500 all of these features are processed through a network. 30 00:01:47,500 --> 00:01:51,600 And then we have this final layer, final fully connected layer, 31 00:01:51,866 --> 00:01:55,933 which performs the voting towards the classes that we're after. 32 00:01:55,933 --> 00:02:00,366 And then all of this is trained through a forward, propagation 33 00:02:00,366 --> 00:02:05,000 and back propagation process and lots of lots of iterations and epochs. 34 00:02:05,033 --> 00:02:09,300 And in the end, we have a, very well defined neural network. 35 00:02:09,600 --> 00:02:12,900 And the important another important thing is not only the weights are trained 36 00:02:12,900 --> 00:02:17,366 in artificial neural network part, but also the feature detectors are trained 37 00:02:17,366 --> 00:02:21,600 and adjusted in that same gradient descent process. 38 00:02:21,833 --> 00:02:23,833 And that allows us to come up with the best feature maps. 39 00:02:23,833 --> 00:02:27,600 And in the end, we get a fully trained convolutional neural network, 40 00:02:27,600 --> 00:02:31,266 which can recognize images and classify them. 41 00:02:31,600 --> 00:02:32,266 So there we go. 42 00:02:32,266 --> 00:02:35,266 That's how convolutional neural networks work. 43 00:02:35,600 --> 00:02:38,900 And now you should be totally comfortable with this concept 44 00:02:38,900 --> 00:02:42,000 and ready to proceed to the practical applications. 45 00:02:42,200 --> 00:02:44,433 If you'd like to do some additional reading, 46 00:02:44,433 --> 00:02:47,266 then there's a great blog by Aldi 47 00:02:47,266 --> 00:02:50,466 to disband the, from 2016. 48 00:02:50,800 --> 00:02:53,233 you can see the link over there at the bottom. 49 00:02:53,233 --> 00:02:55,866 So the blog is called the nine Deep Learning Papers 50 00:02:55,866 --> 00:02:59,133 You Need to Know About Understanding CNNs part three, 51 00:02:59,133 --> 00:03:03,266 and this blog actually gives you a short overview of nine different CNNs 52 00:03:03,500 --> 00:03:07,000 that have been created by people like Yann LeCun and others, 53 00:03:07,800 --> 00:03:10,500 which you can then go ahead and study further. 54 00:03:10,500 --> 00:03:14,600 So, there will be a lot of new things that will be 55 00:03:14,600 --> 00:03:18,433 totally new to you and that you will have to, get your head around. 56 00:03:18,433 --> 00:03:22,433 But just keep this blog in mind, or these nine, papers in mind. 57 00:03:22,433 --> 00:03:25,500 And even if you're not ready to go through them right now, maybe 58 00:03:25,500 --> 00:03:29,100 off to the practical tutorials, maybe after you do some additional 59 00:03:29,366 --> 00:03:33,833 training in the space of deep learning, slowly you can then reference these works. 60 00:03:33,833 --> 00:03:37,566 And ideally I think you will get a lot of value 61 00:03:37,566 --> 00:03:41,166 through looking through other people's neural networks and how they structured 62 00:03:41,400 --> 00:03:43,133 their convolutional nets. 63 00:03:43,133 --> 00:03:44,600 And that will help you understand 64 00:03:44,600 --> 00:03:48,033 what are the best practices and why people did certain things in a certain way. 65 00:03:48,300 --> 00:03:51,800 And that will help you with your architecture of neural networks, 66 00:03:51,800 --> 00:03:57,700 because neural networks and convolutional neural networks in are not an exception. 67 00:03:57,833 --> 00:04:01,500 They are like an architecture, challenge. 68 00:04:01,500 --> 00:04:05,300 You have to come up with a, idea and then structure it 69 00:04:05,300 --> 00:04:08,600 and then adjust it and tweak it to get the best possible design 70 00:04:08,600 --> 00:04:11,600 and the best possible and optimal performance. 71 00:04:11,633 --> 00:04:13,300 So there we go. That's us for today. 72 00:04:13,300 --> 00:04:14,700 I hope you enjoyed today's tutorial. 73 00:04:14,700 --> 00:04:17,566 And this whole section, and I look forward to seeing you next time. 74 00:04:17,566 --> 00:04:19,366 Until then, enjoy deep learning.