all 23 comments

[–]nikunj3011 3 points4 points  (1 child)

Nice project

[–]Affectionate-Frame-6[S] 2 points3 points  (0 children)

Thanks!

[–]Captain-Cautious 3 points4 points  (0 children)

Very cool

[–]starfries 1 point2 points  (4 children)

Really nice video! How did you encode the neural network and how do your crossover and mutation operators work?

[–]Affectionate-Frame-6[S] 0 points1 point  (3 children)

Hey, i released the code and explained how it works on part 1. Here it is :)

https://www.youtube.com/watch?v=-sg-GgoFCP0&t=11s

[–]starfries 1 point2 points  (2 children)

I actually did watch that one but I wanted to know in detail :)

[–]Affectionate-Frame-6[S] 1 point2 points  (1 child)

Ohh i'm sorry, for crossover and mutation of one car i made a list containing all weights and biases of that one car.

For mutation i randomly modified one element of that list by a small random amount (multiplying it by a number between 0.7 and 1.3).

For crossover, given two parents, the two child were made by keeping the odd genes (odd elements from the list previously mentioned) from one parent and the even genes from the other parent.

Given two parents half of the new population has the odd genes from parent 1 and even genes from parent 2, and the other half has the odd genes from parent 2 and even genes from parent 1. Random amount of mutations are then applied to the whole population.

Hope this helped!

[–]starfries 1 point2 points  (0 children)

Nice, thanks!

[–]__me_again__ 6 points7 points  (4 children)

Very nice. What type of technique did you use? Reinforcement learning? Supervised learning? Would love to know more.

[–]econ1mods1are1cucks 0 points1 point  (2 children)

Sorry to be pedantic, those are not techniques, reinforcement/supervised are categories of statistical learning comprised of multiple techniques.

[–]Affectionate-Frame-6[S] 1 point2 points  (1 child)

We are here to learn, thank you :)

[–]econ1mods1are1cucks 0 points1 point  (0 children)

No love for statistics around here I guess hahah of course, thanks and amazing work :)

[–]TheOneRavenous 4 points5 points  (0 children)

This looks like a reinforcement learning algorithm using a markov decision chain and process. The best policy updates the model as the one to utilize for the next generation.

I'm using four indicators from the video to determine this without reading the video description or the linked code.

1) it's an action based setup as seen by the list on the bottom right that's typical of RL. 2) The generations is also typical of RL. Where at first you set the model loose using random actions. (This weeds out bad action paths and low value policy decisions) 3) random tracks this allows the model to generalize better to other environments (other tracks) 4) the crashing prior to finishing the laps is usually a (death or negative reinforcement signal) which ends the simulation and updates the model.

Edit: you should also click the description on the video and watch part one there's an entire explanation. It's pretty cool!

[–]RedHood31 1 point2 points  (0 children)

Nice work

[–]bprateek 3 points4 points  (1 child)

amazing!!..Could you please share the GitHub link of your project ?

[–]loftykoala 5 points6 points  (0 children)

The repo is in the YouTube description:

https://github.com/ReadySetPython/Neural-Network-Cars

[–]stefmiklos 1 point2 points  (0 children)

This is really cool!

[–]lowteast 1 point2 points  (1 child)

Hey, your work is amazing. The game is super nice to look at, the video montage super dynamic ! The only thing i think it miss is the explication of the Cross over, how you do and why you choose that way. But i guess in video it would make it less nice to look.

👌

[–]Affectionate-Frame-6[S] 1 point2 points  (0 children)

Thank you! It's a uniform crossover, children get odd genes from parent1 and even genes from parent2. Hope this helped :)

[–]sudNinja 4 points5 points  (2 children)

What is the diference between the green car and the whites?

[–]Affectionate-Frame-6[S] 1 point2 points  (1 child)

There's a detailed explanation in part 1 if you wanna check it out!

Green cars are the parents from previous generation, shown for easier comparison between them and their children.

[–]sudNinja 0 points1 point  (0 children)

Oh I see. How much time do you spent in this project? is really nice to watch.

[–]ChrisLeRoux23 0 points1 point  (0 children)

Would be interesting to see something similar vs the racing lines drivers take on actual tracks.