Evolutionary algorithm outperforms deep-learning machines at video games
technologyreview.com
technologyreview.com
Neural networks have garnered all the headlines, but a much more powerful approach is waiting in the wings.
Granted it's probably written for lay-people who don't know much about AI/ML techniques, but this is still pretty sloppy. It hasn't been proven that EA's are "more powerful" than NN's. And so far as that goes, I'm not even sure it makes sense to use a term like "more powerful" at all in this context. And EA approaches aren't some new, up-and-comer that haven't had their chance yet... those techniques have been around for a long time as well.
All of that said, I'm a big fan of EA's, dating back to when I implemented a parallel GA optimization algorithm in a parallel programming class in college. I've been fascinated with them ever since, and I do think that evolutionary approaches have a lot of potential. So I'm happy to see some positive press being directed in that direction, but I still get annoyed with some of the hand-wavy stuff and sloppy language.
Anyway, one thing about (some|many|most?) EA approaches is that they parallelize very well. And depending on what you're doing, you aren't necessarily doing Linear Algebra / matrix math, so you can likely accomplish a lot without spending beaucoup $$ on GPU's. A Beowulf cluster of CPU machines can be pretty effective.
"When you end up with a bunch of papers showing that genetic algorithms are competitive with your methods, this does not mean that we’ve made an advance in genetic algorithms. It is far more likely that this means that your method is a lousy implementation of random search."
So how can we reconcile that observation with the arguments in the article? Is recht overstating his case or is this a big screw-up in the field in general?
Can anyone who knows about reinforcement learning weigh in?
[1]: https://arxiv.org/abs/1806.09460
[2]: https://www.facebook.com/icml.imls/videos/428757614305426
Here's a video of Donkey Kong Country played by python-neat in open-ai's retro. It took 8 generations of 20 genones to beat level one. I'll post the code if anyone's interested.
Conveniently gene regulatory networks that would control cell growt, division, and wiring up the neurons are themselves represented mathematically as neural network so in effect you’re evolving one class of neural networks the build another class of neural networks. Nature is quite elegant.
https://m.youtube.com/playlist?list=PLAuiGdPEdw0iRhEnF5yPuqe...
I once built a simulator that used evo-devo to evolve morphology of modular robot organisms in response to environmental factors, completing evo-devo-eco. If I remember it right it was creating a snake at night and disassembling during the day. The fitness function becomes complicated though. I think it was something like a distance function in body morphology plus environmental condition (light).
The unanswered implicit question is how to do this combination, and whether the actual gain will be large enough to justify a mor.complicated system.
So, yes, we should try combining symbolic AI, decision trees, genetic algorithms, etc with deep learning, but the results from these combinations haven't all been super convincing.
If you look closely, all of these are not quite how biology works. In biology the population is decided by natural or artificial selection while in a GA there may be more factors at play (such as favoring a more diverse pool). The way solutions are represented is also different. In biology you have genes which behave according to the laws of genetics. In a GA, on the other hand, the solution representation and the operations to mutate and mix solutions are carefully planned by an intelligent designer.
It basically looked only at outcomes and backtracked in a Monte Carlo tree and assigned weights without preconceived training sets.
And it outperformed the bespoke programs with existing training data.
http://www.mscroggs.co.uk/blog/19
For the beads I used Smarties, so each time the machine lost I ate the "wrong colour one".
Probably all of these resellers are using some brain-dead stupid bot to set their prices for them. Too bad - if somebody was selling a used copy for, say, $75.00, I'd probably order it right now. Instead, it's going to sit in their store forever, because who would pay $230 for a used copy of a book, when they can get a new copy for $138.
SMH.
Fair enough. I probably would have ordered the $138.00 copy, if I had not just spent a couple of hundred dollars buying other books earlier in the day. :-)
I don't exactly splurge on lots of expensive stuff in my life, but I always figure three thing (in particular) are worth spending on:
1. books
2. food
3. tools
That said, it does seem like book prices have been surging lately. And it is a little frustrating that, more and more, you can't even find a used copy for a reasonable price.
That said, I haven't come across a better book. I'd buy it again without hesitation, regardless of expense. Erlang is way ahead of other popular platforms for neural architectures.
Neuroevolution is one of those overlooked niches where I think we'll see real progress in real AI.
If another language can do that (Go, perhaps?), I suppose the code can be made to work adequately.
I've never given much credence to Sher's book because of this. Switching to Erlang just isn't necessary given current techniques.
Here's a video of him playing with The Worlds Hardest Game: https://youtu.be/Yo2SepcNyw4