How Deep Neural Networks Work
Вставка
- Опубліковано 1 бер 2017
- Part of the End-to-End Machine Learning School Course 193, How Neural Networks Work at e2eml.school/193
Visit the blog:
brohrer.github.io/how_neural_...
Get the slides:
docs.google.com/presentation/...
Errata
3:40 - I presented a hyperbolic tangent function and labeled it a sigmoid. While it is S-shaped (the literal meaning of "sigmoid") the term is generally used as a synonym for the logistic function. The label is misleading. It should read "hyperbolic tangent".
7:10 - The two connections leading to the bottom most node in the most recently added layer are shown as black when they should be white. This is corrected in 10:10. - Наука та технологія
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'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 :)
"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 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.
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 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.
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!
Really great explanation Brandon. Also, I greatly appreciate that you share your slides as well and that too in raw (PPT) format. Great work.
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!
Possibly one of the best explanations about NN out there... Congratulations!
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.
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.
I'm in love with the way you explain things! So professional yet simple and easy to follow. Keep it up!
Clean, concise, informative, astonishingly helpful, you have my deepest gratitude.
You are most welcome
This is the most intuitive explanation of neutral nets that I've seen, keep up the great content!
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
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!
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
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 🙂
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've seen a lot of videos and this is the most clear explanation. Exceptional graphics too.
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 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 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
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.
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.
Very very rare way to explain a neural network in such a great depth. Loved the way you explained it ❤
Wow, this is a very simple explanation, and it helped me understand the concept of neural networks. Thank you.
Holy shit! Now I... I actually get it!
Thank you!
Clean, concise, informative, astonishingly helpful, you have my deepest gratitude.
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 like how much effort you put into making these ideas accessible
by far the best video about ANN i've watched, thank you so much, really clear
The best and easily understandable neural net video I have seen
Easiest most elaborate explanation I have found on that matter
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 ;)
This explanation of back propagation was exactly what I needed. This is very clear and I now have higher confidence in my ability to create my own ANN from scratch.
Same here. My vision is clear
I just enjoy numbers. Anything to do with them is a fantastic thing.
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
This is one of the best explanation of neural network I have seen
Very slowly and clearly gets to the point, nice and accessible video on the subject.
I almost never post comments, but this one deserve it :D
Truly great :D
This video is crazy good. Truly, this is amazingly well explained from the beginning till the end. Wow, thanks a lot for such an excellent presentation.
Best explanation I have seen so far man. Congratulations!
Best explanation I’ve seen yet. Many thanks for posting.
Very detailed and clear explanation. Thank you for sharing! :)
Finally! You are the only one on the internet who explained this properly!
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.
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.
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.
Best video explaining neural networks i found so far. Thank you a lot!
Thanks Brandon for your great video which simplifies things and gives an amazing easy to follow learning experience.
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.
Very detailed and clear explanation. Thank you for sharing! :)
I've never seen anyone explain backprop as well as you just did, great job!
This is very well explained. Great job, and thanks so much! subbed
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!
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
It's the first time I get to understand how neural networks work. Thank you.
Thank you, this has been very helpful for my understanding of these networks for studying.
literally THE best explanation i found on the internet.
Great video! Definitely one of the best explanations I've seen for Deep Neural Networks.
came across your blog today, reading about indexing and slicing dataframes. Great content :)
wow awesome i never find a video like this with the simple example and clarity of neural network and its a though topic to explain but you make it easy... thanks
Thanks for the clarity of your explanation
You're the man at explaining these things. Thank you so much.
You explained How Neural Networks in very simple and easy to understand manner. thanks for sharing!
Very clear description! without assumption of previous knowledge. Thanks i found it most helpful :)
Wow, this is really good! It's great to have such complete and clear explantions
You are a gifted teacher. Even I could understand.
The best Back Propagation explanation on you tube. Thank you sir.
one of the best teacher you cleared all my doubts for neural networks thanks sir let me click an ad for you
Great explanation, thanks for sharing the slides!
thank you for sharing, Brandon !
Nicely explained
the best explanation for Neural Networks ever !
This is one of the best explanations I’ve come across. Thank you! And subscribed :)
Detailed and easy to understand
Precise and clear. Just wow! Great explanation. If possible please add video on feature extraction.
After wasting too much time finally I found the right place , excellent explanation 👏👏👏💯
Thank you for this clear and understandable tutorial!
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
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 quick and simple explanation!
This one was great! It was exactly what i was looking for.
Thanks for the smooth narration, I liked very much!
Nice intro. Fairly easy to grasp the essence.
Your all videos on NN are excellent!
This is gold if your looking to learn neural networks!! Well done
Very clear cut explanation
One of the best explanations I've seen. Thanks!
This is very well explained. Great job, and thanks so much! subbed
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
That was flat out the best video explaining neural networks. Thank you!
The internet needed a video like this one. Thanks a lot!
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.
Great explanation and thank you for your time and efforts. Grade A work!
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.
Great example with even greater explanation.
Great video! I wish I had seen this before I spent hours trying to learn this.
Well DONE, Thanks for sharing this so clearly. I want to learn more ....
This was so unbelievably good! Thank you for doing this!
Just got smarter than yesterday. Thanks for sharing! :0)