Were you unable to attend Transform 2022? Check out all of the summit sessions in our on-demand library now! Watch here.
The promise of evolutionary algorithms has been around for several years, offering organizations 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 technology. The company has been building out its technology with a focus on industrial AI to help with process automation and optimization.
“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 basically a way of doing reinforcement learning.”
PyTorch helps build an open-source platform for neural evolution
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 optimize it with EvoTorch,” Atkinson said.
NNAISENSE has also integrated EvoTorch with the open-source Ray framework that is used for scaling Python and AI applications. Atkinson said that if a data scientist builds a problem as a PyTorch function to optimize 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 emphasized there are 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 optimization 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 behavior,” Atkinson said.
The other key difference for NNAISENSE with EvoTorch is a focus on helping enable neural evolution. Atikinson explained that neural evolution is the idea that you can take a neural network and optimize it through an evolutionary algorithm to solve a problem.
Why open source matters
NNAISENSE had been building EvoTorch on its own for use inside of 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 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 tools that we have available for our own projects.”