Live data from Hacker News

Differentiable Logic Cellular Automata

google-research.github.io

71–80 of 100 posts

Re: Differentiable Logic Cellular Automata

#71
post #54

The result checkerboard pattern is the opposite (the NOT) of the target pattern. But this is not remarked upon. Is it too unimportant to mention or did I miss something?

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.

Re: Differentiable Logic Cellular Automata

#72
Late here, but a few comments: the main idea of the authors was to combine differential logic gates (an amazing invention I had not heard of) with cellular automata as they say in the paper, or more accurately I would say a grid topology of small neural networks (cells). The cells get and send information to their neighbors.

The idea would be you create some sort of outcome for fitness (say an image you want the cells to self organize into, or the rules of Conway’s game of life), set up the training data, and because it’s fully differentiable, Bob’s your uncle at the end.

Depending on what you think about computational complexity, this may or may not shock you.

But since they’ve been doing gradient descent on differentiable logic gates at the end of the day, when the training is done, they can just turn each cell into binary gates, think AND OR XOR, etc. You then have something that can be used for inference crazy fast. I presume it could also be laid out and sent to a fab, but that work is left for a later paper. :)

This architecture could do a LOTTT of things to be clear. But sort of as a warm up they use all the Conway life start and end rules to train cells to implement Conway. Shockingly this can be done in 5 gates(!). I note that they mention almost everywhere that they hand prune unused gates - I imagine this will eventually be automated.

They then go on to spec small 7k parameter or so neural networks that when laid out in cells can self organize into different black and white or color images, and can even do so on larger base grids than they were trained, and are resilient to noise being thrown at them. They then demonstrate that async networks (each cell updates randomly) can be trained, and are harder to train but more resilient to noise.

All this is quite a lot to take in, and spectacular in my opinion.

One thing they mention, a lot, is that a lot of hyperparameter tuning is required for “harder” problems. I can imagine like 50 lines of research out of this paper, but one of them would certainly be adding stability in to the training process. Arc-AGI is mentioned here, and is an awesome idea — could you get a “free lunch” with Arc? Or some of Arc? Different network topologies are yet another interesting question, hidden information, “backing layers” - e.g. why not give each cell 20 private cells that info goes out to and comes back in? Why not make some of those cells talk to some other cells? Why not send radio waves as signals across the custom topology and train an efficient novel analog radio? Why not give each cell access to a shared “super sized” 100k, 1mmk parameter “thinking node”? What would a good topology be for different tasks?

I’ll stop here. Amazing paper. Quite a number of PhD papers will be generated out of it, I expect.

I’d like to see Minecraft implemented though. Seems possible. Then we could have Bad Apple in Minecraft on raw circuits.

Re: Differentiable Logic Cellular Automata

#74
post #67

Earlier quoted context omitted.

> The question I don't think he could really answer was 'how do the cells know when to stop?' I'm likely missing something obvious but I'll ask anyway out of curiosity. How is this not handled by the well understood chemical gradient mechanisms covered in introductory texts on this topic? Essentially cells orient themselves within multiple overlapping chemical gradients. Those gradients are constructed iteratively, e…

Textbook models typically simulate normal development of an embryo, e.g. A-P and D-V (anterior-posterior and dorsal-ventral) patterning. The question Levin raises is how a perturbed embryo manages to develop normally, both "picasso tadpoles" where a scrambled face will re-organize into a normal face, and tadpoles with eyes transplanted to their tails, where an optic nerve forms across from the tail to the brain and a…

I'm not an expert on the actual biological mechanisms, but, it makes intuitive sense to me that both of those effects would occur in the situation you described from simple cells working on gradients: I was one of the authors on this paper during my undergrad[1] and the generalized idea of an eye being placed on a tail and having nerves routed successfully through the body via pheromone gradient is exactly the kind of error I watched occur a dozen times while collecting the population error statistics for this paper. Same thing with the kind of error of a face re-arranging itself. The "ants" in this paper have no communication except chemical gradients similar to the ones talked about with morphogen gradients. I'm not claiming it's a proof of it working that way, ofc, but, even simpler versions of the same mechanism can result in the same kind of behavior and error.

[1]: https://direct.mit.edu/isal/proceedings/alif2016/28/100/9940...

Re: Differentiable Logic Cellular Automata

#75
post #50

Wouldn’t you need a custom non-von-Neuman architecture to leverage the full power of CA?

You can emulate a cellular automata just fine on our existing computers.

But you could probably get better performance and power efficiency if you built a computer that was more... CA-like. e.g. a grid of memory cells that update themselves based on their neighbors.

Re: Differentiable Logic Cellular Automata

#76
post #73

I love playing around with cellular automata for doing art. It's amazing what kind of patterns can emerge (example: https://gods.art/math_videos/hex_func27l_21.html ). I may have to try to play with these DLCA.

Lovely! Thanks for sharing. Would these patterns keep generating indefinitely?

Re: Differentiable Logic Cellular Automata

#77
So this does not need large training data sets like traditional models?

The lizard and the Game of life example seem to illustate that you only need one data points to create or "reverse" engineer a an algorithm that "generates" something Equal to the data point.

How is this different from using a neural network and then over fitting it?

Maybe that instead learning trained weights, the Cellular Automata learns a combination of logic (a circuit).

So the underlying, problems with over fitting an neural network (a model being un able to generalise) still hold for this "logic cellular automata"?

Re: Differentiable Logic Cellular Automata

#78
It’s interesting to see how differentiable logic/binary circuits can be made cheap at inference time.

But what about the theoretical expressiveness of logic circuits vs baselines like MLPs? (And then of course compared to CNNs and other kernels.) Are logic circuits roughly equivalent in terms of memory and compute being used? For my use case, I don’t care about making inference cheaper (eg the benefit logical circuits brings). But I do care about the recursion in space and time (the benefit from CAs). Would your experiments work if you still had a CA, but used dumb MLPs?

Re: Differentiable Logic Cellular Automata

#79
The Conway's game of life example isn't so impressive. The network isn't really reverse engineering rules, it's being trained on data that is equivalent to the rules. It's sort of like teaching + by giving it 400 data points triplets (a,b,c) with 1 <= a,b <= 20 and c = a + b.

Re: Differentiable Logic Cellular Automata

#80

It’s interesting to see how differentiable logic/binary circuits can be made cheap at inference time. But what about the theoretical expressiveness of logic circuits vs baselines like MLPs? (And then of course compared to CNNs and other kernels.) Are logic circuits roughly equivalent in terms of memory and compute being used? For my use case, I don’t care about making inference cheaper (eg the benefit logical circuit…

Well, with all 16 logic gates available, they can express all Boolean circuits (you could get that even with NAND or NOR gates, of course, if you are working with arbitrary as opposed to fixed connectivity). And so you could have a 32 bit output vector which could be taken as a float (and you could create any circuit that computes any bitwise representation of a real).

As for efficiency, it would depend on the problem. If you're trying to learn XOR, a differentiable logic gate network can learn it with a single unit with 16 parameters (actually, 4, but the implementation here uses 16). If you're trying to learn a linear regression, a dumb MLP would very likely be more efficient.

Post reply on HN