Introducing EvoGrad: A Lightweight Library for Gradient-Based Evolution

Introducing EvoGrad: A Lightweight Library for Gradient-Based Evolution

  • August 4, 2019
Table of Contents

Introducing EvoGrad: A Lightweight Library for Gradient-Based Evolution

Tools that enable fast and flexible experimentation democratize and accelerate machine learning research. Take for example the development of libraries for automatic differentiation, such as Theano, Caffe, TensorFlow, and PyTorch: these libraries have been instrumental in catalyzing machine learning research, enabling gradient descent training without the tedious work of hand-computing derivatives. In these frameworks, it’s simple to experiment by adjusting the size and depth of a neural network, by changing the error function that is to be optimized, and even by inventing new architectural elements, like layers and activation functions–all without having to worry about how to derive the resulting gradient of improvement.

One field that so far has not been greatly impacted by automatic differentiation tools is evolutionary computation. The reason is that most evolutionary algorithms are gradient-free: they do not follow any explicit mathematical gradient (i.e., the mathematically optimal local direction of improvement), and instead proceed through a generate-and-test heuristic. In other words, they create new variants, test them out, and keep the best.

Source: uber.com

Tags :
Share :
comments powered by Disqus

Related Posts

AQR’s Problem With Machine Learning: Cats Morph Into Dogs

AQR’s Problem With Machine Learning: Cats Morph Into Dogs

Machine learning has done magic, such as beating human chess champions. But in finance, expectations for the technology may need to come down a notch or two, according to quantitative firm AQR. Machine learning changes the way problems are solved.

Read More
Panel: First Steps with Machine Learning

Panel: First Steps with Machine Learning

This panel is a very diverse group, and I’m actually going to let them introduce themselves rather than me trying to butcher any names. This is all about answering my need, literally, my first steps. What should I be focused on as a software engineer wanting to get into ML and start using ML more convinced leadership on things that I want to do?

Read More