8 ms·
I spent more than 10 years working on this problem. One major challenge is how to represent the genotype-phenotype map so that genetic variation leads to favora
by rdlecler1 9y ago
I spent more than 10 years working on this problem. One major challenge is how to represent the genotype-phenotype map so that genetic variation leads to favorable phenotypic changes. For this you start going down a rabbit hole of developmental evolution and the evolution of evolvability and then a seemingly unrelated subject: the evolution of robustness.
For anyone that’s interested here’s an article I published in 2008–it has about 175 citations.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2538912/ https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2538912/
I’d also recommend the work by Peter Eggenberger from the late 90s.
- mindcrime 9y agoI assume this is the Peter Eggenberger you are referring to? https://www.semanticscholar.org/author/Peter-Eggenberger-Hotz/1728171 https://www.semanticscholar.org/author/Peter-Eggenberger-Hot...
- rdlecler1 9y agoLooks like the same guy.
- fizixer 9y agoDo you think creating a 3D universe (like that being worked on by open.ai), putting the evolvable agents in it and trying to make them evolve learning and intelligence is a good idea? I mean starting at a very primitive level, you could first aim for something like ant-level intelligence, then go to higher and higher intelligences from there.
- halflings 9y agoI think these type of discussions are really detached from the reality of what neural networks, AI or evolutionary algorithms are. These are mathematical models that optimise a specific fitness function, they borrow some biological concepts but they are not going to "evolve into ant-level intelligence".
- smallnamespace 9y ago> they are not going to "evolve into ant-level intelligence" How do we know until we've tried it? I mean, at a certain level of abstraction, you can just view humans as a bunch of atoms that have been placed in a heat bath for a very long time. And yet intelligence seems to have spontaneously self-organized from it.
- halflings 9y agoAgain, this is very detached from what ANNs or genetic algorithms are: relatively simple methods to optimise fitness (or "cost") functions. They are nowhere close to the complexity of a brain, and certainly do not have enough capacity to be a realistic simulation of the universe. > How do we know until we've tried it? Tried what, is the question? What's an ant-level intelligence? We have algorithms that can detect images/speech at super-human level (at least in some conditions). Worthy questions, but unrelated to these algorithms.
- Turing_Machine 9y agoI'm not sure that ants are doing a "realistic simulation of the universe", though, or anything like it. From what I understand, they're a lot closer to little robots than they are to something that can do Kip Thorne-level astrophysics, or Thomas Aquinas-level philosophy. I am thinking, in particular, of an experiment done by Richard Feynman where he got ants walking across small sheets of glass. After shuffling the sheets around so the chemical trail became a loop, he was able to get the ants tirelessly marching around in a circle (which they would presumably do until they dropped). Heck, you probably don't even need an ANN at all to do that, much less an evolutionary one.
- goatlover 9y agoYou could view it that way, but it won't do you much good, since biology is a long ways from physics, and humans didn't spontaneously emerge from a long standing heat bath.
- 9y ago
- goldenkey 9y agoYou may like this proposal: https://scrollto.com/life-a-universe-simulation/ https://scrollto.com/life-a-universe-simulation/
- rdlecler1 9y agoOpen ended evolution is an unsolved problem. You need the right genotype-phenotype map. That’s a hard problem and even if I was lucky and looking in the right direction probably way beyond my IQ.
- halflings 9y agoI have always seen evolutionary algorithm as a version of gradient descent that throws away the gradient, and instead just goes randomly in all directions until it finds something that works (which is extremely wasteful). I suppose this is wrong since people still find these techniques useful, but what are the advantages of these techniques compared to gradient descent? (other than the fact that you don't need your fitness function to be differentiable)
- MereInterest 9y agoRandom walks work well in high dimension soaces, where calculating the gradient gets to be very expensive. Depending on your metaparameters, random walk can also try to jump out of a local minimum, where gradient descent only optimizes within the initial local mimimum.
- halflings 9y agoGradient descent can also jump out of a local minimum if the learning rate is large enough, so they're equal in that sense. But it does make sense that a random walk would be more efficient in very high dimensional problems!
- pavelchristof 9y agoAbsolutely no. Random search does not work in high dimensions because of the "curse of dimensionality" - the number of directions to search grows exponentially with dimension. Gradient descent avoids the problem because it knows the right direction. Evolutionary strategies are doing (natural) gradient descent using an estimate of the gradient. Here's a good article: http://www.inference.vc/evolutionary-strategies-embarrassingly-parallelizable-optimization/ http://www.inference.vc/evolutionary-strategies-embarrassing...
- dragontamer 9y agoI think you confused "evolutionary algorithm" with Simulated Annealing. Because Simulated Annealing is LITERALLY a random walk (biased towards higher values, but its strongly random nonetheless). https://en.wikipedia.org/wiki/Simulated_annealing https://en.wikipedia.org/wiki/Simulated_annealing Simulated Annealing works because it doesn't get stuck in local maximums. Do a simple gradient ascent on this simple 2d plot, and its very, very unlikely to achieve the true global value: https://upload.wikimedia.org/wikipedia/commons/d/d5/Hill_Climbing_with_Simulated_Annealing.gif https://upload.wikimedia.org/wikipedia/commons/d/d5/Hill_Cli... But if you do Simulated Annealing (aka: random walk), you get to the global maximum much more reliably. Genetic Algorithms have a similar effect as Simulated Annealing because Genetic Algorithms are strongly randomized. But they still "hill climb" explicitly, because its rare for parents to be thrown away if they were superior to the children.
- smallnamespace 9y ago> evolution of evolvability and then a seemingly unrelated subject: the evolution of robustness. Isn't there a an analogue to this in software engineering? There is an extremely large space of programs that produce the exactly same output on a given input, but we humans favor programs that we can read and understand. We also favor programs that are modular and composable, because bits of those programs tend to get reused to create new programs and are easier to write than new 'blob of code' programs. One can view programs as memetic 'self-replicators', with a selection process dominated by the preferences of human readers and writers. If we analyzed many dependency graphs between code modules, or a graph of function call usage between snippets, I bet you'd find that actual human-written programs have the same 'sparse' connectivity that you see, because maintainability implies writing code along sane API abstraction boundaries. TL;DR evolutionary pressure might means nature naturally abstractions within genetic code
- Retric 9y agoThe mechanism for evolution is often the opposite of abstraction. Living things tend to make a copy of some really important bit of 'code' and then mutate that 'copy' rather than say losing the ability to form cell walls. On the other if a cell is making X then the new process can easily leverage the existence of that X when doing something new. Net result copy paste coding + dependency hell.
- mannigfaltig 9y ago> evolution of evolvability and then a seemingly unrelated subject: the evolution of robustness. Isn't evolvability only about robustness? What other criteria would improve evolution? Mutations just happen, so the question is how well the phenotype can deal with these mutations. If it can incorporate mutations well, it can tunnel to different useful phenotypes and therefore is robust.
- rdlecler1 9y agoAgree, but it’s not not obvious to most people. Robustness itself if a murky subject: are you robust to mutation, to the environment, genetic noise, genetic background? Also if you are too robust then you can’t evolve. What we want to say with evolvability is that we’re more predisposed positive selection.
- fouc 9y agoWhat are your thoughts about Grammatical Evolution? It cleverly uses BNF to constrain the possibilities to legitimate ones.
- zedpm 9y agoThat was my first thought as well; GE is the easiest way I know of to introduce domain-specific knowledge into the genotype > phenotype translation.
- kiechu 9y agoI also thought of that problem and I created language for representing agents in these systems. https://github.com/romankierzkowski/langner https://github.com/romankierzkowski/langner Unfortunately, I didn't carry on that work, so I haven't evaluated that kind of representation yet. I would love to know your opinion on Langner.
- Frogolocalypse 9y agoYou know the counter intuitive thing for myself that i found? Sexual reproduction sucks. It doesn't nearly have the performance gains I'd expect. In order to really own the gamut of a solution space, only asexual reproduction really has good consistent results. I've learned a lot more about why that is probably the case now, but i spent a long time getting to the bottom of it.
- CapacitorSet 9y ago>Sexual reproduction sucks. There is a joke to be made here.
- Frogolocalypse 9y agoPlants just wanna have fun?
- slewis 9y agoCliff-hanger! Can you elaborate on why asexual reproduction might perform better?
- Frogolocalypse 9y agoMy theory is that sexual reproduction focuses genes on performance in a stable environment, and asexual reproduction grows to encompass the entire gamut of every survivable environment. When you don't know the traits that are beneficial in an environment, a significant change adversely affects all sexually reproduced algorithms to a significant degree, whereas it affects all asexually produced algorithms at varying degrees.
- rdlecler1 9y agoI think the depends on your genotype-phenotype map. It’s hypothesized that sexual reproduction helps drive modularity because evolution needs to solve the problem of how to bring together two genetically different individuals and still come out with a viable offspring. This is why robustness is so entwined with evolvability. If your genotype-phenotype map is simple then robustness doesn’t need to evolve but this may limit evolvability. The thing I always found with with evolution is that there is no free lunch.
- pron 9y agoTuring proposed using genetic algorithms to evolve neural networks, and realizing the same issues you have, he then studied those underlying problems more in general (in particular, morphogenesis).