What will you visualize using these techniques? :-) Next time, we'll optimize the neural network and make the car smart! Till then, here's the full course playlist: ua-cam.com/play/PLB0Tybl0UNfYoJE7ZwsBQoDIG4YN9ptyY.html
"Hey, I completed your self-driving course, and I made some modifications to the network functions and various small details in the code. I'm looking for suggestions for certain parts. Could you provide your email or another contact for further communication?"
just discovered your channel, today, honestly i have nothing to say, the explanation and everything is just perfect. hope your channel grows really big
Hey Radu! I really enjoy your videos. Your tendency to visualise stuff to understand it is really nice, so is your nordic humour. Makes watching your videos enjoyable even if the topic is not something immediately interesting. Thanks for the work you're doing here, much appreciated!
Thanks :-) Glad you like it! Curious what you mean by 'nordic humour' :-)) I've been here (Finland) for over 10 years now, so I guess something rubbed off on me, but not sure what :-D
@@Radu I was once working with a couple of Swedish guys. They had a way not to use facial expressions ever. I never knew whether they were serious. I only ever saw them smile when I lost what I thought were drinking competitions.Was a fun time with these guys ;-) How do you cope with this crazy whether? This really demoralised me.
I see this comment quite late... Well, I like skiing and the code, in general (no sweating, no insects, etc...) It can be quite dark (which I don't like), but I'm usually indoors during that time anyway.
Thanks, it's not actually my idea... It should be well known, because it is presented quite nicely in a number of places (like this: developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset) but people aren't using it for some reason. You can even use it on text...
Like many others, I wonder why there's so few views for your videos. Very good job, I love this type of coding session. Maybe you should make these with "live style", aka some errors and debugging, as Meth Meth Method did. Another great YT channel. Thanks and congrats for your great content ! I'd love to see more with this project : maybe an automatisation of the genetics, or more traffic, or better learning AI ?
Thanks for watching and for the ideas :-) I did do live streams at some point but nowadays I can't find the time anymore... or, if I do find the time, it won't work for my audience, and I'll just be there coding alone :-D
Good stuff! I am looking forward to watching both pieces a few times to digest it all better. My only suggestion, for optimization, is to pre-calculate all the values for #getNodeX for your input/outputs so that you are not calculating the same values for each loop iteration. You can essentially "memoize" the values and use a constant lookup based on your input/output's "i" (or "j") value. This is possible because left, right, and your array lengths are all constants. The only things that change are your "i" and "j" values determined by the length of their respective arrays. Im not sure how heavy the lerp calculation ends up being, but if you can save cycles to work on something else, why not, right?
how can i make sure that i m actually learning some and not copy pasting though i copy paste ur code by watching it but i do it so i can play around with it to understand what going on beneath.
Yeah... coding along is usually not enough. Modifying some things is the way to go! I also recommend you have a look at phase 3 of the course (the Understanding AI playlist on my channel). There we learn how and why the neural network works by playing with it (a lot).
You are a fu** genius thanks a lot for share your knowledge with us, I'm really appreciate and your explanations are really clear and with all the detail, congrats!
Hello Sir, I've really learned a lot from your course, and followed every part of your course. And your suggestion on making the neurons change intensity according to the weighted sum (like you said at 34:44). But because I'm little weak at JavaScript (and C++ classes styles are really conflicting to me with js), could you give me any hint on how to do the same... It really does looks nice, and I really wanna do it. I just can't manage to inherit properties from Network.js. and afraid that I may break any other part of the code 😅
Hey, I did try this… can you confirm, if this is what you wanted to say. From visualiser.js I passed this values while drawing weights ctx.strokeStyle = getRGBAS(weights[i][j], inputs[i]) And a new utility function, which takes those values and does this, simply multiply the weights with the input intensity function getRGBAS(value, input) { const alpha = Math.abs(value) * input const R = value < 0 ? 0 : 255 const G = R //overlap red to make yellow const B = value > 0 ? 0 : 255 return "rgba(" +R+ "," +G+ "," +B+ "," +alpha+ ")"; }
Thanks for the video Radu I got a question.I am a beginner by the way Why cant we use just to horixontal section of neural network nodes.Why did you create middle one?
It's not something I can easily explain in a comment, but you'll find the answer if you watch lesson 2 of my currently ongoing course 'Understanding AI' :-)
@@Radu i know its off-topic but please tell me how do u tackle sleep while learning new topics. i can experiment with things i know for hours but when it comes to learning something new i began feeling sleepy. please tell me what was ur routine to stay productive when u were beginner and had to learn new things every day? I try to study at least 6 hours a day but those hours mostly spent fighting sleep, lazy mind🥲🥲🥲🥲
@@SeraphicFrost I don't really remember... I found some things boring too, when doing research. But I could switch from one thing to another, so, I kept myself entertained. Sleepiness can also have to do with bad diet or lack of exercise... Remember to consider those as well.
My color coding is similar to temperature. Yellow means positive (hot, like the sun) and blue means negative (like ice). So, a negative bias will be blue, but if you want to change the colors on your side, go ahead :-)
Btw, you asked something in the neural network video, but UA-cam removed the comment for some reason. I think the question is how does the for loop work even though it has neuronCounts[i+1] inside it. The reason is the for loop ends with i
It's trial and error, and then a simple genetic algorithm using mutation. It's not gradient descent per se, but the mutations will tend to go in the direction of the gradient, so, if you're new to that, this might make sense as a first step.
What will you visualize using these techniques? :-)
Next time, we'll optimize the neural network and make the car smart! Till then, here's the full course playlist:
ua-cam.com/play/PLB0Tybl0UNfYoJE7ZwsBQoDIG4YN9ptyY.html
"Hey, I completed your self-driving course, and I made some modifications to the network functions and various small details in the code. I'm looking for suggestions for certain parts. Could you provide your email or another contact for further communication?"
Excellent class! many thanks. I've been going through all lectures so far and everything seems so simple but the result is amazing.
Yes, indeed. Each component is relatively easy to understand but the end result is quite complex :-)
Such a genius, you even take time to reply to almost all of your comments, amazing bro. Hope your channel grows :)
I try to reply to all of them :-)
But if the channel grows I won't be able to :-/
You are my new super hero dude.
Thank you very much.
I am from brasil. Dont know english very well. But the way you teach, Is great.
Obrigado
Always wanted to be a super hero :-D now I can finally say I am one. Yey!
@@Radu kk. Real life one
@@brunomeida1 Haha
Awesome as always, Radu. I can't understand why you don't have 100 times more subscriptions.
Many of you guys seem to wonder the same :-D maybe someday... :-)
@@Radu Keep up the good work, Radu. Someday you will get all the attention you deserve.
@@aitorplaza2560 I honestly don't know what I would do if I'd have 100 times more viewers (=100 times more comments to respond to)
@@Radu Maybe you will a full time youtuber 🤣
@@aitorplaza2560 too... separated from the real world, I think. I'll miss contact teaching in class.
Being a self taught developer is hard on its own . Having videos and explanations like this is more than helpful they are inspiring !!
I'm happy to hear :-)
Thank you very much for this video! I ve learned a lot!
Glad it was helpful! :-)
Simply BRILLIANT !
Thanks :-)
just discovered your channel, today, honestly i have nothing to say, the explanation and everything is just perfect. hope your channel grows really big
I think you said quite a lot :-) Thank you for watching!
sir you're literally a genius
Thanks, but it's not true :-)
one of the best channel for computer science students
[SUBSCRIBED]
Thanks!
Excellent tutorial! I appreciate the attention to aesthetics as well
Glad you like it! :-)
Hey Radu! I really enjoy your videos. Your tendency to visualise stuff to understand it is really nice, so is your nordic humour. Makes watching your videos enjoyable even if the topic is not something immediately interesting. Thanks for the work you're doing here, much appreciated!
Thanks :-) Glad you like it! Curious what you mean by 'nordic humour' :-)) I've been here (Finland) for over 10 years now, so I guess something rubbed off on me, but not sure what :-D
@@Radu I was once working with a couple of Swedish guys. They had a way not to use facial expressions ever. I never knew whether they were serious. I only ever saw them smile when I lost what I thought were drinking competitions.Was a fun time with these guys ;-)
How do you cope with this crazy whether? This really demoralised me.
I see this comment quite late...
Well, I like skiing and the code, in general (no sweating, no insects, etc...) It can be quite dark (which I don't like), but I'm usually indoors during that time anyway.
The animated lineDashOffset is a really cool idea!
Thanks, it's not actually my idea... It should be well known, because it is presented quite nicely in a number of places (like this: developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset) but people aren't using it for some reason. You can even use it on text...
Like many others, I wonder why there's so few views for your videos.
Very good job, I love this type of coding session. Maybe you should make these with "live style", aka some errors and debugging, as Meth Meth Method did. Another great YT channel.
Thanks and congrats for your great content !
I'd love to see more with this project : maybe an automatisation of the genetics, or more traffic, or better learning AI ?
Thanks for watching and for the ideas :-)
I did do live streams at some point but nowadays I can't find the time anymore... or, if I do find the time, it won't work for my audience, and I'll just be there coding alone :-D
Awesome blossom
Thanks :-)
It's amazing! 😎 👍🏼
Thanks :-)
Thanks for the content Radu. Keep going
Thanks for watching! :-)
Good stuff!
I am looking forward to watching both pieces a few times to digest it all better. My only suggestion, for optimization, is to pre-calculate all the values for #getNodeX for your input/outputs so that you are not calculating the same values for each loop iteration. You can essentially "memoize" the values and use a constant lookup based on your input/output's "i" (or "j") value. This is possible because left, right, and your array lengths are all constants. The only things that change are your "i" and "j" values determined by the length of their respective arrays. Im not sure how heavy the lerp calculation ends up being, but if you can save cycles to work on something else, why not, right?
Nice idea! Thanks. I might teach it someday if I do something that lags without optimization!
it looks so cool 😁
Thanks :-))
Very impressive 💯
Thanks :-)
That was such a cool video and a neat visualization! Thanks Radu - I've recently subscribed to your channel!
Glad you liked it! Welcome to the channel :-)
how can i make sure that i m actually learning some and not copy pasting though i copy paste ur code by watching it but i do it so i can play around with it to understand what going on beneath.
Yeah... coding along is usually not enough. Modifying some things is the way to go! I also recommend you have a look at phase 3 of the course (the Understanding AI playlist on my channel). There we learn how and why the neural network works by playing with it (a lot).
@@Radu well i have good grip over C++ and Im planning to implement phase1 in c++ as side project using chili 's directX frameWork.
Awesome :-)
You are a fu** genius thanks a lot for share your knowledge with us, I'm really appreciate and your explanations are really clear and with all the detail, congrats!
Thank you. I put more effort than usual into this course. Glad it was worth it!
Subscribed & Clicked the bell button
Thanks & Thanks!
Hello Sir, I've really learned a lot from your course, and followed every part of your course. And your suggestion on making the neurons change intensity according to the weighted sum (like you said at 34:44). But because I'm little weak at JavaScript (and C++ classes styles are really conflicting to me with js), could you give me any hint on how to do the same... It really does looks nice, and I really wanna do it. I just can't manage to inherit properties from Network.js. and afraid that I may break any other part of the code 😅
Hey, I did try this… can you confirm, if this is what you wanted to say.
From visualiser.js I passed this values while drawing weights
ctx.strokeStyle = getRGBAS(weights[i][j], inputs[i])
And a new utility function, which takes those values and does this, simply multiply the weights with the input intensity
function getRGBAS(value, input) {
const alpha = Math.abs(value) * input
const R = value < 0 ? 0 : 255
const G = R //overlap red to make yellow
const B = value > 0 ? 0 : 255
return "rgba(" +R+ "," +G+ "," +B+ "," +alpha+ ")";
}
Yes, nice work :-) for questions like these you may want to join my Discord. Sometimes UA-cam removes comments with code in them.
Thanks for the video Radu
I got a question.I am a beginner by the way
Why cant we use just to horixontal section of neural network nodes.Why did you create middle one?
It's not something I can easily explain in a comment, but you'll find the answer if you watch lesson 2 of my currently ongoing course 'Understanding AI' :-)
How did u get so good 😮
20 years of practice...
Wow, you reply to everything? That’s cool. Btw I finished your course. Off to virtual self driving car world I go!
Good luck :-) I just began posting Phase 3 today.
@@Radu i know its off-topic but please tell me how do u tackle sleep while learning new topics. i can experiment with things i know for hours but when it comes to learning something new i began feeling sleepy.
please tell me what was ur routine to stay productive when u were beginner and had to learn new things every day?
I try to study at least 6 hours a day but those hours mostly spent fighting sleep, lazy mind🥲🥲🥲🥲
@@SeraphicFrost I don't really remember... I found some things boring too, when doing research. But I could switch from one thing to another, so, I kept myself entertained.
Sleepiness can also have to do with bad diet or lack of exercise... Remember to consider those as well.
Sir, can you explain what does blue and yellow color of lines shows and for negative bias shouldn't it show red color ?
My color coding is similar to temperature. Yellow means positive (hot, like the sun) and blue means negative (like ice). So, a negative bias will be blue, but if you want to change the colors on your side, go ahead :-)
Btw, you asked something in the neural network video, but UA-cam removed the comment for some reason. I think the question is how does the for loop work even though it has neuronCounts[i+1] inside it. The reason is the for loop ends with i
Interesante!!! saludos
Glad you like it!
Seriously, I need this opening song on Itunes ASAP
Did you know there is an extended version on the channel? :-)
@@Radu No, but now I realized my happiness extended)
Get it? Extended? :)
Hahaaa, I like your humor ;-)
Is the algorithm used for this project is gradient descent or any other?
It's trial and error, and then a simple genetic algorithm using mutation. It's not gradient descent per se, but the mutations will tend to go in the direction of the gradient, so, if you're new to that, this might make sense as a first step.
Hi thank you for this excellent video, i'm following it till Visualizer, i got a Uncaught ReferenceError of 'getRGBA', can u help?
Thanks for watching! Did you create the getRGBA function, moved it to utils.js and saved that file?
@@Radu yes. thx.
@@sariputraeymiller no problem
How to make perlin sound using javascript
Use the web audio api and fill an audio buffer with the generated noise after dimensionality reduction...
How to make No Man's Sky like game
@@RimjhimSaha369 haven't played... but after a quick search on wikipedia I can say it's not something I could explain as a comment :D
Radu sir, Can you please upload a video on this topic.
@@RimjhimSaha369 I will add it to my list, but will take a while. Have other things I want to do before that.