Тёмный

Coding A Neural Network FROM SCRATCH! (Part 2) 

John Sorrentino
Подписаться 3 тыс.
Просмотров 15 тыс.
50% 1

Link to part 1: • Ultimate Neural Networ...
All scripts for this series: github.com/joh...
Source code from this video: github.com/joh...

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

 

4 окт 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 52   
@FlatterBaker
@FlatterBaker 7 месяцев назад
I smell an underrated channel. You are literally the savior of my science fair project, thank you so much.
@DarthAnimal
@DarthAnimal Год назад
The Brain function can be heavily simplified You can put the two edge cases outside of the loop, caling layers[0], and layers[layers.length-1], and having the for loop start with i=1, and run while 1 < layers.length -1
@willysmb-bo2vn
@willysmb-bo2vn Год назад
Hey! I'm wondering when Part 3 is coming out. Can't wait to see it!
@asyncmanagement
@asyncmanagement Год назад
we need the continuation, really
@voil6161
@voil6161 Год назад
I was following along in python. Here's the code if anyone wants it. I didn't test it though because I don't really know how to use it. Tutorial was too short ): networkShape = [2, 4, 4, 2] class Layer(object): def __init__(self, n_inputs, n_nodes): self.n_nodes = n_nodes self.n_inputs = n_inputs self.weightsArray = [n_nodes, n_inputs] self.biasesArray = [n_nodes] self.nodeArray = [n_nodes] def forward(self, inputsArray): self.nodeArray = [self.n_nodes] for i in range(self.n_nodes): # Sum of the weights times inputs for j in range(self.n_inputs): self.nodeArray[i] += self.weightsArray[i, j] * inputsArray # Add the bias self.nodesArray[i] += self.biasesArray[i] def activation(self): for i in range(self.n_nodes): if self.nodeArray[i] < 0: self.nodeArray[i] = 0 def awake(): global layers # layers = Layer(len(networkShape) - 1) layers = [] for i in range(len(networkShape) - 1): # layers[i] = Layer(networkShape[i], networkShape[i + 1]) layers.append(Layer(networkShape[i], networkShape[i + 1])) def brain(inputs): for i in range(len(layers)): if i == 0: layers[i].forward(inputs) layers[i].activation() elif i == len(layers) - 1: layers[i].forward(layers[i - 1].nodeArray) else: layers[i].forward(layers[i - 1].nodeArray) layers[i].activation() return layers[-1].nodeArray
@TheAstrocricket
@TheAstrocricket Год назад
sick
@deffman32tech
@deffman32tech 9 месяцев назад
Thanks!
@AgentCryo
@AgentCryo 24 дня назад
why python?
@PatrykPonichtera
@PatrykPonichtera Год назад
I've seen a lot of videos about Neural Networks and yours is the one that explains it in an understandable manner (Or maybe the 10th time is the charm) I'm curious to see the next one
@mehmatrix
@mehmatrix Год назад
Great video. Thanks for the effort. I'm looking forward to see the part 3. Cheers,
@drewdowsett
@drewdowsett Год назад
A great series. Not only for content, but well edited too. Cheers John.
@RealChristopherRobin
@RealChristopherRobin Год назад
Let's gooooo, part 3 please!
@slarcraft
@slarcraft 4 месяца назад
Nice video! In general I'd say a neural network is still a black box even if you built it and know the values of all the nodes, weights, biases and layers.
@patricksturgill9441
@patricksturgill9441 Год назад
Hopefully you'll finish this eventually! I enjoyed the last two videos.
@DanielYong-o1k
@DanielYong-o1k Год назад
isn't the 'layer' in layer[ i ] = new Layer( networkShape[ i ], networkShape[ i + 1 ] ); supposed to be 'layers' ?
@Bloodbone
@Bloodbone Год назад
Hey! I wonder when episode 3 will come out?
@JohnnyCodes
@JohnnyCodes Год назад
Hey! I’m almost done with it, hoping to have it out in less than a week!
@animalracer3728
@animalracer3728 Год назад
@@JohnnyCodesCan’t wait for it!!!
@wyrdokward2290
@wyrdokward2290 Год назад
Great video ! I'm really looking forward to see how the network will be trained
@gustavosalmeron2013
@gustavosalmeron2013 Год назад
That was an excellent, practical video on neural networks! As someone just beginning to dig into this subject, I love it! Also, clean and neat code. Enjoyable to read (although I'm not a fan of nesting classes).
@gustavosalmeron2013
@gustavosalmeron2013 Год назад
Also, your channel is criminally underrated.
@gagaoqphs2052
@gagaoqphs2052 Год назад
Please Upload Part 3
@bencebob8055
@bencebob8055 Год назад
thank you so much! this is exactly what i need for my uni project
@raouftouati4711
@raouftouati4711 Год назад
just amazing 🤩🤩
@AlMgAgape
@AlMgAgape Год назад
part 3 how to set up in unity?
@t.p.5088
@t.p.5088 4 месяца назад
best video ive ever seen not gonna lie
@sync_areagamer1384
@sync_areagamer1384 Год назад
amazing
@paufernandezpujol987
@paufernandezpujol987 Год назад
Hi, is part 3 coming out?
@sonnykong1312
@sonnykong1312 Год назад
drop the training video right now!
@danielcezario2419
@danielcezario2419 Год назад
amazing !!! waiting the training part
@TheZazatv
@TheZazatv Год назад
O man thank you! Such a gem content out here :) I'm a Swift Dev the code is not hard to grasp
@TheZazatv
@TheZazatv Год назад
btw is part 3 coming up or nah?
@JohnnyCodes
@JohnnyCodes Год назад
@@TheZazatv Yeah been really busy with work and starting my own company (Ironically ita a video editing company). I am hoping to finish it this week but I guess that has always been the goal lol. But I am hoping this week will be the week
@TheZazatv
@TheZazatv Год назад
@@JohnnyCodes oh nice we’ll be patiently waiting. And congrats on launching ur company 🫰
@bigmike7112
@bigmike7112 Год назад
@@JohnnyCodes Still waiting :D
@simi8220
@simi8220 Год назад
Part 3?
@aesvarash3256
@aesvarash3256 Год назад
I wonder that the shape of network . I mean how many hidden layers and nodes should we use for each sample . And also wondering about third part .
@morybest
@morybest Год назад
very useful John
@erinleighlynch9400
@erinleighlynch9400 Год назад
:') Episode 3 where are you... this is the new Half Life 3 for me. Am I wrong in thinking the weights and biases were never given values here? should those be made in this class too?
@JohnnyCodes
@JohnnyCodes Год назад
I believe you are correct the weights and biases were not given values yet, they are going to be randomly generated and then randomly modified each time the creatures reproduce. This is going to be in part 3............ someday... But luckily someone lifted the curse and I can now finish part 3 lmao, I responded to this amazing comment today by W_Shorts: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Ifx3kX5VQh4.html&lc=UgzIeWiWP2lb2gqR8_h4AaABAg.9lUU-CvLP8G9od6BhfRwBh
@adirmugrabi
@adirmugrabi 2 месяца назад
this is a much better way to do the forward pass: public void Forward(float[] inputsArray) { for (int i = 0; i < n_nodes; i++) { nodeArray[i] = biasesArray[i]; for (int j = 0; j < n_inputs; j++) { nodeArray[i] += weightsArray[i, j] * inputsArray[j]; } } } this way you don't create a new array every time. also the opening "{" is in the correct location.
@pauldevred1393
@pauldevred1393 Год назад
please, do the third part
@sync_areagamer1384
@sync_areagamer1384 Год назад
very good :)
@thimodemoura4472
@thimodemoura4472 Год назад
i need that next video i have no idea what im doing :( i have this code and i think i understood how it works after starring at it for an Eternity BUT how can i make use of it now....
@adirmugrabi
@adirmugrabi 2 месяца назад
if the activation function always happen right after forward. why not just combine them?
@TheRealTalGiladi
@TheRealTalGiladi 5 месяцев назад
Thank you! I would have kissed you for that great explanation!
@radsy5821
@radsy5821 Год назад
Good tutorial, but as others have pointed out there is a compile error both in the video and the github code in Awake(). layer in the for loop should be layers. Makes me wonder if was ever tested?
@JohnnyCodes
@JohnnyCodes Год назад
Yeah I am not sure how that got in there. The code definitely works because all of the clips of the training are created using this code so I must have done some refactoring to improve the names of variables for the video and had a typo. Will fix that soon
@AThingProbably
@AThingProbably Год назад
what
@Funny9689
@Funny9689 Год назад
This is useless, you literally just implemented matrix dot in C#. Most of the difficulty in making a neural network is just backprop, jfc
@mehmatrix
@mehmatrix Год назад
Clearly this is a tutorial for beginners, there is part 3 coming up and the most complicated things are built on top of simple concepts.. like matrix dot products 🤷‍♂ when you make a video that could explain backpropagation in 17 mins to beginners, please share with us. Cheers,
@Nabuuug
@Nabuuug Год назад
The true useless entity here is you, my dear sir.
Далее
Training A Neural Network From SCRATCH! (Part 3)
12:00
When Goalkeepers Get Bored 🤯 #3
00:27
Просмотров 2,8 млн
iPhone 16 & beats 📦
00:30
Просмотров 157 тыс.
这位大哥以后恐怕都不敢再插队了吧…
00:16
ASMR Programming - Spinning Cube - No Talking
20:45
AI Cars Learn To Drive!
6:56
Просмотров 13 тыс.
The Most Important Algorithm in Machine Learning
40:08
Просмотров 447 тыс.
Neural Network from Scratch | Mathematics & Python Code
32:32
I Built a Neural Network from Scratch
9:15
Просмотров 322 тыс.
I programmed some creatures. They Evolved.
56:10
Просмотров 4,2 млн
When Goalkeepers Get Bored 🤯 #3
00:27
Просмотров 2,8 млн