 So today I'm here in and I work part-time as a software developer and part-time annoying my colleagues by singing songs in the office time but the most of the things that I do is I build data-centric products, I use a lot of data and then build some meaningful product out of it. And today I'm going to talk about neural networks just to disclaimer neural network as such has nothing to do with neuroscience so if you guys are thinking oh man these guys are gonna board us with all the neuroscience things no that's not gonna happen I'm like the key here to break this chain of neuroscience here so neural networks let's let's see like what cool things happen in last five years right our facial recognition technology has improved a lot like with the new iPhone X now with the glasses without the glasses you can see whether it's me or it's my another neighbor who wants to steal my phone. Another thing is how many of you play computer games here online games like Dota or computer strike? No one? Alright so the guys who play the computer games or you might have heard it in the news like AlphaGo beating like actual humans and there are many interesting bots that are also being developed and it's very fascinating like how a computer can generate so much intelligence as that of a human even beat him in his own games. Under serious nerds or the more for the humanity sake aspect is like cancer detection and the prognosis just by looking at the images of the cancer or the scanning your certain body tissues so in this case like skin cancer or this is very cool guy so he's like the head of the MIT Media Lab he lost his bot legs and then now he built this advanced prosthetics so this bot legs is intelligent beauty so like oh I should use the technology to get me the two new legs and these legs are even much more efficient in doing very good deeds for the people who have lost the arms especially in the military things. All of these things are influenced by one specific principle and that particular technique we call neural networks that either subset of the problem are being solved by neural networks or like the whole scheme of things are being realized with the help of neural networks. So let's see what the neural network is. So neural network is a technique that we talk a lot about when we talk about machine learning okay there's another bus word machine learning so let's look at this what machine learning is first to understand what neural network is. So in machine learning there are two pillars data and your computer program so what we need is like we have certain set of data or certain type of data and we want to make computer programs using this data to solve one specific problems or some specific set of problems. They can be real life situations or they can be just like one specific goal that you want to set up and one of the other terms is when you look at the facial recognition technology so you can recognize different patterns using the data and medical diagnosis as we already established in the cancer research and speech translations for people who cannot see the things they can like especially for the blind people so they can just show go around with their phone and they can see okay I'm on the road here's a cat here's a dog and another image recognition. So let's look at this video the another cool thing happened recently was Google self-driving cars so this autonomous driving so let's jump to this and see. So here you can see like on the left hand side is the camera view of a person looks at the road and that's how a computer is looking at the road. There are two interesting things happening here the computer knows that okay there are different objects on the street meaning the cars or the cars coming from the upcoming traffic it's also recognizing its trajectory on the road and it's also classifying that it's a car it's a red light and these are the human beings going off like this in these yellow boxes here. So what it's trying to do here and this is really it's very complex but as a very specific set of problem that is also solving is classification it's classifying the different entities around in the environment as like car or it's a human being or it's a other car it's a traffic signal so that's what we call it's a problem of classification. So this looks pretty complex so let's have a very much simpler example to see how this classification is being achieved through neural networks. So for this we will take dogs and the cats. On the left hand side is my dog and on the right hand side is Victoria's cat. So what we want to do typically we want to give a picture to our computer program and computer program will tell us whether it's a cat or it's a dog. Of course it's not improbability if it will show me then maybe it will also tell like it's a dog but no we should keep it like okay no it's a human being. Alright so let's see that how neural network is so just consider that you give image this is a mean cat image you give to a computer program which we call the black box right now just for the sake of simplicity and it will give us the output whether it's a dog or it's a cat. Simple right let's open this black box. Now before doing that thing let's see what it means like giving an image to a black box means like am I like a postman and going like delivering like hey here's an image black box and give me the output like whether it's a cat or a dog. So computers is the things in numbers so let's look at this example of 28 by 28 pixel image of number 8 and as you can see it's made up of different pixels and each pixel is represented by a number for computer. The computers are pretty dumb so don't don't get me wrong so they don't know whether it's a number 8 or something they need to know how this it can they can do computations on it so you can see like it's various the black things it's all zeros and different depending on the contrast of the image there are different ways associated here so you can also see a number 8 here but yeah computer sees it like this all right now we know how the computer sees our image in the form of pixel and now another important property here happening is every pixel is contributing something as a property of that image and we call this in the process as features of your data so this is all the pixels here are the features of your data so all right so before going and really like unwilling and opening of the black box let's see why they are called neural networks like it's so confusing name can computer scientists come up with like some much more intelligent creative way for it actually turns out that in 1970s this idea and the motivation came from the human brain itself I'm not gonna talk about human brain and if I talk then I'm sure the neuroscientists will kill me because I don't know anything about human brain but just for the sake of the motivation as it can you already established there are certain regions of the brain they are meant to focus on certain specific tasks and for example if I'm looking at a dog then it's triggering certain neurons in my brain and these neurons are further on triggering and then I'm getting a perception oh it's a dog or it's a human being and another thing you're happening is not all the neurons like this mishmash happening into our brain are connected to each other few neurons are connected to some certain set of neurons and even these neurons when we are recognizing it's a dog or it's a cat they're not all are like being our brain is not like oh it's a dog no it's not happening it's just a specific set of region your woman then which is helping you to recognize that it's a dog so these things we took into consideration as a motivation for a neural network so now let's see like how can we create some sort of a neural network which imitates the behavior how our brain is imitating so that's how a very simple structure of neural network look like there is an input layer there is an output layer these are the simplest things to understand here so what the input layer is you see our image it has seven hundred eighty four pixels so in the input layer every node is representing one neuron again we are very creative we took the word neuron from the new neuroscience here and every node is representing a neuron and it's representing one pixel value so if you have seven hundred eighty four pixel if your image is much bigger then every node here is basically considering the value which is coming as an input for one particular set our output is very simple it's binary dog or a cat it's not like dog cat and zebra right so it's only dog and the cat and then in the middle are the hidden layers so hidden layers are looks pretty complex and complicated they are nothing you choose them before doing anything further when you're making a structure of your neural networks you say like i need a few more layers of computation and every layer you can decide like number of neurons but there's one interesting thing happening which is not happening in the human brain every neuron is connected with every other neuron so now the question is for a neural network to be intelligent what we need to do simply what our brain is doing is the same thing we need to do we need to find those meaningful connections between the neurons from one layer from our input data means our main cat image coming to the output layer we're saying like yes it's a cat we all need to find these combinations of connections and give them like certain advantage and certain weight so that at the end when we converge this whole network it gives us our respective output so this is the very basic state of a neural network nothing is it's very dumb right now giving 50 50 probability like it's a dog or it's a cat but when you start giving him and feeding him more data then it starts making a shape getting a shape out of it so for an example we call this as training this so we are training our neural network like in the gym so in the gym for this neural network is the images you are telling the neural network hey it's my main cat it's a cat and this is an image of a cat that's it so and then you understand oh wow wonderful my input layer everything and they start to do these computations i can go a bit more deeper into this but i think the in very simple terms what is happening here there are different weights assigned to the each connection between neurons so you can see it's 0.7 it's 1.2 whilst few weights are very low so it's exactly like we are dropping these connections their contributions is not that much high in recognizing with its cat or it's a dog and then at the end here are like whether it's a cat then this will be the output or it's a dog then this will be the output so and we do this for every image so more the image marry your model will be and at the end when you give it a new image of a cat then it detects with certain probability that it's a cat there are two cool things happening here what we did in the beginning we just defined the structure of our neural networks and it's just the brilliance of this neural network is it started to learn on its own and this is what is happening with every other bigger technology in autonomous driving the google self-driving power is also going through a lot of training phase so that it can really combat in the real life situation and that's no magic happening here there's a little bit of magic happening and that's what so here is as you can see again that all the combinations are being so not all the neurons connections are effective here and there are some specific output coming so this is just a combination of these connections leading to a specific output so as I said in reality things look a bit different there are like one layer of neural network to the another layer to the another layer to the another layer where which the new term they evolved right now deep learning so it's as you can see in the first level of the neural network we are just looking at the contrast of the face like okay what the face looks like in the second level itself using the information provided by the first layer of the neural networks we started to form like hey it's an eye here it's a nose here so we started to take even much more concrete feature and at the end we started to build like how the whole structure of the face looks like and then they say like oh it's a dog or it's a it's me or in this case so like it's a human like when you are holding your face in front of the camera okay so everything looks cool so we have neural networks now the world is our own so what are the challenges challenges is as some of you might already see one big challenge is how good your data is so it's like garbage in garbage up if i start giving the picture a mixed picture of me dog and the cats then of course your network and then you expect the network to give just two output like cat or dog come on it's not gonna work out in that matter second thing is the more you put this hidden list that we discussed before and then one layer giving the data to another layer to another layer your training time increased drastically so sometimes it takes days sometimes take like a few hours to train your model to train your computer program to do this kind of classification and let's say you did everything and we all here are brilliant scientists or brilliant people not everybody can find this then then we have this here so how many of you here thinks that this is a blueberry muffin and this is a chihuahua raise your hand very good your neural networks is very well trained congratulations you see like if your data looks like this you are screwed means here just by the way in this case neural network successfully was classifying these images as a blueberry muffin and that chihuahua or poor chihuahua but anyway so you see like it's pretty complicated your data really goes a lot but that i think if you are thinking that whole AI and everything is going to take over the world hold your horses there's a long road to go a lot of interesting things come with a lot of lot of work and we are really behind yet but maybe in the future we'll see this kind of conversation when robots is saying like i'm replaced by a human being not the other way around thank you for your attention so it's a very funny question when two scientists talk about that i have a neural network with one hidden layer and i'm using logistic regression as a sigmoid function the technically logistic regression neural network is the same one big difference which comes as depending on your features the neural network it's considered like it's remembering your data so when it's making the connections remembering the connections which so that it means you can also mold it when your feature size increase you can mold it and in other approaches let's say a very simple example our linear classic fire model it's like ax plus ex plus ex plus this goes to d then neural network is doing much more intelligently this thing because it's much more less prone to errors as well so it's not so sensitive to your data so i'm guessing you are machine learning scientist yourself all right then i'm sorry you just like going on we can talk about it in my brain i also have something to put to me it's possible to control or to observe this learning process so far that you can guarantee a better free function for a continent autonomous autonomous driving excellent question the problem is there is no failure free function so you need to know it like in reality design programs yes i can try to exactly i know so what you do technically is let's say you have a training phase so now you have trained your car you took the example of the car if i not it's as an example right so you train the car on munich roads and then you train the car on indian roads trust me it's gonna be different outcome why well there's nothing wrong with the road itself it's the wrong with the data that you're feeding to your model so your model based on how your training phase was looking like it tries to imitate the same behavior into the new settings as well and then it can work it cannot work so that's why i say environment also affects a lot how you should train your data and if you have taken all the considerations around then up to certain probability we can say that it's gonna perform well and of course with every training phase you can measure your data with your validation techniques it's like you can take some of the testing data put it in the training data and then see how your model is behaving and at every phase you can also control it did i answer your question thank you one question please poppies and the blueberry muffin i stole them cookies as well blueberry muffin so it cannot falsely eat exactly so you got my point in that way i thought that why i put that as an example because even if i trained my data on dog like how a normal dog look like and how a normal cat look like but i didn't give any data about how other things look like then it will start classifying blueberry muffins of the dog as well and if some person i don't know who are the cat lovers and dog lovers i don't know about it but let's say if you go into a room and start classifying that hey there are all the dogs here while they were all the blueberry muffins it's not going to be a good thing so you are absolutely correct here that the the quality of your data so the more the features that you can build with your data the more effective and the more robust and less sensitive it's going to be in the real-life situations so so we're going to have a break let's say thank you to her