Тёмный

Neural Networks Explained from Scratch using Python 

Bot Academy
Подписаться 11 тыс.
Просмотров 342 тыс.
50% 1

Опубликовано:

 

29 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 215   
@BotAcademyYT
@BotAcademyYT 3 года назад
Please share this video if you know somebody whom it might help. Thanks :) edit: Some people correctly identified the 3Blue1Brown style of the video. That is because I am using the python library manim (created by 3Blue1Brown) for the animations. Link and more information in the description. Huge thanks for all the likes and comments so far. You guys are awesome!
@walidbezoui
@walidbezoui 2 года назад
WOW FIRST TIME TO KNOW HOW 3Blue1Brown Work Awesoome
@jonathanrigby1186
@jonathanrigby1186 Год назад
Can you plz help me with this .. I want a chess ai to teach me what it learnt ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-O_NglYqPu4c.html
@spendyala
@spendyala Год назад
Can you share your video manim code?
@twanwolthaus
@twanwolthaus Год назад
Incredible video. Not because of your insight, but because how you use visuals to represent the information as digestible as possible.
@blzahz7633
@blzahz7633 2 года назад
I can't say anything that hasn't been said already: This video is golden. The visualization, explaining, everything is just so well done. Phenomenal work. I'm basically commenting just for the algo bump this video rightfully deserves.
@ElNachoMacho
@ElNachoMacho Год назад
This is the kind of video that I was looking for to get beyond the basics of ML and start gaining a better and deeper understanding. Thank you for putting the effort into making this great video.
@angelo9915
@angelo9915 3 года назад
Amazing video! The explanation was very clear and I understood everything. Really hope you're gonna be posting more videos on neural networks.
@Lukas-qy2on
@Lukas-qy2on Год назад
This video is pretty great, although i had to pause and sketch along and keep referring to the code you showed, it definitely helped me understand better how to do it
@sebscripts
@sebscripts 6 месяцев назад
This is the best explanation! May both sides of your pillow be cold and your socks wont become wet
@Extorc
@Extorc 3 года назад
Uunderrated
@ejkitchen
@ejkitchen 3 года назад
FANTASTIC video. Doing Stanford's Coursera Deep Learning Specialization and they should be using your video to teach week 4. Much clearer and far better visualized. Clearly, you put great effort into this. And kudos to using 3Blue1Brown's manim lib. Excellent idea. I am going to put your video link in the course chat room.
@hepengye4239
@hepengye4239 3 года назад
As an ML beginner, I know how much effort and time is needed for such visualization of a program. I would like to give you a huge thumb! Thank you for the video.
@xcessiveO_o
@xcessiveO_o 3 года назад
a thumbs up you mean?
@EagleMasterNews
@EagleMasterNews 6 месяцев назад
His thumb is now massive
@Ibrahim-o3m7m
@Ibrahim-o3m7m 3 месяца назад
I dont think he want no thumbs
@abdulrafaynawaz1335
@abdulrafaynawaz1335 6 дней назад
He will be in pain if you will give him such a huge thumb... just give him a thumbs up
@magitobaetanto5534
@magitobaetanto5534 3 года назад
You've just explained very clearly in a single video what others try to vaguely explain in series of dozens videos. Thank you. Fantastic job! Looking forward to more great videos from you.
@neuralworknet
@neuralworknet Год назад
12:40 why dont we use derivative of activation function for delta_o? But we used derivative of activation function for delta_h. Any answers???
@hidoxy1
@hidoxy1 9 месяцев назад
I was confused about the same thing, did you figure it out?
@oliverb.2083
@oliverb.2083 3 года назад
For running the code on Ubuntu 20.04 you need to do this: git clone github.com/Bot-Academy/NeuralNetworkFromScratch.git cd NeuralNetworkFromScratch sudo apt-get install python3 python-is-python3 python3-tk -y pip install --user poetry ~/.local/bin/poetry install ~/.local/bin/poetry run python nn.py
@Transc3nder
@Transc3nder 3 года назад
This is so interesting. I always wondered how a neural net works... but it's also good to remind ourselves that we're not as clever as we thought. I feel humbled knowing that there's some fierce minds out there working on these complicated problems.
@Hide310122
@Hide310122 2 года назад
Such an amazing video with lots of visualization. But I don't think you can simplify delta_o to "o - l" with whatever mathematical tricks. It needs to be "(o - l) * (o * (1 - o))".
@Kuratius
@Kuratius Год назад
I think you're right, but for some reason it seems to work anyway
@neuralworknet
@neuralworknet Год назад
yess i have been trying to understand this for weeks 🤯
@pythonbibye
@pythonbibye 3 года назад
I can tell you put a lot of work into this. You deserve more views! (also commenting for algorithm)
@OrigamiCreeper
@OrigamiCreeper 3 года назад
Nice job with the explanation!!! I felt like I was watching a 3blue1brown video! A few notes: 1.)You should run through examples more often because that is one of the best ways to understand a concept. For example. you should have run through the algorithm for the cost function so people understand it intuitively. 2.)It would be nice if you went more in depth behind backpropagation and why it works. Things you did well: 1.)Nice job with the animations and how you simplified them for learning purposes, the diagrams would be much harder to understand if there was actually 784 input layers. 2.)I love the way you dissect the code line by line! I cant wait to see more videos by you I think this channel could get really big!
@BotAcademyYT
@BotAcademyYT 3 года назад
Thank you very much for the great feedback!
@eirikd1682
@eirikd1682 2 года назад
Great Video! However, you say that "Mean Squared Error" is used as loss function and you also calculate it. However "o - l" (seemingly the derivative of the loss function) isn't the derivative of MSE. It's the derivative of Categorical Cross Entropy ( -np.sum(Y * np.log(output)), with Softmax before it). Anyways, keep up the great work :)
@pisoiorfan
@pisoiorfan 10 месяцев назад
That's it! Comprehensive training code loop for a 1 hidden layer NN in just 20 lines. Thank you sir!
@cactus9277
@cactus9277 3 года назад
for those actually implementing something, note at 12:08 the values in the hidden layer change back to how they were pre sigmoid application
@BotAcademyYT
@BotAcademyYT 3 года назад
good point! Must have missed it when creating the video.
@robertplavka6194
@robertplavka6194 Год назад
yes but wasnt the value before sigmoid in the last cell 9 ? precisely I got something like 8.998 If I missed something please explain I want to know why is that
@curtezyt1984
@curtezyt1984 Год назад
you got a subscriber ❤
@eldattackkrossa9886
@eldattackkrossa9886 3 года назад
oh hell yeah :) just got yourself a new subscriber, support your small channels folks
@GaithTalahmeh
@GaithTalahmeh 3 года назад
Welcome back dude! I have been waiting your comeback for so long Please dont go away this long next time :) Great editing and audio quality btw Reminds me of 3b1b
@BotAcademyYT
@BotAcademyYT 3 года назад
Thanks! I'll try uploading more consistently now that I've finished my Thesis :)
@andrewfetterolf7042
@andrewfetterolf7042 2 года назад
Well done, i couldnt ask for a better video, Germans make the best and most detailed educational videos here on youtube. The pupils of the world say thank you.
@malamals
@malamals 3 года назад
Very well explained. I really liked it. making noise for you. Please make such video to understand NLP in the same intuitive way. Thank you :)
@gonecoastaltoo
@gonecoastaltoo 3 года назад
Such a great video -- high quality and easy to follow. Thanks. One typo in Additional Notes; (X,) + (1,) == (X, 1) -- this is shown correctly in the video, but in the Notes you show result as (1, X)
@BotAcademyYT
@BotAcademyYT 3 года назад
Thank you very much for pointing out the inconsistency. You're right, it is wrong in the description. I just corrected it.
@jordyvandertang2411
@jordyvandertang2411 3 года назад
hey this was a great into! Gave a good playing ground to experiment with in increasing the nodes of the hidden layer, changing the activation function and even adding an addition hidden layer to evaluate the effects/effectiveness! With more epochs could get it above 99% accuracy (on the training set, so might be overfitted, but hey_)
@mici432
@mici432 3 года назад
Saw your post on Reddit. Thank you very much for the work you put in your videos. New subscriber.
@Lambertusjan
@Lambertusjan 2 года назад
Thanks for a very clear explanation. I was doing the same from scratch in python, but got stuck at dimensioning the weight matrices correctly, especially in this case with the 784 neuron input. Now i can check if this helps me to complete my own three layer implementation. 😅
@doomcrest8941
@doomcrest8941 3 года назад
awesome video :) i did not know that you could use that trick for the mse 👍
@dormetulo
@dormetulo 3 года назад
Amazing video really helpful!
@brijeshlakhani4155
@brijeshlakhani4155 3 года назад
This is really helpful for beginners!! Great work always appreciated bro!!
@kousalyamara8746
@kousalyamara8746 3 месяца назад
The BEST video ever! Hats off to your efforts and a Big Big Thanks for imparting the knowledge to us. I will never forget the concept and ever. 😊
@VereskM
@VereskM 3 года назад
Source text Excellent video. Best of the best ) i want to see more and slowly about backpropagation algorithm. It is most interesting moments.. maybe better to make the step by step slides?
@jimbauer9508
@jimbauer9508 3 года назад
Great explanation - Thank you for making this!
@xXxxSharkLoverxXx
@xXxxSharkLoverxXx Месяц назад
I can't find tutorials for Java Script, so I am using this. How do I not use any external downloads, or with my own data that I gather later?
@LetsGoSomewhere87
@LetsGoSomewhere87 3 года назад
Making noise for you, good luck!
@DV-IT
@DV-IT 7 дней назад
This video is perfect for beginners, thank u so much
@Ibrahim-o3m7m
@Ibrahim-o3m7m 3 месяца назад
How would you do the 50000 samples for training? Great video by the way!
@viktorvegh7842
@viktorvegh7842 6 месяцев назад
11:32 why are you checking for the highest value I dont understand when the highest is 0.67 its classified as 0 can you please explain? Like what this number has to be for example for input to be classified as 1
@georgeseese
@georgeseese 9 месяцев назад
What do neurons represent? You say "just numbers" @1:39. That may be true of the input layer (pixel values) and bias. But don't the neurons in other layers represent functions?
@maxstengl6344
@maxstengl6344 2 года назад
at 14:32 you use the updated weights (to the output layer) to calculate the hidden layer deltas. I never saw anyone doing it this way. Usually, the old weights are used and all weights are updated after backprop. I don't think it makes a large difference but I wonder if this is intentional or I am missing something.
@FlyingUnosaur
@FlyingUnosaur 2 года назад
I also think this is a mistake. Andrew Ng emphasized that the weights must be updated after calculating the derivatives.
@neuralworknet
@neuralworknet Год назад
​@@FlyingUnosauryou are talking about the derivative of activation function right?
@appliiblive
@appliiblive Год назад
Thank you so much for posting this comment, i was wondering why my model was losing accuracy with every epoch. With that little change my accuracy jumped from 20'000 / 60'000 to 56'000 / 60'000
@nomnom8127
@nomnom8127 3 года назад
Great video
@EnglishRain
@EnglishRain 3 года назад
Great content, subscribed!
@yoctometric
@yoctometric 3 года назад
Algy comment right here, thanks for the wonderful video!
@hynesie11
@hynesie11 8 месяцев назад
for the first node in the hidden layer you added the bias node of 1, for the rest of the nodes in the hidden layer you multiplied the bias node of 1 ??
@Michael-ty2uo
@Michael-ty2uo 7 месяцев назад
The first minute of this video got myself asking who is this dude and does he make more videos explaining compicated topics in a simple way. pls do more
@craftydoeseverything9718
@craftydoeseverything9718 Год назад
I know I'm watching this 2 years after it was released but I really can't stress enough how helpful this is. I've seen heaps of videos explaining the math and heaps of videos explaining the code but this video really helped me to link the two together and demystify what is actually happening in both.
@Ach_4x
@Ach_4x 4 месяца назад
Hey guys can someone help me i have a project where i need to define an automata for the handwritten digit recognition and i still don't know how to define the states and transitions for my automaton
@khalil_stuff
@khalil_stuff 2 месяца назад
but why we can't write :delta_o = (o-l)* (h * (1 - h)) 14:30
@noone-du5qu
@noone-du5qu 3 месяца назад
bro how did u make the first layer know how much number of color scale should be used on the img
@cocoarecords
@cocoarecords 3 года назад
Wow amazing
@kenilbhikadiya8073
@kenilbhikadiya8073 4 месяца назад
Great explanation and hats off to ur efforts for these visualisation!!! 🎉❤
@Darth_Zuko
@Darth_Zuko 3 года назад
This is one of the best explained videos i've seen for this. great job! Hope this comment helps :)
@2wen98
@2wen98 Год назад
how could i split the data into training and testing data?
@helviohild7384
@helviohild7384 16 дней назад
thank you by your excellent video
@BlackSheeeper
@BlackSheeeper 3 года назад
Glad to have you back :D
@Scronk03
@Scronk03 3 года назад
Thank you for this. Fantastic video.
@neliodiassantos
@neliodiassantos 3 года назад
Great work! thanks for the explication
@_Slach_
@_Slach_ 3 года назад
11:31 What if the first output neuron wasn't the one with the highest value? Does that mean that the neural network classified the image incorrectly?
@BotAcademyYT
@BotAcademyYT 3 года назад
Exactly :)
@alangrant5278
@alangrant5278 6 месяцев назад
Gets even more tricky at 50 metres one handed - weak hand!
@vxqr2788
@vxqr2788 3 года назад
Subscribed. We need more channels like this!
@itzblinkzy1728
@itzblinkzy1728 3 года назад
Amazing video I hope this gets more views.
@mrmotion7942
@mrmotion7942 3 года назад
Love this so much. So organised and was really helpful. So glad you put the effort into the animation. Keep up the great work!
@thomasklemmer4861
@thomasklemmer4861 3 года назад
Hervorragend!!
@BooleanDisorder
@BooleanDisorder 6 месяцев назад
Now, do it again but IN Scratch!😊
@hsa1727
@hsa1727 3 года назад
after learning i did print the W and Bios but its what i get ([[nan nan nan ... nan nan nan] [nan nan nan ... nan nan nan] [nan nan nan ... nan nan nan] ... [nan nan nan ... nan nan nan] [nan nan nan ... nan nan nan] [nan nan nan ... nan nan nan]]) i dont understant... is there any thing that i can do
@Ragul_SL
@Ragul_SL 7 месяцев назад
how is the hidden layer is set as 20 ? how is it decided?
@onlineinformation5320
@onlineinformation5320 7 месяцев назад
As a neural network, I can confirm that we work like this
@ziphy_6471
@ziphy_6471 5 месяцев назад
Well , your brain is basically a complex neural network Plus, our body isn't us; our brain is us. We are just a complex meat neural network controlling a big fleshy, meaty and boney body.
@AVOWIRENEWS
@AVOWIRENEWS 7 месяцев назад
It's great to see content that helps demystify complex topics like neural networks, especially using a versatile language like Python! Understanding neural networks is so vital in today's tech-driven world, and Python is a fantastic tool for hands-on learning. It's amazing how such concepts, once considered highly specialized, are now accessible to a wider audience. This kind of knowledge-sharing really empowers more people to dive into the fascinating world of AI and machine learning! 🌟🐍💻
@wariogang1252
@wariogang1252 3 года назад
Great video, really interesting!
@jassi9022
@jassi9022 3 года назад
brilliant
@khhassan8436
@khhassan8436 Год назад
Help please..... When I try to run code given in the description, get_mnist() cannot load source files.So error occurs... I get such error Matplotlib created a temporary config/cache directory at /tmp/matplotlib-lxktq7_o because the default path (/root/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing. Traceback (most recent call last): File "main.py", line 21, in images, labels = get_mnist() File "main.py", line 6, in get_mnist with np.load(f"{pathlib.Path(__file__).parent.absolute()}/data/mnist.npz") as f: File "/usr/local/lib/python3.8/dist-packages/numpy/lib/npyio.py", line 390, in load fid = stack.enter_context(open(os_fspath(file), "rb")) FileNotFoundError: [Errno 2] No such file or directory: 'data/mnist.npz'
@hoot999
@hoot999 8 месяцев назад
great video, thanks!
@khalil_stuff
@khalil_stuff 2 месяца назад
how to fix overflow problem
@OK-dy8tr
@OK-dy8tr 3 года назад
Lucid explanation !!
@napomokoetle
@napomokoetle Год назад
Wow! Thanks you so much. You rock. Now looking forward to "Transformers Explained from Scratch using Python" ;)
@tanvir-tonoy-programmer
@tanvir-tonoy-programmer 7 месяцев назад
Hey do you use manim ? I was curious should I use manim or Aftereffect to visualise math concepts like those ???
@hchattaway
@hchattaway Год назад
Excellent video and explanation of this classic intro to cv... However, when I clone the repo, install poetry and run poetry install, it throws a ton of errors. is there just a requirements.txt file for this that can be used? I am using Ubuntu 23.04 and Python 3.11.3
@photorealm
@photorealm 5 месяцев назад
Excellent video and accompanying code. I just keep staring at the code, its art. And the naming convention with the legend is insightful, the comments tell the story like a first class narrator. Thank you for sharing this.
@jameshopkins3541
@jameshopkins3541 8 месяцев назад
@ img ????? What do You men
@NikoKun
@NikoKun Год назад
What are you referring to when you talk about "defining the matrix from the right-layer to the left-layer" @ 2:35 ? I'm sure I'm just missing something obvious, but I can't seem to figure out what that's referring to in the code..
@hridumdhital
@hridumdhital 2 месяца назад
As someone beginning machine learning, this video was so useful to really getting a deep understanding on how neural networks work!
@dexterroy
@dexterroy 6 месяцев назад
Listen to the man, listen well. He is giving accurate and incredibly valuable knowledge and information that took me years to learn.
@boozflooz6255
@boozflooz6255 Год назад
Clarification, is this the delta rule? if not, what method did you use for backpropagation?
@tazanteflight8670
@tazanteflight8670 Год назад
How can this possibly work by only viewing 5 of the 784 pixels ?
@HomoSapiensMember
@HomoSapiensMember 2 года назад
maybe try explaining dense but simple concepts from the data perspective not solution perspective
@bonbonpony
@bonbonpony 2 года назад
What if the shape in the input can shift all around the place? It's still the same shape (e.g. a hand-written digit), but one time it is more to the left, other time it is more to the right and a little closer to the bottom, etc.; let;s say that my canvas is 800×800 pixels, and I need to detect this 28×28 digit no matter where it appears on this canvas).
@MomSpaghetti
@MomSpaghetti 4 месяца назад
Thank you so much 💯💯🙏
@rejeanto6508
@rejeanto6508 Год назад
I have a data set with the same size, how do I change the data set? I have tried to change it but failed. BTW thank you this video really helped me
@jonastenora7478
@jonastenora7478 Год назад
fuckin love ya m8
@heckyes
@heckyes Год назад
Do these initial layer numbers have to be between 0 and 1? Can't they just be any number if the activation function will clamp them down to be between 0 and 1?
@danielschafhautle1691
@danielschafhautle1691 3 года назад
Nice video, verry good,
@mateborkesz7278
@mateborkesz7278 8 месяцев назад
Such an awesome video! Helped me a lot to understand neural networks. Thanks a bunch!
@rejeanto6508
@rejeanto6508 Год назад
I have a data set with the same size, how do I change the data set? I have tried to change it but failed. BTW thank you this video really helped me
@desarrollojava
@desarrollojava 3 месяца назад
Why don't use just one layer? is there a reason for three (or even more) instead of 1 or 2?
@RS_JAYANTH
@RS_JAYANTH 3 месяца назад
For accuracy
@kumar_diary
@kumar_diary 2 года назад
Sir! can u please explain how to design and write a code for a SNN for digit recognition using unsupervised lifelong learning algorithm in pycharm. I hope you will explain soon, I am exited for this video.
@francojohnc
@francojohnc 2 года назад
You're videos are awesome, how about video about CNN
@EhrenLoudermilk
@EhrenLoudermilk 9 месяцев назад
"does some magic." Great explanation. Thanks.
@johannesvartdal624
@johannesvartdal624 8 месяцев назад
This video feels like a 3Brown1Blue video, and I like it.
@Kuratius
@Kuratius Год назад
I made a pull request for some formal errors. Please check your github repo.
Далее
Watching Neural Networks Learn
25:28
Просмотров 1,3 млн
I used to hate QR codes. But they're actually genius
35:13
Редакция. News: 136-я неделя
45:09
Просмотров 1,4 млн
Шоколадная девочка
00:23
Просмотров 189 тыс.
I Made an AI with just Redstone!
17:23
Просмотров 1 млн
The moment we stopped understanding AI [AlexNet]
17:38
The Most Important Algorithm in Machine Learning
40:08
Просмотров 440 тыс.
But what is a convolution?
23:01
Просмотров 2,6 млн
Why Does Diffusion Work Better than Auto-Regression?
20:18
How Deep Neural Networks Work - Full Course for Beginners
3:50:57
Why Neural Networks can learn (almost) anything
10:30