Neural Cellular Automata Q&A
A HPC and AI collaboration — featuring Nyan Kyaw (AI Branch) and Keren Collins (HPC Branch).
Featuring Authors:
Nyan Kyaw — AI Assistant Lead, AI Project Manager and Project Team Member for Cellular Automata
Keren Collins — HPC Project Manager and Project Team Member for Cellular Automata
We had the opportunity to hear from Keren Collins, current HPC member and project manager for Neural Cellular Automata and Nyan Kyaw, AI Assistant Lead and project team member. Both Keren and Nyan share their insights from this project which is a collaboration between our High Performance Computing (HPC) and Artificial Intelligence (AI) branches!
Can you tell me a little bit more about that project? As well as your aspect of the project collaboration?
Nyan (AI)— If you have ever heard of Conway’s Game of Life, it’s essentially that. Cellular automata are essentially little isolated cells which follow a rule set that you determine.
In our case, we’re exploring a fun application using emojis. We input an emoji into our neural network, which then attempts to learn a rule set, gradually transforming our game from a single black pixel to that emoji. Currently, we’re in the process of transitioning it onto the web for a neat demo on our website. We already have functional models capable of generating emojis from a single black pixel.
Keren (HPC) — In this project there are two core components: the simulation grid, which defines the interactions of the cells and how they ‘perceive’ themselves and other cells, and a machine learning algorithm which defines how these cells behave/update themselves in each cycle based on this information. The HPC side of the project works on the simulation grid. We also work on how to allow these simulations to run smoothly and efficiently locally on the computer of any person who comes across the website we are developing.
The model has acquired the capability to replicate the butterfly patterns in a manner such that when subjected to distortion (for instance, by moving the cursor over the pattern to “eradicate” portions of it), it adeptly learns to restore the original pattern.
What value do you believe this project holds currently/in future?
Nyan (AI) —In our current work, while we’re primarily replicating existing literature, we’re also excited about delving into entropy’s role in pattern learning. Entropy, in this context, reflects the evolving information content of patterns over time. Our innovative approach involves harnessing entropy to train neural networks dynamically, promising both novelty and research significance. However, significant value is also emerging from our HPC efforts. The HPC team is dedicated to parallelizing our Neural Cellular Automata application, aiming for exceptional speed and efficiency in cell calculations. Their outstanding work deserves a shoutout!
Passing it over to the HPC team! What hardware and software resources did HPC employ for the project, given the focus on parallel processing?
Keren (HPC) — Currently, since our objective is to make everything that we develop web-based, the HPC side has been working with WebGPU, based in JavaScript. We use WebGPU so we can utilise the parallel processing capabilities of the viewer’s PC to run our website’s interactive simulations.
What were the considerations behind these choices?
Keren (HPC)— Our main concern from the HPC point of view is to ensure as many of the models as possible that we develop are runnable on our website. This means that the code has to execute several hundred updates per cycle, and yet still run in the browser without lag. As we progress, we’re aiming to make things increasingly complex and explore as many different implementations of both the cell’s perception/interaction and the cell behaviour. These models will become increasingly taxing on the resources available, but from a HPC perspective, we’d like to push this as far as we can.
Reflections:
What were some key lessons learned by the HPC team/or that you learnt from collaborating on this project?
Keren (HPC) — In this project team, every individual has their own interest and knowledge geared toward a particular aspect of the project. So one of the first things new to me was learning how to work with a diverse range of knowledge bases and interests, from the machine learning component, web-development, mathematics component, GPU-programming, and the biological modelling. It’s been really interesting seeing how all these aspects work together, and figuring out how to adjust the workflow to best utilise the skills of each individual.
Could you please provide three words to describe this project in retrospect?
Nyan (AI) — Colourful, fast and challenging.
Colourful — If you see some of the demos that we have there’s a lot of really pretty patterns. A lot of worms quite frequently. I’ll say fast is another one — the HPC team is doing an incredible job making everything super fast. We give them a lot of code vomit, and they just make it work. And then lastly, I would say challenging. It’s very challenging at least on the AI side of things to train a neural network to replicate a rule set because it’s not just your standard supervised learning where you have a labelled image. You’re also kind of dealing with time series data in a sense so that makes training very difficult, and for this reason you get to explore out-of-the-box solutions.
Interested in learning more?
Check out these links:
Introduction to Conway’s Game of Life
A video of Conway’s Game of Life, emulated in Conway’s Game of Life.
Lastly,
If you would like to access and play with our app, you can clone https://github.com/MonashDeepNeuron/Neural-Cellular-Automata.git, go to /CAs/Continuous and open life.html with live server (will need the live server extension on vscode).
NCA Project Team Contributors:
HPC - Alex Mai, Peter Cooper and Joshua Riantoputra
AI - Chloe Koe (Project Lead)
Special thanks to our editors: Reya Jain and Regina Lu