Live data from Hacker News

NeuroEvolution – Flappy Bird

xviniette.github.io

81–90 of 103 posts

Re: NeuroEvolution – Flappy Bird

#81
post #67

Earlier quoted context omitted.

took 230 generations for me to do anything then it just went from dying within the first 3 pipes to mastering it within 4 generations

On my first run, 2 individuals learnt(?) perfect play in 3 generations.

On my second run, 3 individuals seemed to have learned perfect play by gen 8, but after successfully navigating through dozens of pipes, two of them died and one continued indefinitely.

Re: NeuroEvolution – Flappy Bird

#82
post #26
post #25

Interestingly, the updates are done on the basis of only 2 external inputs [1]: the height of the bird in the screen and height of the aperture in the next pipe. Using only these two parameters the neural network decides whether to flap or not. I would had expected at least also the horizontal distance from the next pipe... [1] https://github.com/xviniette/FlappyLearning/blob/gh-pages/ga...

Wow, that's really unexpected. This isn't my field, but given the simplicity of the inputs and network, and the way commenters are seeing the demo achieve perfect play after anything between 2 and 200 generations, it makes me wonder if this isn't more of a brute-force search than actual learning? That is, it smells like there's a "correct" set of neuron values - where any genome within some tolerance of those values…

[deleted]

Re: NeuroEvolution – Flappy Bird

#84

At generation 83, a single bird emerged that successfully navigated through several hundred columns (current score 100000+) and showed no signs of failing. It took a few dozen generations to find versions that would make it through a few columns if those columns had gaps without too much vertical distance between them. Somewhere in generation 60-70, I could see versions figuring out how to transition between heights,…

Wow, I guess I was very lucky.

I am running right now a bird from generation 3 going at 26k+ score.

How is it possible to get such good specimens after so little generations? I'm guessing part of it is the simplicity of the model and the environment (the game), but still.

Re: NeuroEvolution – Flappy Bird

#85
post #62
post #53

Earlier quoted context omitted.

These are the exactly gems that I am constantly in search of, and thrilled every time I come across one. This is going to turn out to be a rant, but sometimes it feels like there's a culture of solving problems by a philosophy of "let's throw more money at it, more technology at it, more people, more unnecessary abstraction layers, complexity and bloat - it's bound to be solved eventually". And with enough fire power…

Sounds like you are noting that brute force is a very effective technique. Combined with explaining being a tough skill. It is seductive to want things to be elegant. It is costly to wait for the elegant solution.

Linked Observation: it is not very reliable in repetition.

I ran the sim a few times and got wildly different results. - First time (about average) it stabalised (scopre >10,000) at Generation 18.

- The quickest stabalisation was at Generation 3

- sometimes it got to Generation 50 without stabalising.

Brute force will eventually get there, but I guess based on so few parameters it is easy to create a misleading weighting and difficult to un-learn that.

Re: NeuroEvolution – Flappy Bird

#86
post #62
post #53

Earlier quoted context omitted.

These are the exactly gems that I am constantly in search of, and thrilled every time I come across one. This is going to turn out to be a rant, but sometimes it feels like there's a culture of solving problems by a philosophy of "let's throw more money at it, more technology at it, more people, more unnecessary abstraction layers, complexity and bloat - it's bound to be solved eventually". And with enough fire power…

Sounds like you are noting that brute force is a very effective technique. Combined with explaining being a tough skill. It is seductive to want things to be elegant. It is costly to wait for the elegant solution.

If that's all it was then I wouldn't bother to bring it up. What I'm saying is that more focus on the beauty of a solution (e.g robustness, scalability, flexibility, simplicity) can be a more financially sound solution in the long run than brute force. Of course, I'm not holding my breath for this to become the norm since using brute force to "get what we want now" is popular because it gets fast results (and this not limited to the software industry) - I'm just suggesting the real costs come later.

As for explaining being a tough skill - what I find in common with the previous point is the lack of stress on keeping things as simple and obvious as possible. If you truly understand something, you should be able to convey that understanding assuming you really want to - it just takes investment, usually by asking yourself why it is obvious to you, then putting yourself in the other party's shoes and then finding the shortest and clearest path to bring them from where they are to where you are. In my experience it's not a tough skill - just requires introspection into your own understanding and not assuming anything about what the other person understands.

Post reply on HN