Neural networks can build 3D simulations of the universe in milliseconds, compared to days or weeks when using traditional supercomputing methods, according to new research.

To study how stuff interacts in space, scientists typically build computational models to simulate the cosmos. One simulation approach – known as N-body simulation – can be used to recreate phenomena ranging from smaller events, such as the collapse of molecular clouds into stars, to a giant system, such as the whole universe, obviously to varying levels of accuracy and resolution.

The individual interactions between each of the millions or billions of particles or entities in these models have to be repeatedly calculated to track their motion over time. This requires heavy amounts of compute power, and it takes several days or weeks for a supercomputer to return the results.

For impatient boffins, there's now some good news. A group of physicists, led by eggheads at the Center for Computational Astrophysics at the Flatiron Institute in New York, USA, decided to see if neural networks could speed things up a bit.

They successfully built a deep neural network dubbed the deep density displacement model, or D3M, according to a paper published this week in the Proceedings of the National Academy of Sciences of the United States of America. The model creates simulations of the universe after being given a set of displacement vectors for the particles in the system: these vectors, simply put, define the direction and distance the particles should be heading as the universe expands. It then turns these vectors into images that show how the particles of matter actually move, under the effects of gravity, and clump together to form webs of galaxy filaments over time.

Like the Architect in the Matrix... but not: Nvidia trains neural network to generate cityscapes READ MORE

A total of 8,000 universe simulations, each containing 32,728 particles spread over a virtual space spanning 600 million light years, were produced by traditional software and used to train D3M. In other words, it was taught how particles interact from thousands of traditional universe simulations, so that, during inference, for a given arbitrary input set of particles and displacement vectors, it can use its gained intuition to produce an output. It wasn't told the physics equations behind the interactions, which the traditional non-AI simulators are programmed to calculate; instead it gains an intuition on what's expected from an input set.

The accuracy of the neural network is judged by how similar its outputs were to the ones created by two more traditional N-body simulation systems, FastPM and 2LPT, when all three are given the same inputs. When D3M was tasked with producing 1,000 simulations from 1,000 sets of input data, it had a relative error of 2.8 per cent compared to FastPM, and a 9.3 per cent compared to 2LPT for the same inputs. That's not too bad, considering it takes the model just 30 milliseconds to crank out a simulation. Not only does that save time, but it's also cheaper too since less compute power is needed.

To their surprise, the researchers also noticed that D3M seemed to be able to produce simulations of the universe from conditions that weren’t specifically included in the training data. During inference tests, the team tweaked input variables such as the amount of dark matter in the virtual universes, and the model still managed to spit out accurate simulations despite not being specifically trained for these changes.

"It's like teaching image recognition software with lots of pictures of cats and dogs, but then it's able to recognize elephants," said Shirley Ho, first author of the paper and a group leader at the Flatiron Institute. "Nobody knows how it does this, and it's a great mystery to be solved.

"We can be an interesting playground for a machine learner to use to see why this model extrapolates so well, why it extrapolates to elephants instead of just recognizing cats and dogs. It's a two-way street between science and deep learning."

The source code for the neural networks can be found here. ®