29 ms·
> I have always seen evolutionary algorithm as a version of gradient descent... which is extremely wasteful Evolutionary algorithms work by sampling a combinat
by randomsearch 9y ago
> I have always seen evolutionary algorithm as a version of gradient descent... which is extremely wasteful
Evolutionary algorithms work by sampling a combinatorial solution space, and learning about the interactions between solution components. This is made explicit (and much more elegant) in the definition of EDAs:
https://en.wikipedia.org/wiki/Estimation_of_distribution_algorithm https://en.wikipedia.org/wiki/Estimation_of_distribution_alg...
By contrast, gradient descent makes the assumption that such interaction effects don't exist or don't matter, which doesn't work for most optimisation problems - you get stuck in local optima.
- eru 9y agoOf course you can mix your gradient descent with simulated annealing. But that gets close to evolutionary algorithms.
- rdlecler1 9y agoEvolutionary algorithms may also let you evolve the architecture. Think of a fly brain evolving into a human brain using the same genetic toolbox. With learning algorithms your assuming a fixed architecture. Hard to think how we’d get open ended evolutionary AI without evolutionary algorithms. At that point learning algorithms is the context dependent optimization step after neurogenesis.
- halflings 9y agoThe terms you are using are too vague, and seem disconnected from the reality of these algorithms. How do evolutionary algorithms let you evolve the architecture? You define a model space, and explore it stochastically (with different evolutionary strategies). The model space you are exploring is linked to a specific architecture. Regardless, there's also efforts in Deep Learning to automatically learn optimal network architectures ("AutoML").
- halflings 9y agoThanks! That link was really helpful. I guess some optimisation methods using a Hessian take those interaction effects into consideration, but they are too expensive and not used in practice. > doesn't work for most optimisation problems - you get stuck in local optima. This bit is not necessarily true. In practice, and given the high dimensionality, it is (apparently) quite hard to get stuck in local optima. [0] [0] https://www.quora.com/How-come-neural-networks-dont-get-stuck-in-poor-local-optima-Why-are-there-so-many-high-quality-local-optima https://www.quora.com/How-come-neural-networks-dont-get-stuc...
- randomsearch 9y ago> This bit is not necessarily true. In practice, and given the high dimensionality, it is (apparently) quite hard to get stuck in local optima. [0] In almost every optimisation problem I've encountered in practice, you do get stuck in local optima using simple techniques like SGD. Interaction effects are everywhere, and create local optima.