Neuroevolution is a subcategory of machine learning that applies evolutionary computation to generate artificial neural networks. Traditionally, neural networks are trained using the backpropagation algorithm. Back propagation is limited in its application, especially in scenarios where a training set of sufficient size is unavailable as in artificial life or evolutionary robotics. Backpropagation also puts a lot of constraints on the topology of the network. The number of hidden layers as well as the number of neurons per layer need to be known in advance, the activation function must be differentiable, the network must be fully connected and recurrent connections are not allowed. Neuroevolution provides an alternative approach which generates nets that don't suffer from these limitations and can evolve to any topology.
In this talk, I take you on a journey where we first explore the foundation of artificial neural networks and evolutionary computation. In the latter half you will learn how to combine the two and create a general-purpose platform for neural network based systems from cleaning robots to financial oracles.
Talk objectives:
Target audience:
Jeroen Soeters is the tech lead for ThoughtWorks NYC. He works predominantly on distributed event-driven systems or micro services architectures. Prior to joining ThoughtWorks he ran a startup for many years and had a few short-lived consulting experiments all in the Netherlands where he grew up. He is a long-time DDD practitioner, functional programming aficionado and relentless learner. his biggest passion at the moment is neuroevolution, a branch of machine learning that uses evolutionary computation to generate artificial neural networks. Currently based out of NYC, where he is often found in bars that serve proper Belgian beer.
Github: JeroenSoeters
Twitter: @JeroenSoeters