esychology

Joined 6 months ago

Karma
107
Submissions
19
Member since
May 2
working on self-organizing systems
View on Hacker News

Recent submissions

Comment · 4 months ago
In normal NCA cells are pixels and they can perceive their neighboring pixels (cells can't move). In NPA cells are particles and they can perceive all particles in a support radius around them and these particles can move freely. Does this answer your question?
Comment · 4 months ago
Indeed! The system has good regeneration capabilities but it certainly has limits.

The particles can only grow reliably if they start from the egg-like initial condition. If we switch the rules mid rollout, we would get a messed up morphology.

Comment · 4 months ago
Comment · 4 months ago
I really loved the distill articles. Too bad it was not continued anymore...
Comment · 4 months ago
Thanks! Yeah I think it should be possible though it requires making the cell division/splitting a differentiable operation. But nontheless, this is indeed a very interesting and promising direction to pursue.
Comment · 4 months ago
One NN per pattern/image (instance based training).
Comment · 4 months ago
Comment · 4 months ago
Thank you for the kind comment! Please reach out, I'm happy to have a chat.
Comment · 4 months ago
That's not possible in the current demo but this sounds like an interesting feature to work on and add!
Comment · 4 months ago
Texture sampling retrieves pixels by coordinate, while NCA grows them from local rules with no global lookup. The weights are actually ~3× smaller than JPEG-compressed texture maps, so it's not just memorizing the image either. The more interesting part is that it's a dynamic process, you can damage the pattern while it forms and it repairs itself.
Comment · 4 months ago
This is awesome! The strength of the flow/advection is a bit too high imo. Maybe increase some viscosity parameter?
Comment · 4 months ago
I think performance is not the only issue for scaling to larger grids. CUDA Convolution implementation already utilizes coalescing to improve performance. The main bottleneck is that in larger grids, cells are further apart, and it takes more steps for them to be able to communicate.
Comment · 4 months ago
The input to the NN is just the 3x3 neighborhood around a cell. We can overlap two NNs on the same grid (through interpolation). Checkout https://meshnca.github.io to see the effect. When the brush is in graft mode, it basically allows you to paint some regions that will follow a different NN rule.
Comment · 4 months ago
If you're familiar with CAs (e.g. Conway's Game of Life), you can think of a NeuralCA as a CA where the update rule is given by a neural network. Here we optimize the neural net weights so that it behaves a certain way (e.g. grow a lizard from a single seed).

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton