[HN Gopher] Self-organising textures from cellular automata
       ___________________________________________________________________
        
       Self-organising textures from cellular automata
        
       Author : fenomas
       Score  : 352 points
       Date   : 2021-02-12 12:34 UTC (10 hours ago)
        
 (HTM) web link (distill.pub)
 (TXT) w3m dump (distill.pub)
        
       | gchamonlive wrote:
       | This is very interesting
       | 
       | I observed that the more symmetric the basic structures of the
       | pattern/texture are, the more stable the result is/the faster the
       | automata converges.
       | 
       | I wonder what it would take to stabilize the worst case I saw
       | there, the veined leaf texture.
        
       | jonahrd wrote:
       | For some reason I find these quite disgusting to look at. I
       | wonder why!
        
         | SamBam wrote:
         | Besides the organic, slightly bacterial-colony forming nature
         | of them, I wonder if you also have trypophobia. I feel like
         | some of the images were triggering the same kind of feelings I
         | get from that.
        
         | JosephRedfern wrote:
         | The way the the images move during evolulution kinda reminds me
         | of worms or maggots wriggling around in soil.
        
         | choxi wrote:
         | https://en.wikipedia.org/wiki/Trypophobia was mentioned in
         | another comment
        
       | f430 wrote:
       | is the animation periodically shaking? I was staring at it and it
       | seem to quiver.
        
       | samwestdev wrote:
       | How does it work?
        
       | soheil wrote:
       | What is the significance of this, e.g. can we use this approach
       | to build arbitrary material or even living tissue? I can't help
       | but think of this video [0], it seems there may be commonalities
       | between what's happening in life and simple cellular automata.
       | 
       | [0] https://www.youtube.com/watch?v=7Q9VyHJ1l2Q
        
       | Sebastian_09 wrote:
       | Warning for people suffering from trypophobia, some of the
       | combinations can be quite disturbing! [0]
       | 
       | Very interesting how the patterns react to disturbances like
       | rotation, and the animation is very smooth
       | 
       | [0] https://en.wikipedia.org/wiki/Trypophobia
        
         | udp wrote:
         | I usually have a very strong (feeling unbearably itchy)
         | trypophobic response to anything "organic" that has clusters of
         | protrusions or holes e.g. lotus seed pods, but none of these
         | examples have any such effect. I think it's because of the
         | bright colours and low resolution.
        
           | hoppla wrote:
           | Ditto, it has to be organic for me. Usually holes with stuff
           | in it.
        
           | jointpdf wrote:
           | What about inorganic physical objects, like a shower head?
        
             | udp wrote:
             | No problem if it's inorganic. I expect there must be some
             | kind of evolutionary reason for it - the fact that it's an
             | itching/crawling feeling strongly suggests it has/had
             | something to do with bugs.
        
       | k2enemy wrote:
       | If you haven't heard or seen any presentations about the work
       | coming out of the Levin lab, it is super interesting. I don't
       | really know anything about biology, but the work around modifying
       | organisms via changing electrical circuits rather than genes is
       | fascinating, and to a lay-person such as myself seems like the
       | future of bio.
       | 
       | https://ase.tufts.edu/biology/labs/levin/presentations/
        
       | Moosdijk wrote:
       | If you want to see similar work by some of the same authors, see
       | [1]. The youtube channel "twominutepapers" has an explanation of
       | this work[2].
       | 
       | [1] https://distill.pub/2020/growing-ca/ [2]
       | https://www.youtube.com/watch?v=bXzauli1TyU
        
         | hans1729 wrote:
         | Shoutout to twominutepapers, it's a wonderful channel.
        
           | [deleted]
        
       | enricozb wrote:
       | This reminds me a lot of the WaveFunctionCollapse texture
       | generation algorithm [0]. It "generates bitmaps that are locally
       | similar to the input bitmap."
       | 
       | Very cool!
       | 
       | [0]: https://github.com/mxgmn/WaveFunctionCollapse
        
       | JackFr wrote:
       | This is the first I've ever read about neural cellular automata,
       | though I thought I was relatively up to date on both cellular
       | automata and deep learning. I think I was able to pick up the
       | broad strokes from context, but is there a good introductory
       | resource for neural cellular automata?
        
       | [deleted]
        
       | alokdhari wrote:
       | Until next trip.
        
       | taneq wrote:
       | This reminds me of a shareware program I had way back in '98 or
       | something. It let you generate (or evolve?) seamlessly tiling
       | textures using a cellular automaton with a bunch of parameters. I
       | remember it being really cool at the time but can't for the life
       | of me remember what it was called.
        
       | ArtWomb wrote:
       | Results resemble common micrographs. But perturbed in such a way
       | as to appear alien. Appears we are on the cusp of "neural
       | synthetic biology" ;)
       | 
       | Fast differentiable DNA and protein sequence optimization for
       | molecular design
       | 
       | https://arxiv.org/abs/2005.11275
       | 
       | Regenerating Soft Robots through Neural Cellular Automata
       | 
       | https://arxiv.org/abs/2102.02579
        
         | enchiridion wrote:
         | Is a micrograph the same a motif from network theory?
        
       | EamonnMR wrote:
       | This does a good job of illustrating how patterns in nature
       | formed by cells can self organize. I haven't dug in to see how
       | similar the implementation is, but when you look at the way these
       | textures develop it sure looks like it.
        
       | adamhp wrote:
       | "It reaches out... it reaches out... it reaches out..."
       | 
       | This is too cool.
        
       | unparadoxed wrote:
       | Very nice! The results look similar to my experiments in applying
       | feedback to style transfer networks
       | (https://www.youtube.com/watch?v=fGSXbYDpI9c), though the self-
       | healing properties of CA make this more interesting!
        
       | eyvindn wrote:
       | Authors here. If you have any questions we'll do our best to
       | answer them! Glad to see people find our work interesting thus
       | far.
       | 
       | We also encourage anyone interested to play with the linked
       | Google Colabs [1][2] and read the other articles in the Distill
       | thread. In the Colabs you'll find a bunch more pre-trained
       | textures as well as a workflow to train on your own images, plus
       | some of the scaffolding to recreate figures.
       | 
       | [1] https://colab.sandbox.google.com/github/google-
       | research/self... [2]
       | https://colab.sandbox.google.com/github/google-research/self...
        
         | blacksmith_tb wrote:
         | Very interesting work. The bottom of the article has links[1]
         | to the GH repo, but I take it that it's a private repo?
         | 
         | 1: https://github.com/distillpub/post--selforg-textures
        
           | teenbear wrote:
           | there's links to the basic collab implementations at the top
        
         | JackFr wrote:
         | This is the first I've ever read about neural cellular
         | automata. I think I was able to pick up the broad strokes from
         | context, but is there a good introductory resource for neural
         | cellular automata?
        
         | mysterEFrank wrote:
         | I love all you guys' work. Keep it up.
        
         | layer8 wrote:
         | How large is the state space for each cell? Full 8-bit RGB (=
         | 24 bits)?
        
           | zzznah wrote:
           | Each cell has 12 8-bit channels, including rgb, so it is 96
           | bits.
        
             | [deleted]
        
             | [deleted]
        
             | yorwba wrote:
             | The article says "our NCA model contains 16 channels. The
             | first three are visible RGB channels and the rest we treat
             | as latent channels which are visible to adjacent cells
             | during update steps, but excluded from loss functions."
        
               | eyvindn wrote:
               | Thanks for noticing. This is a typo stemming from early
               | experiments. We started out with 16 channels, but
               | switched to 12 channels of state when this worked just as
               | well. I've submitted a correction.
        
           | eyvindn wrote:
           | EDIT: Alex replied below. For more details on quantisation
           | see footnotes in our seminal work [1]
           | 
           | [1] https://distill.pub/2020/growing-ca/
        
             | phreeza wrote:
             | Is it common to describe ones own work as seminal?
        
               | munificent wrote:
               | In typical parlance today, "seminal" means "from which a
               | bunch of important things have sprung" but I think there
               | is an older definition which is simply "first".
        
               | eyvindn wrote:
               | Apologies, not my intention. I was also under the
               | impression seminal could be used to mean "first" in the
               | succession of our works and this is what I had intended
               | to communicate.
        
         | jderick wrote:
         | Where do the original textures come from?
        
         | ciaranby wrote:
         | Great post, thanks! I saw Growing Neural Cellular Automata
         | document you describe a strategy to get the model to learn
         | attractor dynamics. I was kind of reminded of Deep Equilibrium
         | Models (https://arxiv.org/abs/1909.01377).
         | 
         | Is there a relationship between these models and do you think
         | these root finding and implicit differentiation techniques
         | could be used to train Cellular Automata too?
        
         | toss1 wrote:
         | Wow!!
         | 
         | Really impressive work - in seconds, I see so much both
         | richness of ideas and potential!
         | 
         | And, as is so often the case, the really interesting work
         | happens on the intersection of two fields - neural nets and
         | cellular automata here. I've got tons of new reading to do now!
         | 
         | Any plans to extend it to generation in 3D space?
        
         | jsilence wrote:
         | Question? Yes: Why do I love you so much? I don't even know
         | you!
        
         | teenbear wrote:
         | Thanks for the write up! Just a note: at least in the pytorch
         | collab there are missing includes (numpy and the imread
         | function)
        
         | zitterbewegung wrote:
         | The textures remind me of the beginning of once in a lifetime
         | by talking heads. https://www.youtube.com/watch?v=5IsSpAOD6K8
        
       | danans wrote:
       | > In the same way that cells form eye patterns on the wings of
       | butterflies to excite neurons in the brains of predators, our
       | NCA's population of cells has learned to collaborate to produce a
       | pattern that excites certain neurons in an external neural
       | network.
       | 
       | I know there has been other work on adversarial networks, but
       | this analogy (along with the photo of the butterfly) really
       | communicates the idea well. And although I'm generally skeptical
       | of claims that ANN "x" is the true model of how the human brain
       | works, it makes a lot of sense to me that this is how adversarial
       | self-organizing biological structures interact.
       | 
       | Also, it's a powerful example because of just how effective the
       | butterfly wing's "eye" is. Despite understanding that it's a
       | decoy, I still can't look at it and not be unnerved a bit by it.
        
       | willis936 wrote:
       | Nice approximation of nature. You can see both growth and
       | statistical mechanics in the same demonstration.
        
       | hardmath123 wrote:
       | See also: using differentiable approximations of cellular
       | automata in PyTorch to reverse Conway's Game of Life; in some
       | cases, you can get striking Turing patterns similar to what's
       | described in this paper! http://hardmath123.github.io/conways-
       | gradient.html
        
       | March_f6 wrote:
       | This is amazing. As a complete ML/AI neophyte can someone
       | suggests some books/resources to help me understand the basics of
       | what is going on here?
        
       | colordrops wrote:
       | This is awesome. Not sure why, but I was kinda disappointed to
       | find our that it uses ML.
        
       ___________________________________________________________________
       (page generated 2021-02-12 23:00 UTC)