Hacker Newsnew | past | comments | ask | show | jobs | submit | eyvindn's commentslogin

as other folks have replied, Z80 is more expressive and yields more interesting replicators faster. however the question of how complex to make the "base layer", if you will, remains open. we expect it to also be an ease of auto-evolution vs. performance tradeoff.

second question is a good question :)


authors here - happy to answer any questions! we’re excited for this line of work and see this as the first step on a longer journey.


The projects being worked on by the Paradigms of Intelligence team at Google are so fascinating. The book "What is Intelligence?" by the founder is brilliant and mind-opening. While reading the posted article and related topics, I rediscovered a rich collection of papers on Differentiable Self-organizing Systems.

https://distill.pub/2020/selforg/

I'd read through the whole site and all the papers there when they were published, and the questions they raise are, to me, some of the most interesting intellectual themes. Then I realized you're an author on most of the articles, as well as Michael Levin, whose research I've been deeply curious about, listening to his talks, reading his papers. It makes sense that there's a common thread and convergence, but also a pleasant surprise.

Just wanted to express my appreciation for the work you and your cohorts are doing, how it's pushing the boundary and depth of our collective understanding. I don't have a question per se, but I feel that this area of inquiry seems both underappreciated by the general public and at the same time fairly open to those outside of academia - what might be called experimental mathematics and exploratory computer science. Maybe there's room for "popular-science" type authors, to explain how cool (ha) these ideas are, to translate the technical material to more digestible language for a wider audience.


I've long felt that Artificial Life or an approach rooted in that is the best way to get a novel and interesting machine intelligence. The breakthrough with more conventional methods was surprising, but it still seems like it might hit a ceiling (or may have already?).

The major thing that's always stumped me is how to design a universal fitness function that can take you from soup to a brain. IRL there is "the environment" which contains resources that need to be consumed to survive, and the majority of evolution (senses, bodyforms, metabolic pathways, etc) is based on navigating this environment and extracting energy. Can we say that life or intelligence is a meaningful concept without this universal background reference plane and survival game?

One of the things I think is limiting about conventional systems is what I call the "brain-in-a-vat" problem. They don't "exist" in any meaningful sense, they don't "experience" anything, they don't have any "reason" or "motivation" to do or develop anything.

I think of something more like a video game. The world of World of Warcraft or Call of Duty is a mathematical construct that doesn't truly reflect how our world works, but, through a window we can interpret it in a way that we understand and relate to. Some kind of video game environment with more relaxed and "open-ended" parameters and a simulated survival mechanism would be an interesting experiment.

The abstract mentions metabolic constraints. Can you share more of your thoughts or conceptual approach to this?


this is my personal take;

I agree, for the same reasons you mentioned, resource constraints will need to be baked in (they are already, to some extent, if you consider the constrained resource to be z80-CPU-seconds the program has access to). something more akin to energy in our real world, which can be manipulated, aggregated, shared, pooled, stolen, etc feels more natural, however.

imo meaningful intelligence could conceivably developed in a soup (even in-silico), unclear on what timeline, but grounding it with human and/or real-world data is necessary to make it useful to us (bio-compatible, if you will?)


Yes, that's the other thing -- starting from a soup, it takes a very long time to know if the parameters that have been chosen are conducive to evolving something we would consider intelligent. The gif in vicgalle's github is largely inscrutable (even if you understand what it represents in aggregate), and I imagine one would be staring at something like that for quite some time.

Obviously, you have to "cheat" biology somewhere, we don't have hundreds of millions of years. Neural networks cheat by essentially throwing out the whole evolutionary process and environment that led to the brain, attempting to make a model that works like the brain. IMO that is too much cheating.

Starting with a substrate of random bits of assembly code strikes me as a little too low-level (which is not to dismiss this research at all, I think it's valuable, I'm just spitballing big-picture ideas). Have you considered starting with something like the Unreal or Unity engine, or even Minecraft?

You would lose the elegant and unopinionated search space of all programs, and you would have to engineer a more structured system (kind of like Spore but more simulation than game), but I feel like you might be able to get some more readily relatable behaviors sooner?


And maybe that just isn't really your area of work, I get that it would be a totally different project (like saying to a C++ guy "have you tried JavaScript?"), but that's why I think it's interesting to ask, because it really is a question of understanding this entire integrated "stack" of biology and what parts of it are vital.


the unity/minecraft level of abstraction is a common one in AFIFE, and too often ends up being Spore - looking and behaving in very interesting ways, but remaining just that. those approaches are on the wrong side of the performance vs evolvability curve - scale is a necessary ingredient and running things at a physics sim level is just too taxing.

it is of course entirely possible we are on the flip side and too low-level - this is something we're trying to find out.


> scale is a necessary ingredient and running things at a physics sim level is just too taxing.

I once had an idea for a system that basically took in multiple video inputs and produced video output. Individuals would then run instances (that they could tweak) that were connected to a larger network. Somewhere between an MMO and Folding@home. Not only would it distribute the compute load but it would simulate the chaos of large numbers of individuals trying out different things.

Again I think it comes back to the fitness function and how things get nudged "upward." In any case it seems all you need to do is get fitness right and then let it rip...

Have you explored any distributed concepts like that?


Makes sense, thanks. Even attempting to go for something that could span all those layers of complexity would be such an ambitious project. I doubt any projects in this field have access to MMO-level resources but I feel like it would take a WoW-size dev team and timeline with PhDs across multiple disciplines, crucially with virtually no expectation of financial return. All the money is chasing immediate business value...

Maybe there is the possibility of some kind of stack? Something that starts low level and somehow can be composed or integrated into higher levels of abstraction?


Super cool work! What's next? Do you think with longer memory limits more interesting programs might emerge? Or is it substrate dependent?


there are many bottlenecks in the substrate - memory limits being one of them. other things like the A-B concatenation inherited from the bff paper also severely limit the possible dynamics. understanding and avoiding these bottlenecks are some of our next steps!


^ yes. this is what we hope.


Super big fan of your work on cellular automata. Do you have anything interesting papers coming up?


yes! very soon!


:)


colab with all code will be available next week, will add link from the article.


I'll be waiting!


thanks for catching this, the figure for the target was inverted when exporting for publication, corrected now.


Amazing paper, I re-read it in more detail today. It feels very rich, like almost a new field of study —- congratulations to the authors.

I’m ninjaing in here to ask a q — you point out in the checkerboard initial discussion that the 5(!) circuit game of life implementation shows bottom left to top right bias — very intriguing.

However, when you show larger versions of the circuit, and in all future demonstrations, the animations are top left to bottom right. Is this because you trained a different circuit, and it had a different bias, or because you forgot and rotated them differently, or some other reason? Either way, I’d recommend you at least mention it in the later sections (or rotate the graphs if that aligns with the science) since you rightly called it out in the first instance.


Author here. Thank you! You're seeing that correctly. The directional bias is the result of some initial symmetry breaking and likely random-seed dependent. The version that constructs the checkerboard from the top-right down was trained asynchronously, and the one from the bottom-left up was trained synchronously. The resulting circuits are different.


could you link the drone swarm command article?



Authors here - will do our best to answer any questions.


Adversarial images targeting an image classifier have been shown to be transferable to separately trained models (i.e., models with different weights or different architectures relative to the model for which the adversarial image was constructed to target).

I'm curious if the adversarial CA reprogramming techniques are similarly transferable. That is, do the adversarial CA and/or the adversarial perturbation matrix transfer to separate CAs (trained on the same task) with different weights or architectures than the original CA that was targeted?

Is this something you've explored or plan to?


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...


The textures remind me of the beginning of once in a lifetime by talking heads. https://www.youtube.com/watch?v=5IsSpAOD6K8


Looks similar to the Gray-Scott model. https://mrob.com/pub/comp/xmorphia/


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?


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?


There's some recent work that involves NCAs in a 3D setting by Horibe et. al [1] and tweet [2]. Other work by Risi and collaborators is definitely worth checking out as well.

[1] https://arxiv.org/abs/2102.02579 [2] https://twitter.com/risi1979/status/1358018266824912897


nice - thanks!


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?


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


That repo contains the code, figures and text for the article. It's set to public now.


there's links to the basic collab implementations at the top


Question? Yes: Why do I love you so much? I don't even know you!


Thanks for the write up! Just a note: at least in the pytorch collab there are missing includes (numpy and the imread function)


The second cell looks a section title ("Imports and Notebook Utilities"), but contains the definitions of these functions and the imports. Run this cell and I suspect things should work.


I love all you guys' work. Keep it up.


Where do the original textures come from?


The texture template images come from [1], a collection of textures categorised by "description".

[1] https://www.robots.ox.ac.uk/~vgg/data/dtd/


How large is the state space for each cell? Full 8-bit RGB (= 24 bits)?


EDIT: Alex replied below. For more details on quantisation see footnotes in our seminal work [1]

[1] https://distill.pub/2020/growing-ca/


Is it common to describe ones own work as seminal?


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".


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.


I don't think English is the author's first language.


It's their seminal language XD

As a non-native but long-term speaker of English, I understand "seminal" as in "their seminal work" as "groundbreaking" (and better to be avoided when referring to one's own work). But slips of the pen are inevitable, so no harm done.


Each cell has 12 8-bit channels, including rgb, so it is 96 bits.


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."


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.


Would you mind sharing what panel this is?


It's a Hue ceiling panel that I'm not sure they make any more. https://smile.amazon.co.uk/gp/product/B07FXT4XH6


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: