How convolutional neural networks work, in depth

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

КОМЕНТАРІ • 286

  • @Karim-nq1be
    @Karim-nq1be 7 місяців тому +10

    That's a masterpiece, not only have I learned how in detail convolutional neural networks work, but also I've learned how I should explain hard subjects to others. Thank you.

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

    This is by far the best video I've seen on CNN. Thanks a lot!

  • @pw7225
    @pw7225 6 років тому +84

    You're an amazing teacher. Just the right speed. The right structure. Well done.

  • @gk8644
    @gk8644 5 років тому +25

    For those who come from the shorter video by Brandon, the new stuff starts at 15:13.

  • @bm5211
    @bm5211 3 роки тому +57

    I tend to get intimidated by videos longer than an hour, but I'm so incredibly glad I watched this one! Super clear explanation, I feel like I actually understand what happens now. No one else has been able to explain it so clearly. :) Thank you!!

    • @BrandonRohrer
      @BrandonRohrer  3 роки тому +7

      That's so good to hear. I'm really happy that it clicked.

    • @opto3539
      @opto3539 2 роки тому +2

      ​@@BrandonRohrer a little suggestion it would have been a lot better if it was a playlist consisting of 10 mins videos each, it would really be helpful for someone with low attention span like me

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

      @@opto3539 Thanks Opto, I like this suggestion. I tried this on some later content and I like the result.

  • @Omo_Mohd
    @Omo_Mohd Рік тому +6

    Although it's 5 years ago, this is the simplest and the AWESOMEST video in youtube for someone getting started with Computer Vision.
    This lecture, along with 3-Blue 1-Brown neural network playlist, and you are good to explore
    Thank you!!

  • @AbsolutelyNoOne251
    @AbsolutelyNoOne251 Рік тому +5

    One of the best videos I’ve ever seen on the topic: super clear explanation + truly in depth, all without being boring. The only thing I didn’t understand is how to determine the values in the matrices for the convolution.

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

      Thank you Daniele!
      The short answer: they start random and get adjusted during training by backpropagation ( e2eml.school/backpropagation )
      The long answer: A two-course sequence walks through how to implement this in Python for 1-D ( e2eml.school/321 ) and 2-D ( e2eml.school/322 ) convolutional neural networks.

  • @XinhLe
    @XinhLe 4 роки тому +42

    Thanks so much for spending time preparing this videos.
    Watching is 1h, preparing for this video is probably * by 100 :)
    3:20 - Filtering
    8:10 - Pooling
    10:30 - Normalisation (ReLu)
    12:16 deep stacking
    13:11 fully connected layers
    17:00 receptive fields
    18:00 create a neuron, create weight and squash the results (sigmoid function).
    26:50 optimisation

  • @bahadryldrm6833
    @bahadryldrm6833 2 роки тому +2

    There is lecturer that knows about what he's teaching the students. Well explained thank you.

  • @GamingShiiep
    @GamingShiiep Рік тому +5

    I can't stress enough how great your videos and explanations are. I get overwhelmed by lots of text and missing visual examples, so it's great I found your videos. Watched 2 already and will definitely watch the rest too!

  • @lucianoinso
    @lucianoinso 10 місяців тому

    Don't let the duration of this video intimidate you from enjoying this masterpiece of a presentation, just press play and begin, you'll freaking love every second of it.
    Thank you so much for sharing this and so much other information for free!

  • @StayTech-Rich
    @StayTech-Rich 8 місяців тому +1

    I had a diffi ultrasound time understanding the convolution layer, this course is the best among all courses I saw on UA-cam, keep the good work, you saved me , I was struggling understanding and now I'm completely clear. Thanks alot

  • @fitnessismypassion
    @fitnessismypassion 10 місяців тому +1

    I am a visual learner with no background of computer science and this video is a gem! Thank you very much. Subscribed:)

    • @BrandonRohrer
      @BrandonRohrer  10 місяців тому

      Thank you! I'm pleased to hear it.

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

    This is the BEST video explanation EVER! Animation, simplicity, voice, oh god, you deserve an award in the machine learning world!

  • @lukas-hofer
    @lukas-hofer 8 місяців тому +2

    insanely good explanation, never seen anything like this. thanks a lot

  • @Artelion-pk2he
    @Artelion-pk2he 5 місяців тому

    Probably, one of the best intuitive explainers of why we like to use gradient descent in neural networks, which I ever seen.

  • @ishwarmorey712
    @ishwarmorey712 4 роки тому +8

    Brandon, you explain the most difficult concepts in simple understandable language. Nice visualizations create a mind map which we cannot forget. Thank you for all your efforts on these videos!

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

    This is by far the best explanation in convolution neural networks, gets into theory and details of things. The presentation of everything is superb. I now know precisely what CNN are exactly all about. I would never spend a full hour watching an explanation on youtube unless it is a full course. This explanation hour long of CNN is well worth it. Thanks.

  • @khuebner
    @khuebner 6 місяців тому +2

    Great presentation, Brandon. I prefer your simple graphics and pace over the highly distracting, animated videos from other educators.

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

    this is the only explanation in youtube and the internet, that has finally helped to quench my thirst of understanding CNN!

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

    Wow, i this tutorial is packed with information. I had to rewind a 100times to grasp the art about weights & errors, nobody ever explains this part for mere mortals like myself.

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

    Your explanation is amazing, from your video i can understand neural network. Thanks

  • @3rdman99
    @3rdman99 Рік тому

    I'm so glad to finally find the videos about NN explained by somebody whose English I can understand.

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

    A one hour well spent.,,in my Life...

  • @yemanerussom9462
    @yemanerussom9462 11 місяців тому +1

    You are simply the best at explaining this complex topic. Thank you.

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

    This is the best video I have ever watched about machine learning. You have more than just a talent.

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

    First time replying to any tutorial in 7 years, You really know how to make others understand, Would love o work with you if I get a chance ever.

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

    Detailed and concise at the same time. Perfect video.

  • @pafingl
    @pafingl 9 місяців тому

    Marvelous explanation, made simple and concise, yet not oversimplified to a level that would render it pointless. I could not have imagined a better way to bring the loose pieces in my head together. Thanks a lot for this.

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

    I'm only halfway through but really, you're amazing at teaching and explaining concepts. Thank you

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

    one of the best videos about this topic I have ever watched. It is 1 in a thousand! Thank you for sharing it

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

    It was nice of you to simplify the understanding as most UA-cam video's just put neural networks in an entertaining way with a vague explanation.

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

    Just 10 mins into the video, I got a clear overall picture of CNN that I have searched for weeks. Thanks Brandon.

  •  5 років тому +5

    Wow! All your perfect presentations combined in a better presentation! I'm bookmarking this one and also sharing it with my colleagues.

  • @Aditya-sj4ev
    @Aditya-sj4ev Рік тому +1

    A remarkably intuitive video for beginners. Thank you

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

    thank you so much Mr.Brandon Rohrer sir for your good teaching on convolutional neural networks.

  • @raibek-the-coder
    @raibek-the-coder Рік тому +1

    I can't imagine how hard it was to make this cool video! Many thanks to the author!

  • @patecwariatec1
    @patecwariatec1 3 роки тому +25

    Explanation is on point!!!

  • @prebpreben6328
    @prebpreben6328 6 років тому +4

    Very intuitive way of explaining Convolution Neural Networks. Great job!

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

    This really make me understand CNN more intuitively, lucky to meet with your vedio😄

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

    Very clearly spoken and illustrated. It's great to have well articulate and easy to follow tutorials like this.

  • @thomassouthern807
    @thomassouthern807 Місяць тому +1

    This is the first video of yours I have watched. It was so good that I subscribed to your channel.
    BYW, your voice is a lot like Brian Greene. This is good because it is a good lecture and documentary voice.

    • @BrandonRohrer
      @BrandonRohrer  Місяць тому

      Thanks thomas, those are huge compliments. I'm really happy it was helpful.

  • @joy-sm5sl
    @joy-sm5sl 2 роки тому +1

    thank you so much for your explanation. really helps me to understand what CNN is about

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

    WoW! This is by far the best tutorial out there for CNNs! Thank you...

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

    THANK YOU THANK YOU THANK YOU. Finally I understood what Convolutional NN is. Great vid bro.

  • @colinwilliams3459
    @colinwilliams3459 4 роки тому +5

    Jesus this was a fantastic tutorial I imagine you spent many months working on!

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

    I'm going to create a new account just to give this man two thumbs up. This lecture is soooo good.

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

    Awesome! I just didn't expect you to actually talk about backpropagation and linear layers but I'm not complaining.

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

    This is the video I needed the most. Thank you

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

    Super Sir. Finally I got what I have expected.

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

    Great teachings !1h of Brandon = 15h of Stanford lectures....

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

      Thank you so much SarahK

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

      @@BrandonRohrer I would thank you much more for your efforts, you examples makes the subject so much easier digestible !

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

    What a great tutorial. Easily the best on CNN.

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

    Thank you so much! I didn't have to pause once to understand anything. You explained it so perfectly.

  • @sophiafunworldatthepark6740
    @sophiafunworldatthepark6740 10 місяців тому +1

    Very good tutorial. Learn so many things

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

    Best explanation of how Neural Networks work I have watched so far! Well explained and really intuitive

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

    Really good explanations. Just the right level of detail for my understanding. Thanks.

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

    Brandon beside knowledge also has nice narrative ability, for me definitely best 1 hour of time spent...

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

    As usual, it's an extent video to build intuition about what CNNs are doing under the hood. Thank you, Brandon. More power to you..

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

    Underrated video! views should be at least E6.

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

    Best explanation of backpropagation I've seen fr. Thank you SO much!

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

    amazing explanation with great examples

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

    This is what a tutorial video should be!

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

    That was AWESOME. The minor issue was, there was no pointer. ( We could skip the issue with the great explanation)

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

      Many thanks :) And I agree. After this video I changed my workflow so that I could record a pointer too.

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

    quite good explanation Brandon !
    Now i feel like sending CV to Tesla

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

    Super! Crisp clear explanation with breaking down complex concepts into easily understandable steps.

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

    Amazing dear...help alot to understand the foundation....👌

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

    I dont usually comment on youtube videos. All i can say is that you Sir!!!

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

    An incredible Video !! thanks brandon for such a good explanation to understand CNN. please don´t stop making more material . Greetings from Germany

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

    Perfect !!!
    Such a great video .
    Thanks a lot Brandon

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

    i loved your detailed explanation of the steps, but can you please make another video to explain the REASON for each of the steps in detail?

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

      Thanks! If you want to go one level deeper, I recommend walking through e2eml.school/321 and e2eml.school/322 . They walk through the Python implementation and give a deeper understanding of how and why.

  • @Pomegrante-b1m
    @Pomegrante-b1m 2 роки тому

    Fantastic video. The conclusion really summed up everything nicely.

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

    22:15 is wrong, the bottom of the 4 outputs is 'upside down'.. great video, though

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

    Great work. Thank you so much. This has been the most useful video i have seen in NN!

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

    Sir, just finished watching and you explained this very well especially the second half with gradient descent and backpropagation. Thank you so much, have liked and Subscribed!

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

    Man, thank you so much!
    This is incredible work!

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

    Beautifully explained Brandon and so clear - thank you !

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

    In 2020, the sigmoid function is almost always replaced by the ReLU function for the activation of neurons.

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

    OMG, you are an amazing teacher. Thank you a million times

  • @pikachu-rk8sp
    @pikachu-rk8sp 4 роки тому

    Thanks a lot !! You are one of the best teachers ever!!

  • @muhammad.sanwal
    @muhammad.sanwal 3 роки тому +1

    @brandonrohrer sir in 14:27, are we evaluating the final confidence scores by taking the average of either x or o scores?

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

      In this simplified example yes, but just a heads up that in practice it's often done just like the other layers - summing up all the inputs and passing them through an activation function, such as the logistic function.

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

    Wow !!!! Great tutorial, my knowledge expanded 10 fold

  • @os-channel
    @os-channel 3 місяці тому +1

    Master piece!
    One question: Is convolution the same or a kind of filtering?

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

      Thanks! Here's a bit more on convolution that might help clarify: ua-cam.com/video/B-M5q51U8SM/v-deo.html
      And if you want to go really deep , there are courses here: end-to-end-machine-learning.teachable.com/p/321-convolutional-neural-networks
      and here: end-to-end-machine-learning.teachable.com/p/322-convolutional-neural-networks-in-two-dimensions/

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

    Wow, the explanation is easy to be understand. Thanks for your work. it helps me a lot

  • @imranhussain-iy8xi
    @imranhussain-iy8xi 4 місяці тому

    The interaction with the audience feels so personal.

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

    I've learnt so much from these videos thanks a lot!!

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

    Thank you for this amazing video! It definitely helped clear a lot of stuff about CNNs for me. On a very random note, you have a great voice! I feel like you'd make an awesome audiobook narrator!

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

      Aw thanks! That's a really nice ting to say.

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

    Magnificently explained sir, well done.

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

    I am not able to understand how will gradient be calculated for the convolutions? Like how will each of the convolutions filter parameters update mathematically. Can someone please explain

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

      HI Sana. Your confusion is justifiable - we didn't talk about that here. If you'd like to dig down to the next level, you can find the answer to this in End to End Machine Learning Course 321
      end-to-end-machine-learning.teachable.com/p/321-convolutional-neural-networks

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

    Nice tutorial.
    Do you use any specific plaftorm such as Keras or Pytorch.
    I've seen some tutorials and examples using a convolutional layer like this
    Conv2D(filters=32)
    Which is supposed to tell Keras to use 32 convolutional filters.
    But it doesn't specifies what filters to use, it seems to be something automatic.
    How does Keras compute that 32 filters? What filters is it really using? (I know horizontal, vertical, vertical, cross, sobel...)

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

      Thanks! If you'd like to take this to the next level, here's a course on CNNs. It's not PyTorch or Keras, but it walks you through how to implement a layer full of kernels.

  • @dani-bx9zg
    @dani-bx9zg 4 роки тому

    The best explanation I ever heard !!!!

  • @brendanj.gifford1059
    @brendanj.gifford1059 5 років тому +1

    Wow! Very well done :) Perfect pace, content, and explanations.

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

    Great teacher! Big thank for your sharing to every body!

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

    Thank you Sir for this crystal clear explanation

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

    Thank you, it gave great clarity.

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

    Thank you. I was in need for such a video. Well done.

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

    It would have been nice to see the in-depth breakdown of convolution layers instead of regular neural network starting at 15:00. Does pieces of the image take the place of the pixels?

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

    54:58
    Does anyone know where I can find a detailed breakdown of how backpropagation works for non-fully-connected layers (convolutional, ReLU, Pooling)? Brandon's excellent breakdown of how it works for fully connected layers is what ultimately made classical neural networks click for me, and I would love to see a similar break down for the parts exclusive to CNNs.

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

      You can go through optional excercises in Andrew Ng's Convolutional Neural Network Course to understand the math behind. In general you don't have to do calculations of the backprop of CNNs, it's pretty complex for hard-coding, and modern frameworks like pytorch/tf do it automatically.

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

      @@iegormykhailov8934 I see I will check him out. And I understand it is already supported by modern frameworks, but I am of the mindset that if I can't do it myself then I don't fully understand it. In fact, I am writing a NN library in Go, which has very limited ML support currently, so these tools aren't available to me anyway.

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

    This is great! Thank you Brandon.

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

    This is such a clear explanation, thank you!!

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

    You are a great teacher.