The promise of evolutionary algorithms has been around for several years, offering organisations the elusive prospect of an advanced self-learning approach for artificial intelligence (AI).
A key challenge, however, has been that few evolutionary algorithm technologies have been available under an open-source license. That is changing today: Switzerland-based AI vendor NNAISENSE announced the formal release of its EvoTorch open-source evolutionary algorithm library. The company has been building out its technology with a focus on industrial AI to help with process automation and optimisation.
“The holy grail of industrial automation, since forever, has been about making processes more efficient,” Jonathan Masci, cofounder and director of deep learning at NNAISENSE, told VentureBeat. “Evolutionary computation is a way of doing reinforcement learning.”
EvoTorch is built on top of PyTorch
EvoTorch is built on top of the open-source PyTorch machine learning library.
Timothy Atkinson, research scientist at NNAISENSE, explained that EvoTorch has several components, including a collection of evolutionary algorithms and logging capabilities so a data scientist can track machine learning experiments in real-time.
“The main idea is that you can take anything that you have built in PyTorch and immediately optimise it with EvoTorch,” Atkinson said.
NNAISENSE has also integrated EvoTorch with the open-source Ray framework used for scaling Python and AI applications. Atkinson said that if a data scientist builds a problem as a PyTorch function to optimise on EvoTorch, it’s possible to scale to thousands of CPUs and hundreds of GPUs.
“We’ve built EvoTorch in a very sensible way on top of the Ray library, which means that it can scale as much as you can afford,” Atkinson said.
The intersection of evolutionary algorithms and reinforcement learning
An evolutionary algorithm can serve any number of different purposes, one of which is to help with a continuous-learning model. In that respect, evolutionary algorithms can be considered similar to the concept of reinforcement learning, though Atkinson emphasised some key differences.
Atkinson explained that with reinforcement learning, the algorithms are searching in the space of actions taken by AI and then trying to use what was found in the actions to help create improvements in the future.
An evolutionary algorithm changes where the learning happens, searching over individual networks and then propagating changes into the network. He also noted that evolutionary algorithms go beyond just learning and can be used for industrial optimisation and process controls.
“In both the reinforcement learning and the evolutionary algorithm cases, you can use a model that has been pretrained as the basis for learning good behaviour,” Atkinson said.
The other key difference for NNAISENSE with EvoTorch is a focus on helping enable neural evolution. Atkinson explained that neural evolution is the idea of taking a neural network and optimising it through an evolutionary algorithm to solve a problem.
Why open source matters
NNAISENSE had been building EvoTorch on its own for use inside its platform. There are several reasons why the company chose to open source the technology.
Atkinson noted that if NNAISENSE kept EvoTorch as a closed-source project, it would only be used by his company, and the broader AI community would not be able to benefit from or contribute to the project.
“There’s a real symbiosis when a library is an open source because it means that people can build their research directly on top of our library,” Atkinson said. “When they build their research on top of our library, and then they come to us and suggest that they would like their research added to the library, that’s improving the available tools for our projects.”