yes I agree but for simplicity sake he should have done a 0 to 1, 0 being black 1 being white and 0.5 being grey, because almost everyone follows that pattern, and for new learners its a bit harder for them to switch from thinking about -1 to 1 to 0 to 1
I watched your videos 3 years ago. It'salmost nostalgic. You may not see this. But you're one of the reasons I kept moving through with Machine Learning
"Connections are weighted, MEANING".... Holy fuck.....after viewing numerous videos from youtube, online courses and google talks.... (often with comments below saying "thanks for the clear explanation")....This is the FIRST person i have EVER seen that has actually explained what the purpose of weights are....
Tremor244 I am by no means an expert but weighting is what makes the network "learn" to be correct. By changing the weights it changes the output of each neuron and eventually the output of the network. If you tune the weights enough you will eventually get an output that is what it is supposed to be. i hope this helps
I don't work with neural networks but with other types of machine learning. But weighting is more or less the same in all these fields of mathematics. You want a system that, provided with an input (an image, for instance), achieves its classification as the output. For instance you have a scenery (input) and you want to know if it's from vacations at the mountains or at the beach (a classification, ie. the output). So you pass the image trough a set of filters: (1) does the image have umbrellas? (2) does it have clouds? (3) is there a lot of blue? (4) is there a lot of brown?, etc. If the image passes a specific combination of filters, there is a greater probability that the image is of a specific type (for instance, if the image (1) have umbrellas, (3) is blueish and isn't (4) brownish, it's more likely to be from the BEACH). But how much more likely? That's when the WEIGHTING comes into play. Through machine learning we want to calculate some coefficients (weights) that state a sort of likelihood of an image to pass a filter, given its type (for instance, if it has umbrellas there's a probability of 0.9 out of 1 (90%) that it is from the beach and not from a mountain, but if there's a lot of blue maybe only 0.6 of those images are from the beach, and so the WEIGHT IS LIGHTER. That means that, if the image passes a filter of COLOR BLUE it is likely to be from a BEACH, but if it passes a filter of UMBRELLAS it is EVEN MORE LIKELY). Weights, then, are a parameter of RELEVANCE of each of the selected filters to achieve the correct classification. So we make the machine learn from LOTS (thousands, perhaps) of images that we KNOW are from the beach or the mountain. One image from the beach has umbrellas, so the classification through the filters was correct and then the WEIGHT for the umbrellas is increased. But if there is an image of the mountains with umbrellas and the program says it's from the beach, the weight goes down for the umbrellas. When we did this with a lot of images, the weights are FINE TUNED to classify correctly most of the time (if the filters are any good... if we chose wrong filters from the beginning, then there's a chance the dictionary won't get any better even fed with lots of images. That could also happen if the training images are biased: ie. if they don't represent the real set of images that we want to classify). I hope this works better for you!
If you have had a course on linear regression, you will recognize weights are equivalent to parameters. They are just "free variables" you adjust in order to match inputs with outputs. In one-dimensional linear regression, the parameters are the slope and offset of a line, you adjust them so that the distance between the line and your points (your training examples) is the least. Neural networks use the same idea as statistical regression. The main difference is that neural networks use a lot of weights (parameters), and for this reason you have to care about overfitting. This in general does not happen in linear regression, since the models are way more parsimonious (use only a few parameters). The use of a lot of weights is also the reason why neural networks are good general approximators, the large amount of weights give them high flexibility. They are like bazookas, while statistical regression is more like a small gun. The point is that most of the times you need only a small gun. However, people like to apply neural networks to problems where linear regression would do a good job since NN are "sexier".
I've been struggling to wrap my head around this topic for a few days, now. You went through everything very slowly and thoroughly and I'm now ready to dive into more complex lessons on this. Thank you so much, Brandon!
Great video. Here are my notes: 7:54: The edges going into the bottom right node should be white instead of black. This small error repeats throughout the video. 10:47: You fixed the color error. 11:15: Man, this video feels good. 21:41: Man, this video feels really good. An extension for the interested: Sometimes we calculate the error of a network not by comparing its output to labels immediately, but by first putting its output through a function, and comparing that new output to something we consider to be the truth. That function could be another neural network. For example, in real-time style transfer (Johnson et al.), the network we train takes an image and transforms it into another image; we then take that generated image and analyze it with another neural network, comparing the new output with something we consider to be the truth. The point of the second neural network is to assess the error in the generated image in a deeper way than just calculating errors pixel by pixel with respect to an image we consider to be the truth. The authors of the real-time style transfer paper call this higher-level error "perceptual loss", as opposed to "per-pixel loss". I know this was outside the scope of this video, but it was helpful to me to write it, and I hope it will help someone who reads it.
I had the idea of doing perceptual loss before I even knew the term for it, seems like it would work better for warp transforms and the like versus level transforms.
Alternatively, the edges are correct but the corresponding picture should be flipped. Regardless, the final step (output perceptron at the bottom indicating horizontal) works with either the white white edges or the black black edges scenario.
I hate how many people try to explain complicated concepts that require math without using math. Because you used clear mathematical notation, you made this much easier to understand. Thank you so much.
I've watched many videos on UA-cam but non of the videos explained the concepts as intuitively as you did. Thought I have to watch it again as I've failed to grasp some concepts, I am sure that it will be clear as I watch more.
Fantastic description of what these networks do. I've gone thru a few of these explainers and all they demonstrated was the person knew their subject, they just couldn't teach it. They talk in jargon, that quickly loses those unfamiliar. IOW they're not teaching, they're having a 'conversation' with those who are already versed and have background in the field. Einstein is to have said, 'If you can't explain it simply, then you don't understand it yourself' Thanks, again. I walk away feeling like I actually learned something. You Can Teach.
I already knew how neural networks work, but next time someone asks me, I'll consider showing him or her this video! Your explanation is visualized really nicely.
Brilliant! I was involved 50 years ago in a very early AI project and was exposed to simple neural nets back then. Of course, having no need for neural nets, I forgot most of what I ever knew about them during the interval. And, wow, has the field expanded since then. You have given a very clear and accessible explanation of deep networks and their workings. Will happily subscribe and hope to find further edification on Reinforcement Learning from you. THANK YOU.
As a chemist who just recently took Physical Chemistry, back propagation makes SOOO much more sense to me when you put it into a calculus description, rather than a qualitative one as I've been seeing elsewhere. So THANK YOU!
I have been trying develop a DNN for a week. I have seen almost a 100 videos, forums, blogs. Of all those this is the only one with calculus that made complete sense to me. You sir are the real MVP
30 years ago, I studied computer science. we were into pattern-recognition and stuff, and I was always interested in learning machines, but couldn't get the underlying principle. now, I got it. that was simply brilliant. thanks a lot.
This simple lecture truly makes all viewers fully understand the logic behind neural networks. I strongly recommend this video clip to my colleagues participated in data driven industry. Thanks.
I always had trouble intuitvely understanding how a derivate works and how practically its calculation is reflected in simple terms. Little did I know starting this video, that I'll finally understand it. Thank you! I'm relieved and feel less stupid now.
I have seen many many videos regarding NN but this is by far the best; Brandon understands the relationship between the NN and the backbone of the NN, which is the underlining math. He clearly presented them in a very intuitive way. Hats off for you sir. Keep up the good job.
It took me trhee goes in excel to replicate the idea, but ... after eliminating my mistakes i now have a working model . my next step will be to generalise this to make any network 2X2 3X3 or 5X6 . thanks your explanation is/was very clear
Great video. A single clear, concrete example is more useful than 100 articles full of abstract equations and brushed-over details. Speaking as someone who's read 100 articles full of abstract equations and brushed-over details.
Clean, concise, informative, astonishingly helpful, you have my deepest gratitude. I've never seen anyone explain backprop as well as you just did, great job!
this is probably the best breakdown ive came across, very dense, you've left no spaces in between your explanations! Thanks for the great lesson! Onward to a calculus class!
I understand every topic. From computer enginerring to calculus and AI basics, but put them all together and working to make a digital functioning brain is magic
Thanks for making this creative commons. I am going to adapt and use for my class, with attribution. I have a number of project management resources that are creative commons if you need.
Finally a useful approach... A "real" (complete) network. The query mechanism makes perfect sense now. Finally. Lol Now if I could just get there with the backward stuff. It makes enough sense to know it will eventually make perfect sense but still struggling a little there. You've got one of the best explanations for beginners out there tho. I'm the type that has to see what the hell is actually going on... Don't need it later when a functioning whatever is running, but early on broken down like this is perfect because then the scale is just scale.
Thank you Brandon for taking the time to explain the logic behind neural networks. You have given me enough information to take the next steps towards building one of my own... and thank you UA-cam algo for bringing this video to my attention.
My kind of teacher! Subscribed! Nice voice, nice face, nice tempo, nice amount of information, nice visuals. You'd almost start to believe this video was produced with the concepts you've talked about. And my mind was just blown. I realized that we could make a lot more types of virtual neurons and in that way outclass our own brains (at even a fraction of the informational capacity) with a multitude of task-specific sub-brains forming a higher brain that may or may not develop personality.
For anyone confused at 7:40: The weight line connecting the last neuron on the second layer (white top right pixel over black bottom right pixel) to the last neuron on the third layer (2 white pixels over 2 black pixels) should be white not black. On the slides, the weight line is white. It's just a small mistake
That was incredible...watched 7 videos so far and every day my brain understands a bit more...I recently learning Houdini VEX code which is 3D graphics programming, and that took 1 year of watching a whole bunch of stuff and not getting it...until I did...so I know I will grasp this soon....Im sticking to these simple examples for now, until I can code it from scratch in Python
Holy thank you!! ive watched like 50+ ich tutorials on neural networks but all of em explained things poorly or too fast. But you went through everything slowly and actually explained all the info clearly!!
Everybody always uses numbers when doing the forward pass then when you get to the derivatives it’s always the math notation only. It would be extremely helpful to show actual values for EVERYTHING side by side. The chain rule section doesn’t look difficult but it becomes difficult if you can’t confirm numbers on your own.
I totally want to implement this now. Can't be that hard - won't be the best approach, just trying to see how close it can "naturally" get to the ideal solution you displayed and how many iterations of training it takes!
Give it a go! Although I would love to get a sticker for my laptop that says "Can't be that hard." I'll put it right above the one that says "What could possibly go wrong?"
Yours was a very easy explanation of deep neural networks. Each step in the process was broken down into bite-sized chunks, making it very clear what's going on inside a deep neural network. Thanks so much!
"If you tried to make a rule about which pixel was bright and which pixel was light, you wouldn't be able to do it" ∀h∈{0,1}∀j∈{0,1}∀i∈{0,1}.(M[i,j]=1)∧(M[(i+1)%2,j]=1)∧((h≠j)→(M[i,h]=0)) → horizontal(i) Only applies if your four-pixel camera is actually black and white as opposed to grayscale. But you can produce similar rules that would encapsulate whatever behaviour your neural net ends up with.
Volk Staat but you need to have gone through this neural network in order to create this rule, you can't make it just like that. that's the beauty of it
I think achieving this with a "raw" neural net is probably not possible because the input-output types of all components in a neural network are of strictly one type: floating point numbers. You'd have to have some way of translating the output vector of floating points into a formula or some other target datastructure.
The key point is "You can't do this with *simple* rules about the brightness of the pixels." Simple in this context means "can be learned by a perceptron" or in other words, a linear combination of the raw inputs. A single layer of simple rules cannot learn all functions of the input variables. But multiple layers of simple rules (of sufficient width) can do it if you put a non-linear operator (such as the sigmoid or relu functions) between each layer. And if every component is continuous then you can search for a rule by applying derivatives, which is useful for things more complicated than this toy problem. Deriving a symbolic rule such as yours from a trained network is tricky, if you wanted that end result there are probably methods that are not neural networks that would work better. Maybe a decision tree would be a good starting point?
"You can't do this with *simple* rules" Aye - though you might be able to do it with simple rules layered on top of narrow & deep classifiers. E.g. if you had good edge-detectors with a 5x5 input matrix you could perform a scan of some input image and compose the outputs of your edge detector to identify lines, and compose your lines into classifications of shapes, etc. - simple rules layered on top of a robust feature extraction system. It's the best way I can imagine to design a classifier system with a scrutable operation trace that might be useful for extracting a ruleset. Not necessarily a first-order logic ruleset but something open to a tractable analysis.
The function shown at 4:39 and 20:33 are both referred to as being the same function, but the graph on 4:39 is actually 2*(o(a)-0.5) , here o(a) is the sigmoid function.
Thank you so much! I have been trying to create a neural network of my own for simple tasks, and I haven't been able to learn how until now. Thank you!
I haven't made one of my own yet, sorry for the confusion. The difference is that now, I understand how one works, so I can start structuring my information.
This should be recommended as the 1st video to watch when it comes to learn neural networks
Yes
yes I agree but for simplicity sake he should have done a 0 to 1, 0 being black 1 being white and 0.5 being grey, because almost everyone follows that pattern, and for new learners its a bit harder for them to switch from thinking about -1 to 1 to 0 to 1
I watched your videos 3 years ago. It'salmost nostalgic. You may not see this. But you're one of the reasons I kept moving through with Machine Learning
I legit cried a little bit. Thank you for this.
"Connections are weighted, MEANING".... Holy fuck.....after viewing numerous videos from youtube, online courses and google talks.... (often with comments below saying "thanks for the clear explanation")....This is the FIRST person i have EVER seen that has actually explained what the purpose of weights are....
I feel the same, even though I still can't completely understand how weighting works :/
Tremor244 I am by no means an expert but weighting is what makes the network "learn" to be correct. By changing the weights it changes the output of each neuron and eventually the output of the network. If you tune the weights enough you will eventually get an output that is what it is supposed to be. i hope this helps
I don't work with neural networks but with other types of machine learning. But weighting is more or less the same in all these fields of mathematics.
You want a system that, provided with an input (an image, for instance), achieves its classification as the output. For instance you have a scenery (input) and you want to know if it's from vacations at the mountains or at the beach (a classification, ie. the output).
So you pass the image trough a set of filters: (1) does the image have umbrellas? (2) does it have clouds? (3) is there a lot of blue? (4) is there a lot of brown?, etc.
If the image passes a specific combination of filters, there is a greater probability that the image is of a specific type (for instance, if the image (1) have umbrellas, (3) is blueish and isn't (4) brownish, it's more likely to be from the BEACH). But how much more likely?
That's when the WEIGHTING comes into play. Through machine learning we want to calculate some coefficients (weights) that state a sort of likelihood of an image to pass a filter, given its type (for instance, if it has umbrellas there's a probability of 0.9 out of 1 (90%) that it is from the beach and not from a mountain, but if there's a lot of blue maybe only 0.6 of those images are from the beach, and so the WEIGHT IS LIGHTER. That means that, if the image passes a filter of COLOR BLUE it is likely to be from a BEACH, but if it passes a filter of UMBRELLAS it is EVEN MORE LIKELY). Weights, then, are a parameter of RELEVANCE of each of the selected filters to achieve the correct classification.
So we make the machine learn from LOTS (thousands, perhaps) of images that we KNOW are from the beach or the mountain. One image from the beach has umbrellas, so the classification through the filters was correct and then the WEIGHT for the umbrellas is increased. But if there is an image of the mountains with umbrellas and the program says it's from the beach, the weight goes down for the umbrellas. When we did this with a lot of images, the weights are FINE TUNED to classify correctly most of the time (if the filters are any good... if we chose wrong filters from the beginning, then there's a chance the dictionary won't get any better even fed with lots of images. That could also happen if the training images are biased: ie. if they don't represent the real set of images that we want to classify).
I hope this works better for you!
If you have had a course on linear regression, you will recognize weights are equivalent to parameters. They are just "free variables" you adjust in order to match inputs with outputs. In one-dimensional linear regression, the parameters are the slope and offset of a line, you adjust them so that the distance between the line and your points (your training examples) is the least. Neural networks use the same idea as statistical regression. The main difference is that neural networks use a lot of weights (parameters), and for this reason you have to care about overfitting. This in general does not happen in linear regression, since the models are way more parsimonious (use only a few parameters). The use of a lot of weights is also the reason why neural networks are good general approximators, the large amount of weights give them high flexibility. They are like bazookas, while statistical regression is more like a small gun. The point is that most of the times you need only a small gun. However, people like to apply neural networks to problems where linear regression would do a good job since NN are "sexier".
+Esteban Lucas Solari I want to let you know that I love you for everything you just wrote.
I've been struggling to wrap my head around this topic for a few days, now. You went through everything very slowly and thoroughly and I'm now ready to dive into more complex lessons on this. Thank you so much, Brandon!
I'm very happy to hear it :)
Great video. Here are my notes:
7:54: The edges going into the bottom right node should be white instead of black. This small error repeats throughout the video.
10:47: You fixed the color error.
11:15: Man, this video feels good.
21:41: Man, this video feels really good.
An extension for the interested:
Sometimes we calculate the error of a network not by comparing its output to labels immediately, but by first putting its output through a function, and comparing that new output to something we consider to be the truth. That function could be another neural network. For example, in real-time style transfer (Johnson et al.), the network we train takes an image and transforms it into another image; we then take that generated image and analyze it with another neural network, comparing the new output with something we consider to be the truth. The point of the second neural network is to assess the error in the generated image in a deeper way than just calculating errors pixel by pixel with respect to an image we consider to be the truth. The authors of the real-time style transfer paper call this higher-level error "perceptual loss", as opposed to "per-pixel loss".
I know this was outside the scope of this video, but it was helpful to me to write it, and I hope it will help someone who reads it.
Good to know that I'm not the only one who caught the logical mistakes.
9:14 Bottom second squash should be vertically inverted, if I'm not mistaken.
I had the idea of doing perceptual loss before I even knew the term for it, seems like it would work better for warp transforms and the like versus level transforms.
Alternatively, the edges are correct but the corresponding picture should be flipped.
Regardless, the final step (output perceptron at the bottom indicating horizontal) works with either the white white edges or the black black edges scenario.
thanks :)
YES - thanks , I saw that tiny error too 🙂
I've watched many videos and read many blogs and articles, you are literally the best explainer at making these intuitive to understand
I agree.Penny dropped for me today with this Video.
Thank you so much Brandon
3blue1brown
I hate how many people try to explain complicated concepts that require math without using math. Because you used clear mathematical notation, you made this much easier to understand. Thank you so much.
I've watched many videos on UA-cam but non of the videos explained the concepts as intuitively as you did. Thought I have to watch it again as I've failed to grasp some concepts, I am sure that it will be clear as I watch more.
Thanks Mukul!
Who else paused the video at 15:10, went and did a semester of calculus, then came back and finished watching?
Nobody
:)
Muhammed Sahli's mother
SirNate I still remember most of my calculus and have notes from prior study 😜
lol
Fantastic description of what these networks do. I've gone thru a few of these explainers and all they demonstrated was the person knew their subject, they just couldn't teach it. They talk in jargon, that quickly loses those unfamiliar. IOW they're not teaching, they're having a 'conversation' with those who are already versed and have background in the field.
Einstein is to have said, 'If you can't explain it simply, then you don't understand it yourself'
Thanks, again. I walk away feeling like I actually learned something. You Can Teach.
Hey thanks! I really appreciate this. It's the highest compliment.
A physics guy coming into coding, this video completely clarified the topic. Your treatment of this topic is perfect!
Don't worry people I asked this guy if he was a physicist
@ thanks bro
I already knew how neural networks work, but next time someone asks me, I'll consider showing him or her this video! Your explanation is visualized really nicely.
Brilliant! I was involved 50 years ago in a very early AI project and was exposed to simple neural nets back then. Of course, having no need for neural nets, I forgot most of what I ever knew about them during the interval. And, wow, has the field expanded since then. You have given a very clear and accessible explanation of deep networks and their workings. Will happily subscribe and hope to find further edification on Reinforcement Learning from you. THANK YOU.
Finally! You are the only one on the internet who explained this properly!
Awesome description of what neural networks are!
As a chemist who just recently took Physical Chemistry, back propagation makes SOOO much more sense to me when you put it into a calculus description, rather than a qualitative one as I've been seeing elsewhere. So THANK YOU!
I have been trying develop a DNN for a week. I have seen almost a 100 videos, forums, blogs. Of all those this is the only one with calculus that made complete sense to me. You sir are the real MVP
The *Best* Video for beginners!
Thanks!
30 years ago, I studied computer science. we were into pattern-recognition and stuff, and I was always interested in learning machines, but couldn't get the underlying principle. now, I got it. that was simply brilliant. thanks a lot.
Clean, concise, informative, astonishingly helpful, you have my deepest gratitude.
You are most welcome
This simple lecture truly makes all viewers fully understand the logic behind neural networks. I strongly recommend this video clip to my colleagues participated in data driven industry. Thanks.
I always had trouble intuitvely understanding how a derivate works and how practically its calculation is reflected in simple terms. Little did I know starting this video, that I'll finally understand it. Thank you! I'm relieved and feel less stupid now.
I'm really happy to hear that Bowbert. Thank you for the note.
I have seen many many videos regarding NN but this is by far the best; Brandon understands the relationship between the NN and the backbone of the NN, which is the underlining math. He clearly presented them in a very intuitive way. Hats off for you sir. Keep up the good job.
The best and easily understandable neural net video I have seen
It's the first time I get to understand how neural networks work. Thank you.
At 7:48, the bottom right receptive field should be Black black white white, not White white black black :)
Congratulations on the explanation!
Yes, there is a mistake.
It is true! Good catch both of you.
Easiest most elaborate explanation I have found on that matter
It took me trhee goes in excel to replicate the idea, but ... after eliminating my mistakes i now have a working model . my next step will be to generalise this to make any network 2X2 3X3 or 5X6 . thanks your explanation is/was very clear
Awesome Robert. I love to hear it.
Very detailed and clear explanation. Thank you for sharing! :)
Great video. A single clear, concrete example is more useful than 100 articles full of abstract equations and brushed-over details. Speaking as someone who's read 100 articles full of abstract equations and brushed-over details.
Excellently explained !
Automatic subtitle feature enabled would have been nice.
Thanks Tobias! Subtitles for English (and a dozen other languages!) are enabled. I hope they work for you now.
@@BrandonRohrer yes, thx a lot.
Possibly one of the best explanations about NN out there... Congratulations!
excellent presentation! Congrats! and many thanks!
Clean, concise, informative, astonishingly helpful, you have my deepest gratitude.
I've never seen anyone explain backprop as well as you just did, great job!
Very slowly and clearly gets to the point, nice and accessible video on the subject.
literally THE best explanation i found on the internet.
this is probably the best breakdown ive came across, very dense, you've left no spaces in between your explanations! Thanks for the great lesson! Onward to a calculus class!
i was amazed by the way you talk, and explain very slowly as well you remain slow until the end and you dont rush things. bravo
I almost never post comments, but this one deserve it :D
Truly great :D
I understand every topic. From computer enginerring to calculus and AI basics, but put them all together and working to make a digital functioning brain is magic
Thanks for making this creative commons. I am going to adapt and use for my class, with attribution. I have a number of project management resources that are creative commons if you need.
Thanks Scott. I hope this one serves you and your class well.
The best Back Propagation explanation on you tube. Thank you sir.
the best explanation for Neural Networks ever !
Finally a useful approach... A "real" (complete) network. The query mechanism makes perfect sense now. Finally. Lol
Now if I could just get there with the backward stuff. It makes enough sense to know it will eventually make perfect sense but still struggling a little there. You've got one of the best explanations for beginners out there tho. I'm the type that has to see what the hell is actually going on... Don't need it later when a functioning whatever is running, but early on broken down like this is perfect because then the scale is just scale.
Thanks! If you haven't had a look yet, this may help with the backprop: ua-cam.com/video/6BMwisTZFr4/v-deo.html
Wow, this is a very simple explanation, and it helped me understand the concept of neural networks. Thank you.
I've never seen anyone explain backprop as well as you just did, great job!
I never understood backprop properly until this video...this was the light bulb
This is one of the best explanation of neural network I have seen
This is the most intuitive explanation of neutral nets that I've seen, keep up the great content!
Thank you Brandon for taking the time to explain the logic behind neural networks. You have given me enough information to take the next steps towards building one of my own... and thank you UA-cam algo for bringing this video to my attention.
Very very rare way to explain a neural network in such a great depth. Loved the way you explained it ❤
My kind of teacher! Subscribed! Nice voice, nice face, nice tempo, nice amount of information, nice visuals. You'd almost start to believe this video was produced with the concepts you've talked about.
And my mind was just blown. I realized that we could make a lot more types of virtual neurons and in that way outclass our own brains (at even a fraction of the informational capacity) with a multitude of task-specific sub-brains forming a higher brain that may or may not develop personality.
For anyone confused at 7:40: The weight line connecting the last neuron on the second layer (white top right pixel over black bottom right pixel) to the last neuron on the third layer (2 white pixels over 2 black pixels) should be white not black. On the slides, the weight line is white. It's just a small mistake
This is a really good video! For me as a complete beginner this really help me understand the basics of neural networks, thanks!
Artem Kovera lovely book , just downloaded. for the lazy people : amzn.to/2ntC9Zm
Thanks for making this!
Great example. Great expaination. Thanks.
Thanks!
This is gold if your looking to learn neural networks!! Well done
one of the best teacher you cleared all my doubts for neural networks thanks sir let me click an ad for you
Holy shit! Now I... I actually get it!
Thank you!
Clean, concise, informative, astonishingly helpful, you have my deepest gratitude.
Best video explaining neural networks i found so far. Thank you a lot!
That was incredible...watched 7 videos so far and every day my brain understands a bit more...I recently learning Houdini VEX code which is 3D graphics programming, and that took 1 year of watching a whole bunch of stuff and not getting it...until I did...so I know I will grasp this soon....Im sticking to these simple examples for now, until I can code it from scratch in Python
Thank you so much, really helped me understand several things that were hard to understand during class.
I'm glad to hear it!
Holy thank you!! ive watched like 50+ ich tutorials on neural networks but all of em explained things poorly or too fast. But you went through everything slowly and actually explained all the info clearly!!
Thank you so much! I'm happy to hear how helpful it was, and it means a lot that you would send me a note saying so.
Watching this video on my 4 pixel screen phone. Really informative.
OMG it's even harder then I expected! Thank you very much for the thorough and thoughtful explanation!
it goes without saying that I became a subscriber as well ;)
Best explanation I have seen so far man. Congratulations!
I'm in love with the way you explain things! So professional yet simple and easy to follow. Keep it up!
I watched this video in very early days of my PhD. Now, it appears in my recommendation list when i have just graduated. Such a nice memory ❤
That is such a good story. Thanks thắng.
Really great explanation Brandon. Also, I greatly appreciate that you share your slides as well and that too in raw (PPT) format. Great work.
You are a gifted teacher. Even I could understand.
Everybody always uses numbers when doing the forward pass then when you get to the derivatives it’s always the math notation only. It would be extremely helpful to show actual values for EVERYTHING side by side. The chain rule section doesn’t look difficult but it becomes difficult if you can’t confirm numbers on your own.
I hear you. I made this course just to cover this case: e2eml.school/312
Thank. I’ll check it out.
Nice intro. Fairly easy to grasp the essence.
The internet needed a video like this one. Thanks a lot!
Thank you so much! Amazing work!
After wasting too much time finally I found the right place , excellent explanation 👏👏👏💯
I totally want to implement this now. Can't be that hard - won't be the best approach, just trying to see how close it can "naturally" get to the ideal solution you displayed and how many iterations of training it takes!
Give it a go! Although I would love to get a sticker for my laptop that says "Can't be that hard." I'll put it right above the one that says "What could possibly go wrong?"
I've been trying to implement the full network as seen (@ 25:30) in python but hit a roadblock. Have you done it?
Absolutely cool video. That's i would like to see when Just started learning about N networks
thanks!
This is one of the best explanations I’ve come across. Thank you! And subscribed :)
18:40 thats quite the same way of expressing error/weight since you can rlly just do cancelling
Damn, This is perfect. I had kept backing away from all this until now. I finally get it. You really helped me Brandon, thank you.
Thumbs up for description. "Rated G for general audiences."
Just got smarter than yesterday. Thanks for sharing! :0)
Yours was a very easy explanation of deep neural networks. Each step in the process was broken down into bite-sized chunks, making it very clear what's going on inside a deep neural network. Thanks so much!
"If you tried to make a rule about which pixel was bright and which pixel was light, you wouldn't be able to do it"
∀h∈{0,1}∀j∈{0,1}∀i∈{0,1}.(M[i,j]=1)∧(M[(i+1)%2,j]=1)∧((h≠j)→(M[i,h]=0)) → horizontal(i)
Only applies if your four-pixel camera is actually black and white as opposed to grayscale. But you can produce similar rules that would encapsulate whatever behaviour your neural net ends up with.
Volk Staat but you need to have gone through this neural network in order to create this rule, you can't make it just like that. that's the beauty of it
it would be nice if the NN actually output code or a mathematical formula
more useful for manipulating, quicker to compute, and lends more insight
I think achieving this with a "raw" neural net is probably not possible because the input-output types of all components in a neural network are of strictly one type: floating point numbers. You'd have to have some way of translating the output vector of floating points into a formula or some other target datastructure.
The key point is "You can't do this with *simple* rules about the brightness of the pixels."
Simple in this context means "can be learned by a perceptron" or in other words, a linear combination of the raw inputs.
A single layer of simple rules cannot learn all functions of the input variables.
But multiple layers of simple rules (of sufficient width) can do it if you put a non-linear operator (such as the sigmoid or relu functions) between each layer. And if every component is continuous then you can search for a rule by applying derivatives, which is useful for things more complicated than this toy problem.
Deriving a symbolic rule such as yours from a trained network is tricky, if you wanted that end result there are probably methods that are not neural networks that would work better. Maybe a decision tree would be a good starting point?
"You can't do this with *simple* rules"
Aye - though you might be able to do it with simple rules layered on top of narrow & deep classifiers. E.g. if you had good edge-detectors with a 5x5 input matrix you could perform a scan of some input image and compose the outputs of your edge detector to identify lines, and compose your lines into classifications of shapes, etc. - simple rules layered on top of a robust feature extraction system. It's the best way I can imagine to design a classifier system with a scrutable operation trace that might be useful for extracting a ruleset. Not necessarily a first-order logic ruleset but something open to a tractable analysis.
I've seen a lot of videos and this is the most clear explanation. Exceptional graphics too.
I like how much effort you put into making these ideas accessible
You explained How Neural Networks in very simple and easy to understand manner. thanks for sharing!
What a great explanation for back-propagation!
All those comments about how good this tute is sent me on a subscription frenzee just in case I loose out one the wisdom of the greats....
by far the best video about ANN i've watched, thank you so much, really clear
Really helped me contextualise the matrix procedure in practical sense. Thank you!
Great example with even greater explanation.
Your all videos on NN are excellent!
Superb!! The best explanation of DL that I have come across after completing the Andrew NG's Stanford ML course. I am a follower now.
Very clear cut explanation
The function shown at 4:39 and 20:33 are both referred to as being the same function, but the graph on 4:39 is actually
2*(o(a)-0.5) , here o(a) is the sigmoid function.
You're the man at explaining these things. Thank you so much.
You explanation is so far the best. I am sure you are the best teacher so far. Thanks for uploading such a informative video.
Math, baby! It’s cool
Congratulations! You've earned a subscriber.
Another one!
Another one
another one :)
Another one!
This is old :D
one more
I regret that didn't study maths at school because I understand almost none of this video. However I hit like because I like.
Thank you so much! I have been trying to create a neural network of my own for simple tasks, and I haven't been able to learn how until now. Thank you!
Gavin Haynes please teach me how to start. im a beginner of this field. thank you
I haven't made one of my own yet, sorry for the confusion. The difference is that now, I understand how one works, so I can start structuring my information.