How Deep Neural Networks Work

Поділитися
Вставка
  • Опубліковано 14 гру 2024

КОМЕНТАРІ • 870

  • @flavialan4544
    @flavialan4544 3 роки тому +87

    This should be recommended as the 1st video to watch when it comes to learn neural networks

    • @DR-bq4ph
      @DR-bq4ph Рік тому +1

      Yes

    • @ckpioo
      @ckpioo 8 місяців тому +1

      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

  • @heyasmusic7553
    @heyasmusic7553 Рік тому +9

    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

    • @BrandonRohrer
      @BrandonRohrer  Рік тому +2

      I legit cried a little bit. Thank you for this.

  • @biokult7828
    @biokult7828 7 років тому +94

    "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
      @Tremor244 7 років тому +3

      I feel the same, even though I still can't completely understand how weighting works :/

    • @garretthart4883
      @garretthart4883 7 років тому +2

      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

    • @LuxSolari
      @LuxSolari 7 років тому +30

      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!

    • @anselmoufc
      @anselmoufc 7 років тому +5

      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".

    • @madsbjerg8186
      @madsbjerg8186 7 років тому +1

      +Esteban Lucas Solari I want to let you know that I love you for everything you just wrote.

  • @danklabunde
    @danklabunde 4 роки тому +71

    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!

  • @MatthewKleinsmith
    @MatthewKleinsmith 7 років тому +69

    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.

    • @humanity3.090
      @humanity3.090 7 років тому +4

      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.

    • @ganondorfchampin
      @ganondorfchampin 6 років тому +3

      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.

    • @hozelda
      @hozelda 5 років тому +2

      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.

    • @oz459
      @oz459 4 роки тому

      thanks :)

    • @sali-math-arts2769
      @sali-math-arts2769 2 роки тому

      YES - thanks , I saw that tiny error too 🙂

  • @mikewen8216
    @mikewen8216 7 років тому +321

    I've watched many videos and read many blogs and articles, you are literally the best explainer at making these intuitive to understand

    • @behrampatel3563
      @behrampatel3563 7 років тому +9

      I agree.Penny dropped for me today with this Video.
      Thank you so much Brandon

    • @a.yashwanth
      @a.yashwanth 4 роки тому +8

      3blue1brown

  • @andrewschroeder4167
    @andrewschroeder4167 7 років тому +1

    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.

  • @mukulbarai1441
    @mukulbarai1441 4 роки тому +1

    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.

  • @sirnate9065
    @sirnate9065 7 років тому +317

    Who else paused the video at 15:10, went and did a semester of calculus, then came back and finished watching?

  • @jones1351
    @jones1351 2 роки тому +1

    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.

    • @BrandonRohrer
      @BrandonRohrer  2 роки тому

      Hey thanks! I really appreciate this. It's the highest compliment.

  • @cloudywithachanceofparticl2321
    @cloudywithachanceofparticl2321 7 років тому +31

    A physics guy coming into coding, this video completely clarified the topic. Your treatment of this topic is perfect!

    •  4 роки тому +1

      Don't worry people I asked this guy if he was a physicist

    • @Mau365PP
      @Mau365PP 4 роки тому

      @ thanks bro

  • @klaudialustig3259
    @klaudialustig3259 7 років тому +14

    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.

  • @claireanderson5903
    @claireanderson5903 5 років тому +8

    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.

  • @intros1854
    @intros1854 7 років тому +1

    Finally! You are the only one on the internet who explained this properly!

  • @marioeraso3674
    @marioeraso3674 3 місяці тому +1

    Awesome description of what neural networks are!

  • @InsaneAssassin24
    @InsaneAssassin24 7 років тому +3

    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!

  • @abhimanyusingh4281
    @abhimanyusingh4281 7 років тому +1

    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

  • @liamdev4855
    @liamdev4855 Рік тому +1

    The *Best* Video for beginners!

  • @NewMediaServicesDe
    @NewMediaServicesDe 5 років тому +6

    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.

  • @FlashKenTutorials
    @FlashKenTutorials 7 років тому +25

    Clean, concise, informative, astonishingly helpful, you have my deepest gratitude.

  • @fghj-zh6cv
    @fghj-zh6cv 7 років тому +1

    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.

  • @bowbert23
    @bowbert23 Рік тому +3

    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.

    • @BrandonRohrer
      @BrandonRohrer  Рік тому

      I'm really happy to hear that Bowbert. Thank you for the note.

  • @alignedbyprinciple
    @alignedbyprinciple 6 років тому +1

    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.

  • @SunyangFu
    @SunyangFu 7 років тому +1

    The best and easily understandable neural net video I have seen

  • @user-kr6dk7bq6b
    @user-kr6dk7bq6b 4 роки тому

    It's the first time I get to understand how neural networks work. Thank you.

  • @Mr_AciD
    @Mr_AciD 7 років тому +35

    At 7:48, the bottom right receptive field should be Black black white white, not White white black black :)
    Congratulations on the explanation!

    • @yhr4052
      @yhr4052 7 років тому +12

      Yes, there is a mistake.

    • @BrandonRohrer
      @BrandonRohrer  7 років тому +12

      It is true! Good catch both of you.

  • @salmamohsen8208
    @salmamohsen8208 5 років тому

    Easiest most elaborate explanation I have found on that matter

  • @zw0503
    @zw0503 4 роки тому +1

    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

  • @dexmoe
    @dexmoe 7 років тому +305

    Very detailed and clear explanation. Thank you for sharing! :)

  • @tomryan9827
    @tomryan9827 5 років тому

    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.

  • @tobiaskarl4939
    @tobiaskarl4939 4 роки тому +1

    Excellently explained !
    Automatic subtitle feature enabled would have been nice.

    • @BrandonRohrer
      @BrandonRohrer  4 роки тому

      Thanks Tobias! Subtitles for English (and a dozen other languages!) are enabled. I hope they work for you now.

    • @tobiaskarl4939
      @tobiaskarl4939 4 роки тому

      @@BrandonRohrer yes, thx a lot.

  • @DeltaTrader
    @DeltaTrader 7 років тому +5

    Possibly one of the best explanations about NN out there... Congratulations!

  • @petraiondan4669
    @petraiondan4669 Рік тому +1

    excellent presentation! Congrats! and many thanks!

  • @rickiehatchell8637
    @rickiehatchell8637 4 роки тому +3

    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!

  • @PierreThierryKPH
    @PierreThierryKPH 7 років тому

    Very slowly and clearly gets to the point, nice and accessible video on the subject.

  • @vipinsingh-dj2ty
    @vipinsingh-dj2ty 7 років тому +1

    literally THE best explanation i found on the internet.

  • @jabrilsdev
    @jabrilsdev 7 років тому +5

    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!

  • @thehoxgenre
    @thehoxgenre 5 років тому

    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

  • @cveja69
    @cveja69 7 років тому +23

    I almost never post comments, but this one deserve it :D
    Truly great :D

  • @technoultimategaming2999
    @technoultimategaming2999 3 роки тому

    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

  • @Prof_C
    @Prof_C 4 роки тому +2

    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.

    • @BrandonRohrer
      @BrandonRohrer  4 роки тому

      Thanks Scott. I hope this one serves you and your class well.

  • @abhijeetbhowmik2264
    @abhijeetbhowmik2264 7 років тому +1

    The best Back Propagation explanation on you tube. Thank you sir.

  • @yassinelamarti4157
    @yassinelamarti4157 4 роки тому +1

    the best explanation for Neural Networks ever !

  • @MadScientist267
    @MadScientist267 Рік тому +1

    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.

    • @BrandonRohrer
      @BrandonRohrer  Рік тому

      Thanks! If you haven't had a look yet, this may help with the backprop: ua-cam.com/video/6BMwisTZFr4/v-deo.html

  • @radioactium
    @radioactium 7 років тому +8

    Wow, this is a very simple explanation, and it helped me understand the concept of neural networks. Thank you.

  • @Toonfish_
    @Toonfish_ 7 років тому +48

    I've never seen anyone explain backprop as well as you just did, great job!

    • @ViralKiller
      @ViralKiller Рік тому +1

      I never understood backprop properly until this video...this was the light bulb

  • @AashishKumar1
    @AashishKumar1 7 років тому +1

    This is one of the best explanation of neural network I have seen

  • @coolcasper3
    @coolcasper3 7 років тому +15

    This is the most intuitive explanation of neutral nets that I've seen, keep up the great content!

  • @OtRatsaphong
    @OtRatsaphong 5 років тому +11

    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.

  • @yashsharma6112
    @yashsharma6112 8 місяців тому

    Very very rare way to explain a neural network in such a great depth. Loved the way you explained it ❤

  • @Gunth0r
    @Gunth0r 7 років тому +1

    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.

  • @jorgeurias8845
    @jorgeurias8845 4 місяці тому

    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

  • @Sascha8a
    @Sascha8a 7 років тому +6

    This is a really good video! For me as a complete beginner this really help me understand the basics of neural networks, thanks!

    • @AviPars
      @AviPars 7 років тому +1

      Artem Kovera lovely book , just downloaded. for the lazy people : amzn.to/2ntC9Zm

  • @DailyFrankPeter
    @DailyFrankPeter Рік тому +1

    Thanks for making this!

  • @S-MKim
    @S-MKim Рік тому +1

    Great example. Great expaination. Thanks.

  • @antoinedorman
    @antoinedorman 4 роки тому

    This is gold if your looking to learn neural networks!! Well done

  • @abubakar205
    @abubakar205 5 років тому +1

    one of the best teacher you cleared all my doubts for neural networks thanks sir let me click an ad for you

  • @antwonmccadney5994
    @antwonmccadney5994 5 років тому +4

    Holy shit! Now I... I actually get it!
    Thank you!
    Clean, concise, informative, astonishingly helpful, you have my deepest gratitude.

  • @Jojooo64
    @Jojooo64 7 років тому +1

    Best video explaining neural networks i found so far. Thank you a lot!

  • @ViralKiller
    @ViralKiller Рік тому

    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

  • @opeller
    @opeller 3 роки тому +2

    Thank you so much, really helped me understand several things that were hard to understand during class.

  • @DanielMoleGuacamole
    @DanielMoleGuacamole 2 роки тому

    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!!

    • @BrandonRohrer
      @BrandonRohrer  2 роки тому

      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.

  • @nilaier1430
    @nilaier1430 2 роки тому +1

    Watching this video on my 4 pixel screen phone. Really informative.

  • @lucazarts25
    @lucazarts25 7 років тому +6

    OMG it's even harder then I expected! Thank you very much for the thorough and thoughtful explanation!

    • @lucazarts25
      @lucazarts25 7 років тому

      it goes without saying that I became a subscriber as well ;)

  • @Ivan_1791
    @Ivan_1791 5 років тому +2

    Best explanation I have seen so far man. Congratulations!

  • @bestoonhussien2851
    @bestoonhussien2851 7 років тому +4

    I'm in love with the way you explain things! So professional yet simple and easy to follow. Keep it up!

  • @thangvu-uj7qi
    @thangvu-uj7qi Рік тому

    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 ❤

    • @BrandonRohrer
      @BrandonRohrer  Рік тому

      That is such a good story. Thanks thắng.

  • @AnkitSharma-ir8ud
    @AnkitSharma-ir8ud 6 років тому +3

    Really great explanation Brandon. Also, I greatly appreciate that you share your slides as well and that too in raw (PPT) format. Great work.

  • @alfakannan
    @alfakannan 3 роки тому

    You are a gifted teacher. Even I could understand.

  • @FPChris
    @FPChris 2 роки тому +1

    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.

    • @BrandonRohrer
      @BrandonRohrer  2 роки тому +1

      I hear you. I made this course just to cover this case: e2eml.school/312

    • @FPChris
      @FPChris 2 роки тому

      Thank. I’ll check it out.

  • @Vermilicious
    @Vermilicious 7 років тому +1

    Nice intro. Fairly easy to grasp the essence.

  • @jacolansac
    @jacolansac 5 років тому

    The internet needed a video like this one. Thanks a lot!

  • @hanguyenbich3124
    @hanguyenbich3124 3 роки тому +1

    Thank you so much! Amazing work!

  • @ziaurrehman2180
    @ziaurrehman2180 2 роки тому

    After wasting too much time finally I found the right place , excellent explanation 👏👏👏💯

  • @cheaterman49
    @cheaterman49 7 років тому +5

    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!

    • @BrandonRohrer
      @BrandonRohrer  7 років тому +14

      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?"

    • @fulanomengano8895
      @fulanomengano8895 7 років тому +1

      I've been trying to implement the full network as seen (@ 25:30) in python but hit a roadblock. Have you done it?

  • @emotional_stuff
    @emotional_stuff Рік тому +1

    Absolutely cool video. That's i would like to see when Just started learning about N networks

  • @junepark1003
    @junepark1003 Рік тому +1

    This is one of the best explanations I’ve come across. Thank you! And subscribed :)

  • @Kino-Imsureq
    @Kino-Imsureq 6 років тому +3

    18:40 thats quite the same way of expressing error/weight since you can rlly just do cancelling

  • @kd4pba
    @kd4pba 2 роки тому

    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.

  • @PoisonAlienful
    @PoisonAlienful 7 років тому +1

    Thumbs up for description. "Rated G for general audiences."

  • @d0o0b
    @d0o0b 7 років тому +55

    Just got smarter than yesterday. Thanks for sharing! :0)

  • @mdellertson
    @mdellertson 7 років тому +1

    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!

  • @volkstaat5192
    @volkstaat5192 7 років тому +19

    "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.

    • @azraelexlibris4663
      @azraelexlibris4663 7 років тому +3

      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

    • @judgeomega
      @judgeomega 7 років тому +1

      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

    • @volkstaat5192
      @volkstaat5192 7 років тому

      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.

    • @droidBasher
      @droidBasher 7 років тому +1

      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?

    • @volkstaat5192
      @volkstaat5192 7 років тому

      "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.

  • @WilsonMar1
    @WilsonMar1 7 років тому +2

    I've seen a lot of videos and this is the most clear explanation. Exceptional graphics too.

  • @Thejosiphas
    @Thejosiphas 7 років тому

    I like how much effort you put into making these ideas accessible

  • @srinivasabugada2726
    @srinivasabugada2726 6 років тому

    You explained How Neural Networks in very simple and easy to understand manner. thanks for sharing!

  • @ismajim
    @ismajim 7 років тому +1

    What a great explanation for back-propagation!

  • @GianetanSekhon
    @GianetanSekhon 4 роки тому

    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....

  • @kademmohammed6836
    @kademmohammed6836 7 років тому +2

    by far the best video about ANN i've watched, thank you so much, really clear

  • @PotatoMan1491
    @PotatoMan1491 3 місяці тому

    Really helped me contextualise the matrix procedure in practical sense. Thank you!

  • @hankil81
    @hankil81 7 років тому +1

    Great example with even greater explanation.

  • @snehotoshbanerjee1938
    @snehotoshbanerjee1938 7 років тому +1

    Your all videos on NN are excellent!

  • @shahidmahmood7252
    @shahidmahmood7252 7 років тому +1

    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.

  • @TheExpression638
    @TheExpression638 7 років тому +3

    Very clear cut explanation

  • @nirbhaythacker6662
    @nirbhaythacker6662 7 років тому

    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.

  • @davidguaita
    @davidguaita 7 років тому +1

    You're the man at explaining these things. Thank you so much.

  • @dbiswas
    @dbiswas 3 роки тому

    You explanation is so far the best. I am sure you are the best teacher so far. Thanks for uploading such a informative video.

  • @jonathanfowler2932
    @jonathanfowler2932 7 років тому +378

    Congratulations! You've earned a subscriber.

  • @SlayerDUDE1993
    @SlayerDUDE1993 7 років тому

    I regret that didn't study maths at school because I understand almost none of this video. However I hit like because I like.

  • @GAV32
    @GAV32 7 років тому +1

    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!

    • @TanNguyen-vm2fc
      @TanNguyen-vm2fc 7 років тому +1

      Gavin Haynes please teach me how to start. im a beginner of this field. thank you

    • @GAV32
      @GAV32 7 років тому

      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.