wagenaartje / neataptic

:rocket: Blazing fast neuro-evolution & backpropagation for the browser and Node.js
https://wagenaartje.github.io/neataptic/
Other
1.19k stars 279 forks source link

Mario example #21

Open dan-ryan opened 7 years ago

dan-ryan commented 7 years ago

I think a great example that would really show off this library is getting Neataptic to learn Mario. There are plenty of videos showing people doing this. For example: https://www.youtube.com/watch?v=qv6UVOQ0F44 This one has it's source code here: https://pastebin.com/ZZmSNaHX

I'm not sure how hard that would be to port to Javascript and use a Javascript emulator. But I'm happy to help where I can.

wagenaartje commented 7 years ago

Googling "Javascript mario" gave me some results. So I hope there are some pure javascript versions out there. I'm going to upload a text prediction example soon, after that i'll start looking into Mario.

Very interesting video by Sethbling by the way. I have seen it before.

dan-ryan commented 7 years ago

"So I hope there are some pure javascript versions out there" There are a few javascript emulators. https://github.com/fcambus/jsemu

"I'm going to upload a text prediction example soon" Awesome.

I wish Sethbling did some more on Neat. Here's another one of his. https://www.youtube.com/watch?v=iakFfOmanJU

dan-ryan commented 7 years ago

On a random note, this is a very cool project https://www.twitch.tv/sentdex A neural network trying to learn to drive in GTA5 using only the screen info (480p colour).

polarathene commented 7 years ago

As a simpler example without needing an emulator or worrying about overfitting that a fixed level might run into, FlappyBird tends to be a good basic example of NEAT. Here's a popular video of it, and someone has done a JS / HTML version here, though their live demo figured it out by the 2nd generation for me, I'm still new to machine learning so no idea if that was too fast.

dan-ryan commented 7 years ago

"I'm going to upload a text prediction example soon" Did you get a text prediction example done in the end? I would be interested in that.

wagenaartje commented 7 years ago

I definitely go it finished, but I never actually got to posting it. If you want, I could still attempt to re-create it (i've got a new laptop, so can't access old files).

Currently working on a simple demo that uses Neataptic to classify drawings.

dan-ryan commented 7 years ago

"I could still attempt to re-create it " Yeah, that would be great if possible. Even if it's just a simple example. I want to work on a new project soon around text.

wagenaartje commented 7 years ago

https://jsfiddle.net/wagenaartje/8r4mwe3d/5/( open console and wait, then type in text in the input bar, press enter )

This is working nowhere as good as the first time I created this (my previous one could predict whole sentences correctly). I made this example fast though, and if you're going to do text prediction I advise to predict word-by-word instead of char-by-char.

They key is making your own train function. Networks should be cleared before they are tested on a single text snippet, otherwise it will mix up the contexts of the snippets.